[Bug fortran/57364] [4.8/4.9 Regression][OOP] ICE gfc_enforce_clean_symbol_state

2013-06-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57364

--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org ---
Author: burnus
Date: Tue Jun  4 07:11:12 2013
New Revision: 199635

URL: http://gcc.gnu.org/viewcvs?rev=199635root=gccview=rev
Log:
2013-06-04  Tobias Burnus  bur...@net-b.de

Backport from mainline
2013-05-22  Tobias Burnus  bur...@net-b.de

PR fortran/57364
* resolve.c (get_temp_from_expr): Commit created sym.

2013-06-04  Tobias Burnus  bur...@net-b.de

Backport from mainline
2013-05-22  Tobias Burnus  bur...@net-b.de

PR fortran/57364
* gfortran.dg/defined_assignment_6.f90: New.


Added:
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/defined_assignment_6.f90
Modified:
branches/gcc-4_8-branch/gcc/fortran/ChangeLog
branches/gcc-4_8-branch/gcc/fortran/resolve.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


[Bug fortran/57364] [4.8/4.9 Regression][OOP] ICE gfc_enforce_clean_symbol_state

2013-06-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57364

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org ---
FIXED on the trunk (for 4.9) and on the 4.8 branch.


[Bug c++/57419] Access control doesn't stop referring to a deleted function

2013-06-04 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57419

--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com ---
No, rather different issues.


[Bug fortran/57522] New: [F03] ASSOCIATE construct creates array descriptor with incorrect stride for derived type array component

2013-06-04 Thread alan.briolat at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57522

Bug ID: 57522
   Summary: [F03] ASSOCIATE construct creates array descriptor
with incorrect stride for derived type array component
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: alan.briolat at gmail dot com

Created attachment 30254
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30254action=edit
Code demonstrating the bug

The attached code demonstrates a bug (reproducible on 4.6 to 4.9) where using
ASSOCIATE to reference a derived type component in an array appears to have the
wrong stride.  The output is:

   0   1   2   3
   0   4   1   5

when it should be (and is under ifort):

   0   1   2   3
   0   1   2   3

This is probably related to bug 49636, but is a simpler case.  It's also
probably related to http://gcc.gnu.org/wiki/ArrayDescriptorUpdate (which I
found via that bug).  However, if the changes necessary to support this sort of
reference are future ABI-breaking work, then the current version really
should warn/error rather than generating the wrong stride and silently doing
the wrong thing.


[Bug regression/57473] FAIL: gcc.dg/tls/emutls-2.c (internal compiler error)

2013-06-04 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57473

--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #6 from Rainer Orth ro at gcc dot gnu.org ---
 Also fails on Solaris 9 with Sun as, will check if current mainline works
 again.

Both i386-pc-solaris2.9 and sparc-sun-solaris2.9 bootstraps have now
completed and as of r199603, all emutls related failures are gone.

Thanks.
Rainer


[Bug target/47333] [4.8 regression] g++.dg/lto/20091219 FAILs on Solaris 2 with SUN as

2013-06-04 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47333

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.8/4.9 regression]|[4.8 regression]
   |g++.dg/lto/20091219 FAILs   |g++.dg/lto/20091219 FAILs
   |on Solaris 2 with SUN as|on Solaris 2 with SUN as

--- Comment #37 from Rainer Orth ro at gcc dot gnu.org ---
No longer a 4.9 regression, fixed by the patch for PR middle-end/57366.

Unfortunately, that doesn't easily backport to the 4.8 branch since that lacks
alias and alias_target in struct symtab_node_base:

/vol/gcc/src/hg/gcc-4.8-branch/local/gcc/cgraphunit.c: In function 'void
compile
()':
/vol/gcc/src/hg/gcc-4.8-branch/local/gcc/cgraphunit.c:2050:22: error: 'struct
sy
mtab_node_base' has no member named 'alias'
/vol/gcc/src/hg/gcc-4.8-branch/local/gcc/cgraphunit.c:2056:21: error: 'struct
sy
mtab_node_base' has no member named 'alias_target'
/vol/gcc/src/hg/gcc-4.8-branch/local/gcc/cgraphunit.c:2056:49: error: 'struct
sy
mtab_node_base' has no member named 'alias_target'
/vol/gcc/src/hg/gcc-4.8-branch/local/gcc/cgraphunit.c:2057:10: error:
'symtab_al
ias_target' was not declared in this scope
make[3]: *** [cgraphunit.o] Error 1

  Rainer


[Bug fortran/57522] [F03] ASSOCIATE construct creates array descriptor with incorrect stride for derived type array component

2013-06-04 Thread alan.briolat at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57522

--- Comment #1 from Alan Briolat alan.briolat at gmail dot com ---
Created attachment 30255
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30255action=edit
Working equivalent code based on pointers

For comparison, this attached code uses pointers to achieve the same thing and
gets the correct result.  What's so different between the array descriptors
used for pointers and the array descriptors use for ASSOCIATE?


[Bug tree-optimization/57523] New: ICE in merge_assigned_reloads, at reload1.c:6062

2013-06-04 Thread chapter34 at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57523

Bug ID: 57523
   Summary: ICE in merge_assigned_reloads, at reload1.c:6062
   Product: gcc
   Version: 3.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chapter34 at yahoo dot com

Created attachment 30256
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30256action=edit
preprocessed source

While attempting to compile GCC 4.8.0 for Solaris 10 x86_64 using
/usr/sfw/bin/gcc 3.4.3 as a bootstrap compiler and /usr/sfw/bin/gas 2.15 as
assembler, I need the pre-requisite GMP library.

Compiling GMP 5.1.1 as follows:

~/gmp-5.1.1$ export CC=/usr/sfw/bin/gcc -m64 ABI=64
~/gmp-5.1.1$ ./configure --enable-cxx  gmake

It fails on:

~gmp-5.1.1/mpn$ /usr/sfw/bin/gcc -v -save-temps -m64 -std=gnu99 -DHAVE_CONFIG_H
-I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_sbpi1_div_qr_sec -O2 -pedantic
-fomit-frame-pointer -m64 -mtune=k8 -march=k8 -c sbpi1_div_qr_sec.c  -fPIC
-DPIC -o .libs/sbpi1_div_qr_sec.o
Reading specs from
/ms/dist/sunos.5.10/PROJ/sfw/10.10/.exec/ia32.sunos.5.10/bin/../lib/gcc/i386-pc-solaris2.10/3.4.3/specs
Configured with: /builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure
--prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-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)

/ms/dist/sunos.5.10/PROJ/sfw/10.10/.exec/ia32.sunos.5.10/bin/../libexec/gcc/i386-pc-solaris2.10/3.4.3/cc1
-E -quiet -v -I. -I.. -I.. -iprefix
/ms/dist/sunos.5.10/PROJ/sfw/10.10/.exec/ia32.sunos.5.10/bin/../lib/gcc/i386-pc-solaris2.10/3.4.3/
-DHAVE_CONFIG_H -D__GMP_WITHIN_GMP -DOPERATION_sbpi1_div_qr_sec -DPIC
sbpi1_div_qr_sec.c -m64 -m64 -mtune=k8 -march=k8 -std=gnu99 -pedantic
-fomit-frame-pointer -fPIC -O2 -o sbpi1_div_qr_sec.i
ignoring nonexistent directory
/ms/dist/sunos.5.10/PROJ/sfw/10.10/.exec/ia32.sunos.5.10/bin/../lib/gcc/i386-pc-solaris2.10/3.4.3/../../../../i386-pc-solaris2.10/include
ignoring duplicate directory
/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/include
ignoring nonexistent directory
/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/../../../../i386-pc-solaris2.10/include
ignoring duplicate directory ..
#include ... search starts here:
#include ... search starts here:
 .
 ..

/ms/dist/sunos.5.10/PROJ/sfw/10.10/.exec/ia32.sunos.5.10/bin/../lib/gcc/i386-pc-solaris2.10/3.4.3/include
 /usr/local/include
 /usr/sfw/include
 /usr/include
End of search list.

/ms/dist/sunos.5.10/PROJ/sfw/10.10/.exec/ia32.sunos.5.10/bin/../libexec/gcc/i386-pc-solaris2.10/3.4.3/cc1
-fpreprocessed sbpi1_div_qr_sec.i -quiet -dumpbase sbpi1_div_qr_sec.c -m64 -m64
-mtune=k8 -march=k8 -auxbase-strip .libs/sbpi1_div_qr_sec.o -O2 -pedantic
-std=gnu99 -version -fomit-frame-pointer -fPIC -o sbpi1_div_qr_sec.s
GNU C version 3.4.3 (csl-sol210-3_4-branch+sol_rpath) (i386-pc-solaris2.10)
compiled by GNU C version 3.4.3 (csl-sol210-3_4-branch+sol_rpath).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
sbpi1_div_qr_sec.c: In function `__gmpn_sbpi1_div_qr_sec':
sbpi1_div_qr_sec.c:151: internal compiler error: in merge_assigned_reloads, at
reload1.c:6062
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

However, it compiles fine if I omit the -O2 flag.


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

2013-06-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37336

--- Comment #23 from Tobias Burnus burnus at gcc dot gnu.org ---
Author: burnus
Date: Tue Jun  4 10:20:32 2013
New Revision: 199643

URL: http://gcc.gnu.org/viewcvs?rev=199643root=gccview=rev
Log:
2013-06-03  Tobias Burnus  bur...@net-b.de

PR fortran/37336
* trans.h (gfc_build_final_call): Remove prototype.
(gfc_add_finalizer_call): Add prototype.
* trans-array.c (gfc_trans_dealloc_allocated): Support
* finalization.
(structure_alloc_comps): Update caller.
(gfc_trans_deferred_array): Call finalizer.
* trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
* trans-decl.c (gfc_trans_deferred_vars): Don't
* deallocate/finalize
variables of the main program.
* trans-expr.c (gfc_conv_procedure_call): Support finalization.
* trans-openmp.c (gfc_omp_clause_dtor,
gfc_trans_omp_array_reduction): Update calls.
* trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
of alloc components.
* trans.c (gfc_add_finalizer_call): New function.
(gfc_deallocate_with_status,
gfc_deallocate_scalar_with_status): Call it
(gfc_build_final_call): Fix handling of scalar coarrays,
move up in the file and make static.

2013-06-03  Tobias Burnus  bur...@net-b.de

PR fortran/37336
* gfortran.dg/finalize_12.f90: New.
* gfortran.dg/alloc_comp_basics_1.f90: Add BLOCK for
end of scope finalization.
* gfortran.dg/alloc_comp_constructor_1.f90: Ditto.
* gfortran.dg/allocatable_scalar_9.f90: Ditto.
* gfortran.dg/auto_dealloc_2.f90: Ditto.
* gfortran.dg/class_19.f03: Ditto.
* gfortran.dg/coarray_lib_alloc_1.f90: Ditto.
* gfortran.dg/coarray_lib_alloc_2.f90: Ditto.
* gfortran.dg/extends_14.f03: Ditto.
* gfortran.dg/move_alloc_4.f90: Ditto.
* gfortran.dg/typebound_proc_27.f03: Ditto.


Added:
trunk/gcc/testsuite/gfortran.dg/finalize_12.f90
trunk/gcc/testsuite/gfortran.dg/finalize_13.f90
trunk/gcc/testsuite/gfortran.dg/finalize_14.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-array.h
trunk/gcc/fortran/trans-decl.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-openmp.c
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/fortran/trans.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90
trunk/gcc/testsuite/gfortran.dg/alloc_comp_constructor_1.f90
trunk/gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90
trunk/gcc/testsuite/gfortran.dg/auto_dealloc_2.f90
trunk/gcc/testsuite/gfortran.dg/class_19.f03
trunk/gcc/testsuite/gfortran.dg/coarray_lib_alloc_1.f90
trunk/gcc/testsuite/gfortran.dg/coarray_lib_alloc_2.f90
trunk/gcc/testsuite/gfortran.dg/extends_14.f03
trunk/gcc/testsuite/gfortran.dg/move_alloc_4.f90
trunk/gcc/testsuite/gfortran.dg/typebound_proc_27.f03


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

2013-06-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37336

--- Comment #24 from Tobias Burnus burnus at gcc dot gnu.org ---
The patch in comment 23 adds finalization support for allocatables (end of
scope, intent(out), DEALLOCATE, MOVE_ALLOC).

Thus, on the trunk (GCC 4.9), finalization is now finally supported :-)

Note: There are additional cases for which finalization has to be done, e.g.
for intent(out) of nonallocatable (patch:
http://gcc.gnu.org/ml/fortran/2013-05/msg00135.html), end-of-scope of
nonallocatables, intrinsic assignment, function results + array/structure
constructors - after there use in expressions.


[Bug target/47333] [4.8 regression] g++.dg/lto/20091219 FAILs on Solaris 2 with SUN as

2013-06-04 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47333

--- Comment #38 from Jan Hubicka hubicka at ucw dot cz ---
 No longer a 4.9 regression, fixed by the patch for PR middle-end/57366.

Good news.
 
 Unfortunately, that doesn't easily backport to the 4.8 branch since that lacks
 alias and alias_target in struct symtab_node_base:

I know. Weakrefs was quite broken in 4.8 (and anything earlier) and more so on
non-weakref assemblers (even when you do not get ICE nor link error, you still
get wrong references output so the final program will not work since it won't
connect weakref with its target).  

I can backport the whole series of patches, but I would like to understand how
important it is.  Solaris libc is using weakrefs w/o weakref support in
toolchain, or does the weakref come from some of GNU libraries in it?

Honza


[Bug target/47333] [4.8 regression] g++.dg/lto/20091219 FAILs on Solaris 2 with SUN as

2013-06-04 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47333

--- Comment #39 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #36 from Jan Hubicka hubicka at gcc dot gnu.org ---
 I am having problem to reproduce it on a cross compiler.  I assume you have
 non-plugin-enable LD setup, right?

The failure happens with both Sun as/Sun ld (i.e. no plugin support) and
Sun as/GNU ld 2.23.1 (i.e. with linker plugin support).

 There is problem with chained weakrefs that ought to be fixed by the following
 change:
 Index: cgraphunit.c
 ===
 --- cgraphunit.c(revision 199591)
 +++ cgraphunit.c(working copy)
 @@ -656,8 +656,11 @@ cgraph_process_same_body_aliases (void)
 @@ -2018,7 +2021,7 @@ compile (void)
(DECL_ASSEMBLER_NAME (node-symbol.decl)) = 1;
 TREE_CHAIN (DECL_ASSEMBLER_NAME (node-symbol.decl))
= (node-symbol.alias_target ? node-symbol.alias_target
 - : DECL_ASSEMBLER_NAME (symtab_alias_target 
 (node)-symbol.decl));
 + : DECL_ASSEMBLER_NAME (symtab_alias_ultimate_target
 (node)-symbol.decl));
}
  #endif


 I however do not see any chained weakrefs in the preprocessed file attached, 
 so
 I am not quite convinced this can change anything.

 Can you, please, run it in debugger and take a look what is the assembler name
 ultimate_target is called for and what is its CHAIN_DECL?

I can try if this is still beneficial given that mainline seems to work
fine.

Rainer


[Bug tree-optimization/57521] [4.7/4.8/4.9 Regression] wrong code for expressions in loop at -O3

2013-06-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57521

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Hmhm, mine.


[Bug tree-optimization/57359] wrong code for union access at -O3 on x86_64-linux

2013-06-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57359

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|RESOLVED|ASSIGNED
  Component|rtl-optimization|tree-optimization
 Resolution|INVALID |---
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
Note that the GIMPLE/RTL IL does not have all restrictions of C so even
if the testcase is invalid C the generated GIMPLE IL may be valid and thus
there may still be a bug in GCC.  In particular the middle-end memory model
does not require the effective type change to go through a union type.

And indeed the bug is in store-motion which sinks *pll = a cross *pii = 0.

Replace u with anonymous storage and use placement-new to properly construct
a new type in it and get a valid C++ testcase that is miscompiled.

-fno-tree-loop-im fixes it.

I will have a look.


[Bug tree-optimization/57517] [4.7/4.8/4.9 Regression] internal compiler error: in eliminate_temp_copies, at tree-predcom.c:1913

2013-06-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57517

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.4.7
   Target Milestone|--- |4.7.4
Summary|internal compiler error: in |[4.7/4.8/4.9 Regression]
   |eliminate_temp_copies, at   |internal compiler error: in
   |tree-predcom.c:1913 |eliminate_temp_copies, at
   ||tree-predcom.c:1913
  Known to fail||4.5.4, 4.6.4, 4.7.2, 4.8.0,
   ||4.9.0


[Bug tree-optimization/57511] [4.8/4.9 Regression] Missing SCEV final value replacement

2013-06-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57511

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-06-04
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |4.8.2
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.  I will have a look.


[Bug c++/57524] New: internal compiler error on dump translation unit

2013-06-04 Thread JamesMikeDuPont at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57524

Bug ID: 57524
   Summary: internal compiler error on dump translation unit
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: JamesMikeDuPont at googlemail dot com

using the debian sid standard : GNU C++ (Debian 4.7.2-5) version 4.7.2
(x86_64-linux-gnu) compiled by GNU C version 4.7.2, GMP version 5.0.5, MPFR
version 3.1.0-p10, MPC version 0.9 warning: MPFR header version 3.1.0-p10
differs from library version 3.1.1-p2. GGC heuristics: --param
ggc-min-expand=100 --param ggc-min-heapsize=131072

Compiling boost spirit.qi code,
Here is the one that creates the error.

Invocation is :
/usr/lib/gcc/x86_64-linux-gnu/4.7/cc1plus -std=gnu++11 -fdump-translation-unit
treedumpparse.ii

the output is:

(this is the last of the function print )
 std::size_t boost::detail::variant::variant_hasher::operator()(const T) const

the error is :
In file included from /usr/include/boost/variant/variant.hpp:35:0,
 from /usr/include/boost/spirit/home/support/info.hpp:14,
 from /usr/include/boost/spirit/home/qi/domain.hpp:16,
 from /usr/include/boost/spirit/home/qi/meta_compiler.hpp:15,
 from /usr/include/boost/spirit/home/qi/action/action.hpp:14,
 from /usr/include/boost/spirit/home/qi/action.hpp:14,
 from /usr/include/boost/spirit/home/qi.hpp:14,
 from /usr/include/boost/spirit/include/qi.hpp:16,
 from treedumpparse.cpp:6:
/usr/include/boost/variant/detail/hash_variant.hpp:32:33: internal compiler
error: in timevar_start, at timevar.c:344
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.7/README.Bugs for instructions.

This can be reproduced with this one include :
#include /usr/include/boost/variant/detail/hash_variant.hpp


I am trying to reduce the problem, but it is difficult.


[Bug middle-end/57484] 'std::numeric_limits T ::signaling_NaN()' signaling-bit is incorrect for x86 32-bit.

2013-06-04 Thread zxClhzAApX1EdJwQANqrjLERmFeURQVy at cynd dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484

--- Comment #8 from Charles L. Wilcox zxClhzAApX1EdJwQANqrjLERmFeURQVy at cynd 
dot net ---
FWIW, I tried this with g++ 4.8 on a 32-bit only system I have; it still
produces erroneous sNaN values there:

$ g++-4.8 -v
Using built-in specs.
COLLECT_GCC=g++-4.8
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-linux-gnu/4.8/lto-wrapper
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.8.1-1'
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.8 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386/jre
--enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-i386
--with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586
--with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.8.1 (Debian 4.8.1-1) 
$ g++-4.8 -Wall -Wextra test-signaling-nan.cpp 
$ ./a.out 
Signaling NaN for type f in hex is 7fe0.
Signaling NaN's signaling-bit status for type f is set to true.
Quiet NaN for type f in hex is 7fc0.
Quiet NaN's signaling-bit status for type f is set to true.
Signaling NaN for type d in hex is 7ffc.
Signaling NaN's signaling-bit status for type d is set to true.
Quiet NaN for type d in hex is 7ff8.
Quiet NaN's signaling-bit status for type d is set to true.


[Bug other/57525] New: cc1.exe: fatal error: help-dummy: No such file or directory

2013-06-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57525

Bug ID: 57525
   Summary: cc1.exe: fatal error: help-dummy: No such file or
directory
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gjl at gcc dot gnu.org
  Host: i386-mingw32
Target: avr
 Build: i686-linux-gnu

$ echo  trivial.c
$ avr-gcc trivial.c -save-temps --help=optimizers
cc1.exe: fatal error: help-dummy: No such file or directory

This fatal error also occurs with other versions of GCC.  Trigger is
-save-temps together with --help=

== configure ==

Configured with: ../../gcc.gnu.org/gcc-4_7-branch/configure --target=avr
--prefix=/local/gnu/install/gcc-4.7-mingw32 --host=i386-mingw32
--build=i686-linux-gnu --enable-languages=c,c++ --disable-nls --disable-shared
--with-dwarf2 --with-avrlibc=yes
Thread model: single
gcc version 4.7.2 (GCC)


[Bug c++/57524] internal compiler error on dump translation unit

2013-06-04 Thread JamesMikeDuPont at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57524

--- Comment #1 from James Michael DuPont JamesMikeDuPont at googlemail dot 
com ---
I tried to reduce the input size but it is not producing any results.

namespace std {
  typedef long unsigned int size_t;
};
namespace boost { 
  namespace detail {
struct is_static_visitor_tag { };
typedef void static_visitor_default_return;
  } 
  template typename R = ::boost::detail::static_visitor_default_return
  class static_visitor: public detail::is_static_visitor_tag {
  public:
typedef R result_type;
  protected:
static_visitor() { }~static_visitor() { }
  };}
namespace boost
{
  template class T struct hash;
  template class T void hash_combine(std::size_t seed, T const v);
  template class It std::size_t hash_range(It, It);
  template class It void hash_range(std::size_t, It, It);
}
namespace boost {
  namespace detail { namespace variant {
  struct variant_hasher: public boost::static_visitorstd::size_t {
template class T
std::size_t operator()(T const val) const {
  using namespace boost;
  hashT hasher;
  return hasher(val);
}  };}  }}


[Bug other/57482] [4.7.3][AVR] --help=optimizers reports a wrong list

2013-06-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57482

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

   What|Removed |Added

 Target|AVR ATmega128   |avr
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-04
 CC||gjl at gcc dot gnu.org
  Component|c   |other
 Ever confirmed|0   |1
  Build|4.7.3   |

--- Comment #2 from Georg-Johann Lay gjl at gcc dot gnu.org ---
I can confirm this with 4.7.2 and the following source file

== foo.c ==

typedef enum { A, B } ab_t;

int a[sizeof (ab_t) == 2 ? 1 : -1];

== compile ==

$ avr-gcc foo.c

$ avr-gcc foo.c -Q --help=optimizers | grep short.enum
  -fshort-enums   [enabled]

== issues ==

1) foo.c compiles fine, thus enums are 2 byte per default.
   This shows the output of --help=optimizers is not correct.

2) -f[no-]short-enums is not an optimization option;
   it's an option affecting the ABI.  Better / worse code
   is just a side effect of respective ABI change.

3) The backend does not implement TARGET_DEFAULT_SHORT_ENUMS
   thus the default shall be like with  -fno-short-enums, cf.
   target.def defines the hook default to hook_bool_void_false.


[Bug target/47333] [4.8 regression] g++.dg/lto/20091219 FAILs on Solaris 2 with SUN as

2013-06-04 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47333

--- Comment #40 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #38 from Jan Hubicka hubicka at ucw dot cz ---
 Unfortunately, that doesn't easily backport to the 4.8 branch since that 
 lacks
 alias and alias_target in struct symtab_node_base:

 I know. Weakrefs was quite broken in 4.8 (and anything earlier) and more so on
 non-weakref assemblers (even when you do not get ICE nor link error, you still
 get wrong references output so the final program will not work since it won't
 connect weakref with its target).  

I see.  At least all testcases passed in 4.7 both with and without
weakref support in the assembler.

 I can backport the whole series of patches, but I would like to understand how
 important it is.  Solaris libc is using weakrefs w/o weakref support in
 toolchain, or does the weakref come from some of GNU libraries in it?

The Solaris toolchain (as, ld) knows nothing about weakrefs, so far I've
seen failures only in the gcc testsuite, no reports in the wild.

Rainer


[Bug other/56780] --disable-install-libiberty still installs libiberty.a

2013-06-04 Thread palves at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56780

Pedro Alves palves at redhat dot com changed:

   What|Removed |Added

 CC||palves at redhat dot com

--- Comment #4 from Pedro Alves palves at redhat dot com ---
I believe the fix has been checked in, right?


[Bug tree-optimization/57358] segmentation fault with attribute(optimize(O0))

2013-06-04 Thread nbkolchin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57358

--- Comment #1 from Nickolay Kolchin-Semyonov nbkolchin at gmail dot com ---
Reproducable with gcc-4.8.1.

Using built-in specs.
COLLECT_GCC=gcc-4.8.1
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.8.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with:
/mnt/work/tmp/portage/sys-devel/gcc-4.8.1/work/gcc-4.8.1/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.1
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-cloog --disable-isl-version-check --enable-lto
--enable-nls --without-included-gettext --with-system-zlib --enable-obsolete
--disable-werror --enable-secureplt --enable-multilib
--with-multilib-list=m32,m64 --enable-libmudflap --disable-libssp
--enable-libgomp
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/python
--enable-checking=release --disable-libgcj --enable-libstdcxx-time
--enable-languages=c,c++,go,fortran --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.8.1 p1.0,
pie-0.5.6'
Thread model: posix
gcc version 4.8.1 (Gentoo 4.8.1 p1.0, pie-0.5.6)

$ gcc-4.8.1 -O3 -c no-optimize.c
no-optimize.c: In function ‘test_func’:
no-optimize.c:7:1: internal compiler error: Segmentation fault
 }
 ^

[Bug target/57357] Error with '-mno-sse' and include wchar.h

2013-06-04 Thread thutt at vmware dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57357

thutt at vmware dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |---

--- Comment #7 from thutt at vmware dot com ---
(In reply to Andrew Pinski from comment #6)
 (In reply to thutt from comment #5) 
  Is there simple explanation for the difference in behavior?
 
 Is the preprocessed source the same?  I bet glibc enables some inline
 function at -O1.

Yes, the cpp output is different.

Because this produces different results for -O0 and -O1, I'm reopening 
because the compiler really shouldn't fail with one setting and succeed with
another.


[Bug tree-optimization/57358] segmentation fault with attribute(optimize(O0))

2013-06-04 Thread nbkolchin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57358

--- Comment #2 from Nickolay Kolchin-Semyonov nbkolchin at gmail dot com ---
More simplified test variant:

struct t { void (*func)(void*); };
void test_func(struct t* a) __attribute__((optimize(O0)));
void test_func(struct t* a)
{
  a-func(0);
}

P.S. If you compile this as C++ code, no segmentation fault would occure.


[Bug c++/57526] New: use of X before deduction of auto error for seemingly good code

2013-06-04 Thread plasmahh at gmx dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57526

Bug ID: 57526
   Summary: use of X before deduction of auto error for seemingly
good code
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: plasmahh at gmx dot net

Hi,

for the following code

templateclass T
struct A
{
void bar( ) { }

void foo( )
{
auto* this_ptr = this;
auto lc = []( )
{
this_ptr-bar();
};
lc();
}
};

int main(int argc, const char *argv[])
{
Aint a;
a.foo();
}


I get gcc 4.8.{0,1} error me out with:

auto.cxx:12:4: error: use of 'AT::foo() [with T =
int]::__lambda0::__this_ptr' before deduction of 'auto'
this_ptr-bar();

which for one was not the case with gcc 4.7. There are two (strange) ways to
make it go away: Either make it be auto isntead of auto* or make A not
being a template. I also could not find anything in the standard that would
disallow this.


[Bug c++/57527] New: [C++11] Nested variadic templates cause internal compiler error

2013-06-04 Thread markus.mayr at outlook dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57527

Bug ID: 57527
   Summary: [C++11] Nested variadic templates cause internal
compiler error
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: markus.mayr at outlook dot com

I do not know whether the following program is supposed to compile according to
the standard. I only know that it compiles using clang and that it causes an
internal compiler error. I use a variadic template constructor within a
variadic template class and expand both parameter packs simultaneously.

struct Z {};
template class Arg, unsigned int N
struct X {};
template class... Args
struct Y 
{
template unsigned int... N
Y( XArgs, N... xs )
{} 
};  

int main( int argc, char **argv )
{
XZ,1 x;
YZ y( x );
return 0;
}   

Instantiating the constructor causes an internal compiler error:

t.cpp: In function 'int main(int, char**)':
t.cpp:16:25: internal compiler error: in unify, at cp/pt.c:16369
Please submit a full bug report,
with preprocessed source if appropriate.
See https://trac.macports.org/newticket for instructions.

If x is replaced by a temporary, the code compiles, i.e. replacing main() by

int main( int argc, char **argv )
{
YZ y( XZ,1 x );
return 0;
}

compiles. Turning x into an rvalue reference, however, does not compile.

I added the code as an attachment. My compiler version is g++-4.7.2, but I am
currently compiling a more recent version of g++ (4.8.0) to test this. I tested
the code on Mac OS X and Debian GNU/Linux. As already mentioned, clang++ seems
to accept the code. As a side note, I would also be interested in a workaround
for enumerating arguments in a parameter pack provided that there might be
arguments of the same type in the pack.

I hope that this bug is new to you.


[Bug c++/57527] [C++11] Nested variadic templates cause internal compiler error

2013-06-04 Thread markus.mayr at outlook dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57527

--- Comment #1 from markus.mayr at outlook dot com ---
Created attachment 30257
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30257action=edit
Source code example.


[Bug c++/57526] [4.8/4.9 Regression] use of X before deduction of auto error for seemingly good code

2013-06-04 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57526

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-04
  Known to work||4.6.3, 4.7.3
Summary|use of X before deduction   |[4.8/4.9 Regression] use of
   |of auto error for seemingly |X before deduction of auto
   |good code   |error for seemingly good
   ||code
 Ever confirmed|0   |1
  Known to fail||4.8.0, 4.9.0


[Bug target/57506] [avr] Some devices are present twice in avr-mcus.def

2013-06-04 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57506

--- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org ---
Created attachment 30258
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30258action=edit
Patch against avr-mcus.def

Notice that some sources depend on the patch, e.g. documentation.

Rerun make avr-mcus after applying this patch.


[Bug c++/57527] [C++11] Nested variadic templates cause internal compiler error

2013-06-04 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57527

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-04
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Possibly a dup of Bug 54090 but fails at a different place


[Bug regression/57473] FAIL: gcc.dg/tls/emutls-2.c (internal compiler error)

2013-06-04 Thread ktkachov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57473

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|4.9.0   |---

--- Comment #8 from ktkachov at gcc dot gnu.org ---
Fixed on trunk.


[Bug target/47333] [4.8 regression] g++.dg/lto/20091219 FAILs on Solaris 2 with SUN as

2013-06-04 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47333

--- Comment #41 from Jan Hubicka hubicka at ucw dot cz ---
  I however do not see any chained weakrefs in the preprocessed file 
  attached, so
  I am not quite convinced this can change anything.
 
  Can you, please, run it in debugger and take a look what is the assembler 
  name
  ultimate_target is called for and what is its CHAIN_DECL?
 
 I can try if this is still beneficial given that mainline seems to work
 fine.

Just ignore this patch.  I just tested and we can not chain weakrefs.
I will check what patches has to go to 4.8 to fix the whole issue.
I guess the silent miscopmilation is potentially dangerous, since it will just
disable locking in LTO apps

Honza
 
 Rainer
 
 -- 
 You are receiving this mail because:
 You are on the CC list for the bug.


[Bug c++/57528] New: Missed warning for putting reference to temporary in class member

2013-06-04 Thread jewillco at osl dot iu.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57528

Bug ID: 57528
   Summary: Missed warning for putting reference to temporary in
class member
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jewillco at osl dot iu.edu

It would be nice to have a warning on code such as:

struct b {
  const int r;
  b(int r): r(r) {}
};

that is almost certainly unintended since it always binds a reference to a
temporary in a case where the reference outlives the temporary.  g++ (GCC)
4.9.0 20130519 (experimental) does not warn on this code with -Wall -Wextra,
whether with -O2 or without.  Uses of the struct b (including with a literal
number as constructor argument) do not produce warnings either.


[Bug middle-end/57529] New: Redundant masking of zero-extended values

2013-06-04 Thread jewillco at osl dot iu.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57529

Bug ID: 57529
   Summary: Redundant masking of zero-extended values
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jewillco at osl dot iu.edu

Using version gcc (GCC) 4.9.0 20130519 (experimental) with target
x86_64-unknown-linux-gnu and the flags -Ofast -std=gnu99 -march=bdver1, the
following code:

#include stdint.h

void foo(const uint16_t* restrict indexes, const uint64_t* restrict bits,
unsigned int* restrict sum, int count) {
  for (int i = 0; i  count; ++i) {
unsigned int val = indexes[i];
if (bits[val / 64]  (1UL  (val % 64))) {sum[val] += 1;}
  }
}

produces two shifts to implement the val / 64 operation instead of one,
seemingly because the compiler is trying to mask val to 16 bits even though it
was loaded with movzwl and thus was already masked and zero-extended.  Here is
the assembly for the function body:

testl   %ecx, %ecx  # count
movl%ecx, %r9d  # count, count
jle .L8 #,
xorl%eax, %eax  # ivtmp.5
.p2align 4,,10
.p2align 3
.L4:
movzwl  (%rdi,%rax,2), %ecx # MEM[base: indexes_8(D), index:
ivtmp.5_52, step: 2, offset: 0B], D.2242
movq%rcx, %r8   # D.2242, D.2244
#  Redundant masking operation:
salq$48, %r8#, D.2244
shrq$54, %r8#, D.2244
# 
movq(%rsi,%r8,8), %r8   # *_16, D.2244
# 
shrq%cl, %r8# D.2242, D.2244
andl$1, %r8d#, D.2244
# 
je  .L3 #,
# 
movzwl  %cx, %r8d   # D.2242, D.2244
# 
incl(%rdx,%r8,4)# *_25
.L3:
incq%rax# ivtmp.5
cmpl%eax, %r9d  # ivtmp.5, count
jg  .L4 #,
.L8:
rep; ret

The seemingly-unnecessary operation is marked with stars; a single shrq by 6
should do the unsigned division operation correctly, while two instructions are
used to both mask the value to 16 bits and shift it.  The zero-extension inside
x's is also unnecessary (%rcx could have been used directly in the index
expression).  On a somewhat unrelated issue, the code marked in +'s seems to be
sub-optimal as well, and could probably be replaced by a bt instruction (GCC
4.4.7 uses btq there using -O3 and the same -march flag).


[Bug fortran/57530] New: [OOP] Wrongly rejects type_pointer = class_target (which have identical declared type)

2013-06-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57530

Bug ID: 57530
   Summary: [OOP] Wrongly rejects  type_pointer = class_target
(which have identical declared type)
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org
CC: janus at gcc dot gnu.org

Found in the examples to http://www.cambridge.org/rouson (-
ssdSource/chapter05/hermetic). According to comments, the original program is
accepted by xlf2003 and nagf95.

The following simplified code is accepted by Crayftn, ifort and pgf95, but
rejected by gfortran with:

ptr = tgt  ! TYPE = CLASS
1
Error: Different types in pointer assignment at (1); attempted assignment of
CLASS(t) to TYPE(t)


From F2008:

C714 (R733) If data-target is not unlimited polymorphic, data-pointer-object
shall be type compatible (4.3.1.3) with it and the corresponding kind type
parameters shall be equal.

There (4.3.1.3): A nonpolymorphic entity is type compatible only with entities
of the same declared type. A polymorphic entity that is not an unlimited
polymorphic entity is type compatible with entities of the same declared type
or any of its extensions.


In the example below, TYPE(t) and CLASS(t) have same declared type.


module m
  type t
  end type t
contains
  subroutine sub (tgt)
class(t), target :: tgt
type(t), pointer :: ptr
ptr = tgt  ! TYPE = CLASS
  end subroutine sub
end module m


[Bug other/56780] --disable-install-libiberty still installs libiberty.a

2013-06-04 Thread yselkowitz at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56780

Yaakov (Cygwin Ports) yselkowitz at users dot sourceforge.net changed:

   What|Removed |Added

 CC||yselkowitz at users dot 
sourceforg
   ||e.net

--- Comment #5 from Yaakov (Cygwin Ports) yselkowitz at users dot 
sourceforge.net ---
An unfortunate (and presumably unintended) consequence of this commit was that
libiberty.a is no longer installed by default when building binutils CVS HEAD
either.  As libbfd and libopcodes still require its symbols, and both are built
static-only by default, this change renders those libraries unusable.

AFAICS another step is needed in the top-level configury to pass
--enable-install-libiberty when bfd/opcodes is being built.


[Bug other/56780] --disable-install-libiberty still installs libiberty.a

2013-06-04 Thread yselkowitz at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56780

--- Comment #6 from Yaakov (Cygwin Ports) yselkowitz at users dot 
sourceforge.net ---
Not only that, but even with --enable-install-libiberty, it's not being
installed in CVS HEAD.  Don't you need to remove the resetting of
target_header_dir in libiberty/configure.ac:408 (and hence
libiberty/configure:5510)?


[Bug c++/55776] -Wshadow generates an incorrect warning with enum classes

2013-06-04 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55776

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org ---
The warning seems correct to me; within the scope of myenum (i.e. in the
initializers of other enumerators) the foo enumerator shadows the global foo.

typedef int foo;

enum class myenum
{
  foo,
  bar = foo // finds myenum::foo
};

If the order of the typedef and the enum is reversed, there is no warning
because there is no shadowing; in that case, if the foo enumerator had a
different name, the reference in the initializer of bar would just be an error.


[Bug c++/57527] [C++11] Nested variadic templates cause internal compiler error

2013-06-04 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57527

Daniel Krügler daniel.kruegler at googlemail dot com changed:

   What|Removed |Added

 CC||daniel.kruegler@googlemail.
   ||com

--- Comment #3 from Daniel Krügler daniel.kruegler at googlemail dot com ---
This problem still exists in gcc 4.9.0 20130519 (experimental). The
corresponding error message here is:

main.cpp|15|required from here|
 main.cpp|15|internal compiler error: in unify, at cp/pt.c:16742

[Bug target/57357] Error with '-mno-sse' and include wchar.h

2013-06-04 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57357

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org ---
Since glibc controls the headers we (GCC) project cannot do anything.  Why are
you using -mno-sse on an user space application anyways?


[Bug rtl-optimization/57268] [4.9 Regression] c nested loops hang compiler in sched-deps.c

2013-06-04 Thread dinar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57268

dinar at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from dinar at gcc dot gnu.org ---
Fixed.


[Bug c/57531] New: lvalue required with comma operator

2013-06-04 Thread vijunag at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57531

Bug ID: 57531
   Summary: lvalue required with comma operator
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vijunag at gmail dot com

Following expression cannot be compiled using gcc-4.7.2 where as the same
statement is perfectly acceptable by gcc version 4.4.5
 (void) 0, a = b;

[vinag]$ ~/tools/bintools/linux-x86/gcc/201302221200/bin/i686-pc-linux-gnu-gcc
-v
Using built-in specs.
COLLECT_GCC=~/tools/bintools/linux-x86/gcc/201302221200/bin/i686-pc-linux-gnu-gcc-wrapped
COLLECT_LTO_WRAPPER=~/tools/bintools/linux-x86/gcc/201302221200/libexec/gcc/i686-pc-linux-gnu/4.7.2/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../../gcc/configure --build=amd64-pc-linux-gnu
--host=amd64-pc-linux-gnu --target=i686-pc-linux-gnu --enable-languages=c,c++
--prefix=/ws/vinag-bgl/tools/bintools/linux-x86/gcc/201302221200
--enable-shared --with-headers=/tmp/201302221200/new_header/
--disable-libquadmath --disable-libgomp --disable-libssp --disable-libmudflap
--disable-libitm --with-fast-fixincludes --enable-threads --site=starent
--with-gnu-as --with-gnu-ld
Thread model: posix
gcc version 4.7.2 (GCC) 

Program:

vijay:/home/vijay]$ cat ternary.c

#include stdio.h

int main()
{
  int a;
  (void )0, a = 4;
}
[vijay]i686-pc-linux-gnu-gcc lvalue.cpp -c
lvalue.cpp: In function ‘void lvalue_assignment()’:
lvalue.cpp:6:27: error: lvalue required as left operand of assignment

vijay:/home/vijay]$ gcc ternary.c -o ternary.c.out
vijay:/home/vijay]$ gcc -v
Using built-in specs.
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.4 --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 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic
--enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu
--target=i686-linux-gnu
Thread model: posix
gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)

[Bug c/57531] lvalue required with comma operator

2013-06-04 Thread vijunag at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57531

vijay Nag vijunag at gmail dot com changed:

   What|Removed |Added

   Severity|normal  |critical


[Bug c++/57531] lvalue required with comma operator

2013-06-04 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57531

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Severity|critical|normal

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org ---
Your small testcase works for me both in 4.7.0 and 4.9.0 (20130422).

Your lvalue.cpp does not correspond to your testcase your placed in the bug
report either.


[Bug c++/55776] -Wshadow generates an incorrect warning with enum classes

2013-06-04 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55776

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

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Jason Merrill from comment #2)
 The warning seems correct to me; within the scope of myenum (i.e. in the
 initializers of other enumerators) the foo enumerator shadows the global foo.

But the global foo is a type while myenum::foo is not a type. Is there any
context where they can be used interchangeably?

enum class myenum
{
  bar = int 
};

doesn't make sense.

[Bug c++/51908] [C++11] ICE in cp_parser_abort_tentative_parse with decltype and variable template arguments

2013-06-04 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51908

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
On it.


[Bug c++/57528] Missed warning for putting reference to temporary in class member

2013-06-04 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57528

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
This is the same as the example in Bug 49974 comment 2 and Bug 986 Comment 31


[Bug c++/55776] -Wshadow generates an incorrect warning with enum classes

2013-06-04 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55776

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org ---
(In reply to Manuel López-Ibáñez from comment #3)
 But the global foo is a type while myenum::foo is not a type. Is there any
 context where they can be used interchangeably?
 
 enum class myenum
 {
   bar = int 
 };
 
 doesn't make sense.

How about this:

typedef int foo;

enum class myenum
{
  foo = 1,
  bar = (foo)+1
};

What is the value of myenum::bar?  Is it clear and unambiguous, or should there
be a warning?

[Bug target/57357] Error with '-mno-sse' and include wchar.h

2013-06-04 Thread thutt at vmware dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57357

--- Comment #9 from thutt at vmware dot com ---
(In reply to Andrew Pinski from comment #8)
 Since glibc controls the headers we (GCC) project cannot do anything.

??? 
From your standpoint of having cpp produce different output, I understand
your position that the gcc project cannot do anything.

If you look from the standpoint of the user of gcc, that position makes
little sense: changing the value of a compiler option should not cause 
code to suddenly produce an error.

The problem doesn't lie in the header file, though it could be fixed there 
with preprocessor work.

The problem really lies in the fact that the compiler is producing 
an error message for a function that has been parsed, but has not been used:

extern __inline __attribute__ ((__gnu_inline__)) double
__NTH (wcstod (__const wchar_t *__restrict __nptr,
   wchar_t **__restrict __endptr))
{ return __wcstod_internal (__nptr, __endptr, 0); }

From the standpoint of the user, that particular issue
*is* addressable by the gcc team.

Course, that's from the standpoint of the user...

 Why are you using -mno-sse on an user space application anyways?

I volunteer to file defects against gcc because I have an open account, 
but I can't speak to the reasoning behind each one that is provided to 
me -- I just validate the information, and try to write up a good synopsis.

In this particular case, I think it was found during preliminary testing 
before upgrading the compiler; it may have been a one-off by-hand program 
to do some other testing, I don't really know...  I can go back and ask if you
are really curious...

For the team that I work on, we don't want hardware-using FPU code generated,
mostly.
That was the genesis of the other sse-related ticket I recently filed.


[Bug c++/55776] -Wshadow generates an incorrect warning with enum classes

2013-06-04 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55776

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org ---
A better example:

typedef unsigned char foo;

enum class myenum
{
  foo,
  bar = (foo)-1
};

Is the value -1L or 255?

If I rename myenum::foo to myenum::Foo the code silently changes meaning.


[Bug c++/55776] -Wshadow generates an incorrect warning with enum classes

2013-06-04 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55776

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org ---
It also changes meaning if I reorder the declarations of myenum::foo and
myenum::bar, which is exactly the sort of fragile code that deserves a warning.