[Bug middle-end/38074] [4.4 Regression] missed inlining since IRA merge on Core2 Duo

2008-11-11 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-11-11 20:37 ---
Subject: Re:  [4.4 Regression] missed inlining since IRA merge on Core2 Duo

> I don't see how there can be a connection to the IRA merge.

I don't see either, but the behavior changed between Aug 23 and
Sep  2. At this time the IRA merge was the major shaking and
I did not see what else can have caused that. The merge may have
exposed a latent bug.


-- 


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



[Bug fortran/38094] [4.4 regression] gfortran.dg/private_type_4.f90 -O doesn't work

2008-11-12 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-11-12 16:12 ---
With the patch for pr38065, compiling gfortran.dg/private_type_4.f90 without
-std=f95 does not return the expected error:

/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/private_type_4.f90:14.24:

type(t1) function f1() ! { dg-error "cannot be of PRIVATE type" }
   1
Error: PUBLIC function 'f1' at (1) cannot be of PRIVATE type 't1'

So if the code is f2003 compliant the fix is obvious: just add the -std=f95 as
a dg option.
In this case I have a question: if 'f1' is public, how is it supposed to be
used in the program?

There is also a glitch: with -std=f95 the error

/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/private_type_4.f90:14.24:

type(t1) function f1() ! { dg-error "cannot be of PRIVATE type" }
   1
Error: Fortran 2003: PUBLIC variable 'f1' at (1) of PRIVATE derived type 't1'

is emitted twice and with gfortran 4.3.2 I get

/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/private_type_4.f90:14.24:

type(t1) function f1() ! { dg-error "cannot be of PRIVATE type" }
   1
Error: Fortran 2003: PUBLIC variable 'f1' at (1) of PRIVATE derived type 't1'
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/private_type_4.f90:14.24:

type(t1) function f1() ! { dg-error "cannot be of PRIVATE type" }
   1
Error: Fortran 2003: PUBLIC variable 'f1' at (1) of PRIVATE derived type 't1'
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/private_type_4.f90:14.24:

type(t1) function f1() ! { dg-error "cannot be of PRIVATE type" }
   1
Error: PUBLIC function 'f1' at (1) cannot be of PRIVATE type 't1'


-- 


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



[Bug fortran/38094] [4.4 regression] gfortran.dg/private_type_4.f90 -O doesn't work

2008-11-12 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2008-11-12 21:02 ---
The test is still failing, now with two failures. One is due to the mismatch
between the expected error: "cannot be of PRIVATE type" and the actual one
"Fortran 2003: PUBLIC variable 'f1' at (1) of PRIVATE derived type 't1'". I
think the second is due to the error being emitted twice, as noted in comment
#2.


-- 


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



[Bug fortran/38095] character ICE

2008-11-12 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2008-11-12 21:09 ---
> Whoop, it is valid Fortran 2003.  I forgot that
> Lahey's checker does not understand the F2003 array syntax.

I was about to say that the code is compiled by ifort and g95.


-- 


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



[Bug fortran/38094] [4.4 regression] gfortran.dg/private_type_4.f90 -O doesn't work

2008-11-12 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2008-11-12 21:31 ---
> Revision 141798 gave:

see comment #5. I have forgotten to give the revision: it was r141798.


-- 


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



[Bug fortran/38095] character ICE

2008-11-12 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2008-11-12 22:26 ---
> I hope someone will mark the bug as "confirmed".

I have tried, but If I am allowed to do it, I did not find how. Did you try
yourself?


-- 


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



[Bug testsuite/37517] gcc.target/i386/quad-sse.c fails with -fPIC

2008-11-13 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-11-13 15:11 ---
> Also note this fails by default for i686-darwin.

The test succeeds with -m64 with and without -fno-PIC.

The lines

call___i686.get_pc_thunk.cx
call___i686.get_pc_thunk.cx
call___i686.get_pc_thunk.cx

are emitted only in 32 bit mode.


-- 


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



[Bug target/29090] gcc.dg-struct-layout-1 failures on Darwin PPC at -m64

2008-11-13 Thread dominiq at lps dot ens dot fr


--- Comment #10 from dominiq at lps dot ens dot fr  2008-11-13 22:28 ---
At revision 141798 I have similar failures:

FAIL: tmpdir-g++.dg-struct-layout-1/t003 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t006 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t007 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t008 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t010 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t011 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t020 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t026 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t027 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 

and

FAIL: tmpdir-gcc.dg-struct-layout-1/t001 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t003 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t005 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t006 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t008 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t016 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t024 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t026 c_compat_x_tst.o-c_compat_y_tst.o
execute 
FAIL: tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o
execute 

see also pr38099 for two similar failures on i686-apple-darwin9 (one with -m32
and the other with -m64).


-- 


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



[Bug c++/37105] stackalign failures

2008-11-18 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2008-11-18 09:26 ---
This is probably a duplicate of pr37012. Still here at revision 141951.


-- 


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



[Bug tree-optimization/38051] [4.4 Regression] Miscompilation of glibc's memcmp

2008-11-18 Thread dominiq at lps dot ens dot fr


--- Comment #11 from dominiq at lps dot ens dot fr  2008-11-18 13:38 ---
The test fails on powerpc-apple-darwin9 (revision 141945, 32 and 64 bit modes):

FAIL: gcc.c-torture/execute/pr38051.c execution,  -O0 
FAIL: gcc.c-torture/execute/pr38051.c execution,  -O1 
FAIL: gcc.c-torture/execute/pr38051.c execution,  -O2 
FAIL: gcc.c-torture/execute/pr38051.c execution,  -O3 -fomit-frame-pointer 
FAIL: gcc.c-torture/execute/pr38051.c execution,  -O3 -fomit-frame-pointer
-funroll-loops 
FAIL: gcc.c-torture/execute/pr38051.c execution,  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions 
FAIL: gcc.c-torture/execute/pr38051.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/pr38051.c execution,  -Os 


-- 


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



[Bug fortran/38152] ICE for procedure pointer assignment

2008-11-18 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2008-11-18 19:54 ---
With the patches in comment #2 and #3, compiling the test in comment #0 on
i686-apple-darwin9 in 32 bit mode gives:

/var/tmp//ccMx60VC.s:13:non-relocatable subtraction expression, "_procptr"
minus "L001$pb"
/var/tmp//ccMx60VC.s:13:symbol: "_procptr" can't be undefined in a subtraction
expression

Note that g95 compiles the test while ifort 11 returns:

pr38152.f90(4): error #8169: The specified interface is not declared.   [TEST]
  PROCEDURE(test), POINTER :: procptr
^
pr38152.f90(11): error #6437: A subroutine or function is calling itself
recursively.   [TEST]
CALL bar (test)
--^
pr38152.f90(12): error #8191: The procedure target must be a procedure or a
procedure pointer.   [TEST]
procptr => test
---^
compilation aborted for pr38152.f90 (code 1)


-- 


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



[Bug fortran/38171] [regression] equivalence and nested modules broken

2008-11-19 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2008-11-19 12:40 ---
I don't know if the code in comment #0 is valid or not, but if the file
h5global.mod does not exist compiling it with gfortran r141995 gives:

pr38171.f90:2.14:

  USE H5GLOBAL
 1
Fatal Error: Can't open module file 'h5global.mod' for reading at (1): No such
file or directory

This error disappears if the module order is changed.


-- 


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



[Bug fortran/38152] ICE for procedure pointer assignment

2008-11-19 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2008-11-19 16:29 ---
On powerpc-apple-darwin9 I have the same kind of error as reported in comment
#4:

/var/folders/FK/FKCVPmNbH5SNynFQmqGomk+++TI/-Tmp-//cctJDhJw.s:21:non-relocatable
subtraction expression, "_procptr" minus "L001$pb"
/var/folders/FK/FKCVPmNbH5SNynFQmqGomk+++TI/-Tmp-//cctJDhJw.s:21:symbol:
"_procptr" can't be undefined in a subtraction expression
/var/folders/FK/FKCVPmNbH5SNynFQmqGomk+++TI/-Tmp-//cctJDhJw.s:19:non-relocatable
subtraction expression, "_procptr" minus "L001$pb"
/var/folders/FK/FKCVPmNbH5SNynFQmqGomk+++TI/-Tmp-//cctJDhJw.s:19:symbol:
"_procptr" can't be undefined in a subtraction expression

in this case for 32 and 64 bit modes. The errors disappear if I compile with
-fno-PIC (ppc/intel).


-- 


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



[Bug fortran/38181] calls to SIZE not optimized out of loops

2008-11-19 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-11-19 21:38 ---
It seems that the problem is a missed vectorization. For

INTEGER FUNCTION F1(a)
  integer :: a(:,:), m, n
  m=SIZE(a,1)
  n=SIZE(a,2)
  F1=0
  DO k=1,n
  DO j=1,m
 F1=F1+a(j,k)
  ENDDO
  ENDDO
END FUNCTION F1

I get with gfortran

pr38181_2.f90:6: note: not vectorized: too many BBs in loop.
pr38181_2.f90:7: note: not vectorized: data ref analysis failed D.1605_54 =
(*a.0_10)[D.1604_53];

pr38181_2.f90:1: note: vectorized 0 loops in function.

while ifort reports:

pr38181_2.f90(9): (col. 3) remark: LOOP WAS VECTORIZED.


-- 


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



[Bug fortran/27766] [meta] -fbounds-check related bugs

2008-11-22 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2008-11-23 00:32 ---
(1) It seems that the failure of gfortran.dg/array_memset_2.f90 comes from a
too broad regexp for scan-tree-dump-times: grep memset
array_memset_2.f90.003t.original gives

  _gfortran_runtime_error_at (&"At line 8 of file
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/array_memset_2.f90"[1]{lb: 1 sz:
1}, &"Array reference out of bounds, upper bound of dimension 2 of array \'a\'
exceeded (%ld > %ld)"[1]{lb: 1 sz: 1}, 1, () ubound.2);
  _gfortran_runtime_error_at (&"At line 8 of file
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/array_memset_2.f90"[1]{lb: 1 sz:
1}, &"Array reference out of bounds, upper bound of dimension 2 of array \'a\'
exceeded (%ld > %ld)"[1]{lb: 1 sz: 1}, () NON_LVALUE_EXPR
, () ubound.2);
  _gfortran_runtime_error_at (&"At line 8 of file
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/array_memset_2.f90"[1]{lb: 1 sz:
1}, &"Array reference out of bounds for array \'a\', upper bound of dimension 1
 exceeded (%ld > %ld)"[1]{lb: 1 sz: 1}, 1, () ubound.0);
  (void) __builtin_memset ((void *) &b, 0, 8);
  (void) __builtin_memset ((void *) &c, 0, 8);

Either the regexp or the name of the test should be changed.

(2) The failure of gfortran.dg/bound_2.f90 comes from " Incorrect size in
SOURCE argument to RESHAPE intrinsic: is 9, should be 4".  This is wrong, the
standard says:

"If PAD is absent or of size zero, the size of SOURCE shall be greater than or
equal to PRODUCT (SHAPE)."

(3) I think the failure of gfortran.dg/forall_13.f90: "Array reference out of
bounds for array 'p', upper bound of dimension 1 exceeded (4 > 3)", is also
wrong.


-- 


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



[Bug libstdc++/38210] num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal

2008-11-23 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2008-11-23 11:12 ---
On *-apple-darwin9, the following tests are now failing:

FAIL: 22_locale/num_put/put/char/38210.cc execution test
FAIL: 22_locale/num_put/put/wchar_t/38210.cc execution test


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||paolo dot carlini at oracle
   ||dot com


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



[Bug testsuite/38235] gfortran.dg/pr37243.f has undefined variables / bounds error

2008-11-23 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2008-11-23 10:08 ---
The variable II in "CALL DAXPY(N,DUM,V(1,II),1,V(1,I),1)" is not initialized.


-- 


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



[Bug libstdc++/38210] num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal

2008-11-23 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2008-11-23 12:02 ---
Apparently the failures I have reported in comment #4 disappear if I rebuild
libstdc++. Sorry for the noise.


-- 


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



[Bug fortran/27766] [meta] -fbounds-check related bugs

2008-11-23 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2008-11-23 20:52 ---
For gfortran.dg/g77/dnrm2.f the failure comes from the old style array
declaration:

 double precision   dx(1), cutlo, cuthi, hitest, sum, xmax,zero,one

If 'dx(1)' is replaced by 'dx(*)', -fbounds-check does not detect any error
(which may be wrong, but I don't think there is any way to detect the problem
with a local analysis).


-- 


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



[Bug fortran/27766] [meta] -fbounds-check related bugs

2008-11-23 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2008-11-23 21:02 ---
In addition to comment #8, the bound check would be possible using:

 double precision   dx(n), cutlo, cuthi, hitest, sum, xmax,zero,one


-- 


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



[Bug fortran/27766] [meta] -fbounds-check related bugs

2008-11-23 Thread dominiq at lps dot ens dot fr


--- Comment #10 from dominiq at lps dot ens dot fr  2008-11-23 22:39 ---
With the following changes:

Only in ../_gcc_clean/gcc/testsuite/gfortran.dg/: array_memset_2.f90
Only in gcc/testsuite/gfortran.dg/: array_setmem_2.f90

--- ../_gcc_clean/gcc/testsuite/gfortran.dg/pr37243.f   2008-09-04
19:10:20.0 +0200
+++ gcc/testsuite/gfortran.dg/pr37243.f 2008-11-23 22:54:23.0 +0100
@@ -34,7 +34,7 @@
   IF (J .GT. N) GO TO 320
   DO 240 K = 1,N
   240 V(K,I) = ZERO
-  CALL DAXPY(N,DUM,V(1,II),1,V(1,I),1)
+  CALL DAXPY(N,DUM,V(1,I),1,V(1,I),1)
   260 CONTINUE
   DUMI = ZERO
   DO 280 K = 1,N

--- ../_gcc_clean/gcc/testsuite/gfortran.dg/g77/dnrm2.f 2007-11-07
10:25:55.0 +0100
+++ gcc/testsuite/gfortran.dg/g77/dnrm2.f   2008-11-23 22:53:37.0
+0100
@@ -26,7 +26,7 @@

   double precision function dnrm2 ( n, dx, incx)
   integer i, incx, ix, j, n, next
-  double precision   dx(1), cutlo, cuthi, hitest, sum, xmax,zero,one
+  double precision   dx(n), cutlo, cuthi, hitest, sum, xmax,zero,one
   data   zero, one /0.0d0, 1.0d0/
   data cutlo, cuthi / 8.232d-11,  1.304d19 /
   j = 0

I only get the following failures with -fbounds-check:

FAIL: gfortran.dg/forall_13.f90  -O0  execution test
FAIL: gfortran.dg/forall_13.f90  -O1  execution test
FAIL: gfortran.dg/forall_13.f90  -O2  execution test
FAIL: gfortran.dg/forall_13.f90  -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/forall_13.f90  -O3 -fomit-frame-pointer -funroll-loops 
execution test
FAIL: gfortran.dg/forall_13.f90  -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  execution test
FAIL: gfortran.dg/forall_13.f90  -O3 -g  execution test
FAIL: gfortran.dg/forall_13.f90  -Os  execution test
FAIL: gfortran.dg/ldist-1.f90  -O  scan-tree-dump-times ldist "distributed:
split to 4 loops" 1
FAIL: gfortran.dg/ltrans-7.f90  -O  scan-tree-dump-times ltrans "transformed
loop" 1
FAIL: gfortran.dg/reassoc_4.f  -O  scan-tree-dump-times reassoc1 "[0-9] \* " 22
FAIL: gfortran.dg/vect/vect-3.f90  -O  scan-tree-dump-times vect "Alignment of
access forced using peeling" 1
FAIL: gfortran.dg/vect/vect-3.f90  -O  scan-tree-dump-times vect "Vectorizing
an unaligned access" 1
FAIL: gfortran.dg/vect/vect-5.f90  -O  scan-tree-dump-times vect "vectorized 1
loops" 1
FAIL: gfortran.dg/vect/vect-5.f90  -O  scan-tree-dump-times vect "Alignment of
access forced using peeling" 1
FAIL: gfortran.dg/vect/vect-5.f90  -O  scan-tree-dump-times vect "Vectorizing
an unaligned access" 1
FAIL: gfortran.dg/vect/pr19049.f90  -O  scan-tree-dump-times vect "complicated
access pattern" 1

So, but for pr36091, the failures are expected regexps changed by
-fbounds-check which is not too surprising.


-- 


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



[Bug target/34025] Warning when compiling with -m64 -ffast-math on Intel Darwin

2008-11-26 Thread dominiq at lps dot ens dot fr


--- Comment #18 from dominiq at lps dot ens dot fr  2008-11-26 15:34 ---
This pr has been fixed by revision 130998.


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/30518] error from system header file

2008-11-26 Thread dominiq at lps dot ens dot fr


--- Comment #12 from dominiq at lps dot ens dot fr  2008-11-26 15:39 ---
Fixed on Darwin 8 and 9. Closing.


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/37105] stackalign failures

2008-11-27 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-11-27 15:31 ---


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


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/37012] numerous stackalign related testsuite failures on i686-apple-darwin9

2008-11-27 Thread dominiq at lps dot ens dot fr


--- Comment #52 from dominiq at lps dot ens dot fr  2008-11-27 15:31 ---
*** Bug 37105 has been marked as a duplicate of this bug. ***


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||dominiq at lps dot ens dot
   ||fr


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



[Bug c++/38076] FAIL: g++.dg/other/anon5.C

2008-11-27 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-11-27 15:33 ---
Fixed by revision 142163. Closing.


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/38312] poor error message

2008-11-28 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2008-11-28 21:11 ---
Boy! I had o use ifort to see it!


-- 


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



[Bug middle-end/38347] New: [4.4 Regression] gfortran.dg/alloc_comp_constructor_1.f90 ICE with -O2 -fdefault-integer-8

2008-12-01 Thread dominiq at lps dot ens dot fr
rt_tree = 0xafafafaf, 
  rt_bb = 0xafafafaf, 
  rt_mem = 0xafafafaf, 
  rt_reg = 0xafafafaf, 
  rt_constant = 0xafafafaf
}}, 
  block = 0x1b, 
  offset = 2
}, 
rv = {
  cl = 0, 
  decimal = 0, 
  sign = 0, 
  signalling = 0, 
  canonical = 0, 
  uexp = 0, 
  sig = {1, 2947526575, 1769472, 0, 2}
}, 
fv = {
  data = {
low = 1, 
high = -5787213829991890944
  }, 
  mode = 0
}
  }
}


-- 
   Summary: [4.4 Regression]
gfortran.dg/alloc_comp_constructor_1.f90 ICE with -O2 -
fdefault-integer-8
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
    ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: powerpc-apple-darwin9
  GCC host triplet: powerpc-apple-darwin9
GCC target triplet: powerpc-apple-darwin9


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



[Bug fortran/38324] Wrong lbound given to allocatable components

2008-12-01 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2008-12-01 13:54 ---
AFAICT this pr is the cause of half of the failures of
gfortran.dg/alloc_comp_constructor_1.f90 on i686-apple-darwin9 with
-fdefault-integer-8:

FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O0  execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O0  scan-tree-dump-times
original "builtin_free" 21
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O1  execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O1  scan-tree-dump-times
original "builtin_free" 21
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O2  execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O2  scan-tree-dump-times
original "builtin_free" 21
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -fomit-frame-pointer 
execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -fomit-frame-pointer 
scan-tree-dump-times original "builtin_free" 21
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -fomit-frame-pointer
-funroll-loops  execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -fomit-frame-pointer
-funroll-loops  scan-tree-dump-times original "builtin_free" 21
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  scan-tree-dump-times original
"builtin_free" 21
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -g  execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -O3 -g  scan-tree-dump-times
original "builtin_free" 21
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -Os  execution test
FAIL: gfortran.dg/alloc_comp_constructor_1.f90  -Os  scan-tree-dump-times
original "builtin_free" 21

The second half is due to 24 "builtin_free" in the "original" dump. This is the
cause of some failures of this test on powerpc-apple-darwin9 (-O0/1, I have
filled pr38347 against the middle-end for the ICE got with higher
optimizations).


-- 


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



[Bug fortran/35937] Wrong type for charlength of function

2008-12-02 Thread dominiq at lps dot ens dot fr


--- Comment #11 from dominiq at lps dot ens dot fr  2008-12-02 20:03 ---
On powerpc-apple-darwin9, the test in comment #4 returns 0 with -m32 (no bus
error) instead of 1 with -m64.

I have applied the proposed patches in comment #4 and #5 (one at a time!-), but
they don't fix the wrong code (note also that gfortran with patch #4 pass the
test suite without regression).

> Since I cannot reproduce the bug, even at -m32, I am unassigning myself.

Did you get the expected result also?


-- 


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



[Bug fortran/38382] Open(Unit=6 fails

2008-12-03 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-12-03 17:03 ---
Is not this pr a duplicate of an older one?


-- 


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



[Bug tree-optimization/37853] [4.4 Regression] gcc.dg/vect/vect-67.c failing since PRE rewrite

2008-12-06 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-12-06 23:56 ---
The output of -ftree-vectorizer-verbose=6 gives:

/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:30: note: not
vectorized: too many BBs in loop.
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][8] and ia[i_91][1][9]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][8] and ia[i_91][1][10]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][8] and ia[i_91][1][11]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][8] and ia[i_91][1][12]
...
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][20] and ia[i_91][1][21]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][20] and ia[i_91][1][22]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][20] and ia[i_91][1][23]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][21] and ia[i_91][1][22]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][21] and ia[i_91][1][23]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: Detected
interleaving ia[i_91][1][22] and ia[i_91][1][23]
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:17: note: not
vectorized: complicated access pattern.
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/vect-67.c:9: note: vectorized 0
loops in function.

The failure appeared between revisions 137614 (passed) and 137631, most of them
are branches or FE patches but 137620 (IPA->unlikely?) and 137631.

Compiling with -fno-tree-pre does not help.


-- 


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



[Bug tree-optimization/37853] [4.4 Regression] gcc.dg/vect/vect-67.c failing since PRE rewrite

2008-12-06 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-12-07 00:11 ---
Fails also on 

x86_64-unknown-linux-gnu:
http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg00519.html
ia64-unknown-linux-gnu:
http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg00518.html,
powerpc64-suse-linux-gnu:
http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg00517.html,
i686-pc-linux-gnu: http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg00515.html
powerpc-unknown-eabisim:
http://gcc.gnu.org/ml/gcc-testresults/2008-12/msg00503.html
...


-- 


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



[Bug tree-optimization/37853] [4.4 Regression] gcc.dg/vect/vect-67.c failing since PRE rewrite

2008-12-06 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2008-12-07 00:17 ---
The failure appeared at revision 137631 (not in r137630, see
http://gcc.gnu.org/ml/gcc-testresults/2008-07/msg01011.html).


-- 


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



[Bug tree-optimization/36792] [4.4 Regression] Revision 137631 causes many failures

2008-12-07 Thread dominiq at lps dot ens dot fr


--- Comment #10 from dominiq at lps dot ens dot fr  2008-12-07 10:35 ---
> Those 3 still aren't fixed:
>
> FAIL: gcc.dg/vect/vect-67.c scan-tree-dump-times vect "vectorized 1 loops" 1

see pr37853#2 for the output of -ftree-vectorizer-verbose=6.

> FAIL: gcc.dg/vect/no-scevccp-outer-13.c scan-tree-dump-times vect "OUTER LOOP
> VECTORIZED." 1
> FAIL: gcc.dg/vect/no-scevccp-outer-7.c scan-tree-dump-times vect "OUTER LOOP
> VECTORIZED." 1

For these two failures the output of -ftree-vectorizer-verbose=6 are similar.
no-scevccp-outer-7.c gives:

/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
vect_model_store_cost: inside_cost = 1, outside_cost = 1 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
vect_model_load_cost: aligned.
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
vect_model_load_cost: inside_cost = 1, outside_cost = 0 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
vect_model_load_cost: aligned.
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
vect_model_load_cost: inside_cost = 1, outside_cost = 0 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
vect_model_simple_cost: inside_cost = 2, outside_cost = 0 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
vect_model_simple_cost: inside_cost = 2, outside_cost = 1 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:19: note:
not vectorized: relevant stmt not supported: D.2045_21 = D.2043_18 >>
D.2044_20;

/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:13: note:
vectorized 0 loops in function.

/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:31: note:
vectorized 0 loops in function.

/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:63: note:
not vectorized: too many BBs in loop.
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
vect_model_induction_cost: inside_cost = 2, outside_cost = 2 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
vect_model_simple_cost: inside_cost = 1, outside_cost = 0 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
vect_model_simple_cost: inside_cost = 1, outside_cost = 1 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
vect_model_store_cost: inside_cost = 1, outside_cost = 0 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
vect_model_simple_cost: inside_cost = 1, outside_cost = 0 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
vect_model_store_cost: inside_cost = 1, outside_cost = 0 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
vect_model_simple_cost: inside_cost = 2, outside_cost = 1 .
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
Cost model analysis: 
  Vector inside of loop cost: 7
  Vector outside of loop cost: 2
  Scalar iteration cost: 6
  Scalar outside cost: 0
  prologue iterations: 0
  epilogue iterations: 0
  Calculated minimum iters for profitability: 1

/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:  
Profitability threshold = 7

/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:53: note:
LOOP VECTORIZED.
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c:44: note:
vectorized 1 loops in function.


-- 


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



[Bug c++/38410] g++.dg/eh/crossjump1.C (internal compiler error)

2008-12-07 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-12-07 16:01 ---
Confirmed.
This is a regression (it should appear in the subject otherwise it would be
missed).
The batch of failures is:

FAIL: g++.dg/eh/crossjump1.C (internal compiler error)
FAIL: g++.dg/eh/crossjump1.C (test for excess errors)
WARNING: g++.dg/eh/crossjump1.C compilation failed to produce executable
FAIL: g++.dg/inherit/covariant1.C (internal compiler error)
FAIL: g++.dg/inherit/covariant1.C (test for excess errors)
WARNING: g++.dg/inherit/covariant1.C compilation failed to produce executable
FAIL: g++.dg/inherit/ptrmem2.C (internal compiler error)
FAIL: g++.dg/inherit/ptrmem2.C (test for excess errors)
FAIL: g++.dg/init/array25.C (internal compiler error)
FAIL: g++.dg/init/array25.C (test for excess errors)
WARNING: g++.dg/init/array25.C compilation failed to produce executable
FAIL: g++.dg/init/value1.C (internal compiler error)
FAIL: g++.dg/init/value1.C (test for excess errors)
WARNING: g++.dg/init/value1.C compilation failed to produce executable
FAIL: g++.old-deja/g++.abi/empty2.C (internal compiler error)
FAIL: g++.old-deja/g++.abi/empty2.C (test for excess errors)
FAIL: g++.old-deja/g++.mike/virt2.C (internal compiler error)
FAIL: g++.old-deja/g++.mike/virt2.C (test for excess errors)
WARNING: g++.old-deja/g++.mike/virt2.C compilation failed to produce executable


-- 


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



[Bug fortran/37829] ICE in resolve_symbol

2008-12-09 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-12-09 08:41 ---
The patch in comment #2 fixes the ICE without regression on i686-apple-darwin9.
Is not the "obvious rule" applying here?
Thanks


-- 


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



[Bug fortran/35937] Wrong type for charlength of function

2008-12-10 Thread dominiq at lps dot ens dot fr


--- Comment #13 from dominiq at lps dot ens dot fr  2008-12-10 15:17 ---
In comment #11, I wrote:
> I have applied the proposed patches in comment #4 and #5 (one at a time!-), 
> but
> they don't fix the wrong code (note also that gfortran with patch #4 pass the
> test suite without regression).

Sorry, but I have applied the patches to the wrong tree (my reference one and
not the working one).

The patch in comment #4 needs to be updated by replacing 'gfc_add_modify_expr'
with 'gfc_add_modify', see "2008-07-28 ...   Merge from gimple-tuples-branch."
in gcc/fortran/ChangeLog.

The patch in comment #5 has a typo and should be:

se.expr = gfc_evaluate_now (fold_convert (gfc_charlen_type_node, se.expr),
&se.pre);

I have applied the first patch on powerpc-apple-darwin9 and the second on
i686-apple-darwin9. They both fix the problem and pass my tests. Regtesting
started.


-- 


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



[Bug fortran/35937] Wrong type for charlength of function

2008-12-10 Thread dominiq at lps dot ens dot fr


--- Comment #14 from dominiq at lps dot ens dot fr  2008-12-10 16:18 ---
> The patch in comment #5 has a typo and should be:
>
> se.expr = gfc_evaluate_now (fold_convert (gfc_charlen_type_node, se.expr),
> &se.pre);

This patch regtested without regression on i686-apple-darwin9. I'll try it
later on powerpc-apple-darwin9. Unless someone come with a test that requires
the patch in comment #4 (failing with the above change), I'll think the one
line change will be better.


-- 


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



[Bug fortran/35937] Wrong type for charlength of function

2008-12-10 Thread dominiq at lps dot ens dot fr


--- Comment #15 from dominiq at lps dot ens dot fr  2008-12-10 19:15 ---
No regression also on powerpc-apple-darwin9 (patch in comment#4).

If I understand the two proposed patches, the only difference is that the FX's
one create a temporary if CONSTANT_CLASS_P (se.expr) is not true. Is this
really necessary? For what "se.expr" will CONSTANT_CLASS_P return false?


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||pault at gcc dot gnu dot org


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



[Bug testsuite/29071] gcc.dg/20020919-1.c compilation test fails on powerpc-apple-darwin8 at -m64

2008-12-10 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2008-12-10 20:31 ---
PING! see comment #5.


-- 


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



[Bug fortran/35937] Wrong type for charlength of function

2008-12-11 Thread dominiq at lps dot ens dot fr


--- Comment #17 from dominiq at lps dot ens dot fr  2008-12-11 10:00 ---
> Hah! My VMware Fedora catches the bug and demonstrates that my simple fix of
> comment #5 does the job; ie. unconditionally do the constant fold to a
> gfc_charlen_type_node.  This can never do any harm!

I have looked a litte bit closer to the patch in comment #4. AFAICT it
implements what gfc_evaluate_now does with the difference that

  var = gfc_create_var (TREE_TYPE (expr), NULL);

is replaced with

 +   tree tmp = gfc_create_var (gfc_charlen_type_node, "slength");

Has "slength" any chance to make a difference compared to NULL?


-- 


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



[Bug bootstrap/38508] New: [4.4 Regression] Bootstrap of r142717 broken in libstdc++-v3

2008-12-12 Thread dominiq at lps dot ens dot fr
+-v3/include/cstdlib:195:
error: '::atoll' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:196:
error: '::strtoll' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:197:
error: '::strtoull' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:199:
error: '::strtof' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:200:
error: '::strtold' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:207:
error: '__gnu_cxx::lldiv_t' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:212:
error: '__gnu_cxx::llabs' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:213:
error: '__gnu_cxx::div' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:214:
error: '__gnu_cxx::lldiv' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:216:
error: '__gnu_cxx::atoll' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:217:
error: '__gnu_cxx::strtof' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:218:
error: '__gnu_cxx::strtoll' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:219:
error: '__gnu_cxx::strtoull' has not been declared
/opt/gcc/i686-darwin/i686-apple-darwin9/libstdc++-v3/include/cstdlib:220:
error: '__gnu_cxx::strtold' has not been declared
make[4]: *** [atomic.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-target-libstdc++-v3] Error 2
make: *** [all] Error 2


-- 
   Summary: [4.4 Regression] Bootstrap of r142717 broken in
libstdc++-v3
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug middle-end/38520] New: [graphite] wrong code with -O3 -fgraphite-identity on polyhedron benchmarks

2008-12-13 Thread dominiq at lps dot ens dot fr
mdbx nf protein rnflow test_fpu tfft
Maximum Times   :  300.0
Target Error %  :  0.200
Minimum Repeats : 2
Maximum Repeats : 5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
Name(secs) (bytes)(secs) Repeats   Err %
   -   ---  --   --- ---  --
  ac  2.31   42560 12.28   2  0.0163
  aermod 85.67 1266448 29.84   4  0.1498
 air  5.44   77336  8.36   2  0.1975
capacita  3.39   72760 53.92   2  0.0649
 channel  2.09   38648  2.27   2  0.0220
   doduc 11.30  195928 42.78   2  0.1204
 fatigue  4.93   89024 10.87   5  0.2098
 gas_dyn  6.51  708584 10.35   5  0.6354
  induct 10.01  181168 34.47   2  0.0899
   linpk  1.63   42536 27.15   2  0.0147
mdbx  3.26   73000 14.79   2  0.0270
  nf 23.89  161416 31.64   2  0.0095
 protein 10.24  126424 47.02   2  0.0532
  rnflow 10.80  179616 36.22   2  0.0028
test_fpu 10.23  166512 12.30   2  0.0651
tfft  1.16   26432  2.80   2  0.0714

Geometric Mean Execution Time =  16.95 seconds


Polyhedron Benchmark Validator
Copyright (C) Polyhedron Software Ltd - 2004 - All rights reserved


-- 
   Summary: [graphite] wrong code with -O3 -fgraphite-identity on
polyhedron benchmarks
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug bootstrap/38508] [4.4 Regression] Bootstrap of r142717 broken in libstdc++-v3

2008-12-13 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2008-12-13 22:46 ---
Apparently fixed without regression at revision 142742. Closing.


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/38520] [graphite] wrong code with -O3 -fgraphite-identity on polyhedron benchmarks

2008-12-14 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-12-14 14:10 ---
The test protein.f90 fails when compiled with  "-O1 -fstrict-overflow
-fgraphite-identity". It works with "-O3 -fno-strict-overflow
-fgraphite-identity".

The test capacita.f90 fails when compiled with "-O1 -fstrict-aliasing
-fstrict-overflow -fgraphite-identity" and works with "-O3 -fno-strict-aliasing
-fno-strict-overflow -fgraphite-identity".


-- 


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



[Bug middle-end/38431] [graphite] several ICEs with CP2K (summary)

2008-12-14 Thread dominiq at lps dot ens dot fr


--- Comment #12 from dominiq at lps dot ens dot fr  2008-12-14 15:54 ---
Could you try with the addition of " -fno-strict-aliasing
-fno-strict-overflow"? See pr38520.


-- 


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



[Bug middle-end/38520] [graphite] wrong code with -O3 -fgraphite-identity on polyhedron benchmarks

2008-12-14 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-12-14 17:32 ---
Compiling mdbx.f90 with "-m64 -O3 -fgraphite-identity -floop-block
-ftree-loop-linear -fno-strict-overflow" gives an ICE:

mdbx.f90: In function 'mstep':
mdbx.f90:822: internal compiler error: Bus error
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The test compiles and gives a correct excutable if -m64 is removed.


-- 


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



[Bug fortran/38530] New: ICE with the example for c_funloc

2008-12-15 Thread dominiq at lps dot ens dot fr
I tried to compile the test given for c_funloc in
http://gcc.gnu.org/onlinedocs/gfortran/C_005fFUNLOC.html#C_005fFUNLOC
and I got an ICE with trunk and 4.3.2:

funloc.f90: In function 'main':
funloc.f90:20: internal compiler error: in expand_expr_addr_expr_1, at
expr.c:6836


-- 
   Summary: ICE with the example for c_funloc
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug fortran/37829] ICE in resolve_symbol

2008-12-15 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2008-12-15 12:48 ---
Compiling the test in comment #4 gives:

pr37829_2.f90:21.6:

  d = c_funloc (g)
 1
Error: Can't convert TYPE(_gfortran_iso_c_binding_c_funptr) to TYPE(c_funptr)
at (1)

looking the gfortran sources for "c_funptr" I get:

in gcc/fortran/iso-c-binding.def, line 145

DERIVED_TYPE (ISOCBINDING_FUNPTR, "c_funptr", \
  get_int_kind_from_node (ptr_type_node))

and in gcc/fortran/symbol.c, line 3507

  generate_isocbinding_symbol (module_name, ptr_id == ISOCBINDING_NULL_PTR
   ? ISOCBINDING_PTR : ISOCBINDING_FUNPTR,
   (const char *) (ptr_id ==
ISOCBINDING_NULL_PTR
   ? "_gfortran_iso_c_binding_c_ptr"
   : "_gfortran_iso_c_binding_c_funptr"));

line 3591

  if (iso_c_sym_id == ISOCBINDING_F_PROCPOINTER)
c_ptr_type = "_gfortran_iso_c_binding_c_funptr";
  else
c_ptr_type = "_gfortran_iso_c_binding_c_ptr";

line 4158

   (const char *)(s == ISOCBINDING_FUNLOC
? "_gfortran_iso_c_binding_c_funptr"
: "_gfortran_iso_c_binding_c_ptr"));

I fail to see what is the difference between "c_funptr" and
"_gfortran_iso_c_binding_c_funptr".


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-15 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2008-12-16 07:24 ---
Confirmed on (powerpc|i686)-apple-darwin9 revision 142767.


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-16 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-12-16 16:03 ---
If the subroutine

subroutine xmain()
call foo(func("_"//bar()))
end subroutine xmain

is replaced with

subroutine xmain()
character (len=2) :: zz(2)
zz=func("_"//bar())
call foo(zz)
end subroutine xmain

the code compiles and seems to give a sensible executable.


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-18 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2008-12-18 21:20 ---
With the patch in comment #6, this pr is fixed but now the code

  character(len=1) :: string
  print *, transfer(((transfer(string,"x",1))), "x")
  end

and friends (from pr31608) gives a bus error:

pr31608_1.f90: In function 'MAIN__':
pr31608_1.f90:1: internal compiler error: Bus error
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Note also that I have been unable to read the test in comment #7.


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-18 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2008-12-18 21:36 ---
Another bus error with

! { dg-do run }
! Test fix of PR28118, in which a substring reference to an
! actual argument with an array reference would cause a segfault.
!
! Contributed by Paul Thomas  
!
program gfcbug33
  character(12) :: a(2)
  a(1) = "abcdefghijkl"
  a(2) = "mnopqrstuvwx"
  call foo ((a(2:1:-1)(6:)))
  call bar ((a(:)(7:11)))
contains
  subroutine foo (chr)
character(7) :: chr(:)
if (chr(1)//chr(2) .ne. "rstuvwxfghijkl") call abort ()
  end subroutine foo
  subroutine bar (chr)
character(*) :: chr(:)
if (trim(chr(1))//trim(chr(2)) .ne. "ghijkstuvw") call abort ()
  end subroutine bar
end program gfcbug33

pr28118.f90: In function 'gfcbug33':
pr28118.f90:10: internal compiler error: Bus error


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-20 Thread dominiq at lps dot ens dot fr


--- Comment #13 from dominiq at lps dot ens dot fr  2008-12-20 13:01 ---
The patch in comment #12 fixes the pr without causing the regressions reported
in comments #8 and #9.
Compiling gcc/testsuite/gfortran.dg/char_length_7.f90 gives an ICE:

gimplification failed:
2 
constant 2>
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/char_length_7.f90: In function
'xx':
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/char_length_7.f90:30: internal
compiler error: gimplification failed

and the following code:

[ibook-dhum] f90/bug% cat pr31608_4_red_1.f90
  character(len=1)  :: string = "z"
  character(len=20) :: tmp = ""
  tmp = Upper ("abcdefgh")
  print *, tmp
 contains
  Character (len=20) Function Upper (string)
Character(len=*) string
print *, len(string)
print *, size(transfer(string,"xy",len(string)))
Upper = ""
Upper(1:2) =   
&
 transfer(merge(transfer(string,"xy",len(string)),&
   string(1:2), .true.), "xy")
return
  end function Upper
end

yields a wrong code: the executable gives

   8
   4
 ab  

while it gives

   8
   8
 ab  

when compiled with ifort.

Currently regtesting.


-- 


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



[Bug fortran/38538] ICE with elemental character function

2008-12-20 Thread dominiq at lps dot ens dot fr


--- Comment #14 from dominiq at lps dot ens dot fr  2008-12-20 14:27 ---
Regtested with -m32 and -m64 without other regression that
gcc/testsuite/gfortran.dg/char_length_7.f90. The offending line is:

! This was another bug, uncovered when the PR was fixed.
  if (any(ccopy(z//mz(:)(i:j)) .ne. (/"zzgh ","zzjk "/))) call abort ()

while

  if (any(ccopy(z//mz(:)(2:3)) .ne. (/"zzgh ","zzjk "/))) call abort ()

is compiled without problem.


-- 


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



[Bug fortran/37472] bad output on default-format write of double in common block with -m64 flag i

2008-12-21 Thread dominiq at lps dot ens dot fr


--- Comment #14 from dominiq at lps dot ens dot fr  2008-12-21 13:34 ---
> This little patch eliminates the misalignment of output characters with -m32
> and gets rid of a many many valgrind errors.
>
> @@ -628,7 +637,7 @@ output_float_FMT_G_ ## x (st_parameter_d
> \
>   while (low <= high)\
>  { \
> -  GFC_REAL_ ## x temp;\
> +  float temp;\
>mid = (low + high) / 2;\
>  \
>temp = 0.1 * calculate_exp_ ## x (mid) - 0.5\

Do you understand why? Such a change is the opposite of what I understand of
the GFC_REAL_* machinery, although I have no knowledge about mixed calculations
in C.


-- 


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



[Bug fortran/37472] bad output on default-format write of double in common block with -m64 flag i

2008-12-22 Thread dominiq at lps dot ens dot fr


--- Comment #16 from dominiq at lps dot ens dot fr  2008-12-22 16:29 ---
>From http://gcc.gnu.org/ml/fortran/2008-12/msg00284.html:

> With Steve Kargl's help, the following simple patch was found to eliminate 
> this output 
> problem on x86-64. I plan to commit under simple and makes sense to do rule.

Is not the same problem lurking in

  if ((m > 0.0 && m < 0.1 - 0.05 / exp_d) || (m >= exp_d - 0.5 ) ||\

with 0.1 and 0.05?

Also there is probably some room for optimization in this piece of code. For
instance calculate_exp_* computes 10**d through an algorithm linear in d, while
it could be computed in O(log2(d)) (see poweri in gcc/builtins.c). Also the
following change:

--- /opt/gcc/_gcc_clean/libgfortran/io/write_float.def  2008-12-21
22:31:05.0 +0100
+++ /opt/gcc/gcc-4.4-work/libgfortran/io/write_float.def2008-12-22
16:27:10.0 +0100
@@ -640,8 +640,8 @@
   GFC_REAL_ ## x temp;\
   mid = (low + high) / 2;\
 \
-  temp = 0.1 * calculate_exp_ ## x (mid) - 0.5\
-* calculate_exp_ ## x (mid - d - 1);\
+  temp = calculate_exp_ ## x (mid) \
+* (1.0 - 0.5 / exp_d) / 10;\
 \
   if (m < temp)\
 { \

speeds up by ~2s the following test:

character(80) s
real*8 x, y
integer i
x=1.0
y=0.0
do i = 1, 1000
   write(s,*) y
   y = y + x
end do
print *, s
end

(still twice slower with gfortran than ifort or g77).
Note that  "temp = calculate_exp_ ## x (mid-1) * (1.0 - 0.5 / exp_d)" is
slightly slower.


-- 


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



[Bug fortran/38618] internal compiler error: in gfc_add_modify

2008-12-24 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2008-12-24 15:36 ---
Midair collision! I was about to send:

The test in comment#2 compiles fine for me on i686-apple-darwin9 with the
options I have tried with gfortran 4.2.3, 4.3.2, and 4.4.0 (trunk).

One thing is strange is the config: --enable-languages=fortran,c++. What about
c? It is the first time I notice a build of gfortran without C. Is it implied
by c++?.


-- 


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



[Bug fortran/38536] ICE with C_LOC in resolve.c due to not properly going through expr->ref

2008-12-27 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2008-12-27 11:40 ---
With the patch in comment#2, I see two regressions:

[ibook-dhum] f90/bug% gfc
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:10: internal compiler
error: in gfc_iso_c_func_interface, at fortran/resolve.c:2064
...
[ibook-dhum] f90/bug% gfc
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/repack_arrays_1.f90
f951: internal compiler error: in gfc_iso_c_func_interface, at
fortran/resolve.c:2064

They are due to the new line:

  gcc_assert (args->expr->expr_type == EXPR_VARIABLE);


-- 


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



[Bug fortran/38536] ICE with C_LOC in resolve.c due to not properly going through expr->ref

2008-12-27 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2008-12-27 13:00 ---
If I remove the assert gfortran.dg/repack_arrays_1.f90 passes, while
gfortran.dg/pr32601.f03 gives:

print *, c_loc(get_ptr()) ! { dg-error "has PRIVATE components" }
   1
Error: Parameter 'get_ptr' to 'c_loc' at (1) must be either a TARGET or an
associated pointer

instead of

/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:22.19:

print *, c_null_ptr, t  ! { dg-error "has PRIVATE components" }
  1
Error: Derived type 'c_ptr' at (1) has PRIVATE components
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:22.24:

print *, c_null_ptr, t  ! { dg-error "has PRIVATE components" }
   1
Error: Derived type 'c_ptr' at (1) has PRIVATE components
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:23.11:

print *, t ! { dg-error "has PRIVATE components" }
  1
Error: Derived type 'c_ptr' at (1) has PRIVATE components
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:25.25:

print *, c_loc(get_ptr()) ! { dg-error "has PRIVATE components" }
1
Error: Derived type 'c_ptr' at (1) has PRIVATE components

Note that I do not understand a single word of this private business: what can
be the use of a PUBLIC derived type with PRIVATE components?


-- 


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



[Bug fortran/38536] ICE with C_LOC in resolve.c due to not properly going through expr->ref

2009-01-04 Thread dominiq at lps dot ens dot fr


--- Comment #8 from dominiq at lps dot ens dot fr  2009-01-04 12:27 ---
Withe the patch in comment #5 the problems reported in comment #4 disappear,
the test in comment #6 gives a bus error at compile time:

pr38536_3.f90: In function 'MAIN__':
pr38536_3.f90:1: internal compiler error: Bus error

and the test in comment #7 gives the reported error.


-- 


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



[Bug fortran/38726] gfortran.dg/elemental_subroutine_7.f90 fail on Linux/ia64

2009-01-05 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-01-05 14:14 ---
(In reply to comment #3)
> Please can someone test on older revisions/provide more information?

The test passes with gfortran 4.2.3, but not 4.3.2 on powerpc-apple-darwin9.
Hence it is a regression.


-- 


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



[Bug fortran/38726] gfortran.dg/elemental_subroutine_7.f90 fail on Linux/ia64

2009-01-05 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2009-01-05 13:54 ---
The executable aborts on powerpc-apple-darwin9 (r143074) when compiled with
-m32, but passes when compiled with -m64.


-- 


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



[Bug fortran/38726] [4.3/4.4 Regression] gfortran.dg/elemental_subroutine_7.f90 fail on Linux/ia64

2009-01-05 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2009-01-05 14:47 ---
If compiled with -fbounds-check, the executable yields:

At line 29 of file
/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/elemental_subroutine_7.f90
Fortran runtime error: Array reference out of bounds for array 'p', lower bound
of dimension 1 exceeded(-2 < 1)

The problem comes from 

...
  p = 20 * r - 10
...
  call tq_tvgh (q(k_lev:), (p(p(k_lev:
  if (any (p(p) /= q)) call abort

where min(p)=-10, outside the bounds of p(1:42).

If I use '  p = 41 * r + 1', the test passes.


-- 


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



[Bug fortran/38726] gfortran.dg/elemental_subroutine_7.f90 fail on Linux/ia64

2009-01-05 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2009-01-05 13:57 ---
See also http://gcc.gnu.org/ml/gcc-testresults/2009-01/msg00421.html for
powerpc-apple-darwin8.5.0.


-- 


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



[Bug testsuite/38790] New: syntax error in target selector

2009-01-10 Thread dominiq at lps dot ens dot fr
Due to revision 143234:

Author: joel
Date:   Fri Jan 9 21:12:36 2009 UTC (14 hours, 12 minutes ago)
Log Message:
2009-01-09  Joel Sherrill 

* lib/target-supports.exp: Add method to determine if the effective
target is really a ppc405 after applying all compile options.
* gcc.target/powerpc/405-mulhhwu-2.c: Add dg-skip-if not ppc405.
* gcc.target/powerpc/405-nmachhw-1.c: Likewise.
* gcc.target/powerpc/405-nmaclhw-1.c: Likewise.
...

regtesting gcc fails with:

ERROR: gcc.target/powerpc/405-dlmzb-strlen-1.c: syntax error in target selector
"target powerpc_405_nocache" for " dg-skip-if 6 "other options override
-mcpu=405" { ! powerpc_405_nocache } { "*" } { "" } "
UNRESOLVED: gcc.target/powerpc/405-dlmzb-strlen-1.c: syntax error in target
selector "target powerpc_405_nocache" for " dg-skip-if 6 "other options
override -mcpu=405" { ! powerpc_405_nocache } { "*" } { "" } "
ERROR: gcc.target/powerpc/405-macchw-1.c: syntax error in target selector
"target powerpc_405_nocache" for " dg-skip-if 6 "other options override
-mcpu=405" { ! powerpc_405_nocache } { "*" } { "" } "
UNRESOLVED: gcc.target/powerpc/405-macchw-1.c: syntax error in target selector
"target powerpc_405_nocache" for " dg-skip-if 6 "other options override
-mcpu=405" { ! powerpc_405_nocache } { "*" } { "" } "
ERROR: gcc.target/powerpc/405-macchw-2.c: syntax error in target selector
"target powerpc_405_nocache" for " dg-skip-if 6 "other options override
-mcpu=405" { ! powerpc_405_nocache } { "*" } { "" } "
UNRESOLVED: gcc.target/powerpc/405-macchw-2.c: syntax error in target selector
"target powerpc_405_nocache" for " dg-skip-if 6 "other options override
-mcpu=405" { ! powerpc_405_nocache } { "*" } { "" } "
...

on powerpc (see http://gcc.gnu.org/ml/gcc-testresults/2009-01/msg00879.html and
http://gcc.gnu.org/ml/gcc-testresults/2009-01/msg00883.html).


-- 
           Summary: syntax error in target selector
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: powerpc*-*-*
  GCC host triplet: powerpc*-*-*
GCC target triplet: powerpc*-*-*


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



[Bug testsuite/38791] New: FAIL: gcc.dg/graphite/block-3.c (test for excess errors)

2009-01-10 Thread dominiq at lps dot ens dot fr
On i686-apple-darwin9 the test gcc/testsuite/gcc.dg/graphite/block-3.c
introduced in revision 143159 fails with:

[ibook-dhum] f90/bug% gcc44
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/graphite/block-3.c
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/graphite/block-3.c:6: error: size of
array 'A' is too large


-- 
   Summary: FAIL: gcc.dg/graphite/block-3.c (test for excess errors)
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug testsuite/38791] FAIL: gcc.dg/graphite/block-3.c (test for excess errors)

2009-01-10 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2009-01-10 11:49 ---
I have forgotten to say that the failure occurs in 32 bit mode, but disappears
with -m64.


-- 


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



[Bug testsuite/38791] FAIL: gcc.dg/graphite/block-3.c (test for excess errors)

2009-01-10 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-01-10 22:03 ---
> Does the attached patch fix the fail?

With the patch the test compiles (it does with M up to 812) and the "Strip
Mining" is done for the second nested loops:

for (s_1=0;s_1<=1;s_1++) {
  for (s_3=0;s_3<=1;s_3++) {
for (s_5=0;s_5<=1;s_5++) {
  for (s_7=64*s_1;s_7<=min(64*s_1+63,99);s_7++) {
for (s_9=64*s_3;s_9<=min(64*s_3+63,99);s_9++) {
  for (s_11=64*s_5;s_11<=min(64*s_5+63,99);s_11++) {
S13(s_1,s_3,s_5,s_7,s_9,s_11) ;
  }
}
  }
}
  }
}

I don't know how I can test this file alone without regtesting all gcc (I
tried: make -k check-gcc RUNTESTFLAGS="dg.exp=graphite/block-3.c" without
success).


-- 


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



[Bug testsuite/38791] FAIL: gcc.dg/graphite/block-3.c (test for excess errors)

2009-01-10 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2009-01-10 22:09 ---
> Try make -k check-gcc RUNTESTFLAGS="graphite.exp=block-3.c"

Thanks, then I get:

Running /opt/gcc/gcc-4.4-work/gcc/testsuite/gcc.dg/graphite/graphite.exp ...

=== gcc Summary ===

# of expected passes1
/Volumes/MacBook/opt/gcc/i686-darwin/gcc/xgcc  version 4.4.0 20090110
(experimental) [trunk revision 143247p1] (GCC) 


-- 


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



[Bug testsuite/38791] FAIL: gcc.dg/graphite/block-3.c (test for excess errors)

2009-01-11 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2009-01-11 11:13 ---
Before closing this pr as fixed, I have a question: usually tests having
-fdump-* in dg-options are doing some search of patterns in the dumped file,
e.g. in gcc/testsuite/gcc.dg/pr35729.c

/* { dg-options "-Os -fdump-rtl-loop2_invariant" } */
...
/* { dg-final { scan-rtl-dump-times "Decided to move invariant" 0
"loop2_invariant" } } */

I noticed that gcc/testsuite/gcc.dg/graphite/block-3.c has only the cleaning
dg-final, but no scan-* one(s). I don't see anything in
gcc/testsuite/gcc.dg/graphite/graphite.exp that could supply it either.
Is this the intended behavior or is there something missing in this test (and
possibly other graphite ones)?


-- 


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



[Bug fortran/38802] Seg fault for RESULT with allocatable components

2009-01-11 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2009-01-11 13:26 ---
Confirmed on i686-apple-darwin9 with -m64 or -m32 with optimization -O1 and
above:

Thread 0 Crashed:
0   a.out   0x1dec __mod_a_MOD_a_fun + 30
1   a.out   0x1daf MAIN__ + 141
2   a.out   0x1f98 main + 40
3   a.out   0x1cf6 start + 54


-- 


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



[Bug fortran/38823] Diagnose and treat (-2.0)**2.0 properly

2009-01-13 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2009-01-13 11:37 ---
> - Mathematica:
>   -2^2 = 4, -2.0^2.0 = -4.0
>   2.0^1.9 = -3.73213  <--- probably -2.0^1.9!

Apparently Mathematica parse "-2.0^a" as "-(2.0^a)". (-2.0)^1.9 gives "3.54947-
1.15329 I". I don't know if the fortran standard says how "-a**b" should be
parsed (nor have the time right now to decipher the legalese).


-- 


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



[Bug fortran/38823] Diagnose and treat (-2.0)**2.0 properly

2009-01-13 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2009-01-13 11:30 ---
> The question is whether one needs to reject it completely or only with 
> -std=f95.

I vote for "only with -std=f95" with may be a warning otherwise. I think it is
a legitimate optimization to replace A**B by A**I (with I=B) when B is known to
be an integer, hence to accept negative values for A in this case. I find
upsetting to have to cheat with variables when constant folding does not give
the same result as a similar code with variables.


-- 


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



[Bug fortran/38823] Diagnose and treat (-2.0)**2.0 properly

2009-01-13 Thread dominiq at lps dot ens dot fr


--- Comment #10 from dominiq at lps dot ens dot fr  2009-01-13 21:13 ---
> I intend to change this, conditional on perhaps -ffast-math and/or -pedantic,

I don't understand the "and/or": -ffast-math and -pedantic at the same time
does not make any sense for me, -ffast-math allows some sloppiness with respect
to the standard, while -pedantic does not.

> You can use A**I directly if you want to accept negative values.

I have never said that (-2.0)**2.0 is in my coding style. My point is that a
pedantic implementation triggers too many bug reports and are not worth the
time spent on it (see -2**31).

I agree with comment#0 "gfortran should print a diagnostic for
-std=f95/f2003/f2008", but not without -std=*.


-- 


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



[Bug fortran/34955] transfer_assumed_size_1.f90: Valgrind error: invalid read of size 3

2009-01-14 Thread dominiq at lps dot ens dot fr


--- Comment #21 from dominiq at lps dot ens dot fr  2009-01-14 08:15 ---
On i686-apple-darwin9 I cannot test the valgrind part of this pr, however with
the patch in http://gcc.gnu.org/ml/fortran/2009-01/msg00162.html the following
test now succeeds:

  character(len=1)  :: string = "z"
  character(len=20) :: tmp = ""
  tmp = Upper ("abcdefgh")
  print *, tmp
 contains
  Character (len=20) Function Upper (string)
Character(len=*) string
integer :: ij
print *, len(string)
print *, size(transfer(string,"xy",len(string)))
i = size(transfer(string,"xy",len(string)))
if (i /= len(string)) call abort()
Upper = ""
Upper(1:2) =   
&
 transfer(merge(transfer(string,"xy",len(string)),&
   string(1:2), .true.), "xy")
return
  end function Upper
end

(coming from pr31608). I saw one regression on char_cast_1.f90 which needs some
adjustment of the test, the following change allows it to pass:

--- ../_gcc_clean/gcc/testsuite/gfortran.dg/char_cast_1.f90 2008-05-19
14:20:35.0 +0200
+++ gcc/testsuite/gfortran.dg/char_cast_1.f90   2009-01-14 07:37:03.0
+0100
@@ -27,5 +27,5 @@
 end
 ! The sign that all is well is that [S.5][1] appears twice.
 ! Platform dependent variations are [S$5][1], [__S_5][1], [S___5][1]
-! { dg-final { scan-tree-dump-times "5\\\]\\\[1\\\]" 2 "original" } }
+! { dg-final { scan-tree-dump-times "6\\\]\\\[1\\\]" 2 "original" } }
 ! { dg-final { cleanup-tree-dump "original" } }

>From the comment the test seems fragile and should probably changed to
something more robust.

Thanks for the patch.


-- 


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



[Bug fortran/38852] UBOUND fails for negative stride triplets

2009-01-14 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2009-01-14 22:08 ---
Confirmed on i686-apple-darwin9/trunk, it also fails with gfortran 4.2.3 and
4.3.3.


-- 


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



[Bug middle-end/38868] r143152 breaks output routines in xplor-nih

2009-01-16 Thread dominiq at lps dot ens dot fr


--- Comment #10 from dominiq at lps dot ens dot fr  2009-01-16 10:00 ---
I don't see any problem on powerpc-apple-darwin9, but I confirm it on
i686-apple-darwin9 on 32 bit mode. The problem disappear with either -m64
and/or -fno-pic.


-- 


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



[Bug middle-end/38868] r143152 breaks output routines in xplor-nih

2009-01-17 Thread dominiq at lps dot ens dot fr


--- Comment #19 from dominiq at lps dot ens dot fr  2009-01-17 12:29 ---
Further reduced test case:

  PROGRAM testcase
  IMPLICIT NONE

  INTEGER NENERT
  PARAMETER (NENERT=62)
  LOGICAL QENER(NENERT)
  CHARACTER*4 ANER(NENERT)
  CHARACTER*80 LINE
  INTEGER NTERMS, J, START, STOP, PUNIT
  PUNIT = 6
  qener = .false.
  qener(5:10) = .true.
  aner = ''
  ANER(5)='BOND'
  ANER(6)='ANGL'
  ANER(7)='DIHE'
  ANER(8)='IMPR'
  ANER(9) ='VDW '
  ANER(10)='ELEC'
  LINE=' '
  LINE(2:2)='|'
  LINE(80:80)='|'
  NTERMS=2
  DO J=1,NENERT
!  IF (QENER(J).AND.ANER(J).NE.'') THEN
  IF (QENER(J)) THEN
IF (NTERMS.GE.4) THEN
  WRITE(PUNIT,'(A80)') LINE
  LINE=' '
  LINE(2:2)='|'
  LINE(80:80)='|'
  NTERMS=0
  write(10,*) LINE
END IF
NTERMS=NTERMS+1
START=(NTERMS-1)*19 +3
STOP=NTERMS*19+2
write (10,*) stop, LINE(80:80)
WRITE(LINE(START:STOP),'(4A)') ' E(',ANER(J),')='
END IF
  END DO
  IF (NTERMS.GE.1) WRITE(PUNIT,'(A80)') LINE
  END

gives at -O3

 |   E(BOND)=   E(ANGL)=
 | E(DIHE)=   E(IMPR)=   E(VDW )=   E(ELEC)=  
|

If I replace the line 

  IF (QENER(J)) THEN

by the commented one, I get

 |   E(BOND)=   E(ANGL)=
 | E(DIHE)=   E(IMPR)=   E(VDW )=   E(ELEC)=

The content of fort.10 show that the content of LINE(80:80) is wrong.

One thing I did not realized when writing comment #10, is that I don't build
gcc with graphite on my G5:

Using built-in specs.
Target: powerpc-apple-darwin9
Configured with: ../gcc-4.4-work/configure --prefix=/opt/gcc/gcc4.4w
--mandir=/opt/gcc/gcc4.4w/share/man --infodir=/opt/gcc/gcc4.4w/share/info
--build=powerpc-apple-darwin9
--enable-languages=c,c++,fortran,objc,obj-c++,java --with-gmp=/sw
--with-libiconv-prefix=/usr --with-system-zlib --x-includes=/usr/X11R6/include
--x-libraries=/usr/X11R6/lib
Thread model: posix
gcc version 4.4.0 20090116 (experimental) [trunk revision 143431] (GCC) 

while I have it on i686-apple-darwin9:

Using built-in specs.
Target: i686-apple-darwin9
Configured with: ../gcc-4.4-work/configure --prefix=/opt/gcc/gcc4.4w
--mandir=/opt/gcc/gcc4.4w/share/man --infodir=/opt/gcc/gcc4.4w/share/info
--build=i686-apple-darwin9 --enable-languages=c,c++,fortran,objc,obj-c++,java
--with-gmp=/sw --with-libiconv-prefix=/usr --with-system-zlib
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
--with-cloog=/opt/cloog/build --with-ppl=/opt/ppl/build
Thread model: posix
gcc version 4.4.0 20090116 (experimental) [trunk revision 143431p3] (GCC) 

Somehow I got the impression that graphite is now enabled at -O2, although I
may have misunderstood what I read. Could the correlation of this pr with
graphite be checked? Just in case I cc Sebastian Pop.



-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||sebpop at gmail dot com


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



[Bug fortran/38152] [4.4 Regression] procedure pointers as module variables

2009-01-17 Thread dominiq at lps dot ens dot fr


--- Comment #12 from dominiq at lps dot ens dot fr  2009-01-17 13:20 ---
(In reply to comment #11)
> This PR can be closed, provided there are no remaining issues on darwin9 (see
> comment #4 and #5). I cannot check this myself (since I don't have access to a
> darwin system), but maybe Dominique can?

AFAICT all the tests I have run passed, so this PR can probably be closed. If I
see anything I'll reopen it and report.  Thanks for the patch.


-- 


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



[Bug middle-end/38846] [Graphite] 70% slower using -floop* than without graphite (gas_dyn of Polyhedron)

2009-01-17 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-01-17 18:12 ---
I have similar results as comment #0 on i686-apple-darwin9 (Core2) trunk
revision 143468:


Date & Time : 17 Jan 2009 17:41:32
Test Name   : pbharness
Compile Command : gfc %n.f90 -m64 -O3 -ffast-math -funroll-loops -fgraphite
-fgraphite-identity -floop-block -floop-strip-mine -floop-interchange
-ftree-loop-linear -fomit-frame-pointer -finline-limit=600 --param
min-vect-loop-bound=2 -o %n
Benchmarks  : ac aermod air capacita channel doduc fatigue gas_dyn induct
linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :  300.0
Target Error %  :  0.200
Minimum Repeats : 2
Maximum Repeats : 5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
Name(secs) (bytes)(secs) Repeats   Err %
   -   ---  --   --- ---  --
  ac  4.86   42560 12.31   5  0.2625
  aermod 87.72 1270544 30.36   5  0.2338
 air  5.73   77336  8.38   5  0.0536
capacita  4.13   72760 45.60   2  0.0055
 channel  1.69   30456  2.71   2  0.0368
   doduc 11.71  200024 42.88   2  0.0501
 fatigue  4.26   76736 12.91   2  0.0852
 gas_dyn  5.83  692200 22.24   5  0.4693
  induct 10.17  177072 34.38   2  0.1440
   linpk  1.67   42536 28.21   5  0.3051
mdbx  3.43   73000 14.79   2  0.0068
  nf 14.82  112264 32.25   2  0.1612
 protein  9.92  114136 45.90   2  0.1961
  rnflow 11.24  171464 37.49   2  0.0960
test_fpu  9.49  154224 13.06   2  0.1263
tfft  1.15   26432  2.88   5  0.2609

Geometric Mean Execution Time =  18.18 seconds


...
Finished Testing  16 benchmarks -  16 passed, and   0 failed

compared to


Date & Time : 17 Jan 2009 18:03:59
Test Name   : pbharness
Compile Command : gfc %n.f90 -m64 -O3 -ffast-math -funroll-loops
-ftree-loop-linear -fomit-frame-pointer -finline-limit=600 --param
min-vect-loop-bound=2 -o %n
Benchmarks  : ac aermod air capacita channel doduc fatigue gas_dyn induct
linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :  300.0
Target Error %  :  0.200
Minimum Repeats : 2
Maximum Repeats : 5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
Name(secs) (bytes)(secs) Repeats   Err %
   -   ---  --   --- ---  --
  ac  2.38   42560 12.33   5  0.3327
  aermod 86.86 1270544 29.86   2  0.0151
 air  5.53   77336  8.39   5  0.2713
capacita  3.40   72760 55.49   5  0.5426
 channel  1.98   38648  2.27   2  0.
   doduc 11.42  200024 42.93   2  0.1456
 fatigue  4.94   89024 10.83   5  0.2533
 gas_dyn  6.61  708584 10.38   2  0.1541
  induct  9.95  181168 34.41   2  0.0727
   linpk  1.50   42536 27.98   2  0.0804
mdbx  3.30   73000 14.81   2  0.0911
  nf 24.30  161416 32.06   4  0.1922
 protein 10.54  126424 46.18   2  0.1646
  rnflow 10.93  179616 36.00   2  0.0014
test_fpu 10.26  166512 12.45   2  0.0723
tfft  1.10   26432  2.86   5  0.2793

Geometric Mean Execution Time =  17.05 seconds



The 70% for gas_dyn turns to be more than a factor 2, and capacita is faster by
almost 20% with floop-block.


-- 


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



[Bug middle-end/38868] [4.4 Regression] r143152 breaks output routines in xplor-nih

2009-01-17 Thread dominiq at lps dot ens dot fr


--- Comment #25 from dominiq at lps dot ens dot fr  2009-01-17 23:28 ---
In the reduced case in comment #19 ANER is initialized and the output is still
wrong.


-- 


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



[Bug middle-end/38868] [4.4 Regression] r143152 breaks output routines in xplor-nih

2009-01-17 Thread dominiq at lps dot ens dot fr


--- Comment #26 from dominiq at lps dot ens dot fr  2009-01-17 23:48 ---
Further reduced test case:

  PROGRAM testcase
  IMPLICIT NONE

  INTEGER NENERT
  PARAMETER (NENERT=62)
  CHARACTER*4 ANER(NENERT)
  CHARACTER*80 LINE
  INTEGER PUNIT
  PUNIT = 6
  aner = ''
  ANER(5)='BOND'
  ANER(6)='ANGL'
  LINE=' '
  LINE(2:2)='|'
  LINE(80:80)='|'
  write (10,*) "'", line, "'"
  WRITE(PUNIT,'(A80)') LINE
  END

[ibook-dhum] f90/bug% cat fort.10
 ' |   
  '

If I comment one of the two lines:

  ANER(5)='BOND'
  ANER(6)='ANGL'

the bug disappears.


-- 


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



[Bug middle-end/38868] [4.4 Regression] r143152 breaks output routines in xplor-nih

2009-01-18 Thread dominiq at lps dot ens dot fr


--- Comment #27 from dominiq at lps dot ens dot fr  2009-01-18 12:00 ---
Further reduced test case:

  PROGRAM testcase
  IMPLICIT NONE

  CHARACTER*4 ANER(18)
  CHARACTER*80 LINE
  aner = ''
  ANER(1)='A   '
  ANER(2)=''
  LINE=' '
  LINE(78:80)='xyz'
  WRITE(*,'(A82)') "'"//LINE//"'"
  END

With this test almost any change remove the bug: the lenght of line has to be
80, the size of the array ANER has to be 18 or larger, LINE has to be
initialized with ' ' and not '', the two ANER elements have to contain at least
one nonblank character, ANER has to be initialized before its two elements, ...
.


-- 


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



[Bug middle-end/38868] [4.4 Regression] r143152 breaks output routines in xplor-nih

2009-01-18 Thread dominiq at lps dot ens dot fr


--- Comment #28 from dominiq at lps dot ens dot fr  2009-01-18 12:06 ---
The difference between the results of -fdump-tree-optimized for the cases

  aner = ''
  ANER(1)='A   '
  ANER(2)=''

and

  ANER(1)='A   '
  ANER(2)=''
  aner = ''

is ('pre' with the bug, 'rev' without it)

--- pr38868_red_2.f90-pre   2009-01-18 12:42:15.0 +0100
+++ pr38868_red_2.f90-rev   2009-01-18 12:41:33.0 +0100
@@ -16,6 +16,8 @@

 :
   _gfortran_set_options (8, &options.0);
+  aner[0] = "A   ";
+  aner[1] = "";
   ivtmp.33 = 0;

 :
@@ -27,8 +29,6 @@
 goto ;

 :
-  aner[0] = "A   ";
-  aner[1] = "";
   __builtin_memcpy (&line, &" "[1]{lb: 1 sz: 1}, 1);
   __builtin_memset (&line[2]{lb: 1 sz: 1}, 32, 79);
   __builtin_memcpy (&line[78]{lb: 1 sz: 1}, &"xyz"[1]{lb: 1 sz: 1}, 3);

Can anyone see the difference between the two marked lines? The hexdump for the
diff without -u is:

  31 38 61 31 39 2c 32 30  0a 3e 20 20 20 61 6e 65  |18a19,20.>   ane|
0010  72 5b 30 5d 20 3d 20 22  41 20 20 20 22 3b 0a 3e  |r[0] = "A   ";.>|
0020  20 20 20 61 6e 65 72 5b  31 5d 20 3d 20 22 20 20  |   aner[1] = "  |
0030  20 20 22 3b 0a 33 30 2c  33 31 64 33 31 0a 3c 20  |  ";.30,31d31.< |
0040  20 20 61 6e 65 72 5b 30  5d 20 3d 20 22 41 20 20  |  aner[0] = "A  |
0050  20 22 3b 0a 3c 20 20 20  61 6e 65 72 5b 31 5d 20  | ";.<   aner[1] |
0060  3d 20 22 20 20 20 20 22  3b 0a|= "";.|

The difference between the assembly is:

--- pr38868_red_2.s-pre 2009-01-18 12:50:15.0 +0100
+++ pr38868_red_2.s-rev 2009-01-18 12:51:04.0 +0100
@@ -26,34 +26,34 @@
leal_options.0.1497-"L001$pb"(%ebx), %eax
movl%eax, 4(%esp)
callL__gfortran_set_options$stub
-   xorl%eax, %eax
+   movlLC0-"L001$pb"(%ebx), %eax
leal-96(%ebp), %edx
+   movl%eax, -96(%ebp)
+   movlLC1-"L001$pb"(%ebx), %eax
+   movl%eax, -92(%ebp)
+   xorl%eax, %eax
.align 4,0x90
 L2:
movl$538976288, (%edx,%eax,4)
addl$1, %eax
cmpl$18, %eax
jne L2
-   movlLC0-"L001$pb"(%ebx), %eax
leal-172(%ebp), %edi
-   movl$19, %ecx
-   leal-176(%ebp), %esi
-   movb$32, -176(%ebp)
-   movb$32, -175(%ebp)
-   movl%eax, -96(%ebp)
-   movlLC1-"L001$pb"(%ebx), %eax
-   movw$8224, -174(%ebp)
-   movw$31096, -99(%ebp)
-   movb$122, -97(%ebp)
-   movl%eax, -92(%ebp)
movl$538976288, %eax
+   movl$19, %ecx
rep stosl
lealLC2-"L001$pb"(%ebx), %eax
leal-680(%ebp), %edi
movl%eax, -672(%ebp)
lealLC3-"L001$pb"(%ebx), %eax
+   leal-176(%ebp), %esi
movl%eax, -632(%ebp)
movl%edi, (%esp)
+   movb$32, -176(%ebp)
+   movb$32, -175(%ebp)
+   movw$8224, -174(%ebp)
+   movw$31096, -99(%ebp)
+   movb$122, -97(%ebp)
movl$11, -668(%ebp)
movl$5, -628(%ebp)
movl$4096, -680(%ebp)


-- 


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



[Bug middle-end/38868] [4.4 Regression] r143152 breaks output routines in xplor-nih

2009-01-18 Thread dominiq at lps dot ens dot fr


--- Comment #29 from dominiq at lps dot ens dot fr  2009-01-18 12:50 ---
Created an attachment (id=17133)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17133&action=view)
Assembly corresponding to the test case in comment #27

When I compile the attached file with gfortran 4.3, the executable shows the
bug. Could this file be compiled on linux?


-- 


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



[Bug middle-end/38868] [4.4 Regression] r143152 breaks output routines in xplor-nih

2009-01-18 Thread dominiq at lps dot ens dot fr


--- Comment #30 from dominiq at lps dot ens dot fr  2009-01-18 13:13 ---
If I compile the test in comment #27 with -O1 and all the other flags supposed
to be turned on by -O2
(taken from
http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options) the
bug does not show up. What are the missing differences between -O1 and -O2?


-- 


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



[Bug target/38868] [4.4 Regression] r143152 breaks output routines in xplor-nih

2009-01-19 Thread dominiq at lps dot ens dot fr


--- Comment #45 from dominiq at lps dot ens dot fr  2009-01-19 19:31 ---
The patch in comment #44 fixes the problem (as far as I can test it) on
i686-apple-darwin9 without regression for gcc, g++, gfortran, objc, and
obj-c++, full test this night.

Thanks for the patch.


-- 


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



[Bug fortran/38907] [4.3/4.4 Regression ] ICE when contained function has same name as module function and used in expression

2009-01-19 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2009-01-19 22:39 ---
> This removes the ICE: ...

Do you understand why?


-- 


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



[Bug c++/38930] [4.4 Regression] Revision 143546 failed to bootstrap

2009-01-21 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2009-01-21 19:58 ---
It failed to bootstrap on i686-apple-darwin9 too.


-- 


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



[Bug middle-end/38968] New: Complex matrix product is not vectorized

2009-01-25 Thread dominiq at lps dot ens dot fr
As shown by the following code, the complex matrix product is not vectorized,
even with the patch in http://gcc.gnu.org/ml/gcc-patches/2009-01/msg01174.html:

program mymatmul
  implicit none
  integer, parameter :: kp = 4
  integer, parameter :: n = 2000
  real(kp), dimension(n,n) :: rr, ri
  complex(kp), dimension(n,n) :: a,b,c
  real :: t1, t2
  integer :: i, j, k

  call random_number (rr)
  call random_number (ri)
  a = cmplx (rr, ri)
  call random_number (rr)
  call random_number (ri)
  b = cmplx (rr, ri)

  call cpu_time (t1)

  c = cmplx (0._kp, 0._kp)
  do j = 1, n
 do k = 1, n
do i = 1, n
   c(i,j) = c(i,j) + a(i,k) * b(k,j)
end do
 end do
  end do

  call cpu_time (t2)
  write (*,'(F8.4)') t2-t1

end program mymatmul

[ibook-dhum] bug/timing% gfc -m64 -O3 -ffast-math -funroll-loops
-fomit-frame-pointer -ftree-vectorizer-verbose=2 mymatmul_v_c4.f90  
mymatmul_v_c4.f90:22: note: not vectorized: can't calculate alignment for data
ref.
mymatmul_v_c4.f90:15: note: not vectorized: complicated access pattern.
mymatmul_v_c4.f90:15: note: not vectorized: can't calculate alignment for data
ref.
mymatmul_v_c4.f90:12: note: not vectorized: complicated access pattern.
mymatmul_v_c4.f90:12: note: not vectorized: can't calculate alignment for data
ref.
mymatmul_v_c4.f90:1: note: vectorized 0 loops in function.

The real corresponding code is vectorized.


-- 
   Summary: Complex matrix product is not vectorized
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug fortran/37744] ICE-on-invalid with ISO_C_BINDING and TYPEs

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-05-04 09:06 ---
Also ICE on trunk r147065 powerpc-apple-darwin9 or r147085 i686-apple-darwin9.


-- 


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



[Bug middle-end/40015] [4.5.0 Regression] Revision 147083 failed gfortran.dg/array_memcpy_4.f90

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-05-04 08:59 ---
This test has been introduced by the patch in
http://gcc.gnu.org/ml/fortran/2007-01/msg00425.html.
The tests gfortran.dg/array_memcpy_[1-3].f90 use

! { dg-final { scan-tree-dump-times "memcpy" * "original" } }

So a simple fix would be to replace

! { dg-final { scan-tree-dump-times "d = " 1 "original" } }

with

! { dg-final { scan-tree-dump-times "memcpy" 1 "original" } }

but I don't understand why array_memcpy_4.f90 used to give a different
construct and this change could mask a more serious problem.


-- 


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



[Bug bootstrap/39968] [4.5 Regression] ./plugin-version.h:11: error: 'gcc_version' defined but not used

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2009-05-04 11:42 ---
This pr is fixed as long as *-apple-darwin9 is concerned. Due to comments #3 to
#5, I don't close it as fixed. If someone wants to keep this PR open, (s)he
should change subject and priority.


-- 


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



[Bug bootstrap/39929] [4.5 Regression] Bootstrapping fails at stage 1 on powerpc-apple-darwin9 and powerpc-ibm-aix

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #15 from dominiq at lps dot ens dot fr  2009-05-04 11:45 ---
This pr is fixed as long as *-apple-darwin9 is concerned. Due to comments #11
to
#13, I don't close it as fixed. If someone wants to keep this PR open, (s)he
should change subject, platform, and priority.


-- 


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



[Bug fortran/40011] Problems with -fwhole-file

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-05-04 17:54 ---
With thee patch in http://gcc.gnu.org/ml/fortran/2009-05/msg00056.html without
type cheating, all the ICEs in my tests are gone. It even fixes pr37744!-(it
may give a clue on how to fix it without -fwhole-file).

For the test arr_fun.f90, I now get:

arr_fun.f90:10.6:

res = test(2)
  1
Error: The reference to function 'test' at (1) either needs an explicit
INTERFACE or the rank is incorrect

which seems right (without -fwhole-file I get a "bus error" at run time).

Test gcc/testsuite/gfortran.dg/hollerith.f90 and friends won't probably pass
regtesting:

call test (8h   hello)
   1
Error: Type mismatch in argument 'h' at (1); passed HOLLERITH to INTEGER(8)

I have to run the polyhedron tests and to regtest, so it is all for this time. 

Thanks for the patch.


-- 


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



[Bug fortran/40018] ICE in output_constructor

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2009-05-04 19:19 ---
Confirmed on trunk and 4.4.0. Works with 4.3.3.


-- 


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



[Bug fortran/40011] Problems with -fwhole-file

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2009-05-04 21:52 ---
With the patch in http://gcc.gnu.org/ml/fortran/2009-05/msg00056.html
gas_dyn.f90 fails as in commet #0, except for -O1:

[ibook-dhum] lin/test% gfc -O1 -fwhole-file gas_dyn.f90
gas_dyn.f90: In function 'chozdt':
gas_dyn.f90:216: internal compiler error: Bus error


-- 


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



[Bug fortran/40011] Problems with -fwhole-file

2009-05-04 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2009-05-04 22:20 ---
Regtest gives:

=== gfortran Summary ===

# of expected passes117714
# of unexpected failures576
# of expected failures  78
# of unsupported tests  906

for RUNTESTFLAGS="--target_board=unix'{,-m64,/-fwhole-file,-m64/-fwhole-file}'"
with no "unexpected failures" for {,-m64}. 444 failures come from

cc1: warning: command line option "-fwhole-file" is valid for Fortran but not
for C

I think I know how to filter them.

---> generic_actual_arg.f90 fails with

/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/generic_actual_arg.f90:40.64:

CALL F(CALCULATION2) ! OK because there is a same name specific 
1
Error: More actual than formal arguments in procedure call at (1)

False positive?

---> global_references_1.f90 fails with

SUBROUTINE j (x)! { dg-error "is already being used as a FUNCTION" }
2
Error: Global name 'j' at (1) is already being used as a SUBROUTINE at (2)
/opt/gcc/gcc-4.5-work/gcc/testsuite/gfortran.dg/global_references_1.f90:39.6:

  T = j () ! { dg-error "is already being used as a FUNCTION" }
  1
Error: Missing actual argument for argument 'x' at (1)
/opt/gcc/gcc-4.5-work/gcc/testsuite/gfortran.dg/global_references_1.f90:68.64:

---> hollerith.f90 fails with

call test (8h   hello)
   1
Error: Type mismatch in argument 'h' at (1); passed HOLLERITH to INTEGER(8)

---> hollerith_legacy.f90 same failure

---> import6.f90 fails with

opt/gcc/gcc-4.5-work/gcc/testsuite/gfortran.dg/import6.f90:42.13:

  call func1(x)
 1
Error: Type mismatch in argument 'param' at (1); passed TYPE(my_type) to
TYPE(my_type)

Obviously some tests will require adjustments to pass with -fwhole-file.
More tomorrow.


-- 


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



  1   2   3   4   5   6   7   8   9   10   >