[Bug fortran/54463] -fdefault-real-8 does not promote the BLAS call when using -fexternal-blas

2012-09-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54463

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org
   Severity|enhancement |normal

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-03 
06:14:22 UTC ---
The following should work. I am not too kind to have magic numbers, maybe that
part could be improved.

--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -2364,4 +2364,3 @@ gfc_conv_intrinsic_funcall (gfc_se * se, gfc_expr * expr)
   (sym-ts.type == BT_REAL || sym-ts.type == BT_COMPLEX)
-  (sym-ts.kind == gfc_default_real_kind
- || sym-ts.kind == gfc_default_double_kind))
+  (sym-ts.kind == 4 || sym-ts.kind == 8))
{
@@ -2371,3 +2370,3 @@ gfc_conv_intrinsic_funcall (gfc_se * se, gfc_expr * expr)
{
- if (sym-ts.kind == gfc_default_real_kind)
+ if (sym-ts.kind == 4)
gemm_fndecl = gfor_fndecl_sgemm;
@@ -2378,3 +2377,3 @@ gfc_conv_intrinsic_funcall (gfc_se * se, gfc_expr * expr)
{
- if (sym-ts.kind == gfc_default_real_kind)
+ if (sym-ts.kind == 4)
gemm_fndecl = gfor_fndecl_cgemm;


[Bug bootstrap/54415] GCC 4.4.4 build fails on solaris sparc with error as undefined reference to `_Qp_xtoq'

2012-09-03 Thread birender.singh at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54415

birender.singh at hotmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|WORKSFORME  |

--- Comment #2 from birender.singh at hotmail dot com 2012-09-03 06:30:59 UTC 
---
The gcc used as below:
bash-3.2# gcc -v
Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with:
/sfw10/builds/build/sfw10-patch/usr/src/cmd/gcc/gcc-3.4.3/configure
--prefix=/usr/sfw --with-as=/usr/ccs/bin/as --without-gnu-as
--with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++
--enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)


I set  env CC=gcc -m64 And again executed the configure command as below, but
it fails.

../gcc-4.4.4/configure  --prefix=/usr/local/gcc-4.4.4_64
--with-gmp=/els/install/gcc-4.4.4_64/gmp32
--with-mpfr=/els/install/gcc-4.4.4_64/mpfr32 --build=sparcv9-sun-solaris2.10
--enable-languages=c,c++ --with-gnu-as --with-gnu-ld


Fails with below error messages:

.
.
.
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_bswapdi2_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunssfsi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsdfsi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsxfsi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixsfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixdfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixxfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixtfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunssfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsdfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsxfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunstfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatdisf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatdidf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatdixf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatditf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatundisf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatundidf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatundixf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatunditf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file 

[Bug bootstrap/54415] GCC 4.4.4 build fails on solaris sparc with error as undefined reference to `_Qp_xtoq'

2012-09-03 Thread birender.singh at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54415

--- Comment #3 from birender.singh at hotmail dot com 2012-09-03 06:34:53 UTC 
---
The gcc used as below:
bash-3.2# gcc -v
Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with:
/sfw10/builds/build/sfw10-patch/usr/src/cmd/gcc/gcc-3.4.3/configure
--prefix=/usr/sfw --with-as=/usr/ccs/bin/as --without-gnu-as
--with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++
--enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)


I set  env CC=gcc -m64 And again executed the configure command as below, but
it fails.

../gcc-4.4.4/configure  --prefix=/usr/local/gcc-4.4.4_64
--with-gmp=/els/install/gcc-4.4.4_64/gmp32
--with-mpfr=/els/install/gcc-4.4.4_64/mpfr32 --build=sparcv9-sun-solaris2.10
--enable-languages=c,c++ --with-gnu-as --with-gnu-ld


Fails with below error messages:

.
.
.
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_bswapdi2_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunssfsi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsdfsi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsxfsi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixsfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixdfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixxfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixtfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunssfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsdfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunsxfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_fixunstfdi_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatdisf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatdidf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatdixf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatditf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatundisf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatundidf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatundixf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_floatunditf_s.o' is incompatible
with sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_divdi3_s.o' is incompatible with
sparc output
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../sparc-sun-solaris2.10/bin/ld:
warning: sparc:v9 architecture of input file `_moddi3_s.o' is incompatible with
sparc output

[Bug fortran/51632] [OOP] Bogus argument checking for generated _def_init parameter and _copy procedure with CAF

2012-09-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51632

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-03 
06:36:05 UTC ---
Author: burnus
Date: Mon Sep  3 06:35:59 2012
New Revision: 190869

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190869
Log:
2012-09-03  Alessandro Fanfarillo  fanfarillo@gmail.com
Tobias Burnus  bur...@net-b.de

PR fortran/37336
* gfortran.h (symbol_attribute): Add artificial.
* module.c (mio_symbol_attribute): Handle attr.artificial
* class.c (gfc_build_class_symbol): Defer creation of the vtab
if the DT has finalizers, mark generated symbols as
attr.artificial.
(has_finalizer_component, finalize_component,
finalization_scalarizer, generate_finalization_wrapper):
New static functions.
(gfc_find_derived_vtab): Add _final component and call
generate_finalization_wrapper.
* dump-parse-tree.c (show_f2k_derived): Use resolved
proc_tree-n.sym rather than unresolved proc_sym.
(show_attr): Handle attr.artificial.
* resolve.c (gfc_resolve_finalizers): Ensure that the vtab
* exists.
(resolve_fl_derived): Resolve finalizers before
generating the vtab.
(resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
skip artificial symbols.
(resolve_fl_derived0): Skip artificial symbols.

2012-09-03  Tobias Burnus  bur...@net-b.de

PR fortran/51632
* gfortran.dg/coarray_class_1.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/coarray_class_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/class.c
trunk/gcc/fortran/dump-parse-tree.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/module.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/37336] Fortran 2003: Finish derived-type finalization

2012-09-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37336

--- Comment #11 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-03 
06:36:05 UTC ---
Author: burnus
Date: Mon Sep  3 06:35:59 2012
New Revision: 190869

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190869
Log:
2012-09-03  Alessandro Fanfarillo  fanfarillo@gmail.com
Tobias Burnus  bur...@net-b.de

PR fortran/37336
* gfortran.h (symbol_attribute): Add artificial.
* module.c (mio_symbol_attribute): Handle attr.artificial
* class.c (gfc_build_class_symbol): Defer creation of the vtab
if the DT has finalizers, mark generated symbols as
attr.artificial.
(has_finalizer_component, finalize_component,
finalization_scalarizer, generate_finalization_wrapper):
New static functions.
(gfc_find_derived_vtab): Add _final component and call
generate_finalization_wrapper.
* dump-parse-tree.c (show_f2k_derived): Use resolved
proc_tree-n.sym rather than unresolved proc_sym.
(show_attr): Handle attr.artificial.
* resolve.c (gfc_resolve_finalizers): Ensure that the vtab
* exists.
(resolve_fl_derived): Resolve finalizers before
generating the vtab.
(resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
skip artificial symbols.
(resolve_fl_derived0): Skip artificial symbols.

2012-09-03  Tobias Burnus  bur...@net-b.de

PR fortran/51632
* gfortran.dg/coarray_class_1.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/coarray_class_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/class.c
trunk/gcc/fortran/dump-parse-tree.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/module.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/54465] New: Implement -Wextra for Fortran

2012-09-03 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54465

 Bug #: 54465
   Summary: Implement -Wextra for Fortran
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: tkoe...@gcc.gnu.org


It would be nice to define some Fortran warnings under -Wextra.
(Just to keep track of this).

Initial patch:

http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00022.html


[Bug bootstrap/54453] [4.8 Regression] r190783 breaks bootstrap on powerpc64-unknown-linux-gnu

2012-09-03 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54453

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #6 from Mikael Pettersson mikpe at it dot uu.se 2012-09-03 
07:32:42 UTC ---
I got a pile of these errors on sparc64-linux too. Will try the #c2 patch now.


[Bug rtl-optimization/54455] [4.7/4.8 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
08:03:45 UTC ---
Created attachment 28121
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28121
gcc48-pr54455.patch

Patch for 2).  asm goto with fallthru labels is pretty hard case, handled in
cfgrtl.c hopefully right, but sel-sched apparently wants to do everything on
its own.  Best is to punt in that case and leave it to cfgrtl.


[Bug bootstrap/54415] GCC 4.4.4 build fails on solaris sparc with error as undefined reference to `_Qp_xtoq'

2012-09-03 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54415

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-09-03 
08:20:51 UTC ---
 I set  env CC=gcc -m64 And again executed the configure command as below, 
 but
 it fails.
 
 ../gcc-4.4.4/configure  --prefix=/usr/local/gcc-4.4.4_64
 --with-gmp=/els/install/gcc-4.4.4_64/gmp32
 --with-mpfr=/els/install/gcc-4.4.4_64/mpfr32 --build=sparcv9-sun-solaris2.10
 --enable-languages=c,c++ --with-gnu-as --with-gnu-ld

You need to have 64-bit binutils as well if you want to build a 64-bit
compiler.
Please look for help elsewhere for basic stuff, this isn't the right place.


[Bug rtl-optimization/54455] [4.7/4.8 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418

2012-09-03 Thread abel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455

--- Comment #10 from Andrey Belevantsev abel at gcc dot gnu.org 2012-09-03 
08:21:20 UTC ---
(In reply to comment #9)
 Created attachment 28121 [details]
 gcc48-pr54455.patch
 
 Patch for 2).  asm goto with fallthru labels is pretty hard case, handled in
 cfgrtl.c hopefully right, but sel-sched apparently wants to do everything on
 its own.  Best is to punt in that case and leave it to cfgrtl.

The patch looks perfectly fine, some thoughts:
1) a test case with sel-sched specific flags should be added,
2) the new code looks like a good helper for cfgrtl.c, would it be good to add
it there?
3) re. cfgrtl handling of asm goto, what do you think of PR 51106?  Last time
we discussed this we ended up with
http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00161.html

I can pick up your patch and do 1) and 2) with testing etc.


[Bug rtl-optimization/54455] [4.7/4.8 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
08:29:10 UTC ---
As for 1), I haven't added the testcase because I partially agree with Eric
Botcazou on that scheduling just shouldn't be enabled for -O0, and in that case
the testcase would immediately stop testing this issue.  For 2), perhaps, but
not sure what other spots would use that helper, while e.g. one spot in
cfgrtl.c has similar code, it doesn't have the same code, it tests for two bbs,
not just one, and has different behavior based on which one of them it is.
Sure, if you have time and can take over testing this, go ahead.


[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
08:30:18 UTC ---
The usual way in GCC is that gcc/configure* checks are added for assembler
features that affects preexisting ISAs, when adding new ISA extensions that
aren't enabled by default or that would be enabled by default only by the user
forcing it on by default in configure options, assembly feature tests aren't
added.  The compiler is still usable when not requesting the ISA extensions
when using older assembler.  So say when AVX or some other ISA extension
(RDRAND in this case) is added, -mrdrand will only work if assembler supports
it, and it is up to the users to ensure he has recent enough assembler if they
want to use it.
E.g. gcc/testsuite/ has for that dejagnu checks for tests that enable those
extensions and want to be assembled (or even executed).

So, I think this is something that should be tested for in libstdc++-v3
configure and enabled in the headers only if _GLIBCXX_HAVE_* macro is defined.


[Bug fortran/51632] [OOP] Bogus argument checking for generated _def_init parameter and _copy procedure with CAF

2012-09-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51632

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-03 
08:59:19 UTC ---
Fixed by introducing the artificial attribute.

TODO: Check that this patch doesn't worsen the handling of (non)polymorphic
coarray components of a polymorphic variable are properly handled for
DEALLOCATE/ALLOCATE/intrinsic assignment.


[Bug tree-optimization/54458] [4.8 Regression] ICE get_loop_body, at cfgloop.c:830

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54458

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
09:00:53 UTC ---
I will have a look.


[Bug fortran/54462] [4.8 Regression] Another segmentation fault after an error in COMMON statement after r190853

2012-09-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54462

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-03 
09:01:55 UTC ---
Rather obvious but untested draft patch:

--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -2922,4 +2922,6 @@ gfc_undo_symbols (void)
-
- st.name = st0-name;
- gfc_delete_bbt (p-ns-common_root, st, compare_symtree);
- free (st0);
+ if (st0)
+   {
+ st.name = st0-name;
+ gfc_delete_bbt (p-ns-common_root, st,
compare_symtree);
+ free (st0);
+   }


[Bug tree-optimization/54458] [4.8 Regression] ICE get_loop_body, at cfgloop.c:830

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54458

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
09:06:29 UTC ---
Cleaned up testcase (and no longer invalid):
unsigned int a, b, c;

void
foo (unsigned int x)
{
  do
{
  if (a == 0 ? 1 : 1 % a)
for (; b; b--)
  lab:;
  else
while (x)
  ;
  if (c)
goto lab;
}
  while (1);
}


[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand

2012-09-03 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419

--- Comment #17 from Marc Glisse glisse at gcc dot gnu.org 2012-09-03 
09:43:13 UTC ---
(In reply to comment #16)
 So, I think this is something that should be tested for in libstdc++-v3
 configure and enabled in the headers only if _GLIBCXX_HAVE_* macro is defined.

One issue here is that this affects the list of symbols exported from the
library. Maybe moving __x86_rdrand back to an inline function in the headers
would make using _GLIBCXX_HAVE_* more acceptable?


[Bug target/33135] [SH] -ffinite-math-only should not be on by default

2012-09-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33135

Oleg Endo olegendo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #15 from Oleg Endo olegendo at gcc dot gnu.org 2012-09-03 
09:46:40 UTC ---
Leftover of this issue in gcc/common/sh/sh-common.c has been removed.  Closed
again.


[Bug target/54418] [4.8 Regression] [SH] Invalid operands for opcode

2012-09-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54418

Oleg Endo olegendo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #5 from Oleg Endo olegendo at gcc dot gnu.org 2012-09-03 09:48:35 
UTC ---
Fixed.


[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419

--- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
09:48:17 UTC ---
If it is exported from the library, then it surely can't depend on configure
checks and must have a fallback in that case (/dev/random reading?).
Inlines that aren't exported from the library could be configure option
dependent.


[Bug c/54360] missed optimization: unnecessary indirect call

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54360

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
09:53:37 UTC ---
.


[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-09-03
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:00:00 UTC ---
Alias (points-to analysis) should handle

 p_1 = COND_EXPR ..., p_2, p_3;

by computing p_1 = ... U p_2 U p_3 (yes, it unions the condition ...).

Mine for the PTA part.  I understand that the testcase doesn't fail right now
because it misses your patch.


[Bug target/54373] [4.7/4.8 Regression]: build fails for mmix-knuth-mmixware libobjc GCC_NO_EXECUTABLES

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54373

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.2


[Bug target/53988] [SH] tst Rm,Rn not used for QI/HImode

2012-09-03 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53988

--- Comment #1 from Oleg Endo olegendo at gcc dot gnu.org 2012-09-03 10:01:46 
UTC ---
Omitting the sign/zero extensions is not safe for calculated QImode / HImode
values, only after the extending loads.  However, I guess it would still be a
little bit better to do something like:

  r5 calculated somehow
  r6 calculated somehow
  extu.b   r5,r1 ! zero-extend only one operand
  tst r1,r6
  bf  .Lsomething

This would at least reduce R0 pressure.


[Bug regression/54374] analysis for may be used uninitialized degraded...

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54374

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:05:18 UTC ---
Works for me:

 gcc-4.6 -O2 -Wall -S e?.c -m32
e0.c: In function 'main':
e0.c:277:21: warning: 'level' may be used uninitialized in this function
[-Wuninitialized]
e0.c:279:12: warning: 'portno' may be used uninitialized in this function
[-Wuninitialized]
e1.c: In function 'main':
e1.c:277:11: warning: 'level' may be used uninitialized in this function
[-Wuninitialized]
e1.c:277:11: warning: 'portno' may be used uninitialized in this function
[-Wuninitialized]


[Bug middle-end/54385] [4.8 regression] ICE in pre_and_rev_post_order_compute, at cfganal.c:873

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54385

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.0


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54402

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.0


[Bug middle-end/54400] recognize haddpd

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54400

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-03
  Component|target  |middle-end
 Blocks||53947
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:12:36 UTC ---
The basic-block vectorizer does not handle reductions and it would be another
natural place to perform this optimization.


[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand

2012-09-03 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419

Marc Glisse glisse at gcc dot gnu.org changed:

   What|Removed |Added

 CC||glisse at gcc dot gnu.org

--- Comment #19 from Marc Glisse glisse at gcc dot gnu.org 2012-09-03 
10:11:58 UTC ---
Actually I misremembered, that function is not exported. And all the affected
functions are in the library, so it shouldn't be possible to get inconsistent
mixes. Sorry, forget my previous comment, *_HAVE_* seems fine.


[Bug c/54408] sqrt for vector types

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54408

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-03
 CC||jsm28 at gcc dot gnu.org
  Component|other   |c
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:17:11 UTC ---
Hmm, I suppose the extension would be to the C type-generic math piece.  Of
course that would require library support for most routines (and an ABI for
them) or GCC, if no such routine is specified, expanding to a call for each
vector component.  Just special-casing sqrt may be convenient but odd.

Joseph, any input?


[Bug rtl-optimization/54455] [4.7/4.8 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418

2012-09-03 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455

--- Comment #12 from Zdenek Sojka zsojka at seznam dot cz 2012-09-03 10:17:15 
UTC ---
If I remember correctly, the original testcase ICEs the same way with -O.
eg.
$ gcc -fschedule-insns -fselective-scheduling --param
max-sched-extend-regions-iters=8 gcc.c-torture/compile/pr51767.c -O

This reduced testcase ICEs at a different place with -O. (I cannot test it
right now)


[Bug middle-end/54400] recognize haddpd

2012-09-03 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54400

--- Comment #3 from Marc Glisse glisse at gcc dot gnu.org 2012-09-03 10:21:48 
UTC ---
(In reply to comment #2)
 The basic-block vectorizer does not handle reductions and it would be another
 natural place to perform this optimization.

I thought about turning a PLUS_EXPR of BIT_FIELD_REF into a REDUC_PLUS_EXPR (in
forwprop), but that wouldn't handle the MINUS_EXPR case (can still be worth
doing though, especially if the code is common to the other reductions).


[Bug middle-end/54409] [4.8 Regression] internal compiler error: in remap_predicate, at ipa-inline-analysis.c:2710

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54409

--- Comment #12 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:26:33 UTC ---
(In reply to comment #11)
 (In reply to comment #10)
  This commit or the previous one caused a lot of ICEs (see
  http://gcc.gnu.org/ml/gcc-testresults/2012-08/msg02988.html):
  
  /opt/gcc/work/gcc/testsuite/gfortran.dg/bound_7.f90: In function 'MAIN__':
  /opt/gcc/work/gcc/testsuite/gfortran.dg/bound_7.f90:168:0: internal compiler
  error: vector VEC(T,base) replace domain error, in predicate_for_phi_result 
  at
  ipa-inline-analysis.c:2164
 call sub2
   ^
 
 It was the previous one, either calculate_dominance_info or
 loop_optimizer_init grow SSANAMES of a function which I did not
 expect.
 
 I'm sorry, I do not know what went wring when I was testing the
 patches.  I'm bootstrapping a simple fix:
 
 2012-08-31  Martin Jambor  mjam...@suse.cz
 
 * ipa-inline-analysis.c (estimate_function_body_sizes): Allocate
 nonconstant_names after calculate_dominance_info and
 loop_optimizer_init.
 
 Index: src/gcc/ipa-inline-analysis.c
 ===
 --- src.orig/gcc/ipa-inline-analysis.c
 +++ src/gcc/ipa-inline-analysis.c
 @@ -2185,13 +2185,6 @@ estimate_function_body_sizes (struct cgr
struct ipa_node_params *parms_info = NULL;
VEC (predicate_t, heap) *nonconstant_names = NULL;
 
 -  if (ipa_node_params_vector  !early  optimize)
 -{
 -  parms_info = IPA_NODE_REF (node);
 -  VEC_safe_grow_cleared (predicate_t, heap, nonconstant_names,
 - VEC_length (tree, SSANAMES (my_function)));
 -}
 -
info-conds = 0;
info-entry = 0;
 
 @@ -2199,6 +2192,13 @@ estimate_function_body_sizes (struct cgr
  {
calculate_dominance_info (CDI_DOMINATORS);
loop_optimizer_init (LOOPS_NORMAL | LOOPS_HAVE_RECORDED_EXITS);
 +
 +  if (ipa_node_params_vector)
 +{
 +  parms_info = IPA_NODE_REF (node);
 +  VEC_safe_grow_cleared (predicate_t, heap, nonconstant_names,
 + VEC_length (tree, SSANAMES (my_function)));
 +}
  }
 
if (dump_file)

That looks quite wasteful ... that vector will be extremely sparse.


[Bug middle-end/54417] lto1: internal compiler error: in edge_badness, at ipa-inline.c:793 with -profile-generate/profile-use

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54417

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2012-09-03
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:30:10 UTC ---
Waiting for a testcase.


[Bug c++/54420] [4.6/4.7/4.8 Regression] Segmentation fault in decl_mangling_context

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54420

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
  Known to work||4.1.2
   Target Milestone|--- |4.6.4
Summary|Segmentation fault in   |[4.6/4.7/4.8 Regression]
   |decl_mangling_context   |Segmentation fault in
   ||decl_mangling_context


[Bug rtl-optimization/54421] Extra movdqa when accessing quadwords in a 128-bit SSE register

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54421

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-03
  Component|target  |rtl-optimization
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:34:31 UTC ---
Confirmed.


[Bug tree-optimization/54422] Merge adjacent stores of elements of a vector (or loads)

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54422

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:36:59 UTC ---
Might be again a target for the basic-block vectorizer (though the vectorizer
doesn't exactly deal well with pre-existing vector types).  Or a tree-level
store combiner, looking at the bugs you cite.


[Bug c++/54427] Expose more vector extensions

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54427

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-03
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:37:58 UTC ---
Confirmed.


[Bug c++/54437] [4.8 Regression] Revision 190664 causes Firefox build failure

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54437

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
Version|unknown |4.8.0
   Target Milestone|--- |4.8.0


[Bug c++/54441] [4.7/4.8 Regression] Infinite loop with brace initializer on zero-length array

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54441

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Known to work||4.6.3
   Keywords||diagnostic
   Last reconfirmed||2012-09-03
 Ever Confirmed|0   |1
Summary|Infinite loop with brace|[4.7/4.8 Regression]
   |initializer on zero-length  |Infinite loop with brace
   |array   |initializer on zero-length
   ||array
   Target Milestone|--- |4.7.2

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:41:11 UTC ---
Confirmed.  4.6 rejects the testcase with

t.C: In function 'int main()':
t.C:5:22: error: expected primary-expression before '.' token
t.C:5:16: warning: unused variable 's' [-Wunused-variable]


[Bug tree-optimization/54449] [4.8 Regression] ICE: vector VEC(T,base) index domain error, in will_be_nonconstant_expr_predicate at ipa-inline-analysis.c:1853 with -O -fno-guess-branch-probability

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54449

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.8.0

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:41:30 UTC ---
Fixed.


[Bug bootstrap/54453] [4.8 Regression] r190783 breaks bootstrap on powerpc64-unknown-linux-gnu

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54453

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.0


[Bug tree-optimization/46590] [4.6/4.7/4.8 Regression] long compile time with -O2 and many loops

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46590

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #33 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
10:45:06 UTC ---
Not mine anymore.


[Bug middle-end/54409] [4.8 Regression] internal compiler error: in remap_predicate, at ipa-inline-analysis.c:2710

2012-09-03 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54409

--- Comment #13 from Martin Jambor jamborm at gcc dot gnu.org 2012-09-03 
10:51:34 UTC ---
(In reply to comment #12)
 
 That looks quite wasteful ... that vector will be extremely sparse.

Do you mean that it will be wasteful after the patch or in general?

In any case, we deallocate it at the end of the same function
(estimate_function_body_sizes) so it might not really matter compared
to more persistent allocations?


[Bug c++/54466] New: Recursive Type Alias, Member Function Pointer, Segmentation Fault

2012-09-03 Thread mattyclarkson at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54466

 Bug #: 54466
   Summary: Recursive Type Alias, Member Function Pointer,
Segmentation Fault
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mattyclark...@gmail.com


Created attachment 28122
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28122
The preprocessed dump from the error.

The following code fails with a segmentation fault:

#include memory

templatetypename T
using CallbackPtr = const std::shared_ptrconst T;

templatetypename C, typename T
using CallbackFunPtr = void (C::*)(CallbackPtrT);

int main () {
return 0;
}

[matt test] g++ --std=c++11 -Wall -Wextra -Werror -pedantic -pedantic-errors
main.cpp
main.cpp:7:49: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugzilla.redhat.com/bugzilla for instructions.
Preprocessed source stored into /tmp/ccuw4zjD.out file, please attach this to
your bugreport.

However changing CallbackFunPtr to:

templatetypename C, typename T
using CallbackFunPtr = void (C::*)(const std::shared_ptrconst T);

It's OK.

[matt test] uname -r
3.5.2-3.fc17.x86_64
[matt test] gcc --version
gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


[Bug bootstrap/54453] [4.8 Regression] r190783 breaks bootstrap on powerpc64-unknown-linux-gnu

2012-09-03 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54453

--- Comment #7 from Mikael Pettersson mikpe at it dot uu.se 2012-09-03 
11:29:09 UTC ---
Bootstrap on sparc64-linux succeeded with Steven's patch applied.


[Bug debug/53923] [4.8 Regression] ICE: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at rtl.h:1091

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53923

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
11:42:34 UTC ---
Author: jakub
Date: Mon Sep  3 11:42:31 2012
New Revision: 190883

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190883
Log:
PR debug/53923
* valtrack.c (dead_debug_insert_temp): Drop non-reg uses
from the chain.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/valtrack.c


[Bug fortran/54467] New: f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213

2012-09-03 Thread mario-baumann at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54467

 Bug #: 54467
   Summary: f951: internal compiler error: in
gfc_add_component_ref, at fortran/class.c:213
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mario-baum...@web.de


Created attachment 28123
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28123
fortran 90 source

Attached f90 source file failed during compilation with -O0. It worked fine
with 4.7.1.

 gfortran -m64 -O0 -c foo.f90
f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

---

 uname -a
Linux ahsoka.intec.dom 2.6.32-279.5.2.el6.x86_64 #1 SMP Tue Aug 14 11:36:39 EDT
2012 x86_64 x86_64 x86_64 GNU/Linux

 rpm -qa glibc* | grep -e 'glibc-[0-9]' | sort -u
glibc-2.12-1.80.el6_3.5.i686
glibc-2.12-1.80.el6_3.5.x86_64

 g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/app2/gcc/4.8.0-20120903-svn190873/x86_64/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/app2/gcc/4.8.0-20120903-svn190873/x86_64
--enable-languages=c,c++,fortran --disable-nls
--with-gmp=/app2/gcc/4.8.0-20120903-svn190873/x86_64/aux
--with-mpfr=/app2/gcc/4.8.0-20120903-svn190873/x86_64/aux
--with-mpc=/app2/gcc/4.8.0-20120903-svn190873/x86_64/aux
--with-ppl=/app2/gcc/4.8.0-20120903-svn190873/x86_64/aux
--with-isl=/app2/gcc/4.8.0-20120903-svn190873/x86_64/aux
--with-cloog=/app2/gcc/4.8.0-20120903-svn190873/x86_64/aux
Thread model: posix
gcc version 4.8.0 20120903 (experimental) (GCC) 

 ld -v
GNU ld (GNU Binutils) 2.23.51.20120903


[Bug debug/53923] [4.8 Regression] ICE: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at rtl.h:1091

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53923

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 2012-09-03 
12:11:39 UTC ---
Fixed.


[Bug fortran/54467] f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213

2012-09-03 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54467

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 CC||bur...@net-b.de

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-09-03 
12:17:18 UTC ---
I don't see it at revision 190862. This could be related to the bunch of new
failures seen at r190872:
see http://gcc.gnu.org/ml/gcc-testresults/2012-09/msg00160.html


[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
13:24:13 UTC ---
Author: rguenth
Date: Mon Sep  3 13:24:07 2012
New Revision: 190889

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190889
Log:
2012-09-03  Richard Guenther  rguent...@suse.de

PR tree-optimization/54362
* tree-ssa-structalias.c (find_func_aliases): Handle COND_EXPR.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-structalias.c


[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
13:26:22 UTC ---
PTA part fixed.


[Bug libstdc++/54468] New: type trait is_unsigned...::value for C++11 enum class with underlying unsigned type not true

2012-09-03 Thread mhcox at bluezoosoftware dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54468

 Bug #: 54468
   Summary: type trait is_unsigned...::value for C++11 enum
class with underlying unsigned type not true
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mh...@bluezoosoftware.com


The is_unsigned type trait is not detecting the underlying signedness of a
C++11 enum class or enum.

The output of:

#include iostream
#include type_traits

using namespace std;

int main()
{
   enum class enum_class_type: unsigned char
   {
   ENUM_CLASS_VALUE0,
   ENUM_CLASS_VALUE1
   };
   cout  boolalpha  is_enumenum_class_type::value =  
is_enumenum_class_type::value  endl;
   cout  is_unsignedenum_class_type::value =  
is_unsignedenum_class_type::value  endl;

   enum enum_type: unsigned char
   {
   ENUM_VALUE0,
   ENUM_VALUE1
   };
   cout  boolalpha  is_enumenum_type::value =  
is_enumenum_type::value  endl;
   cout  is_unsignedenum_type::value =   is_unsignedenum_type::value
 endl;
}

should be:

is_enumenum_class_type::value = true
is_unsignedenum_class_type::value = true
is_enumenum_type::value = true
is_unsignedenum_type::value = true

but is:

is_enumenum_class_type::value = true
is_unsignedenum_class_type::value = false
is_enumenum_type::value = true
is_unsignedenum_type::value = false


[Bug fortran/54463] -fdefault-real-8 does not promote the BLAS call when using -fexternal-blas

2012-09-03 Thread sgk at troutmask dot apl.washington.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54463

--- Comment #3 from Steve Kargl sgk at troutmask dot apl.washington.edu 
2012-09-03 13:38:36 UTC ---
On Mon, Sep 03, 2012 at 06:14:22AM +, burnus at gcc dot gnu.org wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54463
 
 Tobias Burnus burnus at gcc dot gnu.org changed:
 
What|Removed |Added
 
  CC||burnus at gcc dot gnu.org
Severity|enhancement |normal
 
 --- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-03 
 06:14:22 UTC ---
 The following should work. I am not too kind to have magic numbers, maybe that
 part could be improved.
 
 --- a/gcc/fortran/trans-intrinsic.c
 +++ b/gcc/fortran/trans-intrinsic.c
 @@ -2364,4 +2364,3 @@ gfc_conv_intrinsic_funcall (gfc_se * se, gfc_expr * 
 expr)
(sym-ts.type == BT_REAL || sym-ts.type == BT_COMPLEX)
 -  (sym-ts.kind == gfc_default_real_kind
 - || sym-ts.kind == gfc_default_double_kind))
 +  (sym-ts.kind == 4 || sym-ts.kind == 8))

What about -freal-4-real-10 -freal-4-real-16 -freal-4-real-8
-freal-8-real-10 -freal-8-real-16 and -freal-8-real-4?  See
my initial response.  The correct solution it write proper
Fortran.


[Bug middle-end/54409] [4.8 Regression] internal compiler error: in remap_predicate, at ipa-inline-analysis.c:2710

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54409

--- Comment #14 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
13:48:05 UTC ---
(In reply to comment #13)
 (In reply to comment #12)
  
  That looks quite wasteful ... that vector will be extremely sparse.
 
 Do you mean that it will be wasteful after the patch or in general?

In general.

 In any case, we deallocate it at the end of the same function
 (estimate_function_body_sizes) so it might not really matter compared
 to more persistent allocations?

Ah, indeed.


[Bug fortran/54467] [4.8 Regression] f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54467

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-03
   Target Milestone|--- |4.8.0
Summary|f951: internal compiler |[4.8 Regression] f951:
   |error: in   |internal compiler error: in
   |gfc_add_component_ref, at   |gfc_add_component_ref, at
   |fortran/class.c:213 |fortran/class.c:213
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
13:49:04 UTC ---
Confirmed.


[Bug fortran/54467] [4.8 Regression] f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213

2012-09-03 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54467

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-09-03 
14:06:31 UTC ---
Author: burnus
Date: Mon Sep  3 14:06:27 2012
New Revision: 190892

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190892
Log:
2012-09-03  Tobias Burnus  bur...@net-b.de

PR fortran/54467
* class.c (gfc_find_derived_vtab): Fix disabling of _final
by continuing to generate normal type-bound procedures.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/class.c


[Bug tree-optimization/54458] [4.8 Regression] ICE get_loop_body, at cfgloop.c:830

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54458

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
14:27:27 UTC ---
I'm testing

Index: gcc/tree-ssa-threadupdate.c
===
--- gcc/tree-ssa-threadupdate.c (revision 190889)
+++ gcc/tree-ssa-threadupdate.c (working copy)
@@ -1037,11 +1037,21 @@ thread_through_loop_header (struct loop
}
   free (bblocks);

+  /* If the new header has multiple latches mark it so.  */
+  FOR_EACH_EDGE (e, ei, loop-header-preds)
+   if (e-src-loop_father == loop
+e-src != loop-latch)
+ {
+   loop-latch = NULL;
+   loops_state_set (LOOPS_MAY_HAVE_MULTIPLE_LATCHES);
+ }
+
   /* Cancel remaining threading requests that would make the
 loop a multiple entry loop.  */
   FOR_EACH_EDGE (e, ei, header-preds)


[Bug bootstrap/54138] [4.8 Regression] configuring --without-cloog but executable links against system cloog

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54138

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
14:40:22 UTC ---
Author: rguenth
Date: Mon Sep  3 14:40:17 2012
New Revision: 190895

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190895
Log:
2012-09-03  Richard Guenther  rguent...@suse.de

PR bootstrap/54138
* configure.ac: Re-organize ISL / CLOOG checks to allow
disabling with either --without-isl or --without-cloog.
* configure: Regenerated.
* config/cloog.m4: Adjust.
* config/isl.m4: Adjust.

Modified:
trunk/ChangeLog
trunk/config/ChangeLog
trunk/config/cloog.m4
trunk/config/isl.m4
trunk/configure
trunk/configure.ac


[Bug bootstrap/54138] [4.8 Regression] configuring --without-cloog but executable links against system cloog

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54138

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
14:40:22 UTC ---
Author: rguenth
Date: Mon Sep  3 14:40:17 2012
New Revision: 190895

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190895
Log:
2012-09-03  Richard Guenther  rguent...@suse.de

PR bootstrap/54138
* configure.ac: Re-organize ISL / CLOOG checks to allow
disabling with either --without-isl or --without-cloog.
* configure: Regenerated.
* config/cloog.m4: Adjust.
* config/isl.m4: Adjust.

Modified:
trunk/ChangeLog
trunk/config/ChangeLog
trunk/config/cloog.m4
trunk/config/isl.m4
trunk/configure
trunk/configure.ac

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-03 
14:41:14 UTC ---
Fixed.


[Bug bootstrap/54138] [4.8 Regression] configuring --without-cloog but executable links against system cloog

2012-09-03 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54138

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 2012-09-03 
14:41:14 UTC ---
Fixed.


[Bug fortran/54463] -fdefault-real-8 does not promote the BLAS call when using -fexternal-blas

2012-09-03 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54463

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-09-03
 Ever Confirmed|0   |1

--- Comment #4 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-09-03 
15:01:31 UTC ---
 What about -freal-4-real-10 -freal-4-real-16 -freal-4-real-8
 -freal-8-real-10 -freal-8-real-16 and -freal-8-real-4?  See
 my initial response. ...

I have made the following change to the original test

program test
implicit none
integer, parameter :: n = 100
real(8), dimension(n,n) :: A
A = 1.1_8
A = matmul(A,A)
print *, A(1,1), A(n,n)
end program test

(n is chosen larger than the blas-matmul-limit, 30 IIRC). So I got

[macbook] f90/bug% gfc -fexternal-blas pr54463_db.f90
Undefined symbols:
  _dgemm_, referenced from:
  _MAIN__ in ccj9WebD.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
[macbook] f90/bug% gfc -fexternal-blas -freal-8-real-4 pr54463_db.f90
Undefined symbols:
  _sgemm_, referenced from:
  _MAIN__ in ccvXhCex.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
[macbook] f90/bug% gfc -fexternal-blas pr54463_db.f90 -L/sw64/lib -lptlapack
-lptcblas -lptf77blas -latlas
[macbook] f90/bug% a.out
   121.06120.74 
[macbook] f90/bug% gfc -fexternal-blas -freal-8-real-4 pr54463_db.f90
-L/sw64/lib -lptlapack -lptcblas -lptf77blas -latlas
[macbook] f90/bug% a.out
   121.00   120.24

i.e., -freal-8-real-4 seems to work as expected.

Then I changed pr54463_db.f90 to pr54463_db_1.f90 by replacing real(8) with
real, and I got

macbook] f90/bug% gfc -fexternal-blas pr54463_db_1.f90
Undefined symbols:
  _sgemm_, referenced from:
  _MAIN__ in ccznZgF3.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
[macbook] f90/bug% gfc -fexternal-blas -freal-4-real-8 pr54463_db_1.f90
Undefined symbols:
  _sgemm_, referenced from:
  _MAIN__ in ccN7UdCe.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
[macbook] f90/bug% gfc -fexternal-blas -freal-4-real-8 pr54463_db_1.f90
-L/sw64/lib -lptlapack -lptcblas -lptf77blas -latlas
[macbook] f90/bug% a.out
   0.0. 
[macbook] f90/bug% gfc -fexternal-blas pr54463_db_1.f90 -L/sw64/lib -lptlapack
-lptcblas -lptf77blas -latlas
[macbook] f90/bug% a.out
   121.00   120.24

i.e., -freal-4-real-8, as well as -fdefault-real-8, -freal-4-real-10,
-freal-4-real-16, and -freal-8-real-16, are not working as I'ld expect.

IMO there are four ways to handle this PR:

(1) the Steve's way: closing it as WONTFIX, but I ready to bet a meal in a good
restaurant in Paris next time that sooner or later another PR will be filled;

(2) add to the manual for -fexternal-blas something along the line: Presently
the -fexternal-blas option is incompatible with the -f*-real-* ones; this
could be effective if the knowledge of -fexternal-blas propagates through RTFM,
but not if it propagates through mailing lists;

(3) gives an error if -fexternal-blas is used with one of the -f*-real-*
options; IIRC some conbinations of options already give such errors, so either
there is a general way to do it or some code could be borrowed;

(4) since the combination '-fexternal-blas -freal-8-real-4' seems to work, 
some day, someone can try to figure out why and why the other ones are not and
provide a proper fix.

(2) is very easy, but I think (4) would be better (with a low priority).


[Bug tree-optimization/46590] [4.6/4.7/4.8 Regression] long compile time with -O2 and many loops

2012-09-03 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46590

--- Comment #34 from Michael Matz matz at gcc dot gnu.org 2012-09-03 15:39:20 
UTC ---
Author: matz
Date: Mon Sep  3 15:39:15 2012
New Revision: 190897

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190897
Log:
PR tree-optimization/46590
* tree-cfg.c (gimple_duplicate_sese_region): Don't update
SSA web here ...
* tree-ssa-loop-ch.c (copy_loop_headers): ... but here.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-cfg.c
trunk/gcc/tree-ssa-loop-ch.c


[Bug bootstrap/54453] [4.8 Regression] r190783 breaks bootstrap on powerpc64-unknown-linux-gnu

2012-09-03 Thread dougmencken at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54453

--- Comment #8 from Douglas Mencken dougmencken at gmail dot com 2012-09-03 
15:45:09 UTC ---
Why the ``Revert a few Makefile.am regexps'' is still not committed? This sed
gotcha is not about single architecture, not about bit-wideness (32- or
64-bit), it's very common. And that patch does definitely fix bootstrap.


[Bug c/54408] sqrt for vector types

2012-09-03 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54408

--- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2012-09-03 15:47:38 UTC ---
Built-in mathematical functions are generally type-generic where they 
correspond to type-generic math.h macros (e.g. isgreater, isnan), not 
otherwise.  (__builtin_signbit should be changed to type-generic: bug 
36757.)

I think __builtin_sqrt should be expected to correspond directly to the 
sqrt (double) library function rather than being type-generic - thus, I 
think vector versions of library functions (where those functions are not 
type-generic) should be separate from the normal built-in versions of 
those functions (e.g. define __builtin_vec_sqrt - which could itself be 
type-generic over different vector types).

Remember to define, both at the language level and at the ABI level, 
things such as how such a built-in function handles errors / exceptional 
values (and whether or not this depends at the language level on the 
various -f options that affect this for ordinary C language arithmetic and 
library calls).


[Bug c/54363] [4.6/4.7/4.8 Regression] ICE when compiling malformed struct initializers

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
16:02:59 UTC ---
Author: jakub
Date: Mon Sep  3 16:02:52 2012
New Revision: 190898

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190898
Log:
Backported from mainline
2012-08-24  Jakub Jelinek  ja...@redhat.com

PR c/54363
* gimplify.c (optimize_compound_literals_in_ctor): Only recurse
if init is a CONSTRUCTOR.

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

Added:
branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/pr54363.c
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/gimplify.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c/54428] [4.7/4.8 Regression] ICE in gimplify_expr, at gimplify.c:7591

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54428

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
16:04:25 UTC ---
Author: jakub
Date: Mon Sep  3 16:04:19 2012
New Revision: 190899

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190899
Log:
Backported from mainline
2012-08-31  Jakub Jelinek  ja...@redhat.com

PR c/54428
* c-convert.c (convert): Don't call fold_convert_loc if
TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
COMPLEX_TYPE - COMPLEX_TYPE conversion.

* gcc.c-torture/compile/pr54428.c: New test.

Added:
branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54428.c
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/c-convert.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug target/54436] [4.7/4.8 Regression] Compiling some regular C++ code gives assembler '700415 shortened to 255' warning

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54436

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
16:05:50 UTC ---
Author: jakub
Date: Mon Sep  3 16:05:44 2012
New Revision: 190900

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190900
Log:
Backported from mainline
2012-09-01  Jakub Jelinek  ja...@redhat.com

PR target/54436
* config/i386/i386.md (*movmode_insv_1_rex64, *movsi_insv_1): If
operands[1] is CONST_INT_P, convert it to QImode before printing.

* gcc.dg/torture/pr54436.c: New test.

Added:
branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/torture/pr54436.c
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/i386/i386.md
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c/54363] [4.6 Regression] ICE when compiling malformed struct initializers

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363

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 |
Summary|[4.6/4.7/4.8 Regression]|[4.6 Regression] ICE when
   |ICE when compiling  |compiling malformed struct
   |malformed struct|initializers
   |initializers|

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
16:06:50 UTC ---
Fixed for 4.7+ so far.


[Bug c/54428] [4.7/4.8 Regression] ICE in gimplify_expr, at gimplify.c:7591

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54428

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
16:07:23 UTC ---
Fixed.


[Bug target/54436] [4.7/4.8 Regression] Compiling some regular C++ code gives assembler '700415 shortened to 255' warning

2012-09-03 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54436

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-03 
16:09:10 UTC ---
Fixed.  Without the fix you get the assembler warning, but that should be
harmless, as the assembler should truncate the value to the 8-bit value anyway,
what the compiler does with the fix previously did the assembler after issuing
the warning.


[Bug ada/54469] New: FAIL: gnat.dg/array11.adb (test for warnings, line 12)

2012-09-03 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54469

 Bug #: 54469
   Summary: FAIL: gnat.dg/array11.adb  (test for warnings, line
12)
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa*-*-* (32-bit)
Target: hppa*-*-* (32-bit)
 Build: hppa*-*-* (32-bit)


Executing on host: /home/dave/gnu/gcc/objdir/gcc/gnatmake
--GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
--GNATBIND=/home/dave/gnu/gcc/objdir/gcc/gnatbind
--GNATLINK=/home/dave/gnu/gcc/objdir/gcc/gnatlink -cargs
-B/home/dave/gnu/gcc/objdir/gcc -largs
--GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc\ -B/home/dave/gnu/gcc/objdir/gcc\ 
-margs --RTS=/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libada -q -f
/home/dave/gnu/gcc/gcc/gcc/testsuite/gnat.dg/array11.adb 
-fno-diagnostics-show-caret  -c -u -S  -o array11.s(timeout = 300)
spawn /home/dave/gnu/gcc/objdir/gcc/gnatmake
--GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
--GNATBIND=/home/dave/gnu/gcc/objdir/gcc/gnatbind
--GNATLINK=/home/dave/gnu/gcc/objdir/gcc/gnatlink -cargs
-B/home/dave/gnu/gcc/objdir/gcc -largs --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdir/gcc  -margs
--RTS=/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libada -q -f
/home/dave/gnu/gcc/gcc/gcc/testsuite/gnat.dg/array11.adb
-fno-diagnostics-show-caret -c -u -S -o array11.
sarray11.adb:8:08: warning: component of Arr1 padded by 8 bits
array11.adb:9:08: warning: component of Arr2 padded by 8 bits
output is:
array11.adb:8:08: warning: component of Arr1 padded by 8 bits
array11.adb:9:08: warning: component of Arr2 padded by 8 bits
Executing on host: /home/dave/gnu/gcc/objdir/gcc/gnatclean -c -q -n array11  
(timeout = 300)
spawn /home/dave/gnu/gcc/objdir/gcc/gnatclean -c -q -n array11
./array11.ali
./array11.s
PASS: gnat.dg/array11.adb  (test for warnings, line 8)
PASS: gnat.dg/array11.adb  (test for warnings, line 9)
FAIL: gnat.dg/array11.adb  (test for warnings, line 12)
PASS: gnat.dg/array11.adb (test for excess errors)

The following fail may be related:
Executing on host: /home/dave/gnu/gcc/objdir/gcc/gnatmake
--GCC=/home/dave/gnu/g
cc/objdir/gcc/xgcc --GNATBIND=/home/dave/gnu/gcc/objdir/gcc/gnatbind
--GNATLINK=/home/dave/gnu/gcc/objdir/gcc/gnatlink -cargs
-B/home/dave/gnu/gcc/objdir/gcc -largs
--GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc\ -B/home/dave/gnu/gcc/objdir/gcc\ 
-margs --RTS=/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libada -q -f
/home/dave/gnu/gcc/gcc/gcc/testsuite/gnat.dg/object_overflow.adb 
-fno-diagnostics-show-caret  -c -u -S  -o object_overflow.s(timeout =
300)spawn /home/dave/gnu/gcc/objdir/gcc/gnatmake
--GCC=/home/dave/gnu/gcc/objdir/gcc
/xgcc --GNATBIND=/home/dave/gnu/gcc/objdir/gcc/gnatbind
--GNATLINK=/home/dave/gnu/gcc/objdir/gcc/gnatlink -cargs
-B/home/dave/gnu/gcc/objdir/gcc -largs --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdir/gcc  -margs
--RTS=/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libada -q -f
/home/dave/gnu/gcc/gcc/gcc/testsuite/gnat.dg/object_overflow.adb
-fno-diagnostics-show-caret -c -u -S -o object_overflow.sExecuting on host:
/home/dave/gnu/gcc/objdir/gcc/gnatclean -c -q -n object_overf
low   (timeout = 300)spawn /home/dave/gnu/gcc/objdir/gcc/gnatclean -c -q -n
object_overflow
./object_overflow.ali
./object_overflow.s
FAIL: gnat.dg/object_overflow.adb  (test for warnings, line 8)
PASS: gnat.dg/object_overflow.adb (test for excess errors)


[Bug middle-end/54470] New: FAIL: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray4[^\\n]*inline copy in test4

2012-09-03 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54470

 Bug #: 54470
   Summary: FAIL: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline
hooray4[^\\n]*inline copy in test4
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa*-*-* (32-bit)
Target: hppa*-*-* (32-bit)
 Build: hppa*-*-* (32-bit)


Created attachment 28124
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28124
ipa inline dump

Executing on host: /home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdir/gcc/
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/ipa/iinline-4.c 
-fno-diagnostics-show-caret   -O3 -fdump-ipa-inline -fno-early-inlining -S  -o
iinline-4.s(timeout = 300)
spawn /home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/gcc/
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/ipa/iinline-4.c
-fno-diagnostics-show-caret -O3 -fdump-ipa-inline -fno-early-inlining -S -o
iinline-4.s
PASS: gcc.dg/ipa/iinline-4.c (test for excess errors)
PASS: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray1[^\\n]*inline copy in
test1
PASS: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray2[^\\n]*inline copy in
test2
PASS: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray3[^\\n]*inline copy in
test3
FAIL: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray4[^\\n]*inline copy in
test4
PASS: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray5[^\\n]*inline copy in
test5
PASS: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray6[^\\n]*inline copy in
test6
PASS: gcc.dg/ipa/iinline-4.c scan-ipa-dump inline hooray7[^\\n]*inline copy in
test7


[Bug rtl-optimization/54455] [4.7/4.8 Regression] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418

2012-09-03 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455

--- Comment #13 from Zdenek Sojka zsojka at seznam dot cz 2012-09-03 17:44:57 
UTC ---
(In reply to comment #12)
 If I remember correctly, the original testcase ICEs the same way with -O.
 eg.
 $ gcc -fschedule-insns -fselective-scheduling --param
 max-sched-extend-regions-iters=8 gcc.c-torture/compile/pr51767.c -O
 
 This reduced testcase ICEs at a different place with -O. (I cannot test it
 right now)

Actually, with -O1, the ICE is at a different place:
$ gcc -fschedule-insns -fselective-scheduling --param
max-sched-extend-regions-iters=8 gcc.c-torture/compile/pr51767.c -O
gcc.c-torture/compile/pr51767.c: In function ‘bar’:
gcc.c-torture/compile/pr51767.c:23:1: internal compiler error: RTL check:
expected elt 3 type 'B', have '0' (rtx barrier) in rtl_verify_flow_info_1, at
cfgrtl.c:2052
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

So it might be a different problem.


[Bug tree-optimization/54471] New: [4.8 Regression] FAIL: gcc.dg/sms-8.c execution test

2012-09-03 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54471

 Bug #: 54471
   Summary: [4.8 Regression] FAIL: gcc.dg/sms-8.c execution test
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa*-*-* (32-bit)
Target: hppa*-*-* (32-bit)
 Build: hppa*-*-* (32-bit)


Executing on host: /home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdir/gcc/
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/sms-8.c 
-fno-diagnostics-show-caret   -O2 -fmodulo-sched -fmodulo-sched-allow-regmoves
-fdump-rtl-sms --para
m sms-min-sc=1  -lm   -o ./sms-8.exe(timeout = 300)spawn
/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/gcc/
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/sms-8.c -fno-diagnostics-show-caret
-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms --param
sms-min-sc=1 -
lm -o ./sms-8.exe
PASS: gcc.dg/sms-8.c (test for excess errors)Setting LD_LIBRARY_PATH to
:/home/dave/gnu/gcc/objdir/gcc::/home/dave/gnu/gcc/objdir/gcc:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libstdc++-v3/src/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libmudflap/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libssp/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libgomp/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libatomic/.libs:/home/dave/gnu/gcc/objd
ir/./gcc:/home/dave/gnu/gcc/objdir/./prev-gcc
spawn [open ...]
FAIL: gcc.dg/sms-8.c execution test

(gdb) disass foo
Dump of assembler code for function foo:
   0x00010608 +0:stw rp,-14(sp)
   0x0001060c +4:ldo 40(sp),sp
= 0x00010610 +8:b,l 0x103e0,rp
   0x00010614 +12:nop

foo is reduced to a call to abort by tree optimizers.


[Bug rtl-optimization/54472] New: ICE (spill_failure): unable to find a register to spill in class 'AREG' with -O -fschedule-insns -fselective-scheduling

2012-09-03 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54472

 Bug #: 54472
   Summary: ICE (spill_failure): unable to find a register to
spill in class 'AREG' with -O -fschedule-insns
-fselective-scheduling
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zso...@seznam.cz


Created attachment 28125
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28125
reduced testcase

Compiler output:
$ gcc -O -fschedule-insns -fselective-scheduling testcase.c
testcase.c: In function 'main':
testcase.c:6:1: error: unable to find a register to spill in class 'AREG'
 }
 ^
testcase.c:6:1: error: this is the insn:
(insn 9 25 22 2 (parallel [
(set (reg:DI 2 cx [63])
(const_int 0 [0]))
(set (reg/f:DI 5 di [61])
(plus:DI (ashift:DI (reg:DI 2 cx [63])
(const_int 3 [0x3]))
(reg/f:DI 1 dx [60])))
(set (mem/c:BLK (reg/f:DI 1 dx [60]) [0 MEM[(void *)a]+0 S104
A64])
(const_int 0 [0]))
(use (reg:DI 4 si [62]))
(use (reg:DI 2 cx [63]))
]) testcase.c:4 890 {*rep_stosdi_rex64}
 (expr_list:REG_DEAD (reg:DI 4 si [62])
(expr_list:REG_DEAD (reg/f:DI 1 dx [60])
(expr_list:REG_UNUSED (reg:DI 2 cx [63])
(expr_list:REG_UNUSED (reg/f:DI 5 di [61])
(nil))
testcase.c:6:1: internal compiler error: in spill_failure, at reload1.c:2127
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

(gdb) bt
#0  0x01130b50 in fancy_abort(char const*, int, char const*) ()
#1  0x0096d5fb in _fatal_insn(char const*, rtx_def const*, char const*,
int, char const*) ()
#2  0x0096c6d0 in reload(rtx_def*, int) () at
/mnt/svn/gcc-trunk/gcc/reload1.c:2127
#3  0x0087eba2 in rest_of_handle_reload() () at
/mnt/svn/gcc-trunk/gcc/ira.c:4328
#4  0x0090092f in execute_one_pass(opt_pass*) () at
/mnt/svn/gcc-trunk/gcc/passes.c:2157
#5  0x00900ce5 in execute_pass_list(opt_pass*) () at
/mnt/svn/gcc-trunk/gcc/passes.c:2212
#6  0x00900cf7 in execute_pass_list(opt_pass*) () at
/mnt/svn/gcc-trunk/gcc/passes.c:2213
#7  0x006bdd88 in expand_function(cgraph_node*) () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1609
#8  0x006bfc2a in compile() () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1714
#9  0x006c0225 in finalize_compilation_unit() () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:2089
#10 0x005a1dc0 in c_write_global_declarations() () at
/mnt/svn/gcc-trunk/gcc/c/c-decl.c:10116
#11 0x009e8475 in compile_file() () at
/mnt/svn/gcc-trunk/gcc/toplev.c:560
#12 0x009ea03a in toplev_main(int, char**) () at
/mnt/svn/gcc-trunk/gcc/toplev.c:1863
#13 0x76e784bd in __libc_start_main () from /lib64/libc.so.6
#14 0x00584d01 in _start ()

Tested revisions:
r190830 - crash
4.7 r188682 - crash
4.6 r188682 - crash
4.5 r188682 - crash
4.4 r188682 - crash


[Bug rtl-optimization/54472] ICE (spill_failure): unable to find a register to spill in class 'AREG' with -O -fschedule-insns -fselective-scheduling

2012-09-03 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54472

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||izamyatin at gmail dot com

--- Comment #1 from Uros Bizjak ubizjak at gmail dot com 2012-09-03 18:24:59 
UTC ---
This is the problem with scheduler, where insns involving hard registers are
moved around. This part should be fixed by the WIP patch at [1].

[1] http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00810.html


[Bug driver/54335] -dm doesn't work

2012-09-03 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54335

--- Comment #4 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-09-03 
19:07:38 UTC ---
Author: hjl
Date: Mon Sep  3 19:07:34 2012
New Revision: 190902

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190902
Log:
Add -da and remove -dm in GCC manual

Backported from mainline
PR driver/54335
* doc/invoke.texi: Add -da and remove -dm.

Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/doc/invoke.texi


[Bug driver/54335] -dm doesn't work

2012-09-03 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54335

--- Comment #5 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-09-03 
19:08:54 UTC ---
Author: hjl
Date: Mon Sep  3 19:08:51 2012
New Revision: 190903

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190903
Log:
Add -da and remove -dm in GCC manual

Backported from mainline
PR driver/54335
* doc/invoke.texi: Add -da and remove -dm.

Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/doc/invoke.texi


[Bug driver/54335] -dm doesn't work

2012-09-03 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54335

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

   What|Removed |Added

 Status|NEW |RESOLVED
Version|4.8.0   |4.6.3
 Resolution||FIXED
   Target Milestone|--- |4.6.4

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com 2012-09-03 19:10:26 
UTC ---
Fixed.


[Bug tree-optimization/53395] [4.8 Regression] The LAPACK functions i(d|s)amax are more than two times slower after revision 187183

2012-09-03 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53395

--- Comment #10 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-03 
20:31:55 UTC ---
Author: pinskia
Date: Mon Sep  3 20:31:52 2012
New Revision: 190904

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190904
Log:
2012-09-03  Andrew Pinski  apin...@cavium.com

PR tree-opt/53395
* tree-if-conv.c (constant_or_ssa_name): New function.
(fold_build_cond_expr): New function.
(predicate_scalar_phi): Use fold_build_cond_expr instead of build3.
(predicate_mem_writes): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-if-conv.c


[Bug tree-optimization/53395] [4.8 Regression] The LAPACK functions i(d|s)amax are more than two times slower after revision 187183

2012-09-03 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53395

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #11 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-03 
20:32:33 UTC ---
Fixed.


[Bug c/54473] New: Compiling advancemame on raspberry pi yields unrecognizable insn

2012-09-03 Thread patenaude at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54473

 Bug #: 54473
   Summary: Compiling advancemame on raspberry pi yields
unrecognizable insn
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: patena...@gmail.com


Created attachment 28126
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28126
preprocessed file that produces the error

Trying to compile advancemame-0.106.1 on a raspberry pi (target
arm-linux-gnueabihf) yeilds an unrecognizeable insn error.

Compiler error message:
src/cpu/sh2/sh2.c: In function ‘sh2_get_info’:
src/cpu/sh2/sh2.c:3217:1: error: unrecognizable insn:
(insn 2034 2033 2035 183 (set (subreg:SI (reg:DI 362 [ sh2.irq_line_state ]) 0)
(sign_extend:SI (mem/s/j/c:QI (plus:SI (reg/f:SI 361)
(const_int 260 [0x104])) [0 sh2.irq_line_state+0 S1 A32])))
src/cpu/sh2/sh2.c:3111 -1
 (nil))
src/cpu/sh2/sh2.c:3217:1: internal compiler error: in extract_insn, at
recog.c:2109

output of gcc -v:
pi@raspberrypi ~/advancemame-0.106.1 $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-8+rpi1'
--with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6
--with-fpu=vfp --with-float=hard --enable-checking=release
--build=arm-linux-gnueabihf --host=arm-linux-gnueabihf
--target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-8+rpi1) 

Attached preprocessed file


[Bug target/40836] ICE: insn does not satisfy its constraints (iwmmxt_movsi_insn)

2012-09-03 Thread dsd at laptop dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40836

Daniel Drake dsd at laptop dot org changed:

   What|Removed |Added

 CC||dsd at laptop dot org

--- Comment #30 from Daniel Drake dsd at laptop dot org 2012-09-03 22:29:08 
UTC ---
Reproduced this on gcc-4.7.1 when building glibc with -march=iwmmxt

gconv_cache.c: In function '__gconv_lookup_cache':
gconv_cache.c:448:1: error: insn does not satisfy its constraints:
(insn 1192 1127 433 38 (set (reg/f:SI 13 sp)
(reg/f:SI 43 wcgr0 [611])) 499 {*iwmmxt_movsi_insn}
 (expr_list:REG_ARGS_SIZE (const_int 0 [0])
(nil)))
gconv_cache.c:448:1: internal compiler error: in reload_cse_simplify_operands,
at postreload.c:403

Probably unsuprisingly, backporting the iwmmxt2 support from gcc 4.8 to 4.7 and
compiling with -march=iwmmxt2 produces the same result.


[Bug fortran/54465] Implement -Wextra for Fortran

2012-09-03 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54465

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #1 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-09-03 
22:44:55 UTC ---
It would be nice if it used the LangEnabledBy feature to encode this in the
.opt files.

http://gcc.gnu.org/onlinedocs/gccint/Option-properties.html#Option-properties


[Bug fortran/54474] New: [4.8 Regression]: gfortran.dg/coarray_poly_3.f90

2012-09-03 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54474

 Bug #: 54474
   Summary: [4.8 Regression]: gfortran.dg/coarray_poly_3.f90
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: h...@gcc.gnu.org
CC: bur...@gcc.gnu.org
  Host: x86_64-unknown-linux-gnu
Target: cris-axis-elf


This test previously passed, now it fails.
A patch in the revision range (last_known_working:first_known_failing)
190839:190877 exposed or caused this regression.  Since then it fails as
follows:

Running /tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/dg.exp ...
...
FAIL: gfortran.dg/coarray_poly_3.f90  -O   (test for errors, line 6)
FAIL: gfortran.dg/coarray_poly_3.f90  -O   (test for errors, line 12)
FAIL: gfortran.dg/coarray_poly_3.f90  -O  (test for excess errors)


In gfortran.log:

Executing on host:
/tmp/hpautotest-gcc0/cris-elf/gccobj/gcc/testsuite/gfortran/../../gfortran
-B/tmp/hpautotest-gcc0/cris-elf/gccobj/gcc/testsuite/gfortran/../../
-B/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/./libgfortran/
/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90 
-fno-diagnostics-show-caret   -O  -fcoarray=single -S   -isystem
/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/./newlib/targ-include -isystem
/tmp/hpautotest-gcc0/gcc/newlib/libc/include  -o coarray_poly_3.s(timeout =
300)
/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:6.18:



subroutine cont1(x) ! { dg-error has the CONTIGUOUS attribute but is not an ar

  1

Error: 'x' at (1) has the CONTIGUOUS attribute but is not an array pointer or
an assumed-shape or assumed-rank array

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:12.18:



subroutine cont2(x) ! { dg-error has the CONTIGUOUS attribute but is not an ar

  1

Error: 'x' at (1) has the CONTIGUOUS attribute but is not an array pointer or
an assumed-shape or assumed-rank array

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:25:



function func() ! { dg-error shall not be a coarray or have a coarray componen

1

Error: Function result 'func' at (1) shall not be a coarray or have a coarray
component

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:31:



function func2() ! { dg-error must be dummy, allocatable or pointer }

1

Error: CLASS variable 'func2' at (1) must be dummy, allocatable or pointer

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:35.20:



  class(t) :: func2a ! { dg-error CLASS variable 'func2a' at .1. must be dummy

1

Error: CLASS variable 'func2a' at (1) must be dummy, allocatable or pointer

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:39.18:



subroutine foo1(x1) ! { dg-error Coarray variable 'x1' at .1. shall not have c

  1

Error: Coarray variable 'x1' at (1) shall not have codimensions with deferred
shape

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:45.18:



subroutine foo2(x2) ! { dg-error Coarray variable 'x2' at .1. shall not have c

  1

Error: Coarray variable 'x2' at (1) shall not have codimensions with deferred
shape

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:54.18:



subroutine foo3(x1) ! { dg-error Coarray variable 'x1' at .1. shall not have c

  1

Error: Coarray variable 'x1' at (1) shall not have codimensions with deferred
shape

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:60.18:



subroutine foo4(x2) ! { dg-error Coarray variable 'x2' at .1. shall not have c

  1

Error: Coarray variable 'x2' at (1) shall not have codimensions with deferred
shape

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:69.18:



subroutine bar1(y1) ! { dg-error Allocatable coarray variable 'y1' at .1. must

  1

Error: Allocatable coarray variable 'y1' at (1) must have deferred shape

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:75.18:



subroutine bar2(y2) ! { dg-error Allocatable coarray variable 'y2' at .1. must

  1

Error: Allocatable coarray variable 'y2' at (1) must have deferred shape

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:81.18:



subroutine bar3(z1) ! { dg-error Allocatable coarray variable 'z1' at .1. must

  1

Error: Allocatable coarray variable 'z1' at (1) must have deferred shape

/tmp/hpautotest-gcc0/gcc/gcc/testsuite/gfortran.dg/coarray_poly_3.f90:87.18:



subroutine bar4(z2) ! { dg-error Allocatable array 'z2' at .1. must have a def

  1

Error: Allocatable array 'z2' at (1) must have a deferred shape or assumed rank


[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM

2012-09-03 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-04 
00:33:47 UTC ---
I have the rest of the fix.


[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand

2012-09-03 Thread drepper.fsp at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419

--- Comment #20 from Ulrich Drepper drepper.fsp at gmail dot com 2012-09-04 
01:06:33 UTC ---
Created attachment 28127
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28127
Check for rdrand availability

How about this patch?  Not sure whether this handles cross-compiling.  It seems
to work for me.

I still think it's wrong to bother with obsolete assemblers...


[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM

2012-09-03 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362

--- Comment #5 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-04 
01:31:13 UTC ---
Created attachment 28128
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28128
Patch which I committed to Cavium's toolchain

This patch is what I am testing.  It applies without any conflicts (except in
the ChangeLog).


[Bug tree-optimization/54475] New: -O2 overoptimizes

2012-09-03 Thread bdubbs at linuxfromscratch dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54475

 Bug #: 54475
   Summary: -O2 overoptimizes
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bdu...@linuxfromscratch.org


Note:  This is *not* my code, but found inside a ./configure file circa 2008.

$ cat t.c
int main()
{
  int j;
  for (j = 1; 0  j; j *= 2) printf( %i\n, j );
}

$ gcc -o t t.c

Works fine.

$ gcc -o t -O2 t.c

Loops forever and prints 0 after j reaches 1073741824.

Looking a the asm for the optimized code, there is no test for j0.
It appears to have been optimized away.

---  with -O2
main:
.LFB0:
.cfi_startproc
pushq   %rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
movl$1, %ebx
.p2align 4,,10
.p2align 3
.L2:
movl%ebx, %esi
movl$.LC0, %edi
xorl%eax, %eax
callprintf
addl%ebx, %ebx
jmp .L2
.cfi_endproc
.LFE0:
.size   main, .-main
.ident  GCC: (GNU) 4.7.1
.section.note.GNU-stack,,@progbits


[Bug tree-optimization/54475] -O2 overoptimizes

2012-09-03 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54475

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-04 
03:41:26 UTC ---
Note:  This is *not* my code, but found inside a ./configure file circa 2008.

This code does undefined behavior of signed integer overflow.  IIRC the
configure test has been fixed already.