[Bug bootstrap/40578] New: FOPEN double defined used in ada/adaint.h:58

2009-06-28 Thread christian dot joensson at gmail dot com
As of commit r149007 (enabling -Werror when building with language Ada), I get
these errors on current cygwin:

/usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/
-B/usr/local/i686-pc-cygwin/bin/ -B/usr/local/i686-pc-cygwin/lib/ -isystem
/usr/local/i686-pc-cygwin/include -isystem
/usr/local/i686-pc-cygwin/sys-include-c  -g -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes 
-Wmissing-format-attribute -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common
 -DHAVE_CONFIG_H -I. -Iada -I../../gcc/gcc -I../../gcc/gcc/ada
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -Iyes/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber../../gcc/gcc/ada/cstreams.c -o ada/cstreams.o
cc1: warnings being treated as errors
In file included from ../../gcc/gcc/ada/cstreams.c:47:0:
../../gcc/gcc/ada/adaint.h:58:0: error: "FOPEN" redefined
/usr/include/sys/_default_fcntl.h:95:0: note: this is the location of the
previous definition
make[3]: *** [ada/cstreams.o] Error 1

/usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/
-B/usr/local/i686-pc-cygwin/bin/ -B/usr/local/i686-pc-cygwin/lib/ -isystem
/usr/local/i686-pc-cygwin/include -isystem
/usr/local/i686-pc-cygwin/sys-include-c  -g -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes 
-Wmissing-format-attribute -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common
 -DHAVE_CONFIG_H  \
 -I. -Iada -I../../gcc/gcc -I../../gcc/gcc/ada
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -Iyes/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber-I. -Iada -I../../gcc/gcc -I../../gcc/gcc/ada
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -Iyes/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber   ../../gcc/gcc/ada/cio.c -o ada/cio.o
cc1: warnings being treated as errors
In file included from ../../gcc/gcc/ada/cio.c:41:0:
../../gcc/gcc/ada/adaint.h:58:0: error: "FOPEN" redefined
/usr/include/sys/_default_fcntl.h:95:0: note: this is the location of the
previous definition
make[3]: *** [ada/cio.o] Error 1

/usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/
-B/usr/local/i686-pc-cygwin/bin/ -B/usr/local/i686-pc-cygwin/lib/ -isystem
/usr/local/i686-pc-cygwin/include -isystem
/usr/local/i686-pc-cygwin/sys-include-c  -g -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes 
-Wmissing-format-attribute -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common
 -DHAVE_CONFIG_H  \
 -I. -Iada -I../../gcc/gcc -I../../gcc/gcc/ada
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -Iyes/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber-I. -Iada -I../../gcc/gcc -I../../gcc/gcc/ada
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -Iyes/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber   ../../gcc/gcc/ada/cio.c -o ada/cio.o
cc1: warnings being treated as errors
In file included from ../../gcc/gcc/ada/cio.c:41:0:
../../gcc/gcc/ada/adaint.h:58:0: error: "FOPEN" redefined
/usr/include/sys/_default_fcntl.h:95:0: note: this is the location of the
previous definition
make[3]: *** [ada/cio.o] Error 1

/usr/local/src/trunk/objdir/./prev-gcc/xgcc
-B/usr/local/src/trunk/objdir/./prev-gcc/ -B/usr/local/i686-pc-cygwin/bin/
-B/usr/local/i686-pc-cygwin/bin/ -B/usr/local/i686-pc-cygwin/lib/ -isystem
/usr/local/i686-pc-cygwin/include -isystem
/usr/local/i686-pc-cygwin/sys-include-c  -g -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes 
-Wmissing-format-attribute -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common
 -DHAVE_CONFIG_H  \
 -I. -Iada -I../../gcc/gcc -I../../gcc/gcc/ada
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -Iyes/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber-I. -Iada -I../../gcc/gcc -I../../gcc/gcc/ada
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -Iyes/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber   ../../gcc/gcc/ada/raise.c -o ada/raise.o
cc1: warnings being treated as errors
In file included from ../../gcc/gcc/ada/raise.c:46:0:
../../gcc/gcc/ada/adaint.h:58:0: error: "FOPEN" redefined
/usr/include/sys/_default_fcntl.h:95:0: 

[Bug fortran/40576] [4.4, 4.5 Regression] Endless loop in internal write

2009-06-28 Thread jvdelisle at gcc dot gnu dot org


--- Comment #5 from jvdelisle at gcc dot gnu dot org  2009-06-29 04:35 
---
I think this fixes it.  Still testing.  Will need to get this into 4.4 if this
is it.  This fix is consistent with fd_set in 4.3 which loops as long as trans
> 0. (similar code)

Index: transfer.c
===
--- transfer.c  (revision 149044)
+++ transfer.c  (working copy)
@@ -2867,7 +2867,7 @@ sset (stream * s, int c, ssize_t nbyte)
 {
   trans = (bytes_left < WRITE_CHUNK) ? bytes_left : WRITE_CHUNK;
   trans = swrite (s, p, trans);
-  if (trans < 0)
+  if (trans <= 0)
return trans;
   bytes_left -= trans;
 }


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail|4.5.0   |4.5.0 4.4.1
Summary|[4.5 Regression] Endless|[4.4, 4.5 Regression]
   |loop in internal write  |Endless loop in internal
   ||write


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



[Bug fortran/40576] [4.5 Regression] Endless loop in internal write

2009-06-28 Thread jvdelisle at gcc dot gnu dot org


--- Comment #4 from jvdelisle at gcc dot gnu dot org  2009-06-29 04:09 
---
I can confirm the regression is from the I/O patch, but not related to format
caching. The test case is looping here:

(gdb) bt
#0  mem_alloc_w () at ../../../gcc45/libgfortran/io/unix.c:579
#1  mem_write (s=0x601c00, buf=0x7fffdd10, nbytes=16)
at ../../../gcc45/libgfortran/io/unix.c:622
#2  0x77dc780f in swrite () at ../../../gcc45/libgfortran/io/io.h:70
#3  sset (s=0x601c00, c=, nbyte=16)
at ../../../gcc45/libgfortran/io/transfer.c:2869
#4  0x77dc8f0f in next_record_w ()
at ../../../gcc45/libgfortran/io/transfer.c:3002
#5  next_record (dtp=0x7fffdfa0, done=1)
at ../../../gcc45/libgfortran/io/transfer.c:3058
#6  0x7fffdfa0 in ?? ()
#7  0x in ?? ()

Janne, will you look at this as well please. We are not catching the EOF
condition.


-- 


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



[Bug rtl-optimization/38373] 32-bit Vortex degradation on PPC due to bad RTL aliasing

2009-06-28 Thread luisgpm at linux dot vnet dot ibm dot com


--- Comment #6 from luisgpm at linux dot vnet dot ibm dot com  2009-06-29 
02:25 ---
Fixed


-- 

luisgpm at linux dot vnet dot ibm dot com changed:

   What|Removed |Added

 Status|RESOLVED|VERIFIED


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



[Bug rtl-optimization/38373] 32-bit Vortex degradation on PPC due to bad RTL aliasing

2009-06-28 Thread luisgpm at linux dot vnet dot ibm dot com


--- Comment #5 from luisgpm at linux dot vnet dot ibm dot com  2009-06-29 
02:24 ---
Already commited on 4.5. Closing...


-- 

luisgpm at linux dot vnet dot ibm dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


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



[Bug fortran/40576] [4.5 Regression] Endless loop in internal write

2009-06-28 Thread jvdelisle at gcc dot gnu dot org


--- Comment #3 from jvdelisle at gcc dot gnu dot org  2009-06-29 02:07 
---
I will have a look.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-06-29 02:07:52
   date||


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



[Bug c++/40577] ICE on valid code: in extract_insn

2009-06-28 Thread mckelvey at maskull dot com


--- Comment #1 from mckelvey at maskull dot com  2009-06-29 00:49 ---
Created an attachment (id=18088)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18088&action=view)
Preprocessed source


-- 


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



[Bug c++/40577] New: ICE on valid code: in extract_insn

2009-06-28 Thread mckelvey at maskull dot com
uname -a
Linux alpha1 2.4.9-40 #1 Mon Sep 23 08:14:02 EDT 2002 alpha unknown

g++ -v
Using built-in specs.
Target: alphaev56-unknown-linux-gnu
Configured with: ../gcc/configure --verbose --enable-languages=c++
--disable-linux-futex --disable-nls --disable-tls --enable-clocale=generic
Thread model: posix
gcc version 4.5.0 20090624 (experimental) (GCC) 

BUILDING:
alias CONFIGURECVS='../gcc/configure --verbose --enable-languages=c++
--disable-linux-futex --disable-nls --disable-tls --enable-clocale=generic 2>&1
| tee clog'

alias BUILD='nice gmake CFLAGS='\'''\'' BOOT_CFLAGS='\'''\''
LIBCFLAGS='\''-g'\'' LIBCXXFLAGS='\''-g'\'' bootstrap 2>&1 | tee log'




alpha1:PD>/usr/local/bin/g++ -c  -O3 -DNDEBUG -DUSE_INTL=1 -DUSE_MUTEX=1
-findirect-inlining -Winline -pedantic-errors -Werror -ansi -fno-common -Wall
-Wold-style-cast -Wsign-promo -Wpointer-arith -Wundef -Wwrite-strings
-Winvalid-pch -Woverloaded-virtual -Wcast-qual -Wextra -Wredundant-decls
-Wshadow -Wcast-align -Wcomment -fstrict-aliasing -Winit-self
-Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wlogical-op -Wconversion
-Wsign-conversion -Wmissing-declarations -Wdeprecated -ftree-switch-conversion
-Wuninitialized -Wparentheses -Wunused -fvisibility-inlines-hidden -MMD  
-save-temps   -fimplicit-templates -o x.o x.cc


In file included from
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/deque:68:0,
 from Types.h:40,
 from PDStl.h:31,
 from x.cc:1:
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/deque.tcc:
In member function 'void std::deque<_Tp, _Alloc>::_M_insert_aux(std::deque<_Tp,
_Alloc>::iterator, std::deque::size_type, const value_type&) [with _Tp = bool,
_Alloc = std::allocator, std::deque<_Tp, _Alloc>::iterator =
std::_Deque_iterator, std::deque::size_type = long unsigned
int, value_type = bool]':
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/deque.tcc:630:5:
error: unrecognizable insn:
(insn 719 718 720 65
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/stl_algobase.h:702
(set (reg:DI 1274)
(ashift:DI (reg:V8QI 699 [ vect_cst_.738 ])
(ashift:DI (reg:DI 1276)
(const_int 3 [0x3] -1 (nil))
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/deque.tcc:630:5:
internal compiler error: in extract_insn, at recog.c:2078
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


-- 
   Summary: ICE on valid code: in extract_insn
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckelvey at maskull dot com
 GCC build triplet: alphaev56-unknown-linux-gnu
  GCC host triplet: alphaev56-unknown-linux-gnu
GCC target triplet: alphaev56-unknown-linux-gnu


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #19 from ubizjak at gmail dot com  2009-06-28 23:36 ---
*** Bug 40553 has been marked as a duplicate of this bug. ***


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||CaptainSifff at gmx dot de


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



[Bug target/40553] wrong result(nan) using vector extensions on athlon-xp

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #5 from ubizjak at gmail dot com  2009-06-28 23:36 ---
(In reply to comment #4)
> As an additional note: 
> if compiled with -m3dnow the program produces nans

mmx instructions without [f]emms block x87 registers, so you will get nans.
Otherwise, mmx moves were re-tuned for 4.4, so there will be no mmx regs used
in gcc-4.4 and later for this test.

> if compiled with -msse the program produces a segfault which seems to be due 
> to
> the same alignment issue as in bug
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40550

Yes. This was just fixed.


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


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #18 from ubizjak at gmail dot com  2009-06-28 23:16 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to fail|4.5.0   |4.3.3 4.4.0
 Resolution||FIXED
   Target Milestone|--- |4.3.4


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread uros at gcc dot gnu dot org


--- Comment #17 from uros at gcc dot gnu dot org  2009-06-28 23:12 ---
Subject: Bug 40550

Author: uros
Date: Sun Jun 28 23:12:37 2009
New Revision: 149040

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149040
Log:
PR tree-optimization/40550
* tree-vect-generic.c (expand_vector_operations_1): Compute in
vector_compute_type only when the size of vector_compute_type is
less than the size of type.

testsuite/ChangeLog:

PR tree-optimization/40550
* gcc.dg/pr40550.c: New test.


Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/pr40550.c
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
branches/gcc-4_3-branch/gcc/tree-vect-generic.c


-- 


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



[Bug fortran/40576] [4.5 Regression] Endless loop in internal write

2009-06-28 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2009-06-28 21:23 ---
> I don't have a 4.4 compiler around to test currently.

works with 4.4.0, but not with 4.4.1 revision 147906 (before reverting the
format caching).


-- 


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



[Bug fortran/40576] [4.5 Regression] Endless loop in internal write

2009-06-28 Thread tkoenig at gcc dot gnu dot org


--- Comment #1 from tkoenig at gcc dot gnu dot org  2009-06-28 21:10 ---
I don't have a 4.4 compiler around to test currently.

Jerry, do you have any idea?


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jvdelisle at gcc dot gnu dot
   ||org
  Known to fail||4.5.0
  Known to work||4.3.3
   Target Milestone|--- |4.5.0


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



[Bug fortran/40576] New: [4.5 Regression] Endless loop in internal write

2009-06-28 Thread tkoenig at gcc dot gnu dot org
$ cat foo.f90
program main
  character(len=20) :: line
  integer, dimension(4) :: n
  n = 1
  write(line,'(2I2)') n
end program main

$ gfortran foo.f90
$ time ./a.out  ! Interrupted by control-c


real0m1.424s
user0m1.404s
sys 0m0.000s
$ /usr/bin/gfortran-4.3 -static foo.f90
$ ./a.out
At line 5 of file foo.f90
Fortran runtime error: End of file


-- 
   Summary: [4.5 Regression] Endless loop in internal write
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org


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



[Bug fortran/38913] Fortran does not set TYPE_CANONICAL properly

2009-06-28 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2009-06-28 20:43 
---
Another one, reduced from function_module_1.f90:

module M1

INTEGER p

CONTAINS
subroutine AA ()
   implicit NONE
   p = 1
end subroutine
end module

program P1
  USE M1
  implicit none
  p = 0
  call AA ()
  if (p /= 1) call abort
end

where the issue is that p is not properly unified in the use in P1 and AA.
After inlining we see:

p1 ()
{
  integer(kind=4)D.3 p.0D.1516;

:
  pD.1514 = 0;
  pD.1509 = 1;
  p.0D.1516_1 = pD.1514;
  if (p.0D.1516_1 != 1)

so we store to / read from different variables.


-- 


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



[Bug fortran/40551] Wrong code due to missing copy-in/copy-out stried array to assumed-size dummy

2009-06-28 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2009-06-28 20:31 ---
(In reply to comment #5)
The following fixes the problem.  It needs to be checked to see if it is
over-restrictive.

Index: gcc/fortran/trans-expr.c
===
--- gcc/fortran/trans-expr.c(revision 149003)
+++ gcc/fortran/trans-expr.c(working copy)
@@ -4818,7 +4823,8 @@
   tree tmp;

   /* Special case a single function returning an array.  */
-  if (expr2->expr_type == EXPR_FUNCTION && expr2->rank > 0)
+  if (expr2->expr_type == EXPR_FUNCTION && expr2->rank > 0
+   && !(expr1->ref && !gfc_full_array_ref_p (expr1->ref)))
 {
   tmp = gfc_trans_arrayfunc_assign (expr1, expr2);
   if (tmp)

Cheers

Paul


-- 


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



[Bug fortran/34112] Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL

2009-06-28 Thread burnus at gcc dot gnu dot org


--- Comment #13 from burnus at gcc dot gnu dot org  2009-06-28 19:51 ---
FIXED on the trunk (4.5).


-- 

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



[Bug bootstrap/40572] gcc insistance on using LD_LIBRARY_PATH and ignoring LD_FLAGS

2009-06-28 Thread david dot kirkby at onetel dot net


--- Comment #18 from david dot kirkby at onetel dot net  2009-06-28 19:30 
---
I have solved this. The key was setting LD_OPTIONS

LD_OPTIONS='-L/usr/local/lib -R/usr/local/lib'

I suspect that is a Solaris Environment variable, which is useful to the Sun
linker I was using, but not to the GNU linker. \\


-- 


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread uros at gcc dot gnu dot org


--- Comment #16 from uros at gcc dot gnu dot org  2009-06-28 18:34 ---
Subject: Bug 40550

Author: uros
Date: Sun Jun 28 18:33:54 2009
New Revision: 149038

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149038
Log:
PR tree-optimization/40550
* tree-vect-generic.c (expand_vector_operations_1): Compute in
vector_compute_type only when the size of vector_compute_type is
less than the size of type.

testsuite/ChangeLog:

PR tree-optimization/40550
* gcc.dg/pr40550.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/pr40550.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-generic.c


-- 


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



[Bug fortran/34112] Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL

2009-06-28 Thread burnus at gcc dot gnu dot org


--- Comment #12 from burnus at gcc dot gnu dot org  2009-06-28 17:57 ---
Subject: Bug 34112

Author: burnus
Date: Sun Jun 28 17:56:41 2009
New Revision: 149036

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149036
Log:
2009-06-28  Tobias Burnus  
Francois-Xavier Coudert  

PR fortran/34112
* symbol.c (gfc_add_ext_attribute): New function.
(gfc_get_sym_tree): New argument allow_subroutine.
(gfc_get_symbol,gfc_get_ha_sym_tree,gen_cptr_param,gen_fptr_param
gen_shape_param,generate_isocbinding_symbol): Use it.
* decl.c (find_special): New argument allow_subroutine.
(add_init_expr_to_sym,add_hidden_procptr_result,attr_decl1,
match_procedure_in_type,gfc_match_final_decl): Use it.
(gfc_match_gcc_attributes): New function.
* gfortran.texi (Mixed-Language Programming): New section
"GNU Fortran Compiler Directives".
* gfortran.h (ext_attr_t): New struct.
(symbol_attributes): Use it.
(gfc_add_ext_attribute): New prototype.
(gfc_get_sym_tree): Update pototype.
* expr.c (gfc_check_pointer_assign): Check whether call
convention is the same.
* module.c (import_iso_c_binding_module, create_int_parameter,
use_iso_fortran_env_module): Update gfc_get_sym_tree call.
* scanner.c (skip_gcc_attribute): New function.
(skip_free_comments,skip_fixed_comments): Use it.
(gfc_next_char_literal): Support !GCC$ lines.
* resolve.c (check_host_association): Update
gfc_get_sym_tree call.
* match.c (gfc_match_sym_tree,gfc_match_call): Update
gfc_get_sym_tree call.
* trans-decl.c (add_attributes_to_decl): New function.
(gfc_get_symbol_decl,get_proc_pointer_decl,
gfc_get_extern_function_decl,build_function_decl: Use it.
* match.h (gfc_match_gcc_attributes): Add prototype.
* parse.c (decode_gcc_attribute): New function.
(next_free,next_fixed): Support !GCC$ lines.
* primary.c (match_actual_arg,check_for_implicit_index,
gfc_match_rvalue,gfc_match_rvalue): Update
gfc_get_sym_tree call.

2009-06-28  Tobias Burnus  

PR fortran/34112
* gfortran.dg/compiler-directive_1.f90: New test.
* gfortran.dg/compiler-directive_2.f: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/compiler-directive_1.f90
trunk/gcc/testsuite/gfortran.dg/compiler-directive_2.f
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/expr.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/gfortran.texi
trunk/gcc/fortran/match.c
trunk/gcc/fortran/match.h
trunk/gcc/fortran/module.c
trunk/gcc/fortran/parse.c
trunk/gcc/fortran/primary.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/scanner.c
trunk/gcc/fortran/symbol.c
trunk/gcc/fortran/trans-decl.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug bootstrap/40572] gcc insistance on using LD_LIBRARY_PATH and ignoring LD_FLAGS

2009-06-28 Thread david dot kirkby at onetel dot net


--- Comment #17 from david dot kirkby at onetel dot net  2009-06-28 17:17 
---
I just realised that:

LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
BOOT_LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
export LDFLAGS
export BOOT_LDFLAGS

was probably not the best way to do this. I'm not even sure if it is valid or
not, which probably explains it this time. 


-- 


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



[Bug fortran/38913] Fortran does not set TYPE_CANONICAL properly

2009-06-28 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2009-06-28 16:56 
---
Similar case, from reduced import.f90:

subroutine bar(x)
  type myType
sequence
integer :: i
  end type myType
  type(myType) :: x
  x%i = 5
end subroutine bar

program foo
  integer, parameter :: dp = 8
  type myType
sequence
integer :: i
  end type myType
  interface
subroutine bar(x)
  import
  type(myType) :: x
end subroutine bar
  end interface

  type(myType) :: y
  y%i = 2
  call bar(y)
  if(y%i /= 5) call abort()
end program foo


-- 


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



[Bug bootstrap/40572] gcc insistance on using LD_LIBRARY_PATH and ignoring LD_FLAGS

2009-06-28 Thread david dot kirkby at onetel dot net


--- Comment #16 from david dot kirkby at onetel dot net  2009-06-28 16:55 
---
I thought my comments were going to appear before the files were posted, not
after it. Anyway, the libraries are in /usr/local/lib, and appear to work, as I
can compile and link against them. 

kir...@t2:[~] $ /usr/sfw/bin/gcc -L/usr/local/lib -R /usr/local/lib -lgmp
-lmpfr hello_world.c
kir...@t2:[~] $ ldd ./a.out
libgmp.so.3 =>   /usr/local/lib/libgmp.so.3
libmpfr.so.1 =>  /usr/local/lib/libmpfr.so.1
libc.so.1 => /lib/libc.so.1
libgcc_s.so.1 => /usr/sfw/lib/libgcc_s.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,T5240/lib/libc_psr.so.1
kir...@t2:[~]

But a script I used to try to build gcc

#!/bin/sh
LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
BOOT_LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
export LDFLAGS
export BOOT_LDFLAGS
rm -rf gcc-4.4.0-built-with-gcc-3.4.3-ABI32b
mkdir gcc-4.4.0-built-with-gcc-3.4.3-ABI32b

cd gcc-4.4.0-built-with-gcc-3.4.3-ABI32b
/home/kirkby/gcc-4.4.0/configure 'CC=/usr/sfw/bin/gcc' \
--prefix=/usr/local/gcc-4.4.0-sun-linker \
--without-gnu-as \
--without-gnu-ld \
--with-as=/usr/ccs/bin/as  \
--with-ld=/usr/ccs/bin/ld \
--enable-languages=c,c++,fortran \
--with-mpfr-lib=/usr/local/lib \
--with-mpfr-include=/usr/local/include \
--with-gmp-include=/usr/local/include \
--with-gmp-lib=/usr/local/lib \
--with-libiconv-prefix=/usr/lib/iconv
gmake -j 200


fails, with the logs I just posted. 


-- 


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



[Bug bootstrap/40572] gcc insistance on using LD_LIBRARY_PATH and ignoring LD_FLAGS

2009-06-28 Thread david dot kirkby at onetel dot net


--- Comment #15 from david dot kirkby at onetel dot net  2009-06-28 16:52 
---
Created an attachment (id=18087)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18087&action=view)
sparc-sun-solaris2.10/libgcc/config.log with mpfr and gmp libraires in
/usr/local/lib. 

As you will note, the first sort of error message is:

ld.so.1: cc1: fatal: libmpfr.so.1: open failed: No such file or directory

then later down. 

configure:2630: error: cannot compute suffix of object files: cannot compile


-- 

david dot kirkby at onetel dot net changed:

   What|Removed |Added

  Attachment #18081|0   |1
is obsolete||
  Attachment #18082|0   |1
is obsolete||


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



[Bug bootstrap/40572] gcc insistance on using LD_LIBRARY_PATH and ignoring LD_FLAGS

2009-06-28 Thread david dot kirkby at onetel dot net


--- Comment #14 from david dot kirkby at onetel dot net  2009-06-28 16:49 
---
Created an attachment (id=18086)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18086&action=view)
Top level config.log, with libraries in /usr/local/lib

This is the top level config.log. I'll post the
/sparc-sun-solaris2.10/libgcc/config.log  in a minute. 


-- 


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread uros at gcc dot gnu dot org


--- Comment #15 from uros at gcc dot gnu dot org  2009-06-28 15:19 ---
Subject: Bug 40550

Author: uros
Date: Sun Jun 28 15:18:46 2009
New Revision: 149027

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149027
Log:
PR tree-optimization/40550
* tree-vect-generic.c (expand_vector_operations_1): Compute in
vector_compute_type only when the size of vector_compute_type is
less than the size of type.

testsuite/ChangeLog:

PR tree-optimization/40550
* gcc.dg/pr40550.c: New test.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr40550.c
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/gcc/tree-vect-generic.c


-- 


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



[Bug c++/40574] -O3 couse segfault in loop in hunspell

2009-06-28 Thread andrej dot gelenberg at udo dot edu


--- Comment #5 from andrej dot gelenberg at udo dot edu  2009-06-28 15:16 
---
with -fno-tree-vectorize no more segfault.

Usecase: open webpage in firefox with textfield (hunspell try to load dict and
cause segfault)


-- 


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



[Bug c/40528] Add a new ifunc attribute

2009-06-28 Thread hjl at gcc dot gnu dot org


--- Comment #12 from hjl at gcc dot gnu dot org  2009-06-28 15:14 ---
Subject: Bug 40528

Author: hjl
Date: Sun Jun 28 15:14:09 2009
New Revision: 149026

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149026
Log:
gcc/

2009-06-28  H.J. Lu  

PR c/40528
* c-common.c (handle_ifunc_attribute): New.
(c_common_attribute_table): Add "ifunc".

* c-decl.c (merge_decls): Only allow IFUNC attribute on
definition.  Merge the IFUNC information.
(start_function): Use function_return_type to get function
return type.
(store_parm_decls_newstyle): Don't warn omitted parameter name
on IFUNC function.
(finish_function): Issue an error if control reaches end of
IFUNC function.
(c_write_global_declarations_1): Add an argument to indicate
global scope.  Issue an error for undefined IFUNC function.
(c_write_global_declarations): Updated.

* c-typeck.c (c_finish_return): Use function_return_type to
get function return type.
* gimplify.c (gimplify_return_expr): Likewise.
* stmt.c (expand_return): Likewise.

* cgraphunit.c (cgraph_finalize_function): Don't allow
parameter usage in ifunc function.
(process_function_and_variable_attributes): Check ifunc attribute.

* tree-cfg.c (verify_gimple_return): Use function_return_type
to get function return type.
(execute_warn_function_return): Issue an error if control
reaches end of ifunc function.

* tree.h (tree_decl_with_vis): Add ifunc_flag.
(DECL_IS_IFUNC): New.

* varasm.c (default_binds_local_p_1): Return false for IFUNC
function.

* config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Output
"gnu_indirect_function" instead of "function" for IFUNC
function.

* doc/extend.texi: Document ifunc attribute.

gcc/cp/

2009-06-28  H.J. Lu  

PR c/40528
* typeck.c (cp_build_unary_op): Take the address of non-static
member function for IFUNC member function.
(check_return_expr): Use function_return_type to get function
return type.

* decl.c (check_function_type): Change return type to bool.
Return true if the function type is changed to void. 
(wrapup_globals_for_namespace): Check undefined IFUNC symbols. 
(duplicate_decls): Only allow IFUNC attribute on definition.
Merge the IFUNC information.
(start_preparsed_function): Use function_return_type to build
the return declaration for the function if its type isn't
changed to void.
(finish_function): Use function_return_type to get function
return type.  Issue an error if control reaches end of IFUNC
function.

gcc/testsuite/

2009-06-28  H.J. Lu  

PR c/40528
* g++.dg/torture/ifunc-1.C: New.
* g++.dg/torture/ifunc-2.C: Likewise.
* g++.dg/torture/ifunc-3.C: Likewise.
* g++.dg/torture/ifunc-4.C: Likewise.
* g++.dg/torture/ifunc-5.C: Likewise.
* g++.dg/torture/ifunc-6.C: Likewise.
* g++.dg/torture/ifunc-7.C: Likewise.
* g++.dg/torture/ifunc-8.C: Likewise.
* g++.dg/torture/ifunc-9.C: Likewise.
* g++.dg/torture/ifunc-10.C: Likewise.
* g++.dg/torture/ifunc-11.C: Likewise.
* g++.dg/torture/ifunc-12.C: Likewise.
* g++.dg/torture/ifunc-13.C: Likewise.
* g++.dg/torture/ifunc-14.C: Likewise.
* g++.dg/torture/ifunc-15.C: Likewise.
* g++.dg/torture/ifunc-16.C: Likewise.
* g++.dg/torture/ifunc-17.C: Likewise.
* g++.dg/torture/ifunc-18.C: Likewise.
* g++.dg/torture/ifunc-19.C: Likewise.
* g++.dg/torture/ifunc-20.C: Likewise.
* gcc.dg/torture/ifunc-1.c: Likewise.
* gcc.dg/torture/ifunc-2.c: Likewise.
* gcc.dg/torture/ifunc-3.c: Likewise.
* gcc.dg/torture/ifunc-4.c: Likewise.
* gcc.dg/torture/ifunc-5.c: Likewise.
* gcc.dg/torture/ifunc-6.c: Likewise.
* gcc.dg/torture/ifunc-7.c: Likewise.
* gcc.dg/torture/ifunc-8.c: Likewise.
* gcc.dg/torture/ifunc-9.c: Likewise.
* gcc.dg/torture/ifunc-10.c: Likewise.
* gcc.dg/torture/ifunc-11.c: Likewise.
* gcc.dg/torture/ifunc-12.c: Likewise.
* gcc.dg/torture/ifunc-13.c: Likewise.
* gcc.dg/torture/ifunc-14.c: Likewise.
* gcc.dg/torture/ifunc-15.c: Likewise.
* gcc.dg/torture/ifunc-16.c: Likewise.
* gcc.dg/torture/ifunc-17.c: Likewise.
* gcc.dg/torture/ifunc-18.c: Likewise.

Added:
branches/ifunc/gcc/ChangeLog.ifunc
branches/ifunc/gcc/cp/ChangeLog.ifunc
branches/ifunc/gcc/testsuite/ChangeLog.ifunc
branches/ifunc/gcc/testsuite/g++.dg/torture/ifunc-1.C
branches/ifunc/gcc/testsuite/g++.dg/torture/ifunc-10.C
branches/ifunc/gcc/testsuite/g++.dg/torture/ifunc-11.C
branches/ifunc/gcc/testsuite/g++.dg/tortur

[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #14 from ubizjak at gmail dot com  2009-06-28 15:13 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2009-06/msg02123.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2009-
   ||06/msg02123.html


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



[Bug c++/40574] -O3 couse segfault in loop in hunspell

2009-06-28 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2009-06-28 14:49 ---
try -fno-tree-vectorize.  Other than that we need a testcase that we can
compile and link to verify the failure.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array

2009-06-28 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-06-28 14:43 ---
More like

  if (gimple_has_volatile_ops (stmt))
...


-- 


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



[Bug target/40575] New: FAIL: gcc.dg/falign-labels-1.c execution test

2009-06-28 Thread danglin at gcc dot gnu dot org
The test fails because the generated assembly code assumes the branch
table immediately follows the branch.

mfia %r19
ldo 24(%r19),%r19
ldw,s %r28(%r19),%r31
extrd,s %r31,63,32,%r31
add,l %r19,%r31,%r31
bv,n %r0(%r31)
.align 8
L$0007:
.begin_brtab
.word L$0003-L$0007

The problem is the "ldo" instruction.

This problem was seen on hppa64-hp-hpux11.11 but I believe that it
applies to all hppa targets.


-- 
   Summary: FAIL: gcc.dg/falign-labels-1.c execution test
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa*-*-*
  GCC host triplet: hppa*-*-*
GCC target triplet: hppa*-*-*


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



[Bug testsuite/40567] [4.5 regression] Revision 149002 caused many failures

2009-06-28 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2009-06-28 14:06 ---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/40574] -O3 couse segfault in loop in hunspell

2009-06-28 Thread andrej dot gelenberg at udo dot edu


--- Comment #3 from andrej dot gelenberg at udo dot edu  2009-06-28 13:54 
---
compile command:

g++ -DHAVE_CONFIG_H -I. -I../.. -march=pentium-m -O3 -g -MT affixmgr.lo -MD -MP
-MF .deps/affixmgr.Tpo -c affixmgr.cxx  -fPIC -DPIC -o .libs/affixmgr.o


-- 


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



[Bug c++/40574] -O3 couse segfault in loop in hunspell

2009-06-28 Thread andrej dot gelenberg at udo dot edu


--- Comment #2 from andrej dot gelenberg at udo dot edu  2009-06-28 13:54 
---
Created an attachment (id=18085)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18085&action=view)
assembler output


-- 


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



[Bug c++/40574] -O3 couse segfault in loop in hunspell

2009-06-28 Thread andrej dot gelenberg at udo dot edu


--- Comment #1 from andrej dot gelenberg at udo dot edu  2009-06-28 13:51 
---
Created an attachment (id=18084)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18084&action=view)
ii file for affixmgr.cxx


-- 


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



[Bug c++/40574] New: -O3 couse segfault in loop in hunspell

2009-06-28 Thread andrej dot gelenberg at udo dot edu
When compile hunspell with -O3 flag it has segfault in a loop, which initialize
a buffer (no more bound checking or false start value?).

src/hunspell/affixmgr.cxx:649

hunspell source: 1.2.8
gcc: gcc (GCC) 4.4.0 20090526 (prerelease) arch linux


-- 
   Summary: -O3 couse segfault in loop in hunspell
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andrej dot gelenberg at udo dot edu
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug bootstrap/40511] Bootstrap Failure in stage3: c++locale - Recent SVN

2009-06-28 Thread paolo dot carlini at oracle dot com


--- Comment #9 from paolo dot carlini at oracle dot com  2009-06-28 12:30 
---
Ok, then for now let's close it as WONTFIX...


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WONTFIX


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #13 from ubizjak at gmail dot com  2009-06-28 12:13 ---
(In reply to comment #12)

> Shouldn't we be able to use mmx regs here?  Thus not rely on
> type_for_widest_vector_mode, but instead see if the original vector
> mode is supported by the backend?

Please note that v2sf instructions are 3dnow! insns, not SSE.

Some time ago, it was decided that we don't want generic verctorizer to mess
around with mmx registers due to missing [f]emms insn emission.

Renaming "mmx_addv2sf3" pattern to "addv2sf2" and using -m3dnow will generate
expected pfadd, but without femms:

test:
pushl   %ebp
movl%esp, %ebp
subl$32, %esp
movl$1065353216, %eax
movl$0, %edx
movl%eax, -24(%ebp)
movl%edx, -20(%ebp)
movl$0, %eax
movl$1065353216, %edx
movl%eax, -16(%ebp)
movl%edx, -12(%ebp)
movq-16(%ebp), %mm0
movq-24(%ebp), %mm1
pfadd   %mm1, %mm0
movq%mm0, -8(%ebp)
leave
ret


-- 


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread rguenther at suse dot de


--- Comment #12 from rguenther at suse dot de  2009-06-28 11:07 ---
Subject: Re:  Segmentation fault caused by
 alignment error in sse code

On Sun, 28 Jun 2009, ubizjak at gmail dot com wrote:

> --- Comment #11 from ubizjak at gmail dot com  2009-06-28 11:04 ---
> Patch in testing:
> 
> Index: tree-vect-generic.c
> ===
> --- tree-vect-generic.c (revision 148947)
> +++ tree-vect-generic.c (working copy)
> @@ -481,8 +481,10 @@
>tree vector_compute_type
>  = type_for_widest_vector_mode (TYPE_MODE (TREE_TYPE (type)), op,
>TYPE_SATURATING (TREE_TYPE (type)));
> -  if (vector_compute_type != NULL_TREE)
> -compute_type = vector_compute_type;
> +  if (vector_compute_type != NULL_TREE
> + && (int_size_in_bytes (vector_compute_type)
> + <= int_size_in_bytes (compute_type)))
> +   compute_type = vector_compute_type;
>  }
> 
>/* If we are breaking a BLKmode vector into smaller pieces,

Shouldn't we be able to use mmx regs here?  Thus not rely on
type_for_widest_vector_mode, but instead see if the original vector
mode is supported by the backend?

Richard.


-- 


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



[Bug bootstrap/40572] gcc insistance on using LD_LIBRARY_PATH and ignoring LD_FLAGS

2009-06-28 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2009-06-28 11:05 
---
At least with BOOT_LDFLAGS the error is no longer that it cannot find the
libraries.


-- 


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #11 from ubizjak at gmail dot com  2009-06-28 11:04 ---
Patch in testing:

Index: tree-vect-generic.c
===
--- tree-vect-generic.c (revision 148947)
+++ tree-vect-generic.c (working copy)
@@ -481,8 +481,10 @@
   tree vector_compute_type
 = type_for_widest_vector_mode (TYPE_MODE (TREE_TYPE (type)), op,
   TYPE_SATURATING (TREE_TYPE (type)));
-  if (vector_compute_type != NULL_TREE)
-compute_type = vector_compute_type;
+  if (vector_compute_type != NULL_TREE
+ && (int_size_in_bytes (vector_compute_type)
+ <= int_size_in_bytes (compute_type)))
+   compute_type = vector_compute_type;
 }

   /* If we are breaking a BLKmode vector into smaller pieces,


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC|ubizjak at gmail dot com|
 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-06-25 12:36:43 |2009-06-28 11:04:08
   date||


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



[Bug debug/40573] [4.4/4.5 Regression] DWARF for inlined subroutines refers to the outlined copy

2009-06-28 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||wrong-debug
   Target Milestone|--- |4.4.1


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



[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array

2009-06-28 Thread irar at il dot ibm dot com


--- Comment #2 from irar at il dot ibm dot com  2009-06-28 10:57 ---
So, the solution is to prevent vectorization of volatile types, like in the
patch below?

Index: tree-vect-data-refs.c
===
--- tree-vect-data-refs.c   (revision 149023)
+++ tree-vect-data-refs.c   (working copy)
@@ -1896,6 +1896,14 @@ vect_analyze_data_refs (loop_vec_info lo
   return false;
 }

+  if (TYPE_VOLATILE (TREE_TYPE (DR_REF (dr
+{
+  if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS))
+fprintf (vect_dump, "not vectorized: memory access of volatile "
+"type");
+  return false;
+}
+
   stmt = DR_STMT (dr);
   stmt_info = vinfo_for_stmt (stmt);


-- 


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2009-06-28 10:25 ---
(In reply to comment #9)

> This happens in veclower pass.

type_for_widest_vector_mode () is forcing operations from v2sf to v4sf. This is
not correct, since there will be garbage in the top two elements. For FP
values, this will lead to all sorts of NaNs, subnormals, etc...


-- 


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



[Bug tree-optimization/40550] Segmentation fault caused by alignment error in sse code

2009-06-28 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2009-06-28 10:05 ---
(In reply to comment #7)
>   D.1412 = BIT_FIELD_REF ;
> 
> is certainly not the size of v2sf...

This happens in veclower pass.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC|uros at gcc dot gnu dot org |ubizjak at gmail dot com
  Component|middle-end  |tree-optimization


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