[Bug c/49622] New: Compiler segfault

2011-07-04 Thread paul-gccbug at mineiro dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622

   Summary: Compiler segfault
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: paul-gcc...@mineiro.com


Created attachment 24665
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24665
small (minimal?) example that causes compiler segfault

g++ -Wall -O3 -ffast-math -finline-functions -msse -mfpmath=sse -v -save-temps 
-I/home/pmineiro/include -I/usr/local/include -lm  segfault.c   -o segfault
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls
--enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
--disable-werror --with-arch-32=i486 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 
COLLECT_GCC_OPTIONS='-Wall' '-O3' '-ffast-math' '-finline-functions' '-msse'
'-mfpmath=sse' '-v' '-save-temps' '-I/home/pmineiro/include'
'-I/usr/local/include' '-o' 'segfault' '-shared-libgcc' '-mtune=generic'
 /usr/lib/gcc/x86_64-linux-gnu/4.4.3/cc1plus -E -quiet -v
-I/home/pmineiro/include -I/usr/local/include -D_GNU_SOURCE segfault.c
-D_FORTIFY_SOURCE=2 -msse -mfpmath=sse -mtune=generic -Wall -ffast-math
-finline-functions -O3 -fpch-preprocess -fstack-protector -o segfault.ii
ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu
ignoring nonexistent directory
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../x86_64-linux-gnu/include
ignoring nonexistent directory /usr/include/x86_64-linux-gnu
ignoring nonexistent directory /home/pmineiro/include
ignoring duplicate directory /usr/local/include
  as it is a non-system directory that duplicates a system directory
#include ... search starts here:
#include ... search starts here:
 /usr/include/c++/4.4
 /usr/include/c++/4.4/x86_64-linux-gnu
 /usr/include/c++/4.4/backward
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include
 /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include-fixed
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-Wall' '-O3' '-ffast-math' '-finline-functions' '-msse'
'-mfpmath=sse' '-v' '-save-temps' '-I/home/pmineiro/include'
'-I/usr/local/include' '-o' 'segfault' '-shared-libgcc' '-mtune=generic'
 /usr/lib/gcc/x86_64-linux-gnu/4.4.3/cc1plus -fpreprocessed segfault.ii -quiet
-dumpbase segfault.c -msse -mfpmath=sse -mtune=generic -auxbase segfault -O3
-Wall -version -ffast-math -finline-functions -fstack-protector -o segfault.s
GNU C++ (Ubuntu 4.4.3-4ubuntu5) version 4.4.3 (x86_64-linux-gnu)
compiled by GNU C version 4.4.3, GMP version 4.3.2, MPFR version 2.4.2-p1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++ (Ubuntu 4.4.3-4ubuntu5) version 4.4.3 (x86_64-linux-gnu)
compiled by GNU C version 4.4.3, GMP version 4.3.2, MPFR version 2.4.2-p1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 88858f45841827736473e527a4e9ab10
segfault.c: In function 'int main()':
segfault.c:11: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.4/README.Bugs for instructions.
make: *** [segfault] Error 1


[Bug fortran/49623] New: Segfault of gfortran -L if no argument follows the -L

2011-07-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49623

   Summary: Segfault of gfortran -L if no argument follows the
-L
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


While it works for the C driver:

$ gcc foo.c -L
gcc: error: missing argument to ‘-L’

the Fortran driver segfaults when there is no argument following the -L
argument:

$ gfortran foo.f90 -L
Segmentation fault


Valgrind shows:

==18481== Invalid read of size 1
==18481==at 0x4A06D82: strlen (mc_replace_strmem.c:275)
==18481==by 0x40E8BE: lang_specific_driver (gfortranspec.c:95)
==18481==by 0x405EBF: process_command (gcc.c:3637)
==18481==by 0x40B455: main (gcc.c:6263)
==18481==  Address 0x0 is not stack'd, malloc'd or (recently) free'd


[Bug bootstrap/49557] make chokes on various Makefile constructs

2011-07-04 Thread arjen.markus895 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49557

--- Comment #12 from Arjen Markus arjen.markus895 at gmail dot com 2011-07-04 
06:58:46 UTC ---
Hello,

well, I have re-read the installation instructions, put the sources
for gmp, mpfr and mpc into the GCC source
directory, reconfigured it (from a clean build directory) and got the
following result:

checking for /u/markus/tmp/gcc4.6.1/build-gcc/./gcc/xgcc
-B/u/markus/tmp/gcc4.6.1/build-gcc/./gcc/
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-includeoption to accept
ISO C89... none needed
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
make[2]: Entering directory `/u/markus/tmp/gcc4.6.1/build-gcc/gnattools'
rm -rf ../gcc/ada/tools
mkdir -p ../gcc/ada/tools
(cd ../gcc/ada/tools; ln -s ../sdefault.adb ../snames.ads ../snames.adb .)
rm -f ../gcc/ada/tools/mlib-tgt-specific.adb; ln -s
/u/markus/tmp/gcc4.6.1/gcc-4.6.1-RC-20110620/gcc/ada/mlib-tgt-specific-linux.adb
../gcc/ada/tools/mlib-tgt-specific.adb;  rm -f
../gcc/ada/tools/indepsw.adb; ln -s
/u/markus/tmp/gcc4.6.1/gcc-4.6.1-RC-20110620/gcc/ada/indepsw-gnu.adb
../gcc/ada/tools/indepsw.adb;
touch ../gcc/stamp-tools
Cannot build gnattools while gnatlib is out of date or unbuilt
make[2]: *** [../gcc/stamp-gnatlib-rts] Error 1
make[2]: Leaving directory `/u/markus/tmp/gcc4.6.1/build-gcc/gnattools'
make[1]: *** [all-gnattools] Error 2
make[1]: Leaving directory `/u/markus/tmp/gcc4.6.1/build-gcc'
make: *** [all] Error 2


Note: I called configure without any arguments.

gcc -v gives the following output:
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada
--enable-java-awt=gtk --disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)


I will try again without Ada.

Regards,

Arjen

2011/7/1 redi at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49557

 --- Comment #11 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-01 
 12:50:06 UTC ---
 (In reply to comment #0)
 ../gcc-4.6.1-RC-20110620/configure 
 --with-gmp-include=d:/gcc4.6.1.src/gmp-5.0.2
 --with-gmp-lib=d:/gcc4.6.1.src/gmp-5.0.2/.libs
 --with-mpfr-include=d:/gcc4.6.1.src/mpfr-3.0.1
 --with-mpfr-lib=d:/gcc4.6.1.src/mpfr-3.0.1/.libs
 --with-mpc-include=d:/gcc4.6.1.src/mpc-0.9/src
 --with-mpc-lib=d:/gcc4.6.1.src/mpc-0.9/src/.libs


 What on earth are you doing here?

 You have not installed gmp/mpc/mpfr, you seem to be trying to use
 compiled-but-not-installed versions, why?

 It's much easier to just put the gmp/mpfr/mpc sources into the gcc source tree
 and then everything just works

 See http://advogato.org/person/redi/diary/240.html

 --
 Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
 --- You are receiving this mail because: ---
 You reported the bug.



[Bug fortran/49624] New: ICE with pointer-bound remapping

2011-07-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49624

   Summary: ICE with pointer-bound remapping
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


Assume:
  integer, target :: A(100)
  integer,pointer :: P(:,:)
  p(10,1:) = A
  end

Compiling the program with gfortran results in:

test.f90:4:0: internal compiler error: in gfc_trans_pointer_assignment, at
fortran/trans-expr.c:5081


While the following variant gives:
  p(1:10,1:) = A
  1
Error: Either all or none of the upper bounds must be specified at (1)

Also the valid p(1:10,1:10) = A works.


I think the compiler is right about rejecting the code, one finds:

R733 pointer-assignment-stmt
 is  data-pointer-object [ (bounds-spec-list) ] = data-target
 or  data-pointer-object (bounds-remapping-list ) = data-target
   [...]
R735 bounds-spec is lower-bound-expr :
R736 bounds-remapping is lower-bound-expr : upper-bound-expr
C716 (R733) If bounds-spec-list is specified, the number of bounds-specs
shall equal the rank of data-pointer-object.
C717 (R733) If bounds-remapping-list is specified, the number of
bounds-remappings shall equal the rank of data-pointer-object.
C718 (R733) If bounds-remapping-list is not specified, the ranks of
data-pointer-object and data-target shall be the same.


Thus, for bounds remapping both lower and upper bounds are required.



[Bug c/49622] Compiler segfault

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
07:05:18 UTC ---
Can't reproduce, please report it to Ubuntu instead.


[Bug fortran/49623] Segfault of gfortran -L if no argument follows the -L

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49623

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.07.04 07:22:23
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
07:22:23 UTC ---
Created attachment 24666
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24666
gcc47-pr49623.patch

Untested fix.  Unfortunately it is hard to create a dejagnu testcase for this,
as lots of options are appended after dg-options.


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot
   ||gnu.org, jakub at gcc dot
   ||gnu.org, rsandifo at gcc
   ||dot gnu.org

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
08:10:19 UTC ---
I think the problem is either that the MEM has the MEM_NOTRAP_P flag set on it:
(mem/f/i:SI (symbol_ref/i:SI (__dso_handle) var_decl 0x713ce320
__dso_handle) [0 S4 A32])
That makes ifcvt believe it can try to use a conditional move with that as an
operand, and as there is no conditional move with MEM operand on this target,
it is forced into register first.

MEM_NOTRAP_P is set in set_mem_attributes_minus_bitpos:
  /* Note whether this expression can trap.  */
  MEM_NOTRAP_P (ref) = !tree_could_trap_p (t);
where t is VAR_DECL for __dso_handle with DECL_WEAK.

Or the problem might be that noce_try_cmove_arith should be using
  else if (may_trap_or_fault_p (a) || may_trap_or_fault_p (b))
return FALSE;
instead of
  else if (may_trap_p (a) || may_trap_p (b))
return FALSE;

Eric/Richard, what do you think?  The comments seem to be fuzzy to me, some
comments say that MEM_NOTRAP_P only apply to the position where the MEM is
originally used (and in this case the __dso_handle var is read only guarded
with if (__dso_handle != NULL), on the other side I wonder if we ever clear
MEM_NOTRAP_P on unguarded DECL_WEAK var references.


[Bug debug/49496] [4.7 Regression] -fcompare-debug failure (length) with -O -ftree-vectorize

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49496

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
08:20:22 UTC ---
Fixed.


[Bug libstdc++/49607] [4.7 Regression] FAIL: 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49607

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug debug/49522] Divide by zero in validate_subreg in emit-rtl.c:695

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49522

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
09:00:17 UTC ---
Created attachment 24667
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24667
gcc47-pr49522.patch

Untested fix.


[Bug c/49622] Compiler segfault

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:31:59 UTC ---
Created attachment 24668
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24668
preprocessed source

Confirmed.  Preprocessed source attached - segfaults with any of 4.4.x with
plain -O1.


[Bug target/49621] [4.5/4.6/4.7 regression] ICE in trunc_int_for_mode, at explow.c:57

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49621

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.4


[Bug tree-optimization/49622] [4.4 Regression] Compiler segfault

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||x86_64-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.04 09:37:11
  Component|c   |tree-optimization
  Known to work||4.3.6, 4.5.0
   Target Milestone|--- |4.4.7
Summary|Compiler segfault   |[4.4 Regression] Compiler
   ||segfault
 Ever Confirmed|0   |1

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:37:11 UTC ---
Checking enabled it ICEs at

#2  0x009ffede in execute_todo (flags=7)
at /space/rguenther/src/svn/gcc-4_4-branch/gcc/passes.c:1017
1017gcc_assert (flags  TODO_update_ssa_any);

after FRE:

Inserted pretmp.47_13 = VIEW_CONVERT_EXPRv4si(D.6253);
 in predecessor 2
Replaced p.i with pretmp.47_13 in D.6236_2 = p.i;
Replaced p.i with pretmp.47_13 in D.6236_5 = p.i;

D.6253 should be an SSA name.  I suppose a DECL_GIMPLE_REG_P setting is
missing somewhere.


[Bug middle-end/49596] [4.7 Regression] FAIL: gcc.dg/torture/pr43879_1.c

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49596

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:37:46 UTC ---
Fixed.


[Bug c/49620] piece of code from modification to dvblast but cant get it to compile and run correctly

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49620

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.07.04 09:41:57
Version|unknown |4.5.2
 Ever Confirmed|0   |1

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:41:57 UTC ---
Please check if the bug still reproduces when you add -fno-inline to the
commandline.  It might be that in the caller you read the pointers via
a different type and thus violate strict aliasing rules (does it work
with -fno-inline?).


[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||x86_64-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.04 09:43:58
   Target Milestone|--- |4.5.4
Summary|ICE in simplify_subreg, at  |[4.5/4.6/4.7 Regression]
   |simplify-rtx.c:5362 |ICE in simplify_subreg, at
   ||simplify-rtx.c:5362
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:43:58 UTC ---
Confirmed.


[Bug tree-optimization/49622] [4.4 Regression] Compiler segfault

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
09:44:18 UTC ---
Ah sorry, I've been trying to reproduce it with cc1 instead of cc1plus.


[Bug c/49617] gcc misses uninititialized variables in contained functions

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49617

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.04 09:48:32
 Ever Confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:48:32 UTC ---
This is similar to other uninitialized reports in that it requires to track
memory.  OTOH it is a lot harder because it is an IPA uninitialized use.


[Bug c++/49615] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.07.04 09:57:07
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:57:07 UTC ---
Confirmed and mine.  forwprop makes the noreturn call direct via cfgcleanup:

L1:
  # DEBUG obj = this_2(D)
  # DEBUG func$__pfn = g
  # DEBUG func$__delta = 0
  # DEBUG func$__pfn = g
  # DEBUG func$__delta = 0
  D.2159_33 = (long int) g;
  D.2156_45 = this_2(D);
  C::g (D.2156_45);
  # DEBUG b = D.2148_52(D)

from

L1:
  func$__pfn_5 = g;
  # DEBUG obj = this_2(D)
  # DEBUG func$__pfn = g
  # DEBUG func$__delta = 0
  # DEBUG func$__pfn = g
  # DEBUG func$__delta = 0
  D.2159_33 = (long int) g;
  D.2158_34 = D.2159_33  1;
  if (D.2158_34 != 0)
goto bb 7;
  else
goto bb 8;

bb 7:
  ... DEAD ...

bb 8:
  # func$__pfn_46 = PHI g(6), func$__pfn_43(7)
  D.2156_45 = this_2(D);
  func$__pfn_46 (D.2156_45);
  # DEBUG b = D.2148_52(D)


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Component|c++ |tree-optimization
  Known to work||4.5.3
   Target Milestone|--- |4.6.2
Summary|internal compiler error:|[4.6 Regression] internal
   |verify_stmts failed / LHS   |compiler error:
   |in noreturn call with   |verify_stmts failed / LHS
   |pointer-to-never-returning- |in noreturn call with
   |member  |pointer-to-never-returning-
   ||member

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
09:58:36 UTC ---
Works on the 4.5 branch and on the trunk, but possibly latent on both.


[Bug c/49620] piece of code from modification to dvblast but cant get it to compile and run correctly

2011-07-04 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49620

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-04 
09:58:55 UTC ---
(In reply to comment #4)
 So you want a buildable executable for a single line of bugged code.

The source code you posted is not self-contained and the attachment is a
compressed archive that I can't extract on this machine without installing
additional software. See http://gcc.gnu.org/bugs/

*What we do not want*
An attached archive (tar, zip, shar, whatever) containing all (or some :-) of
the above.


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

--- Comment #4 from Jan Hubicka hubicka at ucw dot cz 2011-07-04 10:05:10 UTC 
---
split_bbs_on_noreturn_calls is supposed to handle this scenario...

Honza


[Bug target/43052] Inline memcmp is *much* slower than glibc's

2011-07-04 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052

--- Comment #11 from Jan Hubicka hubicka at gcc dot gnu.org 2011-07-04 
10:11:03 UTC ---
H.J,
if glibc implementation beats gcc even for size of 4, I guess we could just
drop the pattern or enable at at -Os only.
Or are there easy cases we want to inline, like we do for memcpy?

Unlike memcpy, memcmp/strcmp is more difficult to handle because the amount of
memory it will process is harder to estimate. I guess still with known
alignment and/or small upper bound of object size, inline code would be a win.


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #10 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-04 
10:14:40 UTC ---
 Eric/Richard, what do you think?  The comments seem to be fuzzy to me, some
 comments say that MEM_NOTRAP_P only apply to the position where the MEM is
 originally used (and in this case the __dso_handle var is read only guarded
 with if (__dso_handle != NULL), on the other side I wonder if we ever clear
 MEM_NOTRAP_P on unguarded DECL_WEAK var references.

I think that DECL_WEAK should always prevent MEM_NOTRAP_P from being set.  This
is a regression because of the change in set_mem_attributes_minus_bitpos,
right?

The code on the 4.5 branch reads:

  if (DECL_P (base))
{
  if (CODE_CONTAINS_STRUCT (TREE_CODE (base), TS_DECL_WITH_VIS))
MEM_NOTRAP_P (ref) = !DECL_WEAK (base);
  else
MEM_NOTRAP_P (ref) = 1;
}
  else
MEM_NOTRAP_P (ref) = TREE_THIS_NOTRAP (base);

Maybe the first part should be reinstated.


[Bug bootstrap/49625] New: GCC 4.6.* with Ada can't bootstrapped on MINGW

2011-07-04 Thread ivansavvateev at yandex dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49625

   Summary: GCC 4.6.* with Ada can't bootstrapped on MINGW
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ivansavvat...@yandex.ru


Fail to build GCC 4.6.* with Ada on MINGW: on Stage3 XGCC throws an error:

g-socthi.adb:280:45: value not in range of type Interfaces.C.unsigned
g-socthi.adb:280:45: static expression fails Constraint_Check


[Bug rtl-optimization/49472] [4.7 regression] Compiler segfault on valid code

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49472

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
10:27:23 UTC ---
Created attachment 24669
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24669
gcc47-pr49472.patch

Untested fix.


[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
10:30:10 UTC ---
Started with http://gcc.gnu.org/viewcvs?root=gccview=revrev=145494


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

--- Comment #5 from rguenther at suse dot de rguenther at suse dot de 
2011-07-04 10:37:11 UTC ---
On Mon, 4 Jul 2011, hubicka at ucw dot cz wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615
 
 --- Comment #4 from Jan Hubicka hubicka at ucw dot cz 2011-07-04 10:05:10 
 UTC ---
 split_bbs_on_noreturn_calls is supposed to handle this scenario...

Yeah, but it contains a typo ...

|| bb-index = n_basic_blocks

should be

|| bb-index = last_basic_block

...

I have a fix.


[Bug target/43052] Inline memcmp is *much* slower than glibc's

2011-07-04 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052

--- Comment #12 from Jan Hubicka hubicka at gcc dot gnu.org 2011-07-04 
10:49:18 UTC ---
Created attachment 24670
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24670
memcpy/memset testing script

HJ,
can you please run the attached script with new glibc as 
sh test_stringop 64 64000 gcc -march=native | tee out

In my quick testing on glibc2.11 and core i5  AMD machine, inline
memcpy/memset is still win on I5 for all blocks sizes (our optimization table
is however wrong since it is inherited from generic one). For blocks of 512b
and above however the inline code is about as fast as glibc code and obviously
longer.

On AMD machine libcall is win for blocks of 1k to 8k. For large blocks inline
seems to be win again, for whatever reason. Probably prefetch logic is wrong on
the older glibc.

If glibc stringops has been finally made sane, we ought to revisit the tables
we generate inline versions from.


[Bug target/46261] avr-gcc: Segfaults when compiled with the -mint8 option

2011-07-04 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46261

--- Comment #21 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2011-07-04 10:58:14 UTC ---
On Sat, 2 Jul 2011, gjl at gcc dot gnu.org wrote:

  Indeed, I simply made all bare-metal targets use newlib-stdint.h as a 
  default, but since AVR has its own libc it seems more appropriate to put 
  the defines in avr-stdint.h or avr.h and not use newlib-stdint.h.  (And 
  the point of having separate headers such as newlib-stdint.h is that there 
  may not otherwise be a header shared between all relevant targets.  If all 
  AVR targets use avr-libc, putting the defines in avr.h makes sense, but if 
  avr-rtems is using newlib like other RTEMS targets then you probably want 
  a separate header only for AVR targets using avr-libc.)
 
 The extra header is not needed because of avr-libc; there is nothing special
 about avr-libc and it conforms to the standard (except when you explicitely

Headers such as newlib-stdint.h tell GCC about the details of choices made 
by the libc implementation where more than one choice would conform to the 
standard.  Thus, if avr-libc has made any choices relating to stdint.h 
different from the choices made by newlib, a separate header may be 
needed for that reason alone.  (All the gcc.dg/c99-stdint-*.c tests should 
pass; if any fail, that suggests either a header bug or a requirement for 
GCC to change how these types are configured in GCC for AVR.)


[Bug fortran/49623] Segfault of gfortran -L if no argument follows the -L

2011-07-04 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49623

--- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2011-07-04 11:04:36 UTC ---
On Mon, 4 Jul 2011, jakub at gcc dot gnu.org wrote:

 Created attachment 24666
   -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24666
 gcc47-pr49623.patch
 
 Untested fix.  Unfortunately it is hard to create a dejagnu testcase for this,
 as lots of options are appended after dg-options.

I think it would be better to repeat the logic in the next loop (that 
avoids looking in detail at options with CL_ERR_MISSING_ARG set) before 
the switch statement in this loop, so that if any more options are added 
to this loop that involve looking at the arguments it isn't necessary for 
each to check individually for the case of a missing argument.


[Bug lto/48851] lto-plugin.c:224:7: error: missing sentinel in function call [-Werror=format]

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48851

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2011-07/msg00171.htm
   ||l
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #19 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
11:05:23 UTC ---
Patch posted.


[Bug tree-optimization/49518] [4.6/4.7 Regression] ICE in vect_enhance_data_refs_alignment, at tree-vect-data-refs.c:1555

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49518

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
11:30:17 UTC ---
I'll drop the assert (too many weird asserts in the vectorizer anyway).


[Bug c++/49626] New: Explicit conversion skipped when followed by conversion to a wider type

2011-07-04 Thread fn42551 at fmi dot uni-sofia.bg
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49626

   Summary: Explicit conversion skipped when followed by
conversion to a wider type
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: fn42...@fmi.uni-sofia.bg


Hello.

I think I've encountered a case regarding conversions between integral types. 
It is demonstrated by the attached file which, when compiled with
-Wsign-conversion, makes g++ produce the following warning:

sign-conversion-bug.cpp: In function 'long unsigned int f()':
sign-conversion-bug.cpp:5: warning: conversion to 'long unsigned int' from
'short int' may change the sign of the result

The source code requests two conversions:
1. an explicit one from 'short int' to 'unsigned int';
2. an implicit one from 'unsigned int' to 'unsigned long int'.

However, g++ only seems to attempt a single conversion -- an implicit one from
'short int' to 'unsigned long int'.  Is this the intended behaviour?


Output from g++ -v:

Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld
--enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu
--target=i486-linux-gnu
Thread model: posix
gcc version 4.3.2 (Debian 4.3.2-1.1) 


I also tested with gcc versions 4.3.6 and 4.4.6, and I got the same results.


Regards,
Angel Tsankov


[Bug c++/49626] Explicit conversion skipped when followed by conversion to a wider type

2011-07-04 Thread fn42551 at fmi dot uni-sofia.bg
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49626

--- Comment #1 from Angel Tsankov fn42551 at fmi dot uni-sofia.bg 2011-07-04 
11:37:47 UTC ---
Created attachment 24671
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24671
Demonstrates the case


[Bug fortran/49627] New: NINT(x,16) doesn't work (at all, ever, I don't think)

2011-07-04 Thread marcus.appleby at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49627

   Summary: NINT(x,16) doesn't work (at all, ever, I don't think)
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: marcus.appl...@gmail.com


Created attachment 24672
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24672
very short (5 line) program illlustrating problem

I don't think there is much to say beyond the summary.  I think that when you
wrote the code for this function you never actually checked that it will
produce kind 16 integers.  I have attached a test program which produces a
compiler error.


[Bug tree-optimization/49460] [4.5 Regression] g++: Internal error: Segmentation fault (program cc1plus) using -O2 or -O3

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49460

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.4.6, 4.6.1
   Target Milestone|--- |4.5.4
Summary|g++: Internal error:|[4.5 Regression] g++:
   |Segmentation fault (program |Internal error:
   |cc1plus) using  -O2 or -O3  |Segmentation fault (program
   ||cc1plus) using  -O2 or -O3
  Known to fail||4.5.0, 4.5.3


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
12:06:22 UTC ---
Author: rguenth
Date: Mon Jul  4 12:06:17 2011
New Revision: 175803

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175803
Log:
2011-07-04  Richard Guenther  rguent...@suse.de

PR tree-optimization/49615
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
basic-block index check.

* g++.dg/torture/pr49615.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr49615.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfgcleanup.c


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
12:08:53 UTC ---
Author: rguenth
Date: Mon Jul  4 12:08:50 2011
New Revision: 175804

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175804
Log:
2011-07-04  Richard Guenther  rguent...@suse.de

PR tree-optimization/49615
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
basic-block index check.

* g++.dg/torture/pr49615.C: New testcase.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/torture/pr49615.C
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-cfgcleanup.c


[Bug fortran/49627] NINT(x,16) doesn't work (at all, ever, I don't think)

2011-07-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49627

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #24672|application/octet-stream|text/plain
  mime type||

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-07-04 
12:12:25 UTC ---
Comment on attachment 24672
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24672
very short (5 line) program illlustrating problem

Fails with:

test14.f90:4:0: internal compiler error: in build_round_expr, at
fortran/trans-intrinsic.c:393

 388   if (resprec = LONG_TYPE_SIZE)
 389 longlong = false;
 390   else if (resprec = LONG_LONG_TYPE_SIZE)
 391 longlong = true;
 392   else
 393 gcc_unreachable ();

I think one needs to replace
  fn = builtin_decl_for_precision (BUILT_IN_LLROUND, argprec);
by something like
  fn = gfc_builtin_decl_for_float_kind (BUILT_IN_LROUND, ...)


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #10 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
12:22:25 UTC ---
Fixed.


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

--- Comment #9 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
12:21:48 UTC ---
Author: rguenth
Date: Mon Jul  4 12:21:45 2011
New Revision: 175808

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175808
Log:
2011-07-04  Richard Guenther  rguent...@suse.de

PR tree-optimization/49615
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
basic-block index check.

* g++.dg/torture/pr49615.C: New testcase.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr49615.C
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/gcc/tree-cfgcleanup.c


[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

--- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
12:18:29 UTC ---
Author: rguenth
Date: Mon Jul  4 12:18:22 2011
New Revision: 175805

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175805
Log:
2011-07-04  Richard Guenther  rguent...@suse.de

PR tree-optimization/49615
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
basic-block index check.

* g++.dg/torture/pr49615.C: New testcase.

Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr49615.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/tree-cfgcleanup.c


[Bug target/44643] ice in c-typeck.c

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643

--- Comment #14 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 
12:28:05 UTC ---
Author: gjl
Date: Mon Jul  4 12:28:02 2011
New Revision: 175809

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175809
Log:
PR target/44643
* config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
instead of TREE_READONLY.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr.c


[Bug target/44643] ice in c-typeck.c

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643

--- Comment #15 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 
12:33:03 UTC ---
Author: gjl
Date: Mon Jul  4 12:33:00 2011
New Revision: 175810

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175810
Log:
Backport from mainline
2011-07-04  Georg-Johann Lay

PR target/44643
* config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
instead of TREE_READONLY.


Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config/avr/avr.c


[Bug target/44643] ice in c-typeck.c

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work|4.6.1   |4.6.2
   Target Milestone|4.6.1   |4.6.2


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.07.04 12:38:03
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
12:38:03 UTC ---
Created attachment 24673
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24673
gcc47-pr49618.patch

Untested 4.7 fix.


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
12:39:21 UTC ---
Created attachment 24674
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24674
gcc46-pr49618.patch

Untested more conservative 4.6 fix.


[Bug target/44643] ice in c-typeck.c

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643

--- Comment #16 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 
12:48:07 UTC ---
Author: gjl
Date: Mon Jul  4 12:48:04 2011
New Revision: 175811

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175811
Log:
PR target/34734
PR target/44643
* gcc.target/avr/avr.exp: Run over cpp files, too.
* gcc.target/avr/torture/avr-torture.exp: Ditto.
* gcc.target/avr/progmem.h: New file.
* gcc.target/avr/exit-abort.h: New file.
* gcc.target/avr/progmem-error-1.c: New file.
* gcc.target/avr/progmem-error-1.cpp: New file.
* gcc.target/avr/progmem-warning-1.c: New file.
* gcc.target/avr/torture/progmem-1.c: New file.
* gcc.target/avr/torture/progmem-1.cpp: New file.


Added:
trunk/gcc/testsuite/gcc.target/avr/exit-abort.h
trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.c
trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.cpp
trunk/gcc/testsuite/gcc.target/avr/progmem-warning-1.c
trunk/gcc/testsuite/gcc.target/avr/progmem.h
trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.c
trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.cpp
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/avr/avr.exp
trunk/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp


[Bug target/34734] attribute((progmem)) not handled properly in C++ for AVRs

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34734

--- Comment #10 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 
12:48:07 UTC ---
Author: gjl
Date: Mon Jul  4 12:48:04 2011
New Revision: 175811

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175811
Log:
PR target/34734
PR target/44643
* gcc.target/avr/avr.exp: Run over cpp files, too.
* gcc.target/avr/torture/avr-torture.exp: Ditto.
* gcc.target/avr/progmem.h: New file.
* gcc.target/avr/exit-abort.h: New file.
* gcc.target/avr/progmem-error-1.c: New file.
* gcc.target/avr/progmem-error-1.cpp: New file.
* gcc.target/avr/progmem-warning-1.c: New file.
* gcc.target/avr/torture/progmem-1.c: New file.
* gcc.target/avr/torture/progmem-1.cpp: New file.


Added:
trunk/gcc/testsuite/gcc.target/avr/exit-abort.h
trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.c
trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.cpp
trunk/gcc/testsuite/gcc.target/avr/progmem-warning-1.c
trunk/gcc/testsuite/gcc.target/avr/progmem.h
trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.c
trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.cpp
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/avr/avr.exp
trunk/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp


[Bug tree-optimization/49115] [4.5 Regression] invalid return value optimization (?) when exception is thrown and caught

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49115

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
13:25:39 UTC ---
Fixed.


[Bug tree-optimization/49115] [4.5 Regression] invalid return value optimization (?) when exception is thrown and caught

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49115

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
13:25:24 UTC ---
Author: rguenth
Date: Mon Jul  4 13:25:21 2011
New Revision: 175812

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175812
Log:
2011-07-04  Richard Guenther  rguent...@suse.de

Backport from mainline
2011-05-23  Richard Guenther  rguent...@suse.de

PR tree-optimization/49115
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.

* g++.dg/torture/pr49115.C: New testcase.

Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr49115.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/tree-ssa-dce.c


[Bug middle-end/49628] New: [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build

2011-07-04 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628

   Summary: [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to
build
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: rguent...@suse.de


On Linux/x86, revision 175704:

http://gcc.gnu.org/ml/gcc-cvs/2011-06/msg01196.html

gave:

g++  -O3 -funroll-loops -ffast-math -fwhole-program -flto=jobserver
-fuse-linker-plugin  -DSPEC_CPU_LP64auto_derivative_function.o
block_sparse_matrix.o block_sparse_matrix_ez.o block_sparsity_pattern.o
block_vector.o compressed_sparsity_pattern.o data_out.o data_out_base.o
data_out_faces.o data_out_rotation.o data_out_stack.o
derivative_approximation.o dof_accessor.o dof_constraints.o dof_handler.o
dof_levels.o dof_renumbering.o dof_tools.o error_estimator.o exceptions.o fe.o
fe_data.o fe_dgp.o fe_dgp_1d.o fe_dgp_2d.o fe_dgp_3d.o fe_dgp_nonparametric.o
fe_dgq.o fe_dgq_1d.o fe_dgq_2d.o fe_dgq_3d.o fe_nedelec.o fe_nedelec_1d.o
fe_nedelec_2d.o fe_nedelec_3d.o fe_q.o fe_q_1d.o fe_q_2d.o fe_q_3d.o
fe_q_hierarchical.o fe_raviart_thomas.o fe_system.o fe_tools.o fe_values.o
filtered_matrix.o full_matrix.double.o full_matrix.float.o function.o
function_derivative.o function_lib.o function_lib_cutoff.o function_time.o
geometry_info.o grid_generator.o grid_in.o grid_out.all_dimensions.o grid_out.o
grid_refinement.o grid_reordering.o histogram.o intergrid_map.o
job_identifier.o log.o mapping.o mapping_c1.o mapping_cartesian.o mapping_q.o
mapping_q1.o mapping_q1_eulerian.o matrices.all_dimensions.o matrices.o
matrix_lib.o matrix_out.o memory_consumption.o mg_base.o mg_dof_accessor.o
mg_dof_handler.o mg_dof_tools.o mg_smoother.o mg_transfer_block.o
mg_transfer_prebuilt.o mg_transfer_block.all_dimensions.o
multigrid.all_dimensions.o multithread_info.o parameter_handler.o
persistent_tria.o polynomial.o polynomial_space.o programid.o quadrature.o
quadrature_lib.o solution_transfer.o solver_control.o sparse_matrix.double.o
sparse_matrix.float.o sparse_matrix_ez.double.o sparse_matrix_ez.float.o
sparsity_pattern.o step-14.o subscriptor.o swappable_vector.o tensor.o
tensor_product_polynomials.o tria.all_dimensions.o tria.o tria_accessor.o
tria_boundary.o tria_boundary_lib.o vector.o vector.long_double.o
vectors.all_dimensions.o fe_dgp_monomial.o fe_poly.o polynomials_bdm.o
polynomials_p.o vectors.o -o dealII
mapping_q1.cc: In member function 'compute_fill':
mapping_q1.cc:442:0: internal compiler error: Floating point exception
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[4]: *** [/tmp/ccLsl9Do.ltrans4.ltrans.o] Error 1
lto-wrapper: make returned 2 exit status
/usr/local/bin/ld: lto-wrapper failed
collect2: error: ld returned 1 exit status


[Bug rtl-optimization/43088] [avr] Suspect optimizer missed code in gcc 4.4.3..

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43088

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Component|target  |rtl-optimization
  Known to work||4.7.0
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #7 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 
13:30:03 UTC ---
Closed in 4.7.0

This was a flaw in insn combine as explained above.

In 4.7.0 trunk (SVN 175811) the problem is solved and the two versions, one
with 0x3f and one with 0x3e, yield the same, optimal assembler:

foo_3f:
lds r24,count.1210 ;  5*movqi/4[length = 2]
subi r24,lo8(-(1)) ;  6addqi3/2[length = 1]
sts count.1210,r24 ;  7*movqi/3[length = 2]
andi r24,lo8(63) ;  8andqi3/2[length = 1]
breq .L2 ;  10branch[length = 1]
cbi 40-0x20,0 ;  16*cbi[length = 1]
ret ;  36return[length = 1]
.L2:
sbi 40-0x20,0 ;  25*sbi[length = 1]
ret ;  38return[length = 1]
.sizefoo_3f, .-foo_3f

foo_3e:
lds r24,count.1214 ;  5*movqi/4[length = 2]
subi r24,lo8(-(1)) ;  6addqi3/2[length = 1]
sts count.1214,r24 ;  7*movqi/3[length = 2]
andi r24,lo8(62) ;  8andqi3/2[length = 1]
breq .L5 ;  10branch[length = 1]
cbi 40-0x20,0 ;  16*cbi[length = 1]
ret ;  34return[length = 1]
.L5:
sbi 40-0x20,0 ;  25*sbi[length = 1]
ret ;  36return[length = 1]


[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.07.04 13:38:59
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
13:38:59 UTC ---
Mine.  Reducing from mapping_q1.cc which triggers this at -O3 -fipa-pta w/o
LTO.


[Bug target/49600] Bad SSE2 int-float split in i386.md

2011-07-04 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49600

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-07-04 13:42:00 
UTC ---
Here is the testcase:

---
 long int seedi;
  long lo;
 double ran() {
  long hi;
  long test;
  hi = seedi / 127773L;
  test = 16807L * lo - 2836L * hi;
  if (test  0) {
   seedi = test;
  }
  return ( (float) seedi / 2147483647L);
 }
---

It failed at -O3 -funroll-loops -msse2 -mfpmath=sse -ffast-math -mtune=XXX,
where XXX is a new x86 optimization we are working on.


[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build

2011-07-04 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|UNCONFIRMED
   Target Milestone|4.7.0   |---
 Ever Confirmed|1   |0

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-07-04 14:01:54 
UTC ---
Program received signal SIGFPE, Arithmetic exception.
0x0110149c in vector_alignment_reachable_p (dr=0x1960370)
at ../../src/gcc/tree-vect-data-refs.c:1114
1114  if ((nelements - mis_in_elements) % GROUP_SIZE (stmt_info))
Missing separate debuginfos, use: debuginfo-install glibc-2.14-3.4.f15.x86_64
gmp-4.3.2-3.fc15.x86_64 libgcc-4.6.0-9.fc15.x86_64
libmpc-0.8.3-0.3.svn855.fc15.x86_64 libstdc++-4.6.0-9.fc15.x86_64
mpfr-3.0.0-4.fc15.x86_64 zlib-1.2.5-3.fc15.x86_64
(gdb) bt
#0  0x0110149c in vector_alignment_reachable_p (dr=0x1960370)
at ../../src/gcc/tree-vect-data-refs.c:1114
#1  0x01101e7b in vect_enhance_data_refs_alignment (
loop_vinfo=0x1a3e750) at ../../src/gcc/tree-vect-data-refs.c:1505
#2  0x00c373e7 in vect_analyze_loop_2 (loop_vinfo=0x1a3e750)
at ../../src/gcc/tree-vect-loop.c:1554
#3  0x00c375de in vect_analyze_loop (loop=0x7fffefe66550)
at ../../src/gcc/tree-vect-loop.c:1627
#4  0x00c53fae in vectorize_loops ()
at ../../src/gcc/tree-vectorizer.c:199
#5  0x00b7dc13 in tree_vectorize ()
at ../../src/gcc/tree-ssa-loop.c:218
#6  0x008f9f39 in execute_one_pass (pass=0x1737320)
at ../../src/gcc/passes.c:2061
#7  0x008fa11f in execute_pass_list (pass=0x1737320)
at ../../src/gcc/passes.c:2116
#8  0x008fa140 in execute_pass_list (pass=0x1737140)
at ../../src/gcc/passes.c:2117
#9  0x008fa140 in execute_pass_list (pass=0x1736840)
at ../../src/gcc/passes.c:2117
#10 0x00a92c3c in tree_rest_of_compilation (fndecl=0x70416100)
at ../../src/gcc/tree-optimize.c:416
#11 0x0057a047 in cgraph_expand_function (node=0x7030b360)
---Type return to continue, or q return to quit---
at ../../src/gcc/cgraphunit.c:1792
#12 0x0057a206 in cgraph_expand_all_functions ()
at ../../src/gcc/cgraphunit.c:1851
#13 0x0057a902 in cgraph_optimize () at ../../src/gcc/cgraphunit.c:2121
#14 0x004af417 in lto_main () at ../../src/gcc/lto/lto.c:2800
#15 0x009f006e in compile_file () at ../../src/gcc/toplev.c:548
#16 0x009f22b3 in do_compile () at ../../src/gcc/toplev.c:1895
#17 0x009f2419 in toplev_main (argc=20, argv=0x7fffe1d8)
at ../../src/gcc/toplev.c:1967
#18 0x004b21f0 in main (argc=20, argv=0x7fffe1d8)
at ../../src/gcc/main.c:36
(gdb) p stmt_info-size
$3 = 0
(gdb)


[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
14:11:50 UTC ---
The problem is that simplify_gen_binary (IOR, mode, ); can simplify
into anything, in this case into a (subreg:HI (reg:SI ...) 0), so we really
don't know the argument of its first operand.  It could be mode, but can be
anything else too.  I don't think it is actually useful to pass it at all
though, if IOR was with two CONST_INT arguments, it would have been simplified
into constant already by simplify_gen_binary.


[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
14:13:21 UTC ---
Created attachment 24675
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24675
gcc47-pr49619.patch

Untested fix.  The second part perhaps should be trunk only, not backported to
the branches.


[Bug tree-optimization/48822] [4.5 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48822

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #12 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
14:24:31 UTC ---
Fixed.


[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC|rguenther at suse dot de|
   Target Milestone|--- |4.7.0


[Bug tree-optimization/48822] [4.5 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48822

--- Comment #11 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
14:24:13 UTC ---
Author: rguenth
Date: Mon Jul  4 14:24:10 2011
New Revision: 175813

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175813
Log:
2011-07-04  Richard Guenther  rguent...@suse.de

Backport from mainline
2011-05-02  Richard Guenther  rguent...@suse.de

PR tree-optimization/48822
* tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.

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

Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/torture/pr48822.c
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/tree-ssa-sccvn.c


[Bug libfortran/48787] Invalid UP/DOWN rounding with F editing

2011-07-04 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48787

--- Comment #28 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-07-04 
14:27:06 UTC ---
(In reply to comment #26)
 Created attachment 24583 [details]
 More tests for rounding
 
 If it helps, I added some more tests for this.
 
 By removing the code lines in questions, all tests from this testcase pass
 except:
 call checkfmt((RU,F2.0), 0.09,  1.) ! 0.
 call checkfmt((RD,F3.0), -0.09,  -1.) ! -0.

I have this issue fixed now.  What is happening is that the digit string for
theses cases comes in as 09xx or 08x.  Its not
normalized in the usual way (why?), so the leading zero in the string is
throwing off the rounding logic.

[aside: I think we would be better off with our own float to decimal string
routine about now]

Using this:

  if (d == 0  p == 0  digits[0] == '0')
{
  nbefore = 1;
  nafter = 0;
}

in my current trunk (which has some other modifications in it) resolves this
problem for:

  print (RU,F2.0), 0.09 ! 1.
  print (RD,F3.0), -0.09 ! -1.
  print (RU,F2.0), 0.009 ! 1.
  print (RD,F3.0), -0.009 ! -1.
  print (RU,F2.0), 0.0009 ! 1.
  print (RD,F3.0), -0.0009 ! -1.
  print (RU,F2.0), 0.9 ! 1.
  print (RD,F3.0), -0.9 ! -1.

Which exhibit the issue.  All regression tests pass.  I have not tried this on
the current unfettered trunk yet and I am working on the p scaling issues.


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #13 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
14:29:27 UTC ---
Confirmed... gcc46-pr49618.patch solves the problem here, workaround patches
from freetz project are no more necessary.


[Bug c/42146] ICE in tree_low_cst

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
Version|unknown |4.7.0
   Keywords||ice-on-valid-code
   Last reconfirmed||2011.07.04 14:31:29
  Component|target  |c
 CC||gjl at gcc dot gnu.org
 Ever Confirmed|0   |1
  Known to fail||4.6.1

--- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 
14:31:29 UTC ---
This bug is still present in 4.7.0 trunk (AVR 175811).

As far as I can see, it's not a target bug. But unsure about the correct
component, I cose translation as of following stack trace:

Breakpoint 1, fancy_abort (file=0x88ef420
../../../gcc.gnu.org/trunk/gcc/tree.c, line=6510, function=0x88f0dfb
tree_low_cst) at ../../../gcc.gnu.org/trunk/gcc/diagnostic.c:893
(gdb) bt
#0  fancy_abort (file=0x88ef420 ../../../gcc.gnu.org/trunk/gcc/tree.c,
line=6510, function=0x88f0dfb tree_low_cst) at
../../../gcc.gnu.org/trunk/gcc/diagnostic.c:893
#1  0x086b6681 in tree_low_cst (t=0xb7dcf3d4, pos=1) at
../../../gcc.gnu.org/trunk/gcc/tree.c:6510
#2  0x0810020c in process_init_element (value={value = 0xb7dc3ea0,
original_code = STRING_CST, original_type = 0x0}, implicit=0 '\0',
braced_init_obstack=0xbfffe27c) at
../../../gcc.gnu.org/trunk/gcc/c-typeck.c:8303
#3  0x0811fc17 in c_parser_initval (parser=0xb7dd5ab8, after=0x0,
braced_init_obstack=0xbfffe27c) at
../../../gcc.gnu.org/trunk/gcc/c-parser.c:3894
#4  0x0811f547 in c_parser_braced_init (parser=0xb7dd5ab8, type=0xb7d4e618,
nested_p=0 '\0') at ../../../gcc.gnu.org/trunk/gcc/c-parser.c:3868
#5  0x08113e5b in c_parser_declaration_or_fndef (parser=0xb7dd5ab8, fndef_ok=1
'\001', static_assert_ok=value optimized out, empty_ok=1 '\001', nested=0
'\0', start_attr_ok=value optimized out, objc_foreach_object_declaration=0x0)
at ../../../gcc.gnu.org/trunk/gcc/c-parser.c:3608
#6  0x0812308a in c_parser_external_declaration (parser=0xb7dd5ab8) at
../../../gcc.gnu.org/trunk/gcc/c-parser.c:1335
#7  0x081238cb in c_parse_file () at
../../../gcc.gnu.org/trunk/gcc/c-parser.c:1223
#8  0x0816a775 in c_common_parse_file () at
../../../gcc.gnu.org/trunk/gcc/c-family/c-opts.c:1094
#9  0x084c548e in compile_file () at
../../../gcc.gnu.org/trunk/gcc/toplev.c:548
#10 0x084c754d in do_compile () at ../../../gcc.gnu.org/trunk/gcc/toplev.c:1895
#11 0x084c76c5 in toplev_main (argc=19, argv=0xbfffe544) at
../../../gcc.gnu.org/trunk/gcc/toplev.c:1967
#12 0x08183df2 in main (argc=717, argv=0x0) at
../../../gcc.gnu.org/trunk/gcc/main.c:36
(gdb)


[Bug c/42146] ICE in tree_low_cst

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.2


[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed|2011-07-04 13:38:59 |2011.07.04 14:33:23
 Ever Confirmed|0   |1

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
14:33:23 UTC ---
Testcase:

#include vector
template int rank, int dim class Tensor;
template int dim class Tensor1,dim {
public:
explicit Tensor (const bool initialize = true);
Tensor (const Tensor1,dim );
Tensor1,dim  operator = (const Tensor1,dim );
double values[(dim!=0) ? (dim) : 1];
};
template int dim
inline Tensor1,dim  Tensor1,dim::operator = (const Tensor1,dim p)
{
for (unsigned int i=0; idim; ++i)
  values[i] = p.values[i];
};
template int dim class Quadrature {
public:
const unsigned int n_quadrature_points;
};
class MappingQ1
{
class InternalData  {
public:
std::vectorTensor1,3  shape_derivatives;
unsigned int n_shape_functions;
};
void compute_data (const Quadrature3 quadrature, InternalData data)
const;
};
void MappingQ1::compute_data (const Quadrature3 q, InternalData data) const
{
const unsigned int n_q_points = q.n_quadrature_points;
data.shape_derivatives.resize(data.n_shape_functions * n_q_points);
}


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #14 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
14:38:05 UTC ---
Thank you gcc folks and all involved people to fix this bug.


[Bug target/43052] Inline memcmp is *much* slower than glibc's

2011-07-04 Thread justin.lebar+bug at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052

--- Comment #13 from Justin Lebar justin.lebar+bug at gmail dot com 
2011-07-04 14:40:40 UTC ---
(In reply to comment #12)
 Created attachment 24670 [details]
 memcpy/memset testing script
 
 HJ,
 can you please run the attached script with new glibc as 
 sh test_stringop 64 64000 gcc -march=native | tee out

Do you think you could spin a script which also tests memcmp?


[Bug target/43052] Inline memcmp is *much* slower than glibc's

2011-07-04 Thread justin.lebar+bug at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052

--- Comment #14 from Justin Lebar justin.lebar+bug at gmail dot com 
2011-07-04 15:00:36 UTC ---
Created attachment 24676
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24676
Test results from my core i7


[Bug middle-end/49629] New: [4.7 Regression] ICE: in df_refs_verify, at df-scan.c

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49629

   Summary: [4.7 Regression] ICE: in df_refs_verify, at df-scan.c
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@gcc.gnu.org
CC: eric.wedding...@atmel.com
Target: avr


Apperas not to be a target bug...

In 4.7.0 trunk (SVN 175881), the following testcases ICE the compiler:

/mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr34448.c:
In function 'build_attr_cert':

/mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr34448.c:31:1:
internal compiler error: in df_refs_verify, at df-scan.c:4268

gcc.c-torture/compile/pr34448.c  -O2
gcc.c-torture/compile/pr34448.c  -O3 -fomit-frame-pointer
gcc.c-torture/compile/pr34448.c  -O3 -g

/mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr39928-1.c:
In function 'vq_nbest':

/mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr39928-1.c:9:1:
internal compiler error: in df_refs_verify, at df-scan.c:4268

gcc.c-torture/compile/pr39928-1.c  -O2
gcc.c-torture/compile/pr39928-1.c  -O3 -fomit-frame-pointer
gcc.c-torture/compile/pr39928-1.c  -O3 -g

GCC configured: 
==

Reading specs from /mnt/nfs/home/georg/gnu/build/gcc-trunk-avr/gcc/specs
COLLECT_GCC=/mnt/nfs/home/georg/gnu/build/gcc-trunk-avr/gcc/xgcc
COLLECT_LTO_WRAPPER=/mnt/nfs/home/georg/gnu/build/gcc-trunk-avr/gcc/lto-wrapper
Target: avr
Configured with: ../../gcc.gnu.org/trunk/configure --target=avr
--prefix=/local/gnu/install/gcc-4.7 --disable-nls --disable-shared
--enable-languages=c,c++ --with-dwarf2 --disable-lto
Thread model: single
gcc version 4.7.0 20110704 (experimental) (GCC)
GNU C (GCC) version 4.7.0 20110704 (experimental) (avr)
compiled by GNU C version 4.3.2 [gcc-4_3-branch revision 141291], GMP
version 5.0.1, MPFR version 3.0.0-p8, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

Command line (spawned by dejagnu)
=
/local/gnu/build/gcc-trunk-avr/gcc/xgcc -B/local/gnu/build/gcc-trunk-avr/gcc/
-O2 -w -DSTACK_SIZE=2048 -DNO_TRAMPOLINES -c -DSIGNAL_SUPPRESS -mmcu=atmega128
-I/home/georg/gnu/install/gcc-4.7/avr/include -o pr34448.o
/mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr34448.c

Backtrace
=

(gdb) bt
#0  fancy_abort (file=0x889de00 ../../../gcc.gnu.org/trunk/gcc/df-scan.c,
line=4268, function=0x889e5c2 df_refs_verify) at
../../../gcc.gnu.org/trunk/gcc/diagnostic.c:893
#1  0x0822c38a in df_refs_verify (new_rec=0x89e8d80, old_rec=0x0,
abort_if_fail=1 '\001') at ../../../gcc.gnu.org/trunk/gcc/df-scan.c:4268
#2  0x08230e5e in df_insn_refs_verify (collection_rec=0xbfffe1fc, bb=value
optimized out, insn=value optimized out, abort_if_fail=1 '\001') at
../../../gcc.gnu.org/trunk/gcc/df-scan.c:4358
#3  0x082331ba in df_bb_verify (bb=0xb7dec940) at
../../../gcc.gnu.org/trunk/gcc/df-scan.c:4392
#4  0x0823346f in df_scan_verify () at
../../../gcc.gnu.org/trunk/gcc/df-scan.c:4526
#5  0x082226e5 in df_analyze () at
../../../gcc.gnu.org/trunk/gcc/df-core.c:1644
#6  0x083caed5 in rest_of_handle_ira () at
../../../gcc.gnu.org/trunk/gcc/ira.c:3561
#7  0x08447bf6 in execute_one_pass (pass=0x89440e0) at
../../../gcc.gnu.org/trunk/gcc/passes.c:2061
#8  0x08447f6d in execute_pass_list (pass=0x89440e0) at
../../../gcc.gnu.org/trunk/gcc/passes.c:2116
#9  0x08447f80 in execute_pass_list (pass=0x89444e0) at
../../../gcc.gnu.org/trunk/gcc/passes.c:2117
#10 0x08533731 in tree_rest_of_compilation (fndecl=0xb7dd3000) at
../../../gcc.gnu.org/trunk/gcc/tree-optimize.c:416
#11 0x0820436a in cgraph_expand_function (node=0xb7dd2138) at
../../../gcc.gnu.org/trunk/gcc/cgraphunit.c:1792
#12 0x082052e9 in cgraph_optimize () at
../../../gcc.gnu.org/trunk/gcc/cgraphunit.c:1851
#13 0x082066e5 in cgraph_finalize_compilation_unit () at
../../../gcc.gnu.org/trunk/gcc/cgraphunit.c:1292
#14 0x080b92a8 in c_write_global_declarations () at
../../../gcc.gnu.org/trunk/gcc/c-decl.c:9844
#15 0x084c54da in compile_file () at
../../../gcc.gnu.org/trunk/gcc/toplev.c:564
#16 0x084c754d in do_compile () at ../../../gcc.gnu.org/trunk/gcc/toplev.c:1895
#17 0x084c76c5 in toplev_main (argc=12, argv=0xbfffe654) at
../../../gcc.gnu.org/trunk/gcc/toplev.c:1967
#18 0x08183df2 in main (argc=514, argv=0x60) at
../../../gcc.gnu.org/trunk/gcc/main.c:36


[Bug translation/42146] ICE in tree_low_cst

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

  Component|c   |translation
Version|4.7.0   |unknown
   Target Milestone|4.6.2   |---


[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||irar at gcc dot gnu.org

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
15:06:51 UTC ---
Vectorizing the loop

bb 8:
  # __position_11 = PHI __position_34(9), __position$_M_current_15(7)
  D.2964_46 = __x_copy.values[0];
  __position_11-values[0] = D.2964_46;
  D.2964_51 = __x_copy.values[1];
  __position_11-values[1] = D.2964_51;
  D.2964_56 = __x_copy.values[2];
  __position_11-values[2] = D.2964_56;
  __position_34 = __position_11 + 24;
  if (D.2961_29 != __position_34)
goto bb 9;
  else
goto bb 10;

bb 9:
  goto bb 8;

I wonder where we are supposed to set GROUP_SIZE here and how it possibly
can connect to my change ... ah, the invariant loads from __x_copy.values
no longer will inhibit vectorization early.  The group is now indeed
the __x_copy.values[] loads.

The following fixes it (or rather, avoids looking at this group):

Index: gcc/tree-vect-data-refs.c
===
--- gcc/tree-vect-data-refs.c   (revision 175802)
+++ gcc/tree-vect-data-refs.c   (working copy)
@@ -1495,12 +1495,19 @@ vect_enhance_data_refs_alignment (loop_v
GROUP_FIRST_ELEMENT (stmt_info) != stmt)
 continue;

+  /* For invariant accesses there is nothing to enhance.  */
+  if (integer_zerop (DR_STEP (dr)))
+   continue;
+
   supportable_dr_alignment = vect_supportable_dr_alignment (dr, true);
   do_peeling = vector_alignment_reachable_p (dr);
   if (do_peeling)


[Bug tree-optimization/49542] [4.7 regression] 2 failures in the vectorization testsuite in 64-bit mode

2011-07-04 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49542

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||irar at gcc dot gnu.org

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-04 
15:18:57 UTC ---
Still present.  Ira, should they be XFAILed in 64-bit mode as well?


[Bug translation/42146] ICE in tree_low_cst

2011-07-04 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146

--- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2011-07-04 15:23:07 UTC ---
On Mon, 4 Jul 2011, gjl at gcc dot gnu.org wrote:

 As far as I can see, it's not a target bug. But unsure about the correct
 component, I cose translation as of following stack trace:

I can't see any possible reason in this stack trace for someone to think 
translation - that is, bugs in internationalization of the compiler's 
diagnostic output - is appropriate.  The strack trace suggests a front-end 
bug - but a target-specific front-end bug that it will be up to people 
caring about relevant targets to investigate and fix if they want it 
fixed.


[Bug c/42146] ICE in tree_low_cst

2011-07-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

  Component|translation |c

--- Comment #3 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 
15:27:57 UTC ---
err sorry, does c fit better?

gcc.dg/large-size-array-4.c also triggers the ICE.


[Bug fortran/49630] New: [OOP] ICE on obsolescent assumed length deferred type bound character function

2011-07-04 Thread boschmann at tp1 dot physik.uni-siegen.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630

   Summary: [OOP] ICE on obsolescent assumed length deferred type
bound character function
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: boschm...@tp1.physik.uni-siegen.de
CC: ja...@gcc.gnu.org


Here is one more weird piece of code:

module abc
  implicit none
  type,abstract::abc_abstract
   contains
 procedure(abc_interface),deferred::abc_function
  end type abc_abstract
  type,extends(abc_abstract)::abc_type
   contains
 procedure::abc_function
  end type abc_type
  abstract interface
 function abc_interface(this)
   import abc_abstract
   class(abc_abstract),intent(in)::this
   character(len=*)::abc_interface !obsolescent feature
 end function abc_interface
  end interface
contains
  function abc_function(this)
class(abc_type),intent(in)::this
character(len=5)::abc_function
abc_function=hello
  end function abc_function
  subroutine do_something(this)
class(abc_abstract),intent(in)::this
print *,this%abc_function()
  end subroutine do_something
end module abc

gcc 4.7 terminates with a segmentation fault. I get an ICE error message on my
full program, but it turned to a segfault in this reduced module.

Anyway this code doesn't look right, so I have tried some workarounds like
allocatable characters. But those ended up in different compiler errors.

So what is the state of allocatable character functions? Are they supposed to
work?


[Bug c/42146] ICE in tree_low_cst

2011-07-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 
15:35:45 UTC ---
tree_low_cst asserts something about the ability to represent the constant
in a HOST_WIDE_INT which has a target-specific (minimal) width.  In your
case HOST_WIDE_INT is 32bit where indeed 0x8000 is not positive.
Now the question is what's the difference between the i686 x avr vs.
the native i686 behavior?

That's what you need to investigate.


[Bug fortran/49630] [OOP] ICE on obsolescent deferred-length type bound character function

2011-07-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org
Summary|[OOP] ICE on obsolescent|[OOP] ICE on obsolescent
   |assumed length deferred |deferred-length type bound
   |type bound character|character function
   |function|

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-07-04 
15:53:29 UTC ---
Ragarding assumed-length functions: They should be supported, but no one has
tried something fancy (i.e. beyond F77 style of features) with them. They are
also really ugly.

Your test case fails for me with:

test.f90: In function ‘do_something’:
test.f90:26:0: internal compiler error: in build_int_cst_wide, at tree.c:1218

However, I think it is invalid to place an assumed-character-length function
into an INTERFACE. See PR 41604. (Cf. also PR 46588.)


 gcc 4.7 terminates with a segmentation fault. I get an ICE error message on my
 full program, but it turned to a segfault in this reduced module.

On my system with a slightly dated (20110629) gfortran, I get:

test.f90: In function ‘do_something’:
test.f90:26:0: internal compiler error: in build_int_cst_wide, at tree.c:1218


 So what is the state of allocatable character functions? Are they supposed to
 work?

You think mean those with deferred-length type parameter - the others should
already work just fine.

For deferred length: I think basic support is there, but there are still some
issues. Cf. also PR 49110 and PR 45170 comment 9.


[Bug target/49600] Bad SSE2 int-float split in i386.md

2011-07-04 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49600

--- Comment #3 from uros at gcc dot gnu.org 2011-07-04 16:26:13 UTC ---
Author: uros
Date: Mon Jul  4 16:26:08 2011
New Revision: 175817

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175817
Log:
PR target/49600
* config/i386/i386.md (SSE2 int-float split): Push operand 1 in
general register to memory for !TARGET_INTER_UNIT_MOVES.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md


[Bug target/49600] Bad SSE2 int-float split in i386.md

2011-07-04 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49600

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Target||x86
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #4 from Uros Bizjak ubizjak at gmail dot com 2011-07-04 16:28:05 
UTC ---
Fixed.


[Bug driver/49631] New: Driver --help should use common help code

2011-07-04 Thread jsm28 at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49631

   Summary: Driver --help should use common help code
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: driver
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: js...@gcc.gnu.org


At present gcc.c has its own code to handle --help and producing help text for
driver options and the code in opts.c excludes driver options.  This should be
changed so that driver options have help text in the .opt files and this text
is used by the common machinery in producing --help output.  (I don't know what
division between the driver and cc1 in producing that output would then be
appropriate.)


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #15 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
16:47:25 UTC ---
Created attachment 24677
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24677
Simple testcase-script for gcc-PR49618


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #17 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
16:48:44 UTC ---
Created attachment 24679
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24679
old_atexit.os_OptLevel-O1


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #20 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
16:50:10 UTC ---
Created attachment 24682
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24682
old_atexit.os_OptLevel-Os


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #18 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
16:49:13 UTC ---
Created attachment 24680
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24680
old_atexit.os_OptLevel-O2


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #19 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
16:49:44 UTC ---
Created attachment 24681
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24681
old_atexit.os_OptLevel-O3


[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled

2011-07-04 Thread sedat.dilek at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618

--- Comment #16 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 
16:48:15 UTC ---
Created attachment 24678
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24678
old_atexit.os_OptLevel-O0


[Bug debug/49602] [4.7 Regression] verify_ssa failed (definition does not dominate use) with -O2 -g

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49602

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
17:19:54 UTC ---
Author: jakub
Date: Mon Jul  4 17:19:52 2011
New Revision: 175818

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175818
Log:
PR debug/49602
* tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard
get_current_def return value if it can't be trusted to be
the current value of the variable in the current bb.

* gcc.dg/pr49602.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/pr49602.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-into-ssa.c


[Bug c++/49568] [4.7 regression] g++.dg/torture/pr41257-2.C FAILs to link on Tru64 UNIX

2011-07-04 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49568

--- Comment #9 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-07-04 17:24:39 UTC ---
 The following patch should fix the problem:
 Index: ipa.c
 ===
 --- ipa.c   (revision 175748)
 +++ ipa.c   (working copy)
 @@ -871,9 +871,9 @@ function_and_variable_visibility (bool w

  We also need to arrange the thunk into the same comdat group as
  the function it reffers to.  */
 +  DECL_COMDAT (node-decl) = DECL_COMDAT (decl_node-decl);
   if (DECL_ONE_ONLY (decl_node-decl))
 {
 - DECL_COMDAT (node-decl) = DECL_COMDAT (decl_node-decl);
   DECL_COMDAT_GROUP (node-decl) = DECL_COMDAT_GROUP
 (decl_node-decl);
   if (DECL_ONE_ONLY (decl_node-decl)  !node-same_comdat_group)
 {

It does indeed and introduces no regressions.

Thanks.
Rainer


[Bug debug/49364] [4.7 regressions] Empty .debug_abbrev sections confuse SGI nm

2011-07-04 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49364

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #6 from Rainer Orth ro at gcc dot gnu.org 2011-07-04 17:26:37 UTC 
---
As expected, the patch fixes the bug.

Thanks.
  Rainer


[Bug regression/49500] [4.7 Regression]: gcc.dg/tls/alias-1.c

2011-07-04 Thread dave.anglin at bell dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49500

--- Comment #8 from dave.anglin at bell dot net 2011-07-04 17:27:08 UTC ---
On 7/1/2011 6:47 AM, hubicka at gcc dot gnu.org wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49500
 Hi,
 here is fixed version that does not warn.  Can someone try it out, please?

Patch fixes regression on hppa64-hp-hpux11.11 and 
hppa2.0w-hp-hpux11.11.  I also
tested change on darwin9 and didn't see any problems.


[Bug debug/49602] [4.7 Regression] verify_ssa failed (definition does not dominate use) with -O2 -g

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49602

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
18:24:39 UTC ---
Fixed.


[Bug rtl-optimization/49472] [4.7 regression] Compiler segfault on valid code

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49472

--- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
18:53:58 UTC ---
Author: jakub
Date: Mon Jul  4 18:53:56 2011
New Revision: 175821

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175821
Log:
PR rtl-optimization/49472
* simplify-rtx.c (simplify_unary_operation_1) case NEG: When
negating MULT, negate the second operand instead of first.
(simplify_binary_operation_1) case MULT: If one operand is
a NEG and the other is MULT, don't attempt to optimize by
negation of the MULT operand if it only moves the NEG operation
around.

* gfortran.dg/pr49472.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/pr49472.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/simplify-rtx.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/49472] [4.7 regression] Compiler segfault on valid code

2011-07-04 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49472

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 
18:54:51 UTC ---
Fixed.


[Bug middle-end/49310] [4.7 Regression] Compile time hog in var-tracking emit

2011-07-04 Thread Joost.VandeVondele at pci dot uzh.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49310

--- Comment #8 from Joost VandeVondele Joost.VandeVondele at pci dot uzh.ch 
2011-07-04 18:57:45 UTC ---
patch ;-)

Index: gcc/params.def
===
--- gcc/params.def  (revision 175820)
+++ gcc/params.def  (working copy)
@@ -845,7 +845,7 @@
 DEFPARAM (PARAM_MAX_VARTRACK_EXPR_DEPTH,
  max-vartrack-expr-depth,
  Max. recursion depth for expanding var tracking expressions,
- 20, 0, 0)
+ 12, 0, 0)

 /* Set minimum insn uid for non-debug insns.  */


[Bug fortran/49630] [OOP] ICE on obsolescent deferred-length type bound character function

2011-07-04 Thread boschmann at tp1 dot physik.uni-siegen.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630

--- Comment #2 from Hans-Werner Boschmann boschmann at tp1 dot 
physik.uni-siegen.de 2011-07-04 19:29:50 UTC ---
C417: A function name shall not be declared with an asterisk type-param-value
unless it is of type CHAR- ACTER and is the name of the result of an external
function or the name of a dummy function.

So it is allowed to put an assumed character length into an interface, but not
in the way as I did in the code above. My example is invalid.

But how would I declare an abstract interface of a function with variable
length? I am allowed to use any scalar integer expression as length parameter
of a character function, but I cannot leave it empty in the interface. That's
why I use character(:),allocatable::res with the NAG fortran compiler. As far a
I know, this is the only valid way and that's why I am looking forward for
gfortran to implement it.


[Bug fortran/49630] [OOP] ICE on obsolescent deferred-length type bound character function

2011-07-04 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630

--- Comment #3 from janus at gcc dot gnu.org 2011-07-04 20:21:55 UTC ---
Here is a related deferred-length example:


module abc
  implicit none

  type::abc_type
   contains
 procedure::abc_function
  end type abc_type

contains

  function abc_function(this)
class(abc_type),intent(in)::this
character(:),allocatable::abc_function
allocate(abc_function,source=hello)
  end function abc_function

  subroutine do_something(this)
class(abc_type),intent(in)::this
print *,this%abc_function()
  end subroutine do_something

end module abc


use abc
type(abc_type) :: a
call do_something(a)
end


This currently ICEs, but when changing the type-bound call in the print line
to a plain function call, i.e. abc_function(this), then it is accepted and
gives the expected output.


[Bug inline-asm/49611] Inline asm should support input/output of flags

2011-07-04 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611

--- Comment #2 from Ryan Johnson scovich at gmail dot com 2011-07-04 20:32:01 
UTC ---
(In reply to comment #1)
 Making this work reliably is probably more work than making GCC use the flags
 from more cases from regular C code.

Does that mean each such case would need to be identified individually and then
hard-wired into i386.md? The existence of modes like CCGC, CCGOC, CCNO, etc. in
i386-modes.def made me hope that some high-level mechanism existed for
reasoning about the semantics of condition codes. Or does that mechanism exist,
and is just difficult to expose to inline asm for some reason?


[Bug tree-optimization/49632] New: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3

2011-07-04 Thread arthur.j.odwyer at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49632

   Summary: ICE in compute_affine_dependence
(tree-data-ref.c:4038) with -O3
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: arthur.j.odw...@gmail.com


Created attachment 24683
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24683
Output of ajo-gcc -std=c99 -w -march=athlon64 -O3 -fcheck-data-deps test.c -v

Bug 49033 and/or bug 46851 might be related.

This reproduces for me with svn revision 175547 (2011-06-30). It doesn't
reproduce with gcc 4.5.1. I'm on Ubuntu 10.10, x86-64.

cat test.c EOF
extern int g_107, g_123, l_98[7][7];
static int MUL(unsigned x, unsigned y) { return x*y; }
void func_95(int p) {
for (int i = 0; i  5; ++i) {
for (int j = 0; j  5; ++j) {
for (g_123 = 4; g_123 = 0; --g_123) {
l_98[0][0] = (l_98[i][j+1] != -l_98[i][0])
   + (p * MUL(g_107 || l_98[0][1], 2*l_98[0][g_123+1])
|| p);
}
l_98[i][j] = 0;
}
}
}
EOF
gcc -std=c99 -w -march=athlon64 -O3 -fcheck-data-deps test.c


(Number of distance vectors differ: Banerjee has 1, Omega has 2.
Banerjee dist vectors:
  0   1 
Omega dist vectors:
  0   1 
  0  -1 
data dependence relation:
(Data Dep: 
#(Data Ref: 
#  bb: 18 
#  stmt: D.2624_83 = l_98[i_54][pretmp.10_69];
#  ref: l_98[i_54][pretmp.10_69];
#  base_object: l_98
#  Access function 0: {1, +, 1}_2
#  Access function 1: {0, +, 1}_1
#)
#(Data Ref: 
#  bb: 29 
#  stmt: l_98[i_54][j_55] = 0;
#  ref: l_98[i_54][j_55];
#  base_object: l_98
#  Access function 0: {0, +, 1}_2
#  Access function 1: {0, +, 1}_1
#)
  access_fn_A: {1, +, 1}_2
  access_fn_B: {0, +, 1}_2

 (subscript 
  iterations_that_access_an_element_twice_in_A: [1 + 1 * x_1]
  last_conflict: 4
  iterations_that_access_an_element_twice_in_B: [0 + 1 * x_1]
  last_conflict: 4
  (Subscript distance: 1
  )
 )
  access_fn_A: {0, +, 1}_1
  access_fn_B: {0, +, 1}_1

 (subscript 
  iterations_that_access_an_element_twice_in_A: [0]
  last_conflict: scev_not_known;
  iterations_that_access_an_element_twice_in_B: [0]
  last_conflict: scev_not_known;
  (Subscript distance: 0
  )
 )
  inner loop index: 1
  loop nest: (1 2 )
  distance_vector:   0   1 
  distance_vector:   0  -1 
  direction_vector: =+
  direction_vector: =-
)
)
test.c: In function ‘func_95’:
test.c:3:6: internal compiler error: in compute_affine_dependence, at
tree-data-ref.c:4038


This test case is reduced from the output of Csmith 2.1.0 (git hash 01aa8b04,
https://github.com/Quuxplusone/csmith/), using the following command line:
csmith --no-paranoid --no-longlong --no-pointers --arrays --no-jumps
--no-consts --volatiles --checksum --divs --muls --no-bitfields --packed-struct
-s 1807040286


  1   2   >