[Bug c/53775] New: Errors in libquadmath documentation

2012-06-25 Thread e716018 at rtrtr dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53775

 Bug #: 53775
   Summary: Errors in libquadmath documentation
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: e716...@rtrtr.com


These entries in the libquadmath (on-line) documentation are incorrect:

M_PI_2q: two pi
M_PI_4q: four pi

they should be:

M_PI_2q: pi divided by two
M_PI_4q: pi divided by four


[Bug c/53769] [C11]: Macros __STDC_NO_THREADS__ / __STDC_NO_ATOMIC__ missing.

2012-06-25 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53769

--- Comment #4 from Vincent Lefèvre  2012-06-26 
05:17:31 UTC ---
(In reply to comment #3)
> Such a test is not meaningful for documented incomplete support; in the 
> absence of claims of conformance, __STDC_VERSION__ can only be interpreted 
> as a statement of intent

OK, this makes clear that for portability, programs should do configure tests
instead of relying on the values of standard macros. I think this should be
documented in the GCC manual (I haven't checked the latest versions, but there
were/are similar problems with C99).

> (The code you give should be rejected if __STDC_NO_THREADS__ is not 
> defined, because of the constraint in 6.7.1#3: "In the declaration of an 
> object with block scope, if the declaration specifiers include 
> _Thread_local, they shall also include either static or extern.".)

Oops, yes, I did a mistake when copying the code: the declaration should have
been outside main().


[Bug c++/53498] Compiler crashes during C++11 template magic compilation

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53498

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED
   Target Milestone|--- |4.7.2

--- Comment #7 from Jason Merrill  2012-06-26 
03:46:34 UTC ---
Fixed for 4.7.2.


[Bug c++/53498] Compiler crashes during C++11 template magic compilation

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53498

Jason Merrill  changed:

   What|Removed |Added

 CC||squidbidness at gmail dot
   ||com

--- Comment #4 from Jason Merrill  2012-06-26 
03:42:44 UTC ---
Author: jason
Date: Tue Jun 26 03:42:34 2012
New Revision: 188973

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188973
Log:
PR c++/53498
PR c++/53305
* pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
if cp_unevaluated_operand is set.
(tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/decltype38.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/variadic132.C

--- Comment #5 from Jason Merrill  2012-06-26 
03:42:56 UTC ---
Author: jason
Date: Tue Jun 26 03:42:48 2012
New Revision: 188974

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188974
Log:
PR c++/53498
PR c++/53305
* pt.c (tsubst_pack_expansion): Copy before dummy tsubst.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/decltype38.C
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/variadic132.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog

--- Comment #6 from Jason Merrill  2012-06-26 
03:44:42 UTC ---
*** Bug 53545 has been marked as a duplicate of this bug. ***


[Bug c++/53305] internal crash with variadic templates and decltype

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53305

Jason Merrill  changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org
   Target Milestone|4.8.0   |4.7.2

--- Comment #7 from Jason Merrill  2012-06-26 
03:45:19 UTC ---
The testcase is now accepted without an error in 4.7.2 and 4.8.0.


[Bug c++/53545] g++ 4.70 --std=c++11 generates no object file, issues no errors

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53545

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||DUPLICATE

--- Comment #6 from Jason Merrill  2012-06-26 
03:44:42 UTC ---
Yep, duplicate.

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


[Bug c++/53305] internal crash with variadic templates and decltype

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53305

--- Comment #5 from Jason Merrill  2012-06-26 
03:42:44 UTC ---
Author: jason
Date: Tue Jun 26 03:42:34 2012
New Revision: 188973

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188973
Log:
PR c++/53498
PR c++/53305
* pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
if cp_unevaluated_operand is set.
(tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/decltype38.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/variadic132.C

--- Comment #6 from Jason Merrill  2012-06-26 
03:42:56 UTC ---
Author: jason
Date: Tue Jun 26 03:42:48 2012
New Revision: 188974

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188974
Log:
PR c++/53498
PR c++/53305
* pt.c (tsubst_pack_expansion): Copy before dummy tsubst.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/decltype38.C
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/variadic132.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/pt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c++/53498] Compiler crashes during C++11 template magic compilation

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53498

--- Comment #4 from Jason Merrill  2012-06-26 
03:42:44 UTC ---
Author: jason
Date: Tue Jun 26 03:42:34 2012
New Revision: 188973

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188973
Log:
PR c++/53498
PR c++/53305
* pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
if cp_unevaluated_operand is set.
(tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/decltype38.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/variadic132.C


[Bug c++/53305] internal crash with variadic templates and decltype

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53305

--- Comment #5 from Jason Merrill  2012-06-26 
03:42:44 UTC ---
Author: jason
Date: Tue Jun 26 03:42:34 2012
New Revision: 188973

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188973
Log:
PR c++/53498
PR c++/53305
* pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
if cp_unevaluated_operand is set.
(tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/decltype38.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/variadic132.C


[Bug fortran/53771] inconsistent padding long double: mixture of 96 and 128

2012-06-25 Thread john.chandler at alum dot mit.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53771

--- Comment #2 from john.chandler at alum dot mit.edu 2012-06-25 23:51:37 UTC 
---
On Mon, Jun 25, 2012 at 4:22 PM, pinskia at gcc dot gnu.org
 wrote:
> If you want to use REAL*16, upgrade the compiler and that has support for
> REAL*16.

Can the compiler be installed privately by a user without admin
privileges on the system?  The staff here would not be willing to
upgrade in the near future.


[Bug c/53769] [C11]: Macros __STDC_NO_THREADS__ / __STDC_NO_ATOMIC__ missing.

2012-06-25 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53769

--- Comment #3 from joseph at codesourcery dot com  2012-06-25 23:32:04 UTC ---
On Mon, 25 Jun 2012, vincent-gcc at vinc17 dot net wrote:

> But what if a recent glibc version isn't used?

The standard describes cooperating language and library implementations, 
not either on their own.  glibc 2.16 is the first version with any 
significant C11 support (anything beyond quick_exit / at_quick_exit); you 
shouldn't expect the more library-related bits of language support to work 
well without it (or another library whose maintainers have worked with the 
GCC maintainers on areas requiring cooperation, such as this), or the 
library support in glibc to work well without the associated compiler 
support (not all yet implemented, but some parts are in 4.7, in particular 
the built-in functions needed for CMPLX macros, some were in earlier, in 
particular the u"" and U"" support, and more should be in 4.8).

> Would GCC still be able to compile the following code?
> 
> int main (void)
> {
> #if __STDC_VERSION__ >= 201112L && ! __STDC_NO_THREADS__
>   _Thread_local int i = 17;
> #endif

Such a test is not meaningful for documented incomplete support; in the 
absence of claims of conformance, __STDC_VERSION__ can only be interpreted 
as a statement of intent (so far as differences between standard versions 
are implemented, this version has been chosen) rather than as indicating 
that a particular feature is or is not present - that's simply a reality 
of incremental development, partial features are documented as partial and 
you can either work with the features available at a particular time, 
implement the extra ones you want or wait for new versions of all relevant 
components that have the bits you want.  But, at some point I expect to 
implement _Thread_local support and then it will work everywhere __thread 
does (via the existing TLS emulation support, etc., for architectures 
without hardware TLS).  C11 _Thread_local is mainly a keyword alias and 
adjustment of various errors to follow the exact C11 rules; C++11 
thread_local is harder because of the ABI implications of TLS objects with 
static constructors (and the associated interactions with dlopened 
objects).

(The code you give should be rejected if __STDC_NO_THREADS__ is not 
defined, because of the constraint in 6.7.1#3: "In the declaration of an 
object with block scope, if the declaration specifiers include 
_Thread_local, they shall also include either static or extern.".)

> Shouldn't GCC define __STDC_NO_THREADS__ to 1 by default and stdc-predef.h
> undefine it if _Thread_local is supported at the library level?

I think that just makes things unduly complicated.


[Bug c/53769] [C11]: Macros __STDC_NO_THREADS__ / __STDC_NO_ATOMIC__ missing.

2012-06-25 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53769

--- Comment #2 from Vincent Lefèvre  2012-06-25 
22:37:22 UTC ---
But what if a recent glibc version isn't used?
Would GCC still be able to compile the following code?

int main (void)
{
#if __STDC_VERSION__ >= 201112L && ! __STDC_NO_THREADS__
  _Thread_local int i = 17;
#endif
  return 0;
}

Shouldn't GCC define __STDC_NO_THREADS__ to 1 by default and stdc-predef.h
undefine it if _Thread_local is supported at the library level?


[Bug tree-optimization/53774] New: Reassociator generates non-canonical addition

2012-06-25 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53774

 Bug #: 53774
   Summary: Reassociator generates non-canonical addition
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: wschm...@gcc.gnu.org
CC: berg...@vnet.ibm.com, rguent...@suse.de


There is one test in the regression testsuite for which the reassociator
generates a GIMPLE addition that is not canonical.  Specifically, it generates
an add where rhs1 is a constant and rhs2 is an SSA name.  The test is:

gcc.c-torture/compiler/pr41634.c

The generated GIMPLE includes:

  D.1393_7 = 4294967293 + fp_6(D);

Probably best just to run this test from the testsuite to reproduce, but here
is the command I used.

/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a/gcc/xgcc
-B/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a/gcc/
-fno-diagnostics-show-caret -O0 -w -c -m32 -o pr41634.o
/home/wschmidt/gcc/gcc-mainline-slsrpt1a/gcc/testsuite/gcc.c-torture/compile/pr41634.c


[Bug tree-optimization/53773] New: Vectorizer generates non-canonical multiplies

2012-06-25 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53773

 Bug #: 53773
   Summary: Vectorizer generates non-canonical multiplies
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: wschm...@gcc.gnu.org
CC: berg...@vnet.ibm.com, rguent...@suse.de


There are two tests in the regression testsuite for which the vectorizer
generates GIMPLE multiplies that are not canonical.  Specifically, they
generate multiplies where rhs1 is a constant and rhs2 is an SSA name.  The two
tests are:

(1) gcc.dg/vect/pr50451.c
(2) gfortran.dg/pr17143.f90

For (1), the generated GIMPLE includes:

  integral_7 = 10 * integral_17;
  ...
  decimal_8 = 10 * decimal_18;

For (2):

  i.3_3 = 2 * prephitmp.9_23;

Probably best just to run these tests from the test suite to reproduce, but
here are the commands I used.

Example invocation for (1):

/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a-debug/gcc/xgcc
-B/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a-debug/gcc/
/home/wschmidt/gcc/gcc-mainline-slsrpt1a/gcc/testsuite/gcc.dg/vect/pr50451.c
-fno-diagnostics-show-caret -flto -maltivec -mvsx -mno-allow-movmisalign
-ftree-vectorize -fno-vect-cost-model -fno-common -O2 -fdump-tree-vect-details
-S -m64 -o pr50451.s

Example invocation for (2):

/home/wschmidt/gcc/install/gcc-mainline-slsrpt1a-debug/bin/gfortran
-B/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a-debug/gcc/testsuite/gfortran3/../../
-B/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a-debug/powerpc64-linux/32/libgfortran/
/home/wschmidt/gcc/gcc-mainline-slsrpt1a/gcc/testsuite/gfortran.dg/pr17143.f90
-fno-diagnostics-show-caret -O3 -fomit-frame-pointer -std=legacy
-B/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a-debug/powerpc64-linux/32/libgfortran/.libs
-L/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a-debug/powerpc64-linux/32/libgfortran/.libs
-L/home/wschmidt/gcc/build/gcc-mainline-slsrpt1a-debug/powerpc64-linux/32/libgfortran/.libs
-lm -m32 -o ./pr17143.exe


[Bug target/53772] New: Failed to combine load and jump on vtable

2012-06-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53772

 Bug #: 53772
   Summary: Failed to combine load and jump on vtable
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: areg.melikadam...@gmail.com, ubiz...@gmail.com
Target: x86-64


[hjl@gnu-6 tmp]$ cat v.cc
struct Foo { virtual void f(); }; void f(Foo *f) { f->f(); }
[hjl@gnu-6 tmp]$ /opt/llvm/bin/clang -S -m64 -O2 -o clang64.s v.cc  
[hjl@gnu-6 tmp]$ cat clang64.s 
.file"v.cc"
.text
.globl_Z1fP3Foo
.align16, 0x90
.type_Z1fP3Foo,@function
_Z1fP3Foo:  # @_Z1fP3Foo
.cfi_startproc
# BB#0: # %entry
movq(%rdi), %rax
jmpq*(%rax)  # TAILCALL
.Ltmp0:
.size_Z1fP3Foo, .Ltmp0-_Z1fP3Foo
.cfi_endproc


.section".note.GNU-stack","",@progbits
[hjl@gnu-6 tmp]$ /usr/gcc-4.7.2-x32/bin/gcc -S -O2 -m64 v.cc -o gcc64.s  
[hjl@gnu-6 tmp]$ cat gcc64.s
.file"v.cc"
.text
.p2align 4,,15
.globl_Z1fP3Foo
.type_Z1fP3Foo, @function
_Z1fP3Foo:
.LFB0:
.cfi_startproc
movq(%rdi), %rax
movq(%rax), %rax
jmp*%rax
.cfi_endproc
.LFE0:
.size_Z1fP3Foo, .-_Z1fP3Foo
.ident"GCC: (GNU) 4.7.2 20120622 (prerelease)"
.section.note.GNU-stack,"",@progbits
[hjl@gnu-6 tmp]$


[Bug debug/53754] [4.8 Regression][lto] ICE in lhd_decl_printable_name, at langhooks.c:222 (with -g)

2012-06-25 Thread ccoutant at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53754

Cary Coutant  changed:

   What|Removed |Added

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

--- Comment #4 from Cary Coutant  2012-06-25 
21:19:17 UTC ---
Created attachment 27705
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27705
Patch to fix ICE with -g -flto and anonymous namespace

> You can't delay producing pubnames this way with LTO.  Please fix.

The obvious problem is that we're calling langhooks.dwarf_name (in
gen_namespace_die) for an anonymous namespace, even with the default
-gno-pubnames. I can fix that by adding a check for want_pubnames just before
the call to add_pubname_string, as in the patch below. But this is still going
to ICE if you turn on -gpubnames with -lto. The only way I can think of to fix
that is relax the assert in lhd_decl_printable_name, and just have it return an
empty string in the DECL_NAMELESS case. That will not produce the right results
for an anonmyous namespace, but without front-end langhooks available to us
(and until we implement the lazy debug plan), how can we do better?

How much is expected to work today with LTO and -g? Aren't we still stuck with
calling langhooks from dwarf2out.c back-end routines? I can understand that we
don't want to ICE, but what guarantees do we make about debug info?

-cary


[Bug c++/52988] std::async not executed on function returning nullptr_t

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52988

Jason Merrill  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.4

--- Comment #8 from Jason Merrill  2012-06-25 
20:43:00 UTC ---
Fixed for 4.6.4.


[Bug c++/52988] std::async not executed on function returning nullptr_t

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52988

--- Comment #7 from Jason Merrill  2012-06-25 
20:39:53 UTC ---
Author: jason
Date: Mon Jun 25 20:39:47 2012
New Revision: 188955

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188955
Log:
PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/nullptr28.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/52988] std::async not executed on function returning nullptr_t

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52988

--- Comment #6 from Jason Merrill  2012-06-25 
20:37:30 UTC ---
Author: jason
Date: Mon Jun 25 20:37:25 2012
New Revision: 188954

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188954
Log:
PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/nullptr28.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/typeck.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c++/52988] std::async not executed on function returning nullptr_t

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52988

--- Comment #5 from Jason Merrill  2012-06-25 
20:37:18 UTC ---
Author: jason
Date: Mon Jun 25 20:37:14 2012
New Revision: 188953

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188953
Log:
PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/nullptr28.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/typeck.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog

--- Comment #6 from Jason Merrill  2012-06-25 
20:37:30 UTC ---
Author: jason
Date: Mon Jun 25 20:37:25 2012
New Revision: 188954

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188954
Log:
PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/nullptr28.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/typeck.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug c++/52988] std::async not executed on function returning nullptr_t

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52988

--- Comment #5 from Jason Merrill  2012-06-25 
20:37:18 UTC ---
Author: jason
Date: Mon Jun 25 20:37:14 2012
New Revision: 188953

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188953
Log:
PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/nullptr28.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/typeck.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug debug/53770] Regression: incorrect line numbers in debug info since 4.5+

2012-06-25 Thread petschy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53770

--- Comment #1 from petschy at gmail dot com 2012-06-25 20:29:05 UTC ---
I tested on 32bit Debian Wheezy, too, with stock 4.6.3, and everything was ok.

Another AMD64 Wheezy box w/ stock 4.6.3 showed the bug, with a minor variation:
when the condition in line 25 was true, it stepped on the break at line 26, but
then also stepped on line 30 with the ++f. The same is for 4.7.0.

Looking at the disassembly when standing on ++f:
   0x00400a99 <+234>:nop
=> 0x00400a9a <+235>:jmp0x400aa0 (char*,
unsigned long, char const*)+241>
   0x00400a9c <+237>:addl   $0x1,-0x14(%rbp)

The last insn is ++f, and the jump should belong to the break I guess.


[Bug fortran/47692] Numeric inaccuracy reported in testing lapack-3.3.0 BLAS module

2012-06-25 Thread anlauf at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47692

--- Comment #16 from Harald Anlauf  2012-06-25 20:26:27 
UTC ---
(In reply to comment #15)
> I just received a message saying:
> 
> "The problem with the BLAS testing programs sometimes not computing the 
> machine
> epsilon correctly has been fixed in revision r1224, available in the LAPACK 
> SVN
> repository (https://icl.cs.utk.edu/svn/lapack-dev/lapack/trunk)."

It appears that these fixes are in LAPACK-3.4.1, released in April 2012.
The failures I've seen in the BLAS testing have disappeared.

John, can you test that the new LAPACK version works for you?


[Bug fortran/53771] inconsistent padding long double: mixture of 96 and 128

2012-06-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53771

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Andrew Pinski  2012-06-25 
20:22:14 UTC ---
-m96bit-long-double/-m128bit-long-double changes the C ABI which means things
can get messy if you don't compile everything (including libc) with those
options.

If you want to use REAL*16, upgrade the compiler and that has support for
REAL*16.


[Bug fortran/53771] New: inconsistent padding long double: mixture of 96 and 128

2012-06-25 Thread johnfchandler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53771

 Bug #: 53771
   Summary: inconsistent padding long double: mixture of 96 and
128
Classification: Unclassified
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: johnfchand...@gmail.com


Created attachment 27704
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27704
a sample program exhibiting the bug

Overriding the default padding of REAL*10 data with the -m128bit-long-double or
-m96bit-long-double option does not work consistently.  Some data items in I/O
are still padded to the default length instead of the desired length.  In the
sample program, the array written to fort.1 via implied-do follows the default
padding instead of obeying the override.

Command:
 gfortran -v -m96bit-long-double btest.f
Driving: gfortran -v -m96bit-long-double btest.f -lgfortranbegin -lgfortran -lm
-shared-libgcc
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --disable-plugin
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic
--host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)
 /usr/libexec/gcc/x86_64-redhat-linux/4.1.2/f951 btest.f -ffixed-form -quiet
-dumpbase btest.f -m96bit-long-double -mtune=generic -auxbase btest -version -I
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/finclude -o /tmp/ccfzauZo.s
GNU F95 version 4.1.2 20080704 (Red Hat 4.1.2-52) (x86_64-redhat-linux)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-52).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
 as -V -Qy -o /tmp/ccEWq1lI.o /tmp/ccfzauZo.s
GNU assembler version 2.17.50.0.6-20.el5 (x86_64-redhat-linux) using BFD
version 2.17.50.0.6-20.el5 20061020
 /usr/libexec/gcc/x86_64-redhat-linux/4.1.2/collect2 --eh-frame-hdr -m
elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbegin.o
-L/usr/lib/gcc/x86_64-redhat-linux/4.1.2
-L/usr/lib/gcc/x86_64-redhat-linux/4.1.2
-L/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64 -L/lib/../lib64
-L/usr/lib/../lib64 /tmp/ccEWq1lI.o -lgfortranbegin -lgfortran -lm -lgcc_s
-lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crtn.o


[Bug debug/53770] New: Regression: incorrect line numbers in debug info since 4.5+

2012-06-25 Thread petschy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53770

 Bug #: 53770
   Summary: Regression: incorrect line numbers in debug info since
4.5+
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pets...@gmail.com


Created attachment 27703
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27703
the test case

Single stepping the code from the debugger shows bad lines at places, the code
is correct however.

Command to produce the executable:
g++-4.8.0 -o dbginfobug dbginfobug.cpp -save-temps -g -O0 -Wall -Wextra -v
Using built-in specs.
COLLECT_GCC=g++-4.8.0
COLLECT_LTO_WRAPPER=/home/usr-local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-languages=c,c++ --program-suffix=-4.8.0
Thread model: posix
gcc version 4.8.0 20120605 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-o' 'dbginfobug' '-save-temps' '-g' '-O0' '-Wall'
'-Wextra' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /home/usr-local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -E
-quiet -v -iprefix
/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/ -D_GNU_SOURCE
dbginfobug.cpp -mtune=generic -march=x86-64 -Wall -Wextra -g
-fworking-directory -O0 -fpch-preprocess -o dbginfobug.ii
ignoring nonexistent directory
"/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include"
ignoring duplicate directory
"/home/usr-local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0"
ignoring duplicate directory
"/home/usr-local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu"
ignoring duplicate directory
"/home/usr-local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward"
ignoring duplicate directory
"/home/usr-local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include"
ignoring duplicate directory
"/home/usr-local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed"
ignoring nonexistent directory
"/home/usr-local/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:

/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0

/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu

/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward
 /home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include
 /home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed
 /usr/local/include
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-o' 'dbginfobug' '-save-temps' '-g' '-O0' '-Wall'
'-Wextra' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /home/usr-local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus
-fpreprocessed dbginfobug.ii -quiet -dumpbase dbginfobug.cpp -mtune=generic
-march=x86-64 -auxbase dbginfobug -g -O0 -Wall -Wextra -version -o dbginfobug.s
GNU C++ (GCC) version 4.8.0 20120605 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.0 20120605 (experimental), GMP version 5.0.5,
MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.8.0 20120605 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.8.0 20120605 (experimental), GMP version 5.0.5,
MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: c6a0954413719d6fcdda7217d65221de
COLLECT_GCC_OPTIONS='-o' 'dbginfobug' '-save-temps' '-g' '-O0' '-Wall'
'-Wextra' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 as -v --64 -o dbginfobug.o dbginfobug.s
GNU assembler version 2.22 (x86_64-linux-gnu) using BFD version (GNU Binutils
for Debian) 2.22
COMPILER_PATH=/home/usr-local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/:/home/usr-local/bin/../libexec/gcc/
LIBRARY_PATH=/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/:/home/usr-local/bin/../lib/gcc/:/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../lib64/:/lib/../lib64/:/usr/lib/x86_64-linux-gnu/:/home/usr-local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' 'dbginfobug' '-save-temps' '-g' '-O0' '-Wall'
'-Wextra' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /home/usr-local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/collect2
--eh-frame-hdr -m elf_x86_64 -dynamic-

[Bug fortran/49591] [OOP] Multiple identical specific procedures in type-bound operator not detected

2012-06-25 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49591

--- Comment #5 from janus at gcc dot gnu.org 2012-06-25 19:06:32 UTC ---
Note that this PR is basically a duplicate of PR 41951, which contains a test
case analogous to the M2 case.


[Bug c/53769] [C11]: Macros __STDC_NO_THREADS__ / __STDC_NO_ATOMIC__ missing.

2012-06-25 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53769

--- Comment #1 from joseph at codesourcery dot com  2012-06-25 18:55:22 UTC ---
On Mon, 25 Jun 2012, patrick.pelissier at gmail dot com wrote:

> When building a C program with -std=c11, GCC doesn't define 
> __STDC_NO_THREADS__ &  __STDC_NO_ATOMIC__ whereas it doesn't support theses
> features (yet) and still defines __STDC_VERSION__ to 201112L.

C11 support is documented as substantially incomplete.  I believe there is 
work in progress on a branch to add support for the atomics interfaces 
(likely including GCC providing stdatomic.h given how closely related that 
is to the compiler, even though it's not a header required for 
freestanding implmentations).  As for the threading functionality, that's 
substantially a library issue and glibc 2.16 will predefine 
__STDC_NO_THREADS__ in stdc-predef.h to declare the lack of library 
support as of that glibc version.  The final piece is implicit 
preinclusion of stdc-predef.h so that the macros do appear to be defined 
right from the start of the translation unit - I have a 4.8 version of my 
patch  but need 
to debug problems with its interaction with PCH.


[Bug target/53378] gcc/regs.h hides system header regs.h on vxWorks

2012-06-25 Thread rbmj at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53378

--- Comment #10 from rbmj at verizon dot net 2012-06-25 18:25:11 UTC ---
This issue is resolved in this (approved, not committed) patch series here:
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00382.html, specifically
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00389.html with dependency on
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00383.html


[Bug libstdc++/53457] Accommodate non-compliant ioctl() on VxWorks

2012-06-25 Thread rbmj at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53457

--- Comment #7 from rbmj at verizon dot net 2012-06-25 18:23:02 UTC ---
Fixed with this (approved, but not committed) patch series:
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00382.html


[Bug target/53264] gcc/gcov-io.c and gcc/libgcov.c fail to compile (target vxWorks - gcc 4.7.0)

2012-06-25 Thread rbmj at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53264

--- Comment #6 from rbmj at verizon dot net 2012-06-25 18:20:36 UTC ---
OK, so two new patches.

1. For gcc/gcov-io.c: Patch posted at [1] and attached to the bug.
2. For gcc/libgcov.c: Patch posted at [2], approved at [3], and attached to the
bug.

Neither has been committed as of yet.

[1]: http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01508.html
[2]: http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01548.html
[3]: http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01591.html


[Bug target/53264] gcc/gcov-io.c and gcc/libgcov.c fail to compile (target vxWorks - gcc 4.7.0)

2012-06-25 Thread rbmj at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53264

--- Comment #5 from rbmj at verizon dot net 2012-06-25 18:19:57 UTC ---
Created attachment 27702
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27702
Fixincludes rule to allow gcc/libgcov.c to compile


[Bug target/53264] gcc/gcov-io.c and gcc/libgcov.c fail to compile (target vxWorks - gcc 4.7.0)

2012-06-25 Thread rbmj at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53264

rbmj at verizon dot net changed:

   What|Removed |Added

  Attachment #27468|0   |1
is obsolete||

--- Comment #4 from rbmj at verizon dot net 2012-06-25 18:18:53 UTC ---
Created attachment 27701
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27701
Patch to allow gcc/gcov-io.patch to compile


[Bug c++/53752] [4.8 Regression] ice in write_array_type

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53752

--- Comment #6 from Jason Merrill  2012-06-25 
17:36:18 UTC ---
(In reply to comment #4)
> We mangle an array with TYPE_DOMAIN [0, UINT_MAX], so it has UINT_MAX + 1
> number of elements.

Well, since that's how we represent an array of length 0, we need to mangle it
as 0.  This testcase isn't creating an array of length UINT_MAX+1, it's
creating an array of length 0.


[Bug lto/53768] [4.7 Regression] Undefined references with boost 1.46/1.48/1.49

2012-06-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53768

--- Comment #3 from H.J. Lu  2012-06-25 17:12:31 
UTC ---
(In reply to comment #1)
> Gold is fine BTW.

It doesn't mean bfd ld shouldn't issue an error.


[Bug c/53769] New: [C11]: Macros __STDC_NO_THREADS__ / __STDC_NO_ATOMIC__ missing.

2012-06-25 Thread patrick.pelissier at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53769

 Bug #: 53769
   Summary: [C11]: Macros __STDC_NO_THREADS__ / __STDC_NO_ATOMIC__
missing.
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: patrick.peliss...@gmail.com


When building a C program with -std=c11, GCC doesn't define 
__STDC_NO_THREADS__ &  __STDC_NO_ATOMIC__ whereas it doesn't support theses
features (yet) and still defines __STDC_VERSION__ to 201112L.


[Bug lto/53768] [4.7 Regression] Undefined references with boost 1.46/1.48/1.49

2012-06-25 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53768

--- Comment #2 from Markus Trippelsdorf  
2012-06-25 17:01:35 UTC ---
Insofar as it only issues warnings:
/tmp/cc4Lw5GR.ltrans1.ltrans.o:cc4Lw5GR.ltrans1.o:function vtable for
boost::exception_detail::clone_impl
> [clone .local.460]: warning: relocation refers to discarded section
...


[Bug lto/53768] [4.7 Regression] Undefined references with boost 1.46/1.48/1.49

2012-06-25 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53768

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||markus at trippelsdorf dot
   ||de

--- Comment #1 from Markus Trippelsdorf  
2012-06-25 16:59:51 UTC ---
Gold is fine BTW.


[Bug lto/53768] New: [4.7 Regression] Undefined references with boost 1.46/1.48/1.49

2012-06-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53768

 Bug #: 53768
   Summary: [4.7 Regression] Undefined references with boost
1.46/1.48/1.49
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: hubi...@gcc.gnu.org


On Linux/x86-64, GCC 4.7.2 gave

[hjl@gnu-6 tmp]$ cat pr53572.cc 
#include 
int main(){return 0;}
[hjl@gnu-6 tmp]$ g++ pr53572.cc -m32 -O3 -g  -flto -fuse-linker-plugin
-rdynamic
...
/usr/local/bin/ld: a.out: hidden symbol `.LTHUNK75.4891' isn't defined
/usr/local/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

I am using binutils in CVS trunk. This is caused by revision 179424:

http://gcc.gnu.org/ml/gcc-cvs/2011-10/msg00017.html

and fixed by revision 186252:

http://gcc.gnu.org/ml/gcc-cvs/2012-04/msg00202.html


[Bug c++/52988] std::async not executed on function returning nullptr_t

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52988

Jason Merrill  changed:

   What|Removed |Added

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


[Bug c++/53650] [4.7/4.8 Regression] large array causes huge memory use

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53650

Jason Merrill  changed:

   What|Removed |Added

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


[Bug c++/53524] [4.7/4.8 Regression] Bogus enum comparison warning

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53524

Jason Merrill  changed:

   What|Removed |Added

Summary|[4.7/4.8 Regression] Bogus  |[4.7/4.8 Regression] Bogus
   |and unsuppressible enum |enum comparison warning
   |comparison warning  |

--- Comment #26 from Jason Merrill  2012-06-25 
15:50:57 UTC ---
Adjusting summary now that the warning is suppressible.


[Bug c++/53565] [4.8 Regression] FAIL: libgomp.c++/for-7.C

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53565

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #3 from Jason Merrill  2012-06-25 
15:46:30 UTC ---
Fixed.


[Bug c++/53202] [4.7/4.8 Regression] Copy constructor not called when starting a thread

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53202

Jason Merrill  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #10 from Jason Merrill  2012-06-25 
15:45:39 UTC ---
Fixed for 4.7.2


[Bug c++/53202] [4.7/4.8 Regression] Copy constructor not called when starting a thread

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53202

--- Comment #9 from Jason Merrill  2012-06-25 
15:41:18 UTC ---
Author: jason
Date: Mon Jun 25 15:41:13 2012
New Revision: 188941

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188941
Log:
PR c++/53202
* semantics.c (build_data_member_initialization): Always keep
initializer for empty base.
(cxx_eval_bare_aggregate): Discard it here.

Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C
Modified:
branches/gcc-4_7-branch/gcc/cp/ChangeLog
branches/gcc-4_7-branch/gcc/cp/semantics.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug fortran/48858] Incorrect error for same binding label on two generic interface specifics

2012-06-25 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48858

--- Comment #12 from Tobias Burnus  2012-06-25 
15:37:35 UTC ---
For a (vaguely) related issue, see PR 53478.


[Bug c++/53565] [4.8 Regression] FAIL: libgomp.c++/for-7.C

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53565

--- Comment #2 from Jason Merrill  2012-06-25 
15:17:55 UTC ---
Author: jason
Date: Mon Jun 25 15:17:48 2012
New Revision: 188939

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188939
Log:
PR c++/53565
* pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling.
(tsubst_expr) [OMP_FOR]: Here, too.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/g++.dg/gomp/for-19.C


[Bug c++/53202] [4.7/4.8 Regression] Copy constructor not called when starting a thread

2012-06-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53202

--- Comment #8 from Jason Merrill  2012-06-25 
15:18:04 UTC ---
Author: jason
Date: Mon Jun 25 15:17:59 2012
New Revision: 188940

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188940
Log:
PR c++/53202
* semantics.c (build_data_member_initialization): Always keep
initializer for empty base.
(cxx_eval_bare_aggregate): Discard it here.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/53706] [4.8 Regression] Bootstrap failure due to "Invalid write of size 8 at 0xBDC35E: variable_htab_free (var-tracking.c:1418)

2012-06-25 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53706

--- Comment #14 from ro at CeBiTec dot Uni-Bielefeld.DE  2012-06-25 15:16:42 UTC ---
> --- Comment #13 from Rainer Orth  2012-06-25 14:55:41 
> UTC ---
> I'm seeing SEGVs in i386-pc-solaris2.* bootstraps which a reghunt traced back
> to the same patch.  I'm trying a bootstrap with Jakub's patch now.

Unfortunately, the patch doesn't help: I still get the SEGV in stage 2:

g++: internal compiler error: Segmentation Fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
make[3]: *** [tree-ssa-loop-prefetch.o] Error 4

Rainer


[Bug lto/53572] Some public symbols don't get to serialized LTO

2012-06-25 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53572

--- Comment #8 from Jan Hubicka  2012-06-25 
15:07:18 UTC ---
OK, I will commit the fix as it is to mainline today and see if there are any
significant negative effects with V1 API on Mozilla. If so, I will try to
update lto-plugin to handle the v1/v2 hack there instead of lto-streamer for
4.7.


[Bug target/53759] [4.7/4.8 Regression] gcc -mavx emits vshufps for __builtin_ia32_loadlps

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53759

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from Jakub Jelinek  2012-06-25 
15:05:09 UTC ---
Should be fixed now, thanks.


[Bug target/53759] [4.7/4.8 Regression] gcc -mavx emits vshufps for __builtin_ia32_loadlps

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53759

--- Comment #6 from Jakub Jelinek  2012-06-25 
14:56:22 UTC ---
Author: jakub
Date: Mon Jun 25 14:56:17 2012
New Revision: 188938

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188938
Log:
PR target/53759
* config/i386/sse.md (sse_loadlps): Use x m x constraints instead
of x x x in the vmovlps load alternative.

* gcc.target/i386/pr53759.c: New test.

Added:
branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/pr53759.c
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/i386/sse.md
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug rtl-optimization/53706] [4.8 Regression] Bootstrap failure due to "Invalid write of size 8 at 0xBDC35E: variable_htab_free (var-tracking.c:1418)

2012-06-25 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53706

Rainer Orth  changed:

   What|Removed |Added

 CC||ro at gcc dot gnu.org

--- Comment #13 from Rainer Orth  2012-06-25 14:55:41 
UTC ---
I'm seeing SEGVs in i386-pc-solaris2.* bootstraps which a reghunt traced back
to the same patch.  I'm trying a bootstrap with Jakub's patch now.

  Rainer


[Bug target/53759] [4.7/4.8 Regression] gcc -mavx emits vshufps for __builtin_ia32_loadlps

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53759

--- Comment #5 from Jakub Jelinek  2012-06-25 
14:53:04 UTC ---
Author: jakub
Date: Mon Jun 25 14:52:59 2012
New Revision: 188937

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188937
Log:
PR target/53759
* config/i386/sse.md (sse_loadlps): Use x m x constraints instead
of x x x in the vmovlps load alternative.

* gcc.target/i386/pr53759.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr53759.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sse.md
trunk/gcc/testsuite/ChangeLog


[Bug libstdc++/52765] -std=c++0x requires multilib for non-optimized libstdc++

2012-06-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52765

--- Comment #13 from Jonathan Wakely  2012-06-25 
14:50:10 UTC ---
Oh I see it isn't specific to libstdc++.  You'll just have to push on the
gcc-patches list for review then.  It helps if you describe the problem it
solves in detail, and confirm it was tested successfully, stating on which
platform(s).


[Bug libstdc++/52765] -std=c++0x requires multilib for non-optimized libstdc++

2012-06-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52765

--- Comment #12 from Jonathan Wakely  2012-06-25 
14:45:18 UTC ---
Patches for libstdc++ should be sent to the libstdc++ list as well as
gcc-patches. That's probably why you didn't get any feedback.


[Bug libstdc++/52765] -std=c++0x requires multilib for non-optimized libstdc++

2012-06-25 Thread christophe.lyon at st dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52765

--- Comment #11 from christophe.lyon at st dot com 2012-06-25 14:38:00 UTC ---
I have proposed a patch related to this problem some time ago, which received
no feedback:
http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01855.html


[Bug c++/53488] Incorrect code generated when capturing a constant by reference in a lambda

2012-06-25 Thread ai.azuma at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53488

Ai Azuma  changed:

   What|Removed |Added

 CC||ai.azuma at gmail dot com

--- Comment #9 from Ai Azuma  2012-06-25 14:28:00 
UTC ---
I don't know if that helps, but there exists a bug report similar to one
reported in Comment 0.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50939


[Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada

2012-06-25 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740

--- Comment #4 from rsandifo at gcc dot gnu.org  
2012-06-25 14:20:29 UTC ---
Author: rsandifo
Date: Mon Jun 25 14:20:19 2012
New Revision: 188935

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188935
Log:
PR debug/53740
* df.h, df-problems.c, dce.c: Revert last patch.

Modified:
trunk/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
trunk/gcc/df.h


[Bug c++/38172] warn_unused_result does not work with structs not containing a copy constructor

2012-06-25 Thread joerg.rich...@pdv-fs.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38172

Jörg Richter  changed:

   What|Removed |Added

 CC||joerg.rich...@pdv-fs.de

--- Comment #5 from Jörg Richter  2012-06-25 13:58:26 
UTC ---
Adding just a simple struct member makes the warning for Bar2 disappear again.
Reopen? Or should I file a new PR?

$ cat t.cc
struct MyClass
{
int i;
};

typedef struct MyClass MyClass;

int Bar1( void ) __attribute__((warn_unused_result));
MyClass Bar2( void ) __attribute__((warn_unused_result));

void Foo( void )
{
  Bar1(); // Warns
  Bar2(); // Does not warn
}

$ gcc -c -o /dev/null t.cc
t.cc: In function 'void Foo()':
t.cc:13:9: warning: ignoring return value of 'int Bar1()', declared with
attribute warn_unused_result [-Wunused-result]

$ gcc -v
Using built-in specs.
COLLECT_GCC=/tools/pkg/gcc/4.7.1/bin/gcc
COLLECT_LTO_WRAPPER=/tools/pkg/gcc/4.7.1/libexec/gcc/x86_64-unknown-linux-gnu/4.7.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: gcc-4.7.1/configure --enable-languages=c,c++
--disable-bootstrap --disable-nls --with-local-prefix=/not_existing_directory
--with-as=/tools/pkg/binutils/2.21/bin/as
--with-ld=/tools/pkg/binutils/2.21/bin/ld --prefix=/tools/pkg/gcc/4.7.1
Thread model: posix
gcc version 4.7.1 (GCC)

Also with 4.6.3


[Bug fortran/51434] ICE with scalar init of an array parameter, used in DT default init with transfer

2012-06-25 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51434

--- Comment #15 from Dominique d'Humieres  
2012-06-25 13:45:09 UTC ---
The following test 

  character(len=2), parameter :: z(5) = ['af', 'bg', 'ch', 'di', 'ej']
  type b
  character :: y(5) = transfer('zyxwvutsrq', z)
  end type
  type(b) :: zz
  print *, zz
  print *, z
  end

gives

 zxvtr
 afbgchdiej

when compiled with g95, but an ICE when compiled with gfortran

pr51434_3_db_4.f90:8:0: internal compiler error: in
output_constructor_regular_field, at varasm.c:4768


[Bug middle-end/53676] [4.7/4.8 regression] empty loop is not always removed now

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53676

--- Comment #7 from Richard Guenther  2012-06-25 
13:39:29 UTC ---
In SCEV analysis we'd need to detect the pattern feeding the truncation

  tem_3 = (int) result_2;
  tem_4 = tem_3 + 2;
  result_5 = (signed char) tem_4;

in interpret_rhs_expr - otherwise we ask for the evolution of tem_4 which
we cannot express properly because tem_3's chrec wraps.  So we'd need to
handle result_5 = (signed char) ((int) result_2 + 2) as if it were done
without the intermediate tem_4.


[Bug c++/52900] Compile source using Boost header with -static -flto -std=c++11 breaks

2012-06-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52900

--- Comment #7 from H.J. Lu  2012-06-25 13:33:33 
UTC ---
This may be a dup for PR 53572.  You can try its fix.


[Bug fortran/51434] ICE with scalar init of an array parameter, used in DT default init with transfer

2012-06-25 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51434

--- Comment #14 from Tobias Burnus  2012-06-25 
13:28:34 UTC ---
(In reply to comment #13)
> Is the following variant 
...
> valid?

Looks valid - and with other compilers it does compile and run. What works in
gfortran is the following, which yields a scalar RHS of "= 'a'":
  character :: y(5) = transfer('abced', s(1)%z)

While for s%z or s(:)%z or even s(1:1)%z, one gets a size-5 array on the RHS,
namely "=['a','a','a','a','a']" (or with 'abcde' the array
['a','b','c','d','e']). That case is ICEing in gfortran.


>From F2008, "13.7.168 TRANSFER (SOURCE, MOLD [, SIZE])":

"Result Characteristics. The result is of the same type and type parameters as
MOLD.
Case (i): If MOLD is a scalar and SIZE is absent, the result is a scalar.
Case (ii): If MOLD is an array and SIZE is absent, the result is an array and
of rank one. Its size is as small as possible such that its physical
representation is not shorter than that of SOURCE.
Case (iii): If SIZE is present, the result is an array of rank one and size
SIZE."


[Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada

2012-06-25 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740

--- Comment #3 from rsandifo at gcc dot gnu.org  
2012-06-25 13:25:47 UTC ---
Author: rsandifo
Date: Mon Jun 25 13:25:39 2012
New Revision: 188934

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188934
Log:
gcc/
PR debug/53740
* df.h (dead_debug_add): Remove third argument.
* df-problems.c (dead_debug_add): Likewise.  Use the REGNO of the
REG that we want to replace instead.
(dead_debug_insert_temp): Use the REGNO of the reg that we want
to replace instead of DF_REF_REGNO.  Require there to always be
at least one such use.  Check for cases where the same location
has more than df_ref associated with it.
(df_note_bb_compute): Remove third dead_debug_add argument.
* dce.c (word_dce_process_block): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
trunk/gcc/df.h


[Bug c++/52900] Compile source using Boost header with -static -flto -std=c++11 breaks

2012-06-25 Thread Christopher.Hite at partner dot commerzbank.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52900

Christopher Hite  changed:

   What|Removed |Added

 CC||Christopher.Hite at partner
   ||dot commerzbank.com

--- Comment #6 from Christopher Hite  2012-06-25 12:48:07 UTC ---
I'm suffering from this one too doing LTO.  Strangle only 5 of my unit tests
have the problem and my big binaries link fine.  Everything mentions:

typeinfo for __gnu_cxx::__concurrence_*

GNU ld (GNU Binutils) 2.22.52.20120621
g++ (GCC) 4.7.0
boost_1_49_0

I also use boost, but most don't use program options.

This is the 3rd LTO bug I've got open.  I'm wondering if I should back off LTO.


[Bug ada/53767] New: ICE deriving from class wide generic access parameter

2012-06-25 Thread baldrick at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53767

 Bug #: 53767
   Summary: ICE deriving from class wide generic access parameter
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: baldr...@gcc.gnu.org


Introduced in gcc-4.7, still present in mainline.

$ gcc-4.7 -c p.ads
+===GNAT BUG DETECTED==+
| 4.7.1 20120603 (prerelease) (x86_64-unknown-linux-gnu) Assert_Failure
sinfo.adb:730|
| Error detected at p.ads:5:4  |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

p.ads
g.ads

compilation abandoned

-- chop here --

generic
   type T is tagged private;
   type P is access T'Class;
package G is
   type NP is new P;
end;

with G;
package P is
   type T is tagged null record;
   type P is access T'Class;
   package GI is new G (T, P);
end;


[Bug fortran/53478] gfortran segfaults when module name clashes with C binding name of procedure

2012-06-25 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53478

--- Comment #4 from Dominique d'Humieres  2012-06-25 
12:05:24 UTC ---
I have the patch in comment #2 in my tree since some time now and it works as
advertised without regression. However, If I have understood Ian Harvey's
answer in comp.lang.fortran

https://groups.google.com/forum/?fromgroups#!topic/comp.lang.fortran/o_hapvMHxIE

the test in comment #3 is invalid. Is this correct?


[Bug ada/53766] New: ICE in build_binary_op when using pragma Suppress (All_Checks)

2012-06-25 Thread baldrick at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53766

 Bug #: 53766
   Summary: ICE in build_binary_op when using pragma Suppress
(All_Checks)
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: baldr...@gcc.gnu.org


At a guess, the code that inserts runtime checks adds a need type conversion
that is forgotten when checks are suppressed.  I see this with gcc-4.7 and
with mainline.

$ gcc-4.8 -c p.adb
+===GNAT BUG DETECTED==+
| 4.8.0 20120624 (experimental) (x86_64-unknown-linux-gnu) GCC error:  |
| in build_binary_op, at ada/gcc-interface/utils2.c:1134   |
| Error detected at p.adb:7:57 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

p.adb
p.ads

compilation abandoned

-- chop here --

with System.Storage_Elements;
package P is
   procedure A (Offset : System.Storage_Elements.Storage_Offset);
end;

with Ada.Strings.Unbounded;
package body P is
   use System.Storage_Elements;
   procedure A (Offset : Storage_Offset) is
  pragma Suppress (All_Checks);
   begin
  if Offset +
Ada.Strings.Unbounded.Unbounded_String'Max_Size_In_Storage_Elements >= 123 then
 raise Program_Error;
  end if;
   end;
end;


[Bug c/53760] attribute packed doesn't pack inner structs

2012-06-25 Thread stsp at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53760

--- Comment #8 from Stas Sergeev  2012-06-25 
10:29:40 UTC ---
I think gcc C could support it too by
some "pack_harder" attribute (and then not
allow pointers to such structs), but I've got
the point. :)


[Bug tree-optimization/53748] [4.8 Regression] ice in fold_convert_loc

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53748

--- Comment #4 from Jakub Jelinek  2012-06-25 
10:14:43 UTC ---
Created attachment 27700
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27700
gcc48-pr53748.patch

UNtested fix.


[Bug c/53760] attribute packed doesn't pack inner structs

2012-06-25 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53760

Eric Botcazou  changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot
   ||gnu.org

--- Comment #7 from Eric Botcazou  2012-06-25 
10:06:23 UTC ---
> Is this mandated in some spec or doc?
> Any way to defeat that? :)

If you're ready to switch language.  The Ada language supports bit-packedness.


[Bug tree-optimization/53748] [4.8 Regression] ice in fold_convert_loc

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53748

--- Comment #3 from Jakub Jelinek  2012-06-25 
09:20:06 UTC ---
Reduced testcase:
typedef long long V __attribute__ ((__vector_size__ (16)));

void
foo (int x, V *y)
{
  *y = x ? ((V) { ~0UL, ~0UL }) : ((V) { 0LL, 0LL });
}


[Bug target/53759] [4.7/4.8 Regression] gcc -mavx emits vshufps for __builtin_ia32_loadlps

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53759

--- Comment #4 from Jakub Jelinek  2012-06-25 
08:48:50 UTC ---
Created attachment 27699
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27699
gcc48-pr53759.patch

Sounds like an obvious typo in that change, the x, x, x alternative is already
earlier and shouldn't use vmovlps insn, so that obviously should have been x,
m, x.


[Bug c++/53752] [4.8 Regression] ice in write_array_type

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53752

Richard Guenther  changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #5 from Richard Guenther  2012-06-25 
08:49:30 UTC ---
Jason - is that what is expected?  Or should we have rejected the array
before?  I suppose a value of zero is unused (apart from for the GNU extension
of array[0]).  But array[0] and array[ULONG_MAX] would mangle the same.

Patch that restores previous behavior:

Index: gcc/cp/mangle.c
===
--- gcc/cp/mangle.c (revision 188927)
+++ gcc/cp/mangle.c (working copy)
@@ -3121,6 +3121,9 @@ write_array_type (const tree type)
 elements in the array, not the largest allowed index.  */
  double_int dmax
= double_int_add (tree_to_double_int (max), double_int_one);
+ /* Truncate the result - this will mangle [0, SIZE_INT_MAX]
+number of elements as zero.  */
+ dmax = double_int_zext (dmax, TYPE_PRECISION (TREE_TYPE (max)));
  gcc_assert (double_int_fits_in_uhwi_p (dmax));
  write_unsigned_number (dmax.low);
}


[Bug c++/53752] [4.8 Regression] ice in write_array_type

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53752

--- Comment #4 from Richard Guenther  2012-06-25 
08:44:35 UTC ---
Created attachment 27698
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27698
autoreduced testcase

We mangle an array with TYPE_DOMAIN [0, UINT_MAX], so it has UINT_MAX + 1
number
of elements.  The old code read

  /* The ABI specifies that we should mangle the number of
 elements in the array, not the largest allowed index.  */
  max = size_binop (PLUS_EXPR, max, size_one_node);
  write_unsigned_number (tree_low_cst (max, 1));

which of course simply truncated the result to zero, and only the verifying
that it fits into an unsigned host-wide-int.


[Bug c++/53528] Support C++11 generalized attributes

2012-06-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53528

--- Comment #3 from Jonathan Wakely  2012-06-25 
08:32:29 UTC ---
There's no need for an extension, the grammar allows
[[gnu::init_priority(200)]]


[Bug middle-end/53676] [4.7/4.8 regression] empty loop is not always removed now

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53676

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #6 from Richard Guenther  2012-06-25 
08:17:38 UTC ---
I will look at this.


[Bug c++/53765] Internal errror in build_call_a at cp/call.c:342

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53765

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #2 from Richard Guenther  2012-06-25 
08:16:02 UTC ---
Fixed in GCC 4.7.


[Bug c++/53761] ICE (only with C++) on incorrect transparent union (first field has floating point type)

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53761

Richard Guenther  changed:

   What|Removed |Added

   Keywords||accepts-invalid,
   ||ice-on-invalid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-06-25
 Ever Confirmed|0   |1
  Known to fail||3.4.6, 4.7.1

--- Comment #1 from Richard Guenther  2012-06-25 
08:13:19 UTC ---
Confirmed.


[Bug c/53760] attribute packed doesn't pack inner structs

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53760

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #6 from Richard Guenther  2012-06-25 
08:11:17 UTC ---
Indeed.


[Bug c++/53528] Support C++11 generalized attributes

2012-06-25 Thread ethouris at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53528

Michal Malecki  changed:

   What|Removed |Added

 CC||ethouris at gmail dot com

--- Comment #2 from Michal Malecki  2012-06-25 
08:11:16 UTC ---
If this feature is going to be used also for extended GNU attributes, it can be
done via a special extension:

[[gnu init_priority(200)]]
[[gnu format(printf, 2, 3)]]

would be same as:

__attribute__ ((init_priority (200)))
__attribute__ ((format(printf, 2, 3)))

Some standard attributes can be also implemented as alias to existing gnu
attributes, for example [[gnu noreturn]] would be the same as [[noreturn]].

Currently the only standard attributes are "noreturn" and "carries_dependency".
They don't get any arguments, so I don't think the difference to current
attribute syntax matters.


[Bug c++/53756] [C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with -g and operator auto ()

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53756

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-06-25
Summary|ICE: in |[C++1y] ICE: in
   |gen_type_die_with_usage, at |gen_type_die_with_usage, at
   |dwarf2out.c:18774 with -g   |dwarf2out.c:18774 with -g
   |and operator auto ()|and operator auto ()
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2012-06-25 
08:09:08 UTC ---
Confirmed.


[Bug debug/53754] [4.8 Regression][lto] ICE in lhd_decl_printable_name, at langhooks.c:222 (with -g)

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53754

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Keywords||ice-on-valid-code, lto
   Last reconfirmed||2012-06-25
  Component|lto |debug
 Ever Confirmed|0   |1
Summary|[lto] ICE in|[4.8 Regression][lto] ICE
   |lhd_decl_printable_name, at |in lhd_decl_printable_name,
   |langhooks.c:222 (with -g)   |at langhooks.c:222 (with
   ||-g)
   Target Milestone|--- |4.8.0

--- Comment #3 from Richard Guenther  2012-06-25 
08:06:46 UTC ---
You can't delay producing pubnames this way with LTO.  Please fix.


[Bug c++/53752] [4.8 Regression] ice in write_array_type

2012-06-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53752

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
  Known to work||4.7.1
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
Summary|ice in write_array_type |[4.8 Regression] ice in
   ||write_array_type

--- Comment #3 from Richard Guenther  2012-06-25 
08:01:19 UTC ---
Mine.  Interestingly enough works on the 4.7 branch (which has the same patch).


[Bug target/53283] [4.8 Regression] Many failures on x86_64-apple-darwin10 after revision 186789

2012-06-25 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53283

--- Comment #11 from Iain Sandoe  2012-06-25 07:57:25 
UTC ---
posted.
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01559.html


[Bug target/53759] [4.7/4.8 Regression] gcc -mavx emits vshufps for __builtin_ia32_loadlps

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53759

Jakub Jelinek  changed:

   What|Removed |Added

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


[Bug tree-optimization/53748] [4.8 Regression] ice in fold_convert_loc

2012-06-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53748

Jakub Jelinek  changed:

   What|Removed |Added

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