[Bug c++/49136] [C++0x][constexpr] Incorrect constexpr c'tor evaluation with bitfields

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49136

--- Comment #6 from Jakub Jelinek  2011-05-25 
07:00:06 UTC ---
Author: jakub
Date: Wed May 25 07:00:01 2011
New Revision: 174168

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174168
Log:
PR c++/49136
* semantics.c (cxx_eval_bit_field_ref): Handle the
case when BIT_FIELD_REF doesn't cover only a single field.

* g++.dg/cpp0x/constexpr-bitfield2.C: New test.
* g++.dg/cpp0x/constexpr-bitfield3.C: New test.

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


[Bug c++/49155] New: [C++0x] decltype-specifier not supported as base type specifier

2011-05-25 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155

   Summary: [C++0x] decltype-specifier not supported as base type
specifier
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: daniel.krueg...@googlemail.com
CC: ja...@redhat.com


gcc 4.7.0 20110521 (experimental) in C++0x mode rejects the following code:

//---
struct A{};

A foo();

struct B : decltype(foo()) {}; // #
//---

"error: expected class-name before 'decltype'
 error: expected '{' before 'decltype'
 error: expected unqualified-id before '{' token"

This code should be accepted, a decltype-specifier is now valid in
base-specifier-list as of FDIS, Clause 10.


[Bug c/49128] -march=native generates unsupported instructions

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128

--- Comment #9 from Jakub Jelinek  2011-05-25 
07:12:21 UTC ---
Author: jakub
Date: Wed May 25 07:12:17 2011
New Revision: 174171

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174171
Log:
PR target/49128
* config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/driver-i386.c


[Bug c++/49136] [C++0x][constexpr] Incorrect constexpr c'tor evaluation with bitfields

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49136

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Jakub Jelinek  2011-05-25 
07:16:03 UTC ---
Fixed.


[Bug c++/49136] [C++0x][constexpr] Incorrect constexpr c'tor evaluation with bitfields

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49136

--- Comment #7 from Jakub Jelinek  2011-05-25 
07:03:28 UTC ---
Author: jakub
Date: Wed May 25 07:03:25 2011
New Revision: 174169

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174169
Log:
PR c++/49136
* semantics.c (cxx_eval_bit_field_ref): Handle the
case when BIT_FIELD_REF doesn't cover only a single field.

* g++.dg/cpp0x/constexpr-bitfield2.C: New test.
* g++.dg/cpp0x/constexpr-bitfield3.C: New test.

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


[Bug target/49133] [4.6/4.7 Regression] modification of aliased __m128d miscompiles

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49133

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||FIXED

--- Comment #7 from Jakub Jelinek  2011-05-25 
07:42:31 UTC ---
Fixed.


[Bug rtl-optimization/48971] [4.7 regression] ICE with -msoft-float -O2

2011-05-25 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48971

Eric Botcazou  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #6 from Eric Botcazou  2011-05-25 
07:59:16 UTC ---
This should work again now.


[Bug rtl-optimization/49014] [4.7 Regression] ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7132 with even more insane set of flags

2011-05-25 Thread abel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49014

--- Comment #5 from Andrey Belevantsev  2011-05-25 
07:59:09 UTC ---
Author: abel
Date: Wed May 25 07:59:06 2011
New Revision: 174172

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174172
Log:
PR rtl-optimization/49014
* config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.


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


[Bug c++/49155] [C++0x] decltype-specifier not supported as base type specifier

2011-05-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155

--- Comment #1 from Jonathan Wakely  2011-05-25 
08:31:13 UTC ---
dup of PR 42603


[Bug tree-optimization/49144] [4.6/4.7 regression] miscompiled reverse_iterator?

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49144

Richard Guenther  changed:

   What|Removed |Added

 Depends on||48702

--- Comment #4 from Richard Guenther  2011-05-25 
08:30:28 UTC ---
Sounds similar to PR48702.


[Bug c++/48106] [C++0x] ICE with scoped enum with fixed underlying type

2011-05-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48106

--- Comment #4 from Jonathan Wakely  2011-05-25 
08:18:15 UTC ---
thanks!


[Bug c++/49155] [C++0x] decltype-specifier not supported as base type specifier

2011-05-25 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155

--- Comment #2 from Daniel Krügler  
2011-05-25 08:48:39 UTC ---
(In reply to comment #1)
> dup of PR 42603

I agree - I apologize for the missing bug search in this case (I usually do).


[Bug c++/49156] New: [C++0x] Error reporting routines re-entered

2011-05-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49156

   Summary: [C++0x] Error reporting routines re-entered
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: error-recovery, ice-on-invalid-code
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org


from a comment on PR 47336


template T declval();

template
struct S {

  template
static U get(const volatile T&);

  template
static decltype(*declval()) get(...);

  typedef decltype(get(declval())) type;
};

struct X { };

S::type x;



err.cc: In instantiation of ‘S’:
err.cc:17:5:   instantiated from here
err.cc:12:42: error: no matching function for call to ‘S::get(X)’
err.cc:12:42: note: candidates are:
err.cc:7:35: note: template static U S::get(const volatile T&) [with U
= U, T = X]

Internal compiler error: Error reporting routines re-entered.


[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"

2011-05-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292

--- Comment #6 from Jonathan Wakely  2011-05-25 
09:05:15 UTC ---
Jason, I've found a decent workaround now so if you have higher priority issues
you'd rather fix then don't spend time on this one for my benefit. Thanks for
the incredible number of fixes you're making at the moment!


[Bug libobjc/48177] incorrect registration of typed selectors

2011-05-25 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48177

--- Comment #7 from Nicola Pero  2011-05-25 09:08:00 
UTC ---
Author: nicola
Date: Wed May 25 09:07:57 2011
New Revision: 174176

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174176
Log:
In libobjc/:
2011-05-25  Nicola Pero  

Backport from mainline
2011-05-24  Nicola Pero  

PR libobjc/48177
* selector.c (__sel_register_typed_name): Use sel_types_match()
instead of strcmp() to compare selector types (Suggestion by
Richard Frith-Macdonald ).

In gcc/testsuite/:
2011-05-25  Nicola Pero  

Backport from mainline
2011-05-24  Nicola Pero  

PR libobjc/48177
* objc.dg/pr48177.m: New testcase.

Added:
branches/gcc-4_6-branch/gcc/testsuite/objc.dg/pr48177.m
Modified:
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/libobjc/ChangeLog
branches/gcc-4_6-branch/libobjc/selector.c


[Bug libobjc/48177] incorrect registration of typed selectors

2011-05-25 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48177

Nicola Pero  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #8 from Nicola Pero  2011-05-25 09:13:32 
UTC ---
Applied to the 4.6 branch as well.  4.6.1 will include this fix.

Thanks


[Bug c++/47336] [C++0x] ICE: "Error reporting routines re-entered"

2011-05-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47336

--- Comment #5 from Jonathan Wakely  2011-05-25 
08:58:32 UTC ---
Thanks, Jason, I submitted PR 49156


[Bug rtl-optimization/49148] Certain expressions take an extremely long time for no apparent reason

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49148

--- Comment #6 from Richard Guenther  2011-05-25 
09:26:56 UTC ---
Try -ffast-math (the default for ICC) which disables subnormals.


[Bug c++/49155] [C++0x] decltype-specifier not supported as base type specifier

2011-05-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #3 from Jonathan Wakely  2011-05-25 
09:38:50 UTC ---
no problem - I memorise all c++0x bug reports so you don't have to ;)

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


[Bug libstdc++/49141] 26_numerics/complex/cons/48760.cc FAILs on Tru64 UNIX V5.1B, Solaris 8 and 9

2011-05-25 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49141

--- Comment #7 from paolo at gcc dot gnu.org  
2011-05-25 09:46:02 UTC ---
Author: paolo
Date: Wed May 25 09:45:58 2011
New Revision: 174179

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174179
Log:
2011-05-24  Paolo Carlini  

PR libstdc++/49141
* testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std.
* testsuite/26_numerics/headers/cmath/19322.cc: Likewise.


Modified:
branches/gcc-4_6-branch/libstdc++-v3/ChangeLog
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc


[Bug libstdc++/49141] 26_numerics/complex/cons/48760.cc FAILs on Tru64 UNIX V5.1B, Solaris 8 and 9

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49141

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC|paolo.carlini at oracle dot |
   |com |
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com

--- Comment #8 from Paolo Carlini  2011-05-25 
09:48:12 UTC ---
Done.


[Bug c++/42603] [C++0x] decltype not supported for parent class specifier

2011-05-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42603

Jonathan Wakely  changed:

   What|Removed |Added

 CC||daniel.kruegler at
   ||googlemail dot com

--- Comment #4 from Jonathan Wakely  2011-05-25 
09:38:50 UTC ---
*** Bug 49155 has been marked as a duplicate of this bug. ***


[Bug libstdc++/48881] Dynamic link to libstdc++-6.dll / libgcc_s_sjlj-1.dll produces broken binaries

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48881

Paolo Carlini  changed:

   What|Removed |Added

 CC||dave.korn.cygwin at gmail
   ||dot com, ktietz at gcc dot
   ||gnu.org

--- Comment #1 from Paolo Carlini  2011-05-25 
09:51:37 UTC ---
Kai, Dave, can you have a look?


[Bug tree-optimization/48738] pow() fails to produce (some) subnormalized numbers with integer exponents

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48738

Paolo Carlini  changed:

   What|Removed |Added

 CC|paulo1205 at yahoo dot com  |paolo.carlini at oracle dot
   ||com, wschmidt at gcc dot
   ||gnu.org
  Component|libstdc++   |tree-optimization

--- Comment #5 from Paolo Carlini  2011-05-25 
09:54:15 UTC ---
I don't think this is a library issue. Maybe Bill is interested / has an
opinion..


[Bug rtl-optimization/48633] [4.7 regression] IRA causes ICE in compensate_edge

2011-05-25 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48633

Eric Botcazou  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #6 from Eric Botcazou  2011-05-25 
09:54:57 UTC ---
Thanks, Vlad.


[Bug rtl-optimization/49157] New: Unnecessary stack save/restore code generated for a leaf function (arm-elf-gcc)

2011-05-25 Thread bmei at broadcom dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49157

   Summary: Unnecessary stack save/restore code generated for a
leaf function (arm-elf-gcc)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: b...@broadcom.com


For the following example:
struct  Complex16{
  short a;
  short b;
};


short foo (struct Complex16 s)
{
  return s.a + s.b;
}


Compile with:

arm-elf-gcc tst.c -O2 -S -mstructure-size-boundary=8

It produces:
foo:
@ args = 0, pretend = 0, frame = 4
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
movr3, r0, asl #16
movr3, r3, lsr #16
addr0, r3, r0, lsr #16
movr0, r0, asl #16
subsp, sp, #4
movr0, r0, asr #16
addsp, sp, #4
bxlr

The problem is with struct-size-boundary=8, the structure has BLKmode and
mapped to memory after RTL expand. However, memory accesses are optimized away
later. But GCC records a stack item anyway and generates stack frame
save/restore code for this leaf function. 

If we compile without -mstructure-size-boundary=8 (default is 32), it generates
much better code.

foo:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
addr0, r0, r0, asr #16
movr0, r0, asl #16
movr0, r0, asr #16
bxlr

This is not limited to ARM gcc. Our target has the same issue because
STRUCTURE_SIZE_BOUNDARY = 8 to save data memory size.

Though I only tested gcc 4.6, I believe trunk gcc probably has the same
problem.


[Bug c++/49158] New: Incorrect pointer arithmetic with negative offset

2011-05-25 Thread aw11 at os dot inf.tu-dresden.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49158

   Summary: Incorrect pointer arithmetic with negative offset
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: a...@os.inf.tu-dresden.de


Created attachment 24353
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24353
The source code triggering the bug

The compiler generates incorrect code for pointer arithmetic on an external
array of structures.
When you use 'array[-1] = x' the target addresses are correct when you use
'*(array -1) = x' the addresses are sizeof(void*) too low.

I tested the code for x86 and x86_64 both are affected

affected compiler version:
g++ (Debian 4.6.0-9) 4.6.1 20110524 (prerelease)
g++ 4.7.0, 4.6.0

works with: g++ 4.5.2

test.cc provides the source code, test.S generated with:
g++ -S -fverbose-asm -o test.S test.cc
shows the two inconsistent code snippets before and after the comment (#
comment from me).


[Bug tree-optimization/48702] [4.6/4.7 Regression] optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48702

--- Comment #22 from Richard Guenther  2011-05-25 
10:19:12 UTC ---
Created attachment 24354
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24354
alternative patch for 4.6

This is another patch - it avoids creating MEM_REFs for base addresses that
we do not know whether they are always in bounds of the object it points to.
Instead we force the use of TARGET_MEM_REFs there and dumb down the alias
oracle to not assume that base address is within bounds.

Sounds like the most reasonable solution for 4.6 to me.


[Bug middle-end/49062] [4.7 regression] Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY node in a same_comdat_group list

2011-05-25 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49062

Rainer Orth  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2011-05/msg01817.htm
   ||l
 Resolution||FIXED

--- Comment #2 from Rainer Orth  2011-05-25 10:45:14 UTC 
---
Fixed for 4.7.0.


[Bug tree-optimization/48702] [4.6/4.7 Regression] optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48702

Richard Guenther  changed:

   What|Removed |Added

 Blocks|49144   |
 CC||doko at ubuntu dot com

--- Comment #23 from Richard Guenther  2011-05-25 
10:33:24 UTC ---
*** Bug 49144 has been marked as a duplicate of this bug. ***


[Bug c++/49158] Incorrect pointer arithmetic with negative offset

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49158

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||INVALID

--- Comment #1 from Jakub Jelinek  2011-05-25 
10:46:47 UTC ---
The testcase triggers undefined behavior in both cases, so it is irrelevant
what code gcc generates for it.


[Bug tree-optimization/49144] [4.6/4.7 regression] miscompiled reverse_iterator?

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49144

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Depends on|48702   |
 Resolution||DUPLICATE

--- Comment #5 from Richard Guenther  2011-05-25 
10:33:24 UTC ---
I have verified that the patches for PR48702 also fix this bug.

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


[Bug middle-end/49062] [4.7 regression] Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY node in a same_comdat_group list

2011-05-25 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49062

--- Comment #1 from Rainer Orth  2011-05-25 10:20:16 UTC 
---
Author: ro
Date: Wed May 25 10:20:12 2011
New Revision: 174180

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174180
Log:
2011-05-25  Jan Hubicka  

PR middle-end/49062
* ipa.c (function_and_variable_visibility): Only add to same
comdat group list if DECL_ONE_ONLY.

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


[Bug c/49128] -march=native generates unsupported instructions

2011-05-25 Thread Joost.VandeVondele at pci dot uzh.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128

--- Comment #10 from Joost VandeVondele  
2011-05-25 11:34:48 UTC ---
(In reply to comment #9)
> Author: jakub
> Date: Wed May 25 07:12:17 2011
> New Revision: 174171
> 
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174171
> Log:
> PR target/49128
> * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
> 
> Modified:
> trunk/gcc/ChangeLog
> trunk/gcc/config/i386/driver-i386.c

FYI, the same bug made it to the 4.6 branch.


[Bug tree-optimization/44897] -flto + ipa-sra misoptimize sqlite (non-plugin only)

2011-05-25 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44897

--- Comment #18 from Jan Hubicka  2011-05-25 
11:36:53 UTC ---
Author: hubicka
Date: Wed May 25 11:36:49 2011
New Revision: 174183

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

PR tree-optimization/44897 
* ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide
by zero for insane profiles.

Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/ipa-inline.c


[Bug tree-optimization/44897] -flto + ipa-sra misoptimize sqlite (non-plugin only)

2011-05-25 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44897

--- Comment #19 from Jan Hubicka  2011-05-25 
11:44:17 UTC ---
OK, division by 0 should be fixed both on mainline and 4.6 branch.  I think the
wrong code issue might be the corruption of jump tables, but will need to get
past firewall to double check unless Martin beats me.  It is his bug after all
;)


[Bug c++/49102] [C++0x] Use of deleted copy constructor not diagnosed

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49102

Paolo Carlini  changed:

   What|Removed |Added

   Target Milestone|4.6.1   |4.7.0

--- Comment #5 from Paolo Carlini  2011-05-25 
12:06:37 UTC ---
Confirmed as non-fixed in the branch.


[Bug c++/49107] [C++0x][4.7 Regression] incomplete type regression with std::pair

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49107

--- Comment #7 from Paolo Carlini  2011-05-25 
12:16:45 UTC ---
To be honest, the behavior vs the original testcase, which just uses pair, can
be considered a regression; the reduced one, in Comment #5, fails also with
4.6.


[Bug c++/49107] [C++0x][4.7 Regression] incomplete type regression with std::pair

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49107

Paolo Carlini  changed:

   What|Removed |Added

Summary|[C++0x] incomplete type |[C++0x][4.7 Regression]
   |regression with std::pair   |incomplete type regression
   ||with std::pair

--- Comment #6 from Paolo Carlini  2011-05-25 
12:13:12 UTC ---
Jason, sorry for bothering, just wanted to make sure you noticed this
regression.


[Bug c/49128] -march=native generates unsupported instructions

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128

--- Comment #11 from Jakub Jelinek  2011-05-25 
11:54:01 UTC ---
Author: jakub
Date: Wed May 25 11:53:58 2011
New Revision: 174184

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174184
Log:
PR target/49128
* config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.

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


[Bug tree-optimization/48738] pow() fails to produce (some) subnormalized numbers with integer exponents

2011-05-25 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48738

--- Comment #6 from William J. Schmidt  2011-05-25 
12:15:46 UTC ---
(In reply to comment #5)
> I don't think this is a library issue. Maybe Bill is interested / has an
> opinion..

Just to agree that it is WAD.  The proposed solution just moves the values of x
and m for which the rounding will cause edge-case anomalies.  Either way, the
compounded rounding error means the two versions of pow will never produce
identical results.  When precision is important, use the real-valued version.


[Bug c++/49066] [C++0x] Non-defining declaration of deleted function suppresses usage validation

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49066

Jason Merrill  changed:

   What|Removed |Added

 CC||boostcpp at gmail dot com

--- Comment #5 from Jason Merrill  2011-05-25 
12:47:39 UTC ---
*** Bug 45539 has been marked as a duplicate of this bug. ***


[Bug c++/48935] [C++0x] Name lookup error at enum class

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935

Jason Merrill  changed:

   What|Removed |Added

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


[Bug c++/45539] [C++0x] Redeclare a deleted function makes gcc does not issue compile error

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45539

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE
   Target Milestone|--- |4.6.1

--- Comment #1 from Jason Merrill  2011-05-25 
12:47:39 UTC ---
Fixed by the patch for 49066.

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


[Bug c/49128] -march=native generates unsupported instructions

2011-05-25 Thread Joost.VandeVondele at pci dot uzh.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128

Joost VandeVondele  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #12 from Joost VandeVondele  
2011-05-25 13:08:53 UTC ---
fixed


[Bug c++/45523] [C++0x] Failure to bind auto variable to function template instance

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45523

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #6 from Jason Merrill  2011-05-25 
12:49:26 UTC ---
The testcase works in 4.6.0.


[Bug fortran/49159] New: OpenMP compilation errors

2011-05-25 Thread jose.pascual-guti...@1-act.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49159

   Summary: OpenMP compilation errors
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jose.pascual-guti...@1-act.com


I have the following OpenMP Fortran95 test program called test.f90. 

PROGRAM test
USE OMP_LIB, ONLY: OMP_SET_NUM_THREADS
IMPLICIT NONE

  INTEGER, PARAMETER :: numthreds = 4
  INTEGER, PARAMETER :: maxnumber = 12
  INTEGER :: totalsum, add, number

  CALL OMP_SET_NUM_THREADS (numthreads)
  totalsum = 0
  add = 1

  !$OMP PARALLEL DO  &
  !$OMP SCHEDULE(DYNAMIC,1) &
  !$OMP DEFAULT(SHARED) &
  !$OMP PRIVATE(number1,&
number2)&
  !$OMP REDUCTION(+:totalsum)
  DO nunmber = 1, maxnumber
totalsum = add + totalsum + number
  END DO
  !$OMP END PARALLEL DO
  WRITE (*,*) totalsum

END PROGRAM test

I try to compile it with the command "gfortran -fopenmp test.f90". The compiler
returns with the following error message:

test.f90:16.24:

  !$OMP PRIVATE(number1,  &
1 
Error: Syntax error in OpenMP variable list at (1)
test.f90:17.16:

number2)  &
1
Error: Unclassifiable statement at (1)
test.f90:18.8:

  !$OMP REDUCTION(+:totalsum)
1
Error: Unclassifiable OpenMP directive at (1)
test.f90:24.23:

  !$OMP END PARALLEL DO
   1
Error: Unexpectged !$OMP END PARALLEL DO statement at (1)

It is clear that the erros are caused by the !$OMP PRIVATE line. It seems that
a list of variables cannot be broken in two lines. Had I had 
  !$OMP PRIVATE(number1,number2) &
instead of the two lines connected with the & sign, I would have not had any
compilation errors. I wanted to try breaking the line, though, because in my
codes I have very long lists of private variables. In the previous compiler I
used, namely Intel's ifort, I had no issues. Do you have any suggestions when
it comes to long lists of private variables? Should I simply have several
 !$OMP PRIVATE ([var1],[var2],...,[varn])
lines each opening and closing the bracket?

Thank you very much


[Bug target/49133] [4.6/4.7 Regression] modification of aliased __m128d miscompiles

2011-05-25 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49133

--- Comment #8 from uros at gcc dot gnu.org 2011-05-25 13:26:46 UTC ---
Author: uros
Date: Wed May 25 13:26:42 2011
New Revision: 174195

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174195
Log:
PR target/49133
* config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.

testsuite/ChangeLog:

PR target/49133
* g++.dg/other/pr49133.C: New test.


Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/other/pr49133.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/i386/sse.md
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure

2011-05-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160

--- Comment #1 from H.J. Lu  2011-05-25 13:33:18 
UTC ---
Revision 174185 is OK.


[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure

2011-05-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160

H.J. Lu  changed:

   What|Removed |Added

 CC||bernds at gcc dot gnu.org

--- Comment #2 from H.J. Lu  2011-05-25 13:34:49 
UTC ---
It may be caused by revision 174187:

http://gcc.gnu.org/ml/gcc-cvs/2011-05/msg00968.html


[Bug bootstrap/49160] New: [4.7 Regression] Bootstrap failure

2011-05-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160

   Summary: [4.7 Regression] Bootstrap failure
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


On Linux/x86-64, revision 174193 gave:

In file included from ../../../src-trunk/libgcc/../gcc/libgcc2.c:57:0,
from ../../../src-trunk/libgcc/config/i386/64/_divtc3.c:6:
../../../src-trunk/libgcc/../gcc/libgcc2.h:340:0: warning: "__divtc3" redefined
[enabled by default]
../../../src-trunk/libgcc/config/i386/64/_divtc3.c:2:0: note: this is the
location of the previous definition
../../../src-trunk/libgcc/config/i386/64/_divtc3.c:10:20: error:
'__divtc3_shared' undeclared here (not in a function)
../../../src-trunk/libgcc/config/i386/64/_divtc3.c:10:37: error:
'__divtc3_compat' aliased to undefined symbol '__divtc3_shared'
make[6]: *** [_divtc3_s.o] Error 1
make[6]: *** Waiting for unfinished jobs
In file included from ../../../src-trunk/libgcc/../gcc/libgcc2.c:57:0,
from ../../../src-trunk/libgcc/config/i386/64/_multc3.c:6:
../../../src-trunk/libgcc/../gcc/libgcc2.h:336:0: warning: "__multc3" redefined
[enabled by default]
../../../src-trunk/libgcc/config/i386/64/_multc3.c:2:0: note: this is the
location of the previous definition
In file included from ../../../src-trunk/libgcc/../gcc/libgcc2.c:57:0,
from ../../../src-trunk/libgcc/config/i386/64/_powitf2.c:6:
../../../src-trunk/libgcc/../gcc/libgcc2.h:329:0: warning: "__powitf2"
redefined [enabled by default]
../../../src-trunk/libgcc/config/i386/64/_powitf2.c:2:0: note: this is the
location of the previous definition
../../../src-trunk/libgcc/config/i386/64/_powitf2.c:10:20: error:
'__powitf2_shared' undeclared here (not in a function)
../../../src-trunk/libgcc/config/i386/64/_powitf2.c:10:38: error:
'__powitf2_compat' aliased to undefined symbol '__powitf2_shared'
../../../src-trunk/libgcc/config/i386/64/_multc3.c:10:20: error:
'__multc3_shared' undeclared here (not in a function)
make[6]: *** [_powitf2_s.o] Error 1
../../../src-trunk/libgcc/config/i386/64/_multc3.c:10:37: error:
'__multc3_compat' aliased to undefined symbol '__multc3_shared'
make[6]: *** [_multc3_s.o] Error 1


[Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc

2011-05-25 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #6 from William J. Schmidt  2011-05-25 
13:35:58 UTC ---
Author: wschmidt
Date: Wed May 25 13:35:53 2011
New Revision: 174196

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174196
Log:
2011-05-25  Bill Schmidt  

PR tree-optimization/46728
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
(execute_cse_sincos): Add switch case for BUILT_IN_POW.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-math-opts.c


[Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc

2011-05-25 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #7 from William J. Schmidt  2011-05-25 
13:42:14 UTC ---
Patch 2 transforms pow(x,n) to multiplies for integer n, similar to patch 1 for
powi(x,n).


[Bug c++/45523] [C++0x] Failure to bind auto variable to function template instance

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45523

Paolo Carlini  changed:

   What|Removed |Added

   Target Milestone|4.6.1   |4.6.0


[Bug tree-optimization/48702] [4.6/4.7 Regression] optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48702

--- Comment #24 from Richard Guenther  2011-05-25 
13:58:20 UTC ---
(In reply to comment #22)
> Created attachment 24354 [details]
> alternative patch for 4.6
> 
> This is another patch - it avoids creating MEM_REFs for base addresses that
> we do not know whether they are always in bounds of the object it points to.
> Instead we force the use of TARGET_MEM_REFs there and dumb down the alias
> oracle to not assume that base address is within bounds.
> 
> Sounds like the most reasonable solution for 4.6 to me.

Requires staging on trunk, there are multiple small fixes that need backporting
and one last cleanup (and fix) that I had pending needs to be finished first.

But I'll continue in this direction.


[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/49161] New: [4.5/4.6/4.7 Regression] Fix VRP on switch stmts

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161

   Summary: [4.5/4.6/4.7 Regression] Fix VRP on switch stmts
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: ja...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org


The following testcase is miscompiled at -O2 on x86_64/i686, starting with:
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155937

extern void abort (void);

int c;

__attribute__((noinline, noclone)) void
bar (int x)
{
  if (x != c++)
abort ();
}

__attribute__((noinline, noclone)) void
foo (int x)
{
  switch (x)
{
case 3: goto l1;
case 4: goto l2;
case 6: goto l3;
default: return;
}
l1:
  goto l4;
l2:
  goto l4;
l3:
  bar (-1);
l4:
  bar (0);
  if (x != 4)
bar (1);
  if (x != 3)
bar (-1);
  bar (2);
}

int
main ()
{
  foo (3);
  if (c != 3)
abort ();
  return 0;
}


[Bug debug/49162] New: ICE in in output_die, at dwarf2out.c:10568 with -femit-struct-debug-reduced

2011-05-25 Thread pluto at agmk dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49162

   Summary: ICE in in output_die, at dwarf2out.c:10568 with
-femit-struct-debug-reduced
   Product: gcc
   Version: 4.5.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pl...@agmk.net


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

gcc-4.5-20110207 ICEs on attached testcase.
please adjust g++ path in 0.sh and run.


[Bug fortran/49159] OpenMP compilation errors

2011-05-25 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49159

Tobias Burnus  changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus  2011-05-25 
14:10:06 UTC ---
(In reply to comment #0)
>   !$OMP PRIVATE(number1,&
> number2)&

> The compiler returns with the following error message:
>   !$OMP PRIVATE(number1,  &
> 1 
> Error: Syntax error in OpenMP variable list at (1)

How about adding a  !$OMP  at the beginning of the continuation line? Thus,
try:

   !$OMP PRIVATE(number1,&
   !$OMP number2)&


[Bug tree-optimization/49161] [4.5/4.6/4.7 Regression] Fix VRP on switch stmts

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.05.25 14:10:38
  Known to work||4.4.6
   Target Milestone|--- |4.5.4
 Ever Confirmed|0   |1
  Known to fail||4.5.3, 4.6.0, 4.7.0


[Bug tree-optimization/49161] [4.5/4.6/4.7 Regression] Fix VRP on switch stmts

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161

--- Comment #1 from Jakub Jelinek  2011-05-25 
14:13:06 UTC ---
Created attachment 24356
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24356
gcc46-pr49161.patch

Untested fix.  The problem seems to be that GIMPLE_SWITCH uses until VRP
different CASE_LABEL_EXPRs for the same bb, so it adds to the same edge
assertion that x == 4 and that x == 3, while instead x >= 3 and x <= 4
assertions should be added.


[Bug fortran/49159] OpenMP compilation errors

2011-05-25 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49159

--- Comment #2 from Tobias Burnus  2011-05-25 
14:23:53 UTC ---
I just tested with some other compilers:

ifort accepts the invalid code, PathScale and Open64 show a similar syntax
error as gfortran, and PGI has a somewhat more legible error message:

  PGF90-S-0155-Illegal continuation  (test.f90: 17)

For the correct syntax, cf. OpenMP spec at
http://openmp.org/wp/openmp-specifications/


[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292

--- Comment #7 from Jason Merrill  2011-05-25 
14:32:09 UTC ---
Author: jason
Date: Wed May 25 14:32:06 2011
New Revision: 174201

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174201
Log:
PR c++/48292
* pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of
function parameter pack.
(tsubst_pack_expansion): Likewise.

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


[Bug c++/45418] [C++0x] can't initialize array of non-trivial type with brace-init

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45418

--- Comment #1 from Jason Merrill  2011-05-25 
14:35:12 UTC ---
Author: jason
Date: Wed May 25 14:35:09 2011
New Revision: 174204

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174204
Log:
PR c++/45418
* init.c (perform_member_init): Handle list-initialization
of array of non-trivial class type.

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


[Bug tree-optimization/49161] [4.5/4.6/4.7 Regression] Fix VRP on switch stmts

2011-05-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161

--- Comment #2 from Richard Guenther  2011-05-25 
14:35:14 UTC ---
Ick.  The patch looks ok to me.


[Bug c++/45080] [C++0x] Rejects lambda to function pointer conversion inside function template

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45080

--- Comment #2 from Jason Merrill  2011-05-25 
14:35:03 UTC ---
Author: jason
Date: Wed May 25 14:35:00 2011
New Revision: 174203

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174203
Log:
PR c++/45080
* pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op.
* semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv5.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/48935] [C++0x] Name lookup error at enum class

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935

--- Comment #3 from Jason Merrill  2011-05-25 
14:35:20 UTC ---
Author: jason
Date: Wed May 25 14:35:17 2011
New Revision: 174205

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174205
Log:
PR c++/48935
* parser.c (cp_parser_constructor_declarator_p): Don't check
constructor_name_p for enums.
(cp_parser_diagnose_invalid_type_name): Correct error message.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/enum16.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/parse/error15.C


[Bug rtl-optimization/49148] Certain expressions take an extremely long time for no apparent reason

2011-05-25 Thread jchthys at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49148

--- Comment #7 from John Peyton  2011-05-25 14:40:56 
UTC ---
> Try -ffast-math (the default for ICC) which disables subnormals.

Thanks, this helped it run much faster!

I noticed it still takes longer to divide by 3.0 than by 4.0. More
specifically, the following line was fast:

 new[i] = (A[i-1] + 2*A[i] + A[i+1]) / 4.0;

The following line took about 4 times as long to run without -ffast-math:

 new[i] = (A[i-1] + A[i] + A[i+1]) / 3.0;

With -ffast-math, it was faster; however, it was still took about 2 times as
long as the division by 4.0 version. In addition, changing division by 3.0 to
multiplication by 0.333 or even 0.3 did not affect the speed.

Could this also be related to subnormal numbers, or is this just a different
issue?


[Bug rtl-optimization/49154] [4.7 Regression]: build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902

2011-05-25 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49154

Rainer Orth  changed:

   What|Removed |Added

 Target|cris-axis-elf   |cris-axis-elf,
   ||sparc-sun-solaris2*
 CC||ro at gcc dot gnu.org

--- Comment #1 from Rainer Orth  2011-05-25 14:44:53 UTC 
---
Same error on Solaris 11/SPARC.


[Bug c++/47277] [C++0x] pseudo destructor code that cause an internal compiler error with std=gnu++0x

2011-05-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47277

Paolo Carlini  changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #2 from Paolo Carlini  2011-05-25 
14:52:26 UTC ---
Very likely due to the fix for c++/48935, we don't ICE anymore. However, as I
noticed when I tried to fix this one, we always print:

  ‘main()::e::~e’

in the error message for line #4, that is, there is code in the front-end which
disregards the actual '~e_u()'. Should this be improved as part of these PRs?


[Bug debug/49047] DW_AT_linkage_name missing for constructors and destructors

2011-05-25 Thread dodji at seketeli dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49047

--- Comment #2 from dodji at seketeli dot org  
2011-05-25 15:15:03 UTC ---
The candidate patch below might do what you want.

Note that, constructors/destructor functions are cloned.  The cloning
process yields a DIE tree.  So the destructor K::~K is represented by an
abstract function DIE.  There is then a concrete function DIE (let's
call it 'foo'), that would effectively contain the code of K::~K, and
which DW_AT_abstract_origin points to the DIE of the abstract function.
It's for 'foo' that the patch below emits the linkage name.  Is this
enough for your need?

diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 55453a3..c49f90a 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -19601,6 +19601,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
   dw_die_ref old_die = lookup_decl_die (decl);
   int declaration = (current_function_decl != decl
  || class_or_namespace_scope_p (context_die));
+  bool fn_has_code_addr_p = false;

   premark_used_types ();

@@ -19769,6 +19770,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
   /* We have already generated the labels.  */
   add_AT_lbl_id (subr_die, DW_AT_low_pc, fde->dw_fde_begin);
   add_AT_lbl_id (subr_die, DW_AT_high_pc, fde->dw_fde_end);
+  fn_has_code_addr_p = true;
 }
   else
 {
@@ -19780,6 +19782,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
   ASM_GENERATE_INTERNAL_LABEL (label_id, FUNC_END_LABEL,
current_function_funcdef_no);
   add_AT_lbl_id (subr_die, DW_AT_high_pc, label_id);
+  fn_has_code_addr_p = true;
 }

 #if VMS_DEBUGGING_INFO
@@ -19928,7 +19931,15 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)

   if (cfun->static_chain_decl)
 add_AT_location_description (subr_die, DW_AT_static_link,
- loc_list_from_tree (cfun->static_chain_decl, 2));
+ loc_list_from_tree (cfun->static_chain_decl, 2));  
+
+  if (fn_has_code_addr_p && origin && TREE_PUBLIC (origin))
+/*  So this is where the actual code for a publicly accessible
+cloned function is.  Let's emit linkage name attribute for
+it.  This helps debuggers to e.g, set breakpoints into
+constructors/destructors when the user asks "break
+K::K".  */
+add_linkage_name (subr_die, decl);
 }

   /* Generate child dies for template paramaters.  */


[Bug c++/45080] [C++0x] Rejects lambda to function pointer conversion inside function template

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45080

--- Comment #3 from Jason Merrill  2011-05-25 
15:26:29 UTC ---
Author: jason
Date: Wed May 25 15:26:25 2011
New Revision: 174208

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174208
Log:
PR c++/45080
* pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op.
* semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv5.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/pt.c
branches/gcc-4_6-branch/gcc/cp/semantics.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug c++/45418] [C++0x] can't initialize array of non-trivial type with brace-init

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45418

--- Comment #2 from Jason Merrill  2011-05-25 
15:26:37 UTC ---
Author: jason
Date: Wed May 25 15:26:33 2011
New Revision: 174209

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174209
Log:
PR c++/45418
* init.c (perform_member_init): Handle list-initialization
of array of non-trivial class type.

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


[Bug c++/48935] [C++0x] Name lookup error at enum class

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #5 from Jason Merrill  2011-05-25 
15:27:59 UTC ---
Fixed for 4.6.1.


[Bug c++/48935] [C++0x] Name lookup error at enum class

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935

--- Comment #4 from Jason Merrill  2011-05-25 
15:26:47 UTC ---
Author: jason
Date: Wed May 25 15:26:42 2011
New Revision: 174210

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174210
Log:
PR c++/48935
* parser.c (cp_parser_constructor_declarator_p): Don't check
constructor_name_p for enums.
(cp_parser_diagnose_invalid_type_name): Correct error message.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/enum16.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/parser.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/parse/error15.C


[Bug target/49163] New: ICE in change_address_1, at emit-rtl.c:1936

2011-05-25 Thread rmansfield at qnx dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49163

   Summary: ICE in change_address_1, at emit-rtl.c:1936
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rmansfi...@qnx.com
  Host: x86_64-linux-gnu
Target: sh4-unknown-linux-gnu
 Build: x86_64-linux-gnu


Created attachment 24357
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24357
preprocessed source

$ ./xgcc -v
Using built-in specs.
COLLECT_GCC=./xgcc
Target: sh4-unknown-linux-gnu
Configured with: ../configure --target=sh4-unknown-linux-gnu
--prefix=/home/ryan/x-tools/sh4-unknown-linux-gnuc
--with-local-prefix=/home/ryan/x-tools/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sys-root
--disable-multilib
--with-sysroot=/home/ryan/x-tools/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sys-root
--with-newlib --enable-threads=no --disable-shared --enable-__cxa_atexit
--disable-nls --enable-symvers=gnu --enable-languages=c
--enable-target-optspace --enable-checking=rtl --disable-libmudflap
--disable-libssp
Thread model: single
gcc version 4.7.0 20110525 (experimental) [trunk revision 174205] (GCC) 
$ ./xgcc -B. ~/ice.i -Os
/home/ryan/ice.i: In function 'foo':
/home/ryan/ice.i:42:1: internal compiler error: in change_address_1, at
emit-rtl.c:1936
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


[Bug c++/45080] [C++0x] Rejects lambda to function pointer conversion inside function template

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45080

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #4 from Jason Merrill  2011-05-25 
15:28:57 UTC ---
Fixed for 4.6.1.


[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292

--- Comment #8 from Jason Merrill  2011-05-25 
15:26:18 UTC ---
Author: jason
Date: Wed May 25 15:26:14 2011
New Revision: 174207

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174207
Log:
PR c++/48292
* pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of
function parameter pack.
(tsubst_pack_expansion): Likewise.

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


[Bug c++/45418] [C++0x] can't initialize array of non-trivial type with brace-init

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45418

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #3 from Jason Merrill  2011-05-25 
15:28:30 UTC ---
Fixed for 4.6.1.


[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #9 from Jason Merrill  2011-05-25 
15:29:42 UTC ---
Fixed for 4.6.1.


[Bug c++/47451] [c++0x] outer inlined namespace vs. inner nested namespace

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47451

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Jason Merrill  2011-05-25 
15:35:09 UTC ---
A nested namespace of an inline namespace does not map onto a nested namespace
of the enclosing namespace; you need to have one chrono namespace and two
inline namespaces, rather than one inline namespace and two chrono namespaces.


[Bug c++/47220] [C++0x] no error on unterminated template argument list for variadic parameter

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47220

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.25 15:37:34
Summary|[C++0x] invalid code using  |[C++0x] no error on
   |template with variable  |unterminated template
   |argument list is accepted   |argument list for variadic
   ||parameter
 Ever Confirmed|0   |1


[Bug c++/47184] gcc interprets C++0x initialization construct as function declaration‏‏

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47184

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.05.25 15:42:06
 CC||jason at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug tree-optimization/49135] ICE in gcc.c-torture/execute/920302-1.c on arm

2011-05-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49135

John David Anglin  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.25 15:48:02
 CC||danglin at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #4 from John David Anglin  2011-05-25 
15:48:02 UTC ---
Also see the same ICE.


[Bug c++/47014] [C++0x] ICE: tree check: expected tree that contains ‘decl minimal’ structure, have ‘nop_expr’ in decl_linkage, at cp/tree.c:2975

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47014

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #2 from Jason Merrill  2011-05-25 
15:57:26 UTC ---
In 4.6.1 gcc will give the error,

wa.C:6:21: error: ‘::operator void (*)()() const’ is not ‘constexpr’
wa.C:6:22: error: template argument 1 is invalid
wa.C:6:31: error: invalid type in declaration before ‘;’ token

This seems like an oversight in C++0x, I'll raise it with the committee.


[Bug c++/46696] [C++0x] Implicit copy constructor can't construct array of subtype with user-defined copy constructor.

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46696

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.05.25 16:03:04
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug ada/49164] New: GNAT BUG on access procedure parameter in protected type entry

2011-05-25 Thread source at stbuehler dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49164

   Summary: GNAT BUG on access procedure parameter in protected
type entry
   Product: gcc
   Version: 4.4.6
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: sou...@stbuehler.de


$ gnatmake gnatbug
gcc-4.4 -c gnatbug.adb
+===GNAT BUG DETECTED==+
| 4.4.6 (x86_64-pc-linux-gnu) Assert_Failure sem_ch3.adb:1063  |
| Error detected at gnatbug.adb:3:17   |
| 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-4.4 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.

gnatbug.adb
gnatbug.ads

compilation abandoned
gnatmake: "gnatbug.adb" compilation error

package body Gnatbug is
   protected body X is
  entry Foo (Bar : access procedure)
when Member = 0 is
  begin
 Bar.all;
  end;
   end X;
end Gnatbug;
package Gnatbug is
   protected type X is
  entry Foo (Bar : access procedure);
   private
  Member : Integer := 0;
   end X;
end Gnatbug;


[Bug inline-asm/49142] Invalid 8bit register operand

2011-05-25 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49142

--- Comment #1 from hjl at gcc dot gnu.org  2011-05-25 
16:19:40 UTC ---
Author: hjl
Date: Wed May 25 16:19:36 2011
New Revision: 174211

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174211
Log:
Replace q_regs_operand with QIreg_operand in QI ext patterns.

2011-05-25  H.J. Lu  

PR target/49142
* config/i386/i386.md (*movqi_extv_1_rex64): Remove
"register_operand" check and replace q_regs_operand with
QIreg_operand in "type" calculation.
(*movqi_extv_1): Likewise.
(*movqi_extzv_2_rex64): Likewise.
(*movqi_extzv_2): Likewise.

* config/i386/predicates.md (QIreg_operand): New.

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


[Bug target/49133] [4.6/4.7 Regression] modification of aliased __m128d miscompiles

2011-05-25 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49133

--- Comment #9 from uros at gcc dot gnu.org 2011-05-25 16:39:25 UTC ---
Author: uros
Date: Wed May 25 16:39:22 2011
New Revision: 174215

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174215
Log:
PR target/49133
* config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.

testsuite/ChangeLog:

PR target/49133
* g++.dg/other/pr49133.C: New test.


Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/other/pr49133.C
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/i386/sse.md
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure

2011-05-25 Thread bernds at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160

--- Comment #3 from Bernd Schmidt  2011-05-25 
16:42:26 UTC ---
Author: bernds
Date: Wed May 25 16:42:23 2011
New Revision: 174216

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174216
Log:
PR bootstrap/49160
* libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
__divxc3, __divtc3): Wrap definitions in #ifndef.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/libgcc2.h


[Bug c++/46245] [C++0x] rejects function with late-specified return type as a non-type template parameter

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46245

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.05.25 16:49:12
 CC||jason at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug c++/46145] [C++0x] Should defaulted copy constructor imply default move constructor?

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46145

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #3 from Jason Merrill  2011-05-25 
16:51:13 UTC ---
C++0x FDIS 12.8/9:

If the definition of a class X does not explicitly declare a move constructor,
one will be implicitly declared as defaulted if and only if
— X does not have a user-declared copy constructor,
— X does not have a user-declared copy assignment operator,
— X does not have a user-declared move assignment operator,
— X does not have a user-declared destructor, and
— the move constructor would not be implicitly defined as deleted.

An explicitly defaulted copy constructor is user-declared, so a move
constructor is not implicitly declared.


[Bug c++/49153] Compile error with template metafunctions (starting with 4.5.x)

2011-05-25 Thread dizzy at roedu dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49153

--- Comment #3 from dizzy at roedu dot net 2011-05-25 16:53:52 UTC ---
Indeed it seems a problem with the code because of the semantics of the
injected class names. 

Namely that a nested (in MetaBind1st) struct "type" is defined which
incidentally inherits a nested typedef "type". The injected class name of the
struct ("type") will hide the inherited nested typedef ("type") and thus when
trying to locate it with "AppenderTypeList::Function::type" it
will find the injected class name of the "type" struct instead of the nested
inherited typedef.

Sorry for the spam.


[Bug c++/46005] [C++0x] Don't allow "auto" as the simple-type-specifier of a typedef

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46005

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.05.25 17:04:01
 CC||jason at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug c++/45698] C++0x Variadic Templates: Infinite template recursion rather than an error message

2011-05-25 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45698

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #2 from Jason Merrill  2011-05-25 
17:16:16 UTC ---
Fixed in 4.5.0.


[Bug debug/49047] DW_AT_linkage_name missing for constructors and destructors

2011-05-25 Thread tromey at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49047

--- Comment #3 from Tom Tromey  2011-05-25 18:00:23 
UTC ---
I tried this patch on a simple example and I think the
output looks good.


[Bug c++/49165] New: ICE on for-loop/throw combination

2011-05-25 Thread gcc at portuosus dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49165

   Summary: ICE on for-loop/throw combination
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@portuosus.com


Source file /tmp/redux.cc:

#include 
#include 

int main(int argc,char**argv)
{
  std::string str;
  for ( int field(0);
(field<10) && ((std::cin>>str)?true:(throw std::string("failure")));
field++ );
}

produces:

/tmp/redux.cc: In function ‘int main(int, char**)’:
/tmp/redux.cc:7:3: internal compiler error: in fold_convert_loc, at
fold-const.c:2670


[Bug c++/49165] ICE on for-loop/throw combination

2011-05-25 Thread gcc at portuosus dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49165

--- Comment #1 from Vijay Rao  2011-05-25 18:34:31 
UTC ---
/tmp/redux.cc

#include 
#include 

int main(int argc,char**argv)
{
  std::string str;
  for ( int field(0);
(field<10) && ((std::cin>>str)? 1 :(throw std::string("failure")));
field++ );
}

g++ /tmp/redux.cc 
/tmp/redux.cc: In function ‘int main(int, char**)’:
/tmp/redux.cc:8:65: error: void value not ignored as it ought to be

This bug looks a lot like what I reported some years ago:

This:

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

shows that it should be accepted by the compiler.


[Bug c++/49165] [4.3/4.4/4.5/4.6/4.7 Regression] ICE on for-loop/throw combination

2011-05-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49165

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.25 18:43:15
 CC||jakub at gcc dot gnu.org
 Depends on|14083   |
Summary|ICE on for-loop/throw   |[4.3/4.4/4.5/4.6/4.7
   |combination |Regression] ICE on
   ||for-loop/throw combination
 Ever Confirmed|0   |1

--- Comment #2 from Jakub Jelinek  2011-05-25 
18:43:15 UTC ---
Shorter testcase:
int
foo (bool x, int y)
{
  if (y < 10 && (x ? true : throw 1))
y++;
  return y;
}

ICE started between r112000 and r113000, before that it failed to compile with
error: void value not ignored as it ought to be error.
The ICE is during gimple_boolify, throw has void_type_node and fold_convert to
boolean_type_node ICEs.


[Bug c/38037] false uninitialized warnings when using a pointer as a guard

2011-05-25 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38037

--- Comment #5 from Nicola Pero  2011-05-25 18:54:43 
UTC ---
Author: nicola
Date: Wed May 25 18:54:40 2011
New Revision: 174221

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174221
Log:
In libobjc/:
2011-05-25  Richard Frith-Macdonald 
David Ayers  

PR libobjc/38037
* sendmsg.c: Include objc/hash.h.
(get_implementation): New function, mostly with code from get_imp
updated to support the new +initialize dispatch table logic.
(get_imp): Use get_implementation.
(__objc_responds_to): Updated to support the new +initialize
dispatch table logic.
(class_respondsToSelector): Likewise.
(objc_msg_lookup): Use get_implementation.
(__objc_init_install_dtable): Removed.
(__objc_install_methods_in_dtable): Updated arguments.
(__objc_install_dispatch_table_for_class): Renamed to
__objc_install_dtable_for_class and updated to support the new
+initialize dispatch table logic.
(__objc_update_dispatch_table_for_class): Updated to support the
new +initialize dispatch table logic.
(__objc_forward): Call get_implementation instead of get_imp.
(prepared_dtable_table): New.
(__objc_prepare_dtable_for_class): New.
(__objc_prepared_dtable_for_class): New.
(__objc_get_prepared_imp): New.
(__objc_install_prepared_dtable_for_class): New.

Modified:
trunk/libobjc/ChangeLog
trunk/libobjc/sendmsg.c


  1   2   >