[Bug c++/51398] [4.7 Regression] ICE with invalid template parameter

2012-01-23 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51398

--- Comment #3 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2012-01-23 17:56:48 UTC ---
Author: paolo
Date: Mon Jan 23 17:56:42 2012
New Revision: 183445

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183445
Log:
/cp
2012-01-23  Paolo Carlini  paolo.carl...@oracle.com

PR c++/51398
* pt.c (parameter_of_template_p): Skip error_mark_node parameters.

/testsuite
2012-01-23  Paolo Carlini  paolo.carl...@oracle.com

PR c++/51398
* g++.dg/template/crash111.C: New.

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


[Bug c++/51398] [4.7 Regression] ICE with invalid template parameter

2012-01-23 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51398

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2012-01-23 
17:57:31 UTC ---
Done.


[Bug middle-end/45416] [4.5/4.6 Regression] Code size regression from 4.4 for ARM

2012-01-23 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45416

--- Comment #16 from Ramana Radhakrishnan ramana at gcc dot gnu.org 
2012-01-23 17:59:56 UTC ---
Author: ramana
Date: Mon Jan 23 17:59:51 2012
New Revision: 183446

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183446
Log:


2012-01-23  Ramana Radhakrishnan  ramana.radhakrish...@linaro.org

   PR middle-end/45416
* gcc.dg/pr45416.c: Skip if Thumb1. Handle ubfx.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr45416.c


[Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to undefined reference in header files.

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-01-23 
18:05:01 UTC ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01160.html


[Bug c++/51973] New: [regression][C++0x] Template parameter deduction fails for overloaded functions when template parameters have defaulted arguments

2012-01-23 Thread gintensubaru at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51973

 Bug #: 51973
   Summary: [regression][C++0x] Template parameter deduction fails
for overloaded functions when template parameters have
defaulted arguments
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: gintensub...@gmail.com


Source Code (bug.cc):

#include type_traits
#include utility

struct Less
{
  template class T, class U 
  auto operator()( T const x, U const y ) const
- decltype( x  y )
  {
return x  y;
  }
};

template class T, class Comp = Less,
  class = typename std::enable_if
std::is_constructible bool,
  decltype(
std::declvalComp()(
  *std::declvalT const(),
  *std::declvalT const()
)
  )
::value
  ::type

inline bool pointee_before( T const x, T const y, Comp  comp = Comp() ) {
  return y ? ( x ? bool( comp( *x, *y ) ) : true ) : false;
}

template class T, class U, class Comp = Less,
  class = typename std::enable_if
std::is_constructible bool,
  decltype(
std::declvalComp()(
  *std::declvalT const(),
  *std::declvalU const()
)
  )
::value
  ::type

inline bool pointee_before( T const x, U const y, Comp  comp = Comp() ) {
  return y ? ( x ? bool( comp( *x, *y ) ) : true ) : false;
}

int main()
{
  int* p = 0;
  int const* q = 0;

  pointee_before( p, q );
}


Error Message:

bug.cc: In function 'int main()':
bug.cc:51:24: error: no matching function for call to 'pointee_before(int*,
const int*)'
bug.cc:51:24: note: candidates are:
bug.cc:26:13: note: templateclass T, class Comp, class bool
pointee_before(const T, const T, Comp)
bug.cc:26:13: note:   template argument deduction/substitution failed:
bug.cc:51:24: note:   deduced conflicting types for parameter 'const T' ('int*'
and 'const int*')
bug.cc:42:13: note: templateclass T, class U, class Comp, class bool
pointee_before(const T, const U, Comp)
bug.cc:42:13: note:   template argument deduction/substitution failed:
bug.cc:31:3: error: 'std::declvalconst int*()' cannot be used as a function


GCC Version:

gcc-4.7-20120121 (experimental)


[Bug c++/51930] [4.7 regression] Explicitly instantiated template gets hidden visibility

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51930

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug target/51968] gcc trunk (ARM) ICEs in final_scan_insn in final.c:2716, with could not split insn error msg

2012-01-23 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51968

Richard Henderson rth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-01-23
 AssignedTo|unassigned at gcc dot   |rth at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #2 from Richard Henderson rth at gcc dot gnu.org 2012-01-23 
18:14:43 UTC ---
Mine


[Bug bootstrap/51969] [4.7 regression] gcc 4.7 unable to build gcc 4.6

2012-01-23 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51969

--- Comment #1 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-01-23 18:21:14 UTC ---
The following patch (applied to 4.6) fixes the problem for me:

diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index abf17f8..550d3bb 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -3594,13 +3594,13 @@ write_field_root (outf_p f, pair_p v, type_p type,
const char *name,
  int has_length, struct fileloc *line, const char *if_marked,
  bool emit_pch, type_p field_type, const char *field_name)
 {
+  struct pair newv;
   /* If the field reference is relative to V, rather than to some
  subcomponent of V, we can mark any subarrays with a single stride.
  We're effectively treating the field as a global variable in its
  own right.  */
   if (v  type == v-type)
 {
-  struct pair newv;

   newv = *v;
   newv.type = field_type;


[Bug target/51968] gcc trunk (ARM) ICEs in final_scan_insn in final.c:2716, with could not split insn error msg

2012-01-23 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51968

--- Comment #3 from Richard Henderson rth at gcc dot gnu.org 2012-01-23 
18:31:51 UTC ---
Created attachment 26436
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26436
proposed patch

I'll run this through a cross-build first, but I expect this will fix it.


[Bug bootstrap/51969] [4.6 regression] gcc 4.7 unable to build gcc 4.6

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51969

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-01-23
 CC||jakub at gcc dot gnu.org,
   ||matz at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-23 
18:33:58 UTC ---
Yeah,
2011-11-08  Michael Matz  m...@suse.de

* gengtype.c (write_field_root): Avoid out-of-scope access of newv.
should be backported to 4.6.


[Bug c++/51922] g++.dg/ext/attrib42.C FAILs

2012-01-23 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51922

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Rainer Orth ro at gcc dot gnu.org 2012-01-23 18:35:10 UTC 
---
Yep, works fine.

Thanks.
  Rainer


[Bug c++/51223] [4.5/4.6/4.7 Regression] ICE with invalid function parameter

2012-01-23 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51223

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-01-23 
18:40:23 UTC ---
On it.


[Bug fortran/50556] cannot save namelist group name

2012-01-23 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50556

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #8 from kargl at gcc dot gnu.org 2012-01-23 18:48:44 UTC ---
Seems I forgot to close this one after committing the fix.
Close now.


[Bug fortran/51958] [4.7 Regression] -ffrontend-optimize generates wrong code

2012-01-23 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51958

Thomas Koenig tkoenig at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-01-23
 AssignedTo|unassigned at gcc dot   |tkoenig at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Thomas Koenig tkoenig at gcc dot gnu.org 2012-01-23 
18:57:13 UTC ---
Mine.


[Bug bootstrap/51974] New: GCC fails to bootstrap with --enable-checking=release on opensuse

2012-01-23 Thread nenad at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51974

 Bug #: 51974
   Summary: GCC fails to bootstrap with --enable-checking=release
on opensuse
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ne...@intrepid.com
  Host: Opensuse 12.1 x86_64
Target: x86_64-unknown-linux-gnu


I tried to build the latest trunk (183442) with --enable-checking=release on
the Opensuse 12.1 x86_64 host. Checking between stage2 and stage3 fails. 

Bootstrap comparison failure!
gcc/tree-ssa-dom.o differs
gcc/tree-ssa-structalias.o differs
gcc/final.o differs
gcc/combine.o differs
gcc/reload1.o differs
gcc/tree-ssa-ccp.o differs
gcc/tree-ssa.o differs

This version passes on Fedora Core 15 x86_64. Anyone seen this? I am seeing the
following differences:

reload1.o:stage2

30b4:0f 1f 40 00  nopl   0x0(%rax)
30b8:41 8b 57 08  mov0x8(%r15),%edx
30bc:83 c2 7d add$0x7d,%edx
30bf:e9 7c fe ff ff   jmpq   2f40
_ZL16free_for_value_pi12machine_modei11reload_typeP7rtx_defS2_ii+0x1c0

b0d4:0f 1f 40 00  nopl   0x0(%rax)
b0d8:48 63 f6 movslq %esi,%rsi
b0db:48 29 70 18  sub%rsi,0x18(%rax)
b0df:e9 3c fe ff ff   jmpq   af20
_ZL19elimination_effectsP7rtx_def12machine_mode+0xe0


reload1.o:stage3
30c8:41 8b 57 08  mov0x8(%r15),%edx
30cc:83 c2 7d add$0x7d,%edx
30cf:e9 7c fe ff ff   jmpq   2f50
_ZL16free_for_value_pi12machine_modei11reload_typeP7rtx_defS2_ii+0x1c0
30d4:0f 1f 40 00  nopl   0x0(%rax)

b0e8:48 63 f6 movslq %esi,%rsi
b0eb:48 29 70 18  sub%rsi,0x18(%rax)
b0ef:e9 3c fe ff ff   jmpq   af30
_ZL19elimination_effectsP7rtx_def12machine_mode+0xe0
b0f4:0f 1f 40 00  nopl   0x0(%rax)


[Bug c/51542] bootstrap failure due to uninitialized variable use in c-parser

2012-01-23 Thread matt at use dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51542

--- Comment #3 from Matt Hargett matt at use dot net 2012-01-23 19:16:12 UTC 
---
As I mentioned in the other bug, the specific optimization from -O3 that
triggers this if -fipa-cp-clone.

Is there a reason these patches haven't been applied? Bootstrapping the
compiler with -O3 is a great way to test and find issues before a release, but
it's not feasible right now due to this issue.

At the very least, since it has been reproduced and acknowledged, can the
status be upgraded from 'unconfirmed'?


[Bug rtl-optimization/49847] [4.7 Regression] NULL deref in fold_rtx (prev_insn_cc0 == NULL)

2012-01-23 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49847

--- Comment #13 from Andreas Schwab sch...@linux-m68k.org 2012-01-23 19:51:48 
UTC ---
Reduced testcase, to be compiled with -O -fnon-call-exceptions.

int f (float g)
{
  try { return g = 0; }
  catch (...) {}
}


[Bug target/51900] [4.6/4.7 Regression] const variable initialization always zero

2012-01-23 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51900

--- Comment #12 from Kai Tietz ktietz at gcc dot gnu.org 2012-01-23 19:55:40 
UTC ---
Author: ktietz
Date: Mon Jan 23 19:55:35 2012
New Revision: 183450

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183450
Log:
PR target/51900
* config/i386/predicates.md (symbolic_operand): Allow
UNSPEC_PCREL as PIC expression for lea.
* config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
* config/i386/i386.c (ix86_delegitimize_address): Handle
UNSPEC_PCREL for none-MEM, too.


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


C++/4.1.2/Problem compiling units with medium to large global array definitions on IA64

2012-01-23 Thread Derek Murphy (ISYS)
Hi, not sure if this is a bug or not, but not quite sure where else to turn.

Using Red Hat EL 5.7 (IA64), GCC 4.1.2

uname -a: Linux [Hostname] 2.6.18-274.el5 #1 SMP Fri Jul 8 17:41:07 EDT 2011 
ia64 ia64 ia64 GNU/Linux
gcc --version: gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51)

When compiling a single .cc file that defines an approximately 16KB (static) 
character array, the symbol for that variable is not stored in the object file 
resulting in a subsequent linker error.

It does not happen for all my static array definitions, including some much 
larger ones, and I am unable to see the pattern causing this so I am wondering 
if it is a GCC bug related to the size of this definition?

The array definitions look like this:

namespace MyNameSpace
{
char Data1234[] = {
37,33,80,83,45,65,100,111,98,101,45,51,46,48,32,82,101,115,111,117,114,99,101,45,67,77,97,112,10,37,37,68,111,99,117,109,101,110,116,78,101
,101,100,101,100,82,101,115,111,117,114,99,101,115,58,32,80,114,111,99,83,101,116,32,40,67,73,68,73,110,105,116,41,10,37,37,73,110,99,108,117,100
...SNIP...
  };
}; // namespace MyNameSpace

Test case 1 (that fails):

gcc -c test1.c
readelf -a test1.o

Symbol table '.symtab' contains 8 entries:
   Num:Value  Size TypeBind   Vis  Ndx Name
 0:  0 NOTYPE  LOCAL  DEFAULT  UND
 1:  0 FILELOCAL  DEFAULT  ABS
 2:  0 SECTION LOCAL  DEFAULT1
 3:  0 SECTION LOCAL  DEFAULT2
 4:  0 SECTION LOCAL  DEFAULT3
 5:  0 SECTION LOCAL  DEFAULT5
 6:  0 SECTION LOCAL  DEFAULT4
 7:  15494 OBJECT  GLOBAL DEFAULT2

Note how there is a 15494 byte entry with no name...

Test case 2 (that passes, i.e. no problem):

gcc -c test2.c
readelf -a test2.o

Symbol table '.symtab' contains 8 entries:
   Num:Value  Size TypeBind   Vis  Ndx Name
 0:  0 NOTYPE  LOCAL  DEFAULT  UND
 1:  0 FILELOCAL  DEFAULT  ABS test2.cc
 2:  0 SECTION LOCAL  DEFAULT1
 3:  0 SECTION LOCAL  DEFAULT2
 4:  0 SECTION LOCAL  DEFAULT3
 5:  0 SECTION LOCAL  DEFAULT5
 6:  0 SECTION LOCAL  DEFAULT4
 7:  17368 OBJECT  GLOBAL DEFAULT2 
_ZN7ISYSpdf14CharmapData1

Note how there is a 17368 byte entry with its expected symbol name. This object 
file is correct and will link without error.

I have compiled this code on Linux/x86/x86_64, FreeBSD/GCC and many other 
compilers - this is the first time I have seen this when trying to build on 
Linux/GCC/IA64.

To keep the size of this post down, I have linked the 2 .cc files used above to:
http://download.isys-search.com/tmp/source.zip

Any ideas, help or workarounds would be greatly appreciated.

Derek




[Bug target/51726] LTO and attribute 'selectany'

2012-01-23 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51726

--- Comment #2 from Dmitry Gorbachev d.g.gorbachev at gmail dot com 
2012-01-23 20:22:00 UTC ---
Created attachment 26437
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26437
Patch (not tested)


[Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE

2012-01-23 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-01-23 
20:38:27 UTC ---
Author: burnus
Date: Mon Jan 23 20:38:23 2012
New Revision: 183453

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

PR fortran/51948
* check.c (variable_check): Fix checking for
result variables and deeply nested BLOCKs.

2012-01-23  Tobias Burnus  bur...@net-b.de

PR fortran/51948
* gfortran.dg/move_alloc_12.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/move_alloc_12.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/testsuite/ChangeLog


[Bug target/51900] [4.6/4.7 Regression] const variable initialization always zero

2012-01-23 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51900

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Resolution|INVALID |FIXED

--- Comment #13 from Kai Tietz ktietz at gcc dot gnu.org 2012-01-23 20:46:23 
UTC ---
This patch is too invasive for back-porting to 4.6.3 IMHO. Especially we would
introduce on 4.6 the display of note-messages about UNSPEC_PCREL in dwarf2out.
On trunk it fixed, so I close it.


[Bug c++/51930] [4.7 regression] Explicitly instantiated template gets hidden visibility

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51930

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2012-01-23 
20:48:35 UTC ---
Author: jason
Date: Mon Jan 23 20:48:31 2012
New Revision: 183455

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183455
Log:
PR c++/51930
* decl2.c (determine_visibility): Check for visibility attribute
on template specialization.

Added:
trunk/gcc/testsuite/g++.dg/ext/visibility/template10.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl2.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/51930] [4.7 regression] Explicitly instantiated template gets hidden visibility

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51930

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2012-01-23 
20:56:43 UTC ---
Fixed.


[Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE

2012-01-23 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-01-23 
21:17:26 UTC ---
FIXED.


[Bug target/51968] gcc trunk (ARM) ICEs in final_scan_insn in final.c:2716, with could not split insn error msg

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51968

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-23 
21:51:20 UTC ---
Reduced testcase:

/* PR target/51968 */
/* { dg-do compile } */
/* { dg-options -O2 -march=armv7-a -mfloat-abi=softfp -mfpu=neon } */
/* { dg-require-effective-target arm_neon_ok } */

typedef __builtin_neon_qi int8x8_t __attribute__ ((__vector_size__ (8)));
typedef __builtin_neon_uqi uint8x8_t __attribute__ ((__vector_size__ (8)));
typedef __builtin_neon_qi int8x16_t __attribute__ ((__vector_size__ (16)));
typedef __builtin_neon_hi int16x8_t __attribute__ ((__vector_size__ (16)));
typedef __builtin_neon_si int32x4_t __attribute__ ((__vector_size__ (16)));
struct T { int8x8_t val[2]; };
int y;

void
foo (int8x8_t z, int8x8_t x, int16x8_t b, int8x8_t n)
{
  if (y)
{
  struct T m;
  __builtin_neon_vuzpv8qi (m.val[0], z, x);
}
  for (;;)
{
  int8x16_t g;
  int8x8_t h, j, k;
  struct T m;
  j = __builtin_neon_vqmovunv8hi (b, 1);
  g = __builtin_neon_vcombinev8qi (j, h);
  k = __builtin_neon_vget_lowv16qi (g);
  __builtin_neon_vuzpv8qi (m.val[0], k, n);
}
}


[Bug c++/51910] [4.7 Regression] -frepo linking failure

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51910

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-01-23
 CC||jason at gcc dot gnu.org,
   ||sandra at codesourcery dot
   ||com
 Ever Confirmed|0   |1

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-01-23 
21:54:29 UTC ---
Smaller testcase:

templatetypename T
struct Foo
{
  virtual ~Foo() { }
};

int main( int, char*[] )
{
  Fooint test;
}

rm -f wa.rpo  g++ -c -frepo wa.C  g++ wa.o

The problem is that the linker is demangling symbols, so collect2 can't tell
the difference between the different destructor variants and keeps trying to
adjust the first one when it's not the problem.

You can work around this by linking with -Wl,--no-demangle

This bug was caused by

2011-07-24  Sandra Loosemore  san...@codesourcery.com

* configure.ac (demangler_in_ld): Default to yes.
* configure: Regenerated.
* collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
--no-demangle options straight through to ld.  When
HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
way that has the intended effect on Windows.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #19 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-01-23 22:05:44 UTC ---
 g++.dg/torture/pr51344.C: Limit to x86.

 -/* { dg-do compile } */
 +/* { dg-do compile { target { i?86-*-*  ilp32 } } } */

Any reason to limit the test to i?86 and 32 bit mode? Why not on x86_64 and 64
bit mode?
Is it related to the failures seen at
http://gcc.gnu.org/ml/gcc-testresults/2012-01/msg02281.html for instance?

The test passes for both -m32 and -m64 on x86_64-apple-darwin10 with

/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */


[Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++

2012-01-23 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #16 from Benjamin Kosnik bkoz at gcc dot gnu.org 2012-01-23 
22:21:53 UTC ---

Well I tried to just use the generated Makefile rules to hack together a
solution for --disable-static using the convenience libraries

My plan was to generate a libstdc++convenience library always, and then if
libstdc++.a is not created as per the usual (ie, --disable-static), then to
create it from libstdc++convenience. 

Like so:


libstdc++-v3/src/Makefile.am:

# Make a non-installed convenience library, so that --disable-static
# may work.
libstdc++convenience.la: $(toolexeclib_LTLIBRARIES)
$(CXXLINK) $(libstdc___la_LIBADD) $(LIBS); \
if test ! -f .libs/libstdc++.a; then \
  cp .libs/libstdc++convenience.a .libs/libstdc++.a; \
fi; \
echo `date`  stamp-libstdc++convenience; 


results in the build completing and:


/mnt/share/bld/gcc.git-disable-static/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src

has

drwxrwxr-x  3 bkoz bkoz 4.0K Jan 23 11:51 c++11/
drwxrwxr-x  3 bkoz bkoz 4.0K Jan 23 11:51 c++98/
drwxrwxr-x  2 bkoz bkoz 4.0K Jan 23 11:51 .libs/
-rw-rw-r--  1 bkoz bkoz  905 Jan 23 11:51 libstdc++convenience.la
-rw-rw-r--  1 bkoz bkoz  985 Jan 23 11:51 libstdc++.la
-rw-rw-r--  1 bkoz bkoz  47K Jan 23 11:51 libstdc++-symbols.ver
-rw-rw-r--  1 bkoz bkoz  31K Jan 23 11:50 Makefile
-rw-rw-r--  1 bkoz bkoz   29 Jan 23 11:51 stamp-libstdc++convenience

and

/mnt/share/bld/gcc.git-disable-static/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs

has:

drwxrwxr-x 2 bkoz bkoz 4.0K Jan 23 14:17 ./
drwxrwxr-x 5 bkoz bkoz 4.0K Jan 23 14:17 ../
-rw-rw-r-- 1 bkoz bkoz  23M Jan 23 14:17 libstdc++.a
-rw-rw-r-- 1 bkoz bkoz  23M Jan 23 14:17 libstdc++convenience.a
lrwxrwxrwx 1 bkoz bkoz   26 Jan 23 14:17 libstdc++convenience.la -
../libstdc++convenience.la
lrwxrwxrwx 1 bkoz bkoz   15 Jan 23 14:17 libstdc++.la - ../libstdc++.la
-rw-rw-r-- 1 bkoz bkoz  986 Jan 23 14:17 libstdc++.lai
lrwxrwxrwx 1 bkoz bkoz   19 Jan 23 14:17 libstdc++.so - libstdc++.so.6.0.17*
lrwxrwxrwx 1 bkoz bkoz   19 Jan 23 14:17 libstdc++.so.6 - libstdc++.so.6.0.17*
-rwxrwxr-x 1 bkoz bkoz 8.2M Jan 23 14:17 libstdc++.so.6.0.17*


I'm going to check this with cross compiles, and then if that works check it
in.

The hacky-bits for copying libstdc++ can hopefully be cleaned up at a later
date or by a certified build genius.


[Bug middle-end/51939] [4.7 Regression] ICE: in compute_affine_dependence, at tree-data-ref.c:4103 with -fcheck-data-deps

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51939

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-23 
22:41:03 UTC ---
Might be similar to PR46851, which is P5-ish category, I'd treat all
-fcheck-data-deps bugs that way.


[Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to undefined reference in header files.

2012-01-23 Thread bredelin at ucla dot edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #6 from bredelin at ucla dot edu 2012-01-23 22:46:47 UTC ---
I will check this patch tomorrow (Jan 24th) to make sure that it fixes the
problem on non-reduced test cases.


[Bug bootstrap/36216] [meta-bug] Bootstrap problems on mingw32

2012-01-23 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36216

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||ktietz at gcc dot gnu.org
 Resolution||FIXED

--- Comment #1 from Kai Tietz ktietz at gcc dot gnu.org 2012-01-23 23:02:08 
UTC ---
All dependent bugs are fixed.  4.4.x doesn't have bootstrap issues AFAIC. 
Closing it.


[Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++

2012-01-23 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #17 from Benjamin Kosnik bkoz at gcc dot gnu.org 2012-01-23 
23:12:07 UTC ---
Author: bkoz
Date: Mon Jan 23 23:12:01 2012
New Revision: 183457

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183457
Log:
2012-01-20  Benjamin Kosnik  b...@redhat.com

PR libstdc++/49829
Add libc++98convenience.la, libc++11convenience.la.
* src/c++98: New directory.
* src/c++11: New directory.
* acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
* configure: Regenerated.
* Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
* Makefile.in: Regenerate.
* libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
-fno-implicit-templates.
* libsupc++/Makefile.in: Regenerate.
* src/Makefile.am (inst_sources): Move... C++11 files into
separate directory for libstdc++11convenience.la. Files are:
fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
(sources): Move C++11 files. Files are: compatibility-c++0x.cc,
compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
(libstdc++convenience.la): Add new target.
(SUBDIRS): Add c++11, c++98.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.am: New.
* src/c++11/Makefile.in: Generate.
* src/c++98/Makefile.am: New, C++98 files.
* src/c++98/Makefile.in: Generate.

2012-01-23  Benjamin Kosnik  b...@redhat.com

PR libstdc++/49829
Add libc++98convenience.la, libc++11convenience.la.
* src/c++98: New directory.
* src/c++11: New directory.
* acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
* configure: Regenerated.
* Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
* Makefile.in: Regenerate.
* libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
-fno-implicit-templates.
* libsupc++/Makefile.in: Regenerate.
* src/Makefile.am (inst_sources): Move... C++11 files into
separate directory for libstdc++11convenience.la. Files are:
fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
(sources): Move C++11 files. Files are: compatibility-c++0x.cc,
compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
(libstdc++convenience.la): Add new target.
(SUBDIRS): Add c++11, c++98.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.am: New.
* src/c++11/Makefile.in: Generate.
* src/c++98/Makefile.am: New, C++98 files.
* src/c++98/Makefile.in: Generate.

Added:
trunk/libstdc++-v3/src/c++11/
trunk/libstdc++-v3/src/c++11/Makefile.am
trunk/libstdc++-v3/src/c++11/Makefile.in
  - copied, changed from r183455, trunk/libstdc++-v3/libsupc++/Makefile.in
trunk/libstdc++-v3/src/c++11/chrono.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/chrono.cc
trunk/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
  - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-atomic-c++0x.cc
trunk/libstdc++-v3/src/c++11/compatibility-c++0x.cc
  - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-c++0x.cc
trunk/libstdc++-v3/src/c++11/condition_variable.cc
  - copied, changed from r183455,
trunk/libstdc++-v3/src/condition_variable.cc
trunk/libstdc++-v3/src/c++11/debug.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/debug.cc
trunk/libstdc++-v3/src/c++11/fstream-inst.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/fstream-inst.cc
trunk/libstdc++-v3/src/c++11/functexcept.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/functexcept.cc
trunk/libstdc++-v3/src/c++11/functional.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/functional.cc
trunk/libstdc++-v3/src/c++11/future.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/future.cc
trunk/libstdc++-v3/src/c++11/hash_c++0x.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/hash_c++0x.cc
trunk/libstdc++-v3/src/c++11/hashtable_c++0x.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/hashtable_c++0x.cc
trunk/libstdc++-v3/src/c++11/limits.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/limits.cc
trunk/libstdc++-v3/src/c++11/mutex.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/mutex.cc
trunk/libstdc++-v3/src/c++11/placeholders.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/placeholders.cc
trunk/libstdc++-v3/src/c++11/regex.cc
  - copied, changed from r183455, trunk/libstdc++-v3/src/regex.cc

[Bug c++/51910] [4.7 Regression] -frepo linking failure

2012-01-23 Thread sandra at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51910

--- Comment #7 from Sandra Loosemore sandra at codesourcery dot com 
2012-01-23 23:14:18 UTC ---
In addition to specifying an explicit command-line option, I think that if you
configure GCC with --with-demangler-in-ld=no it'll restore the previous
behavior, at least on systems where the previous behavior actually worked.  See

http://gcc.gnu.org/ml/gcc-patches/2011-06/msg01368.html

for the discussion of the various bugs I found here.

If proper operation of -frepo depends on particular linker demangling options
that ought to be documented, at least.


[Bug middle-end/19774] VLA's vs SjLj EH unwind

2012-01-23 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19774

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||ktietz at gcc dot gnu.org
 Resolution||FIXED

--- Comment #5 from Kai Tietz ktietz at gcc dot gnu.org 2012-01-23 23:18:07 
UTC ---
I tested this patch with current trunk (4.7.0) and test passes without issues. 
The reported gcc version having this bug is pretty old.  So I close it.


[Bug libstdc++/51965] Redundant move constructions in heap algorithms

2012-01-23 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51965

Marc Glisse marc.glisse at normalesup dot org changed:

   What|Removed |Added

 CC||marc.glisse at normalesup
   ||dot org

--- Comment #5 from Marc Glisse marc.glisse at normalesup dot org 2012-01-23 
23:18:20 UTC ---
(The split into push_heap and __push_heap is just so the first part can be
inlined without the second, right?)

A more direct adaptation of the old code to rvalue references would be:

  std::__push_heap(__first, _DistanceType((__last - __first) - 1),
   _DistanceType(0), _ValueType(_GLIBCXX_MOVE(*(__last -
1;

Without the named temporary value, the compiler can perform copy elision.
Aliaksandr's patch looks like a different way to achieve the same goal.

Note that the current code thus seems to have a performance regression in C++03
compared to before the introduction of moves.


[Bug tree-optimization/42635] no-op conversions hinder if-conversion

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42635

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-23 
23:44:11 UTC ---
Both are handled correctly already.
PR 51030 for foo.
bar was fix in 4.6.0.

I am just going to mark this as a dup of bug 51030.

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


[Bug tree-optimization/51030] PHI opt does not handle value-replacement with a transfer function

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51030

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-23 
23:44:11 UTC ---
*** Bug 42635 has been marked as a duplicate of this bug. ***


[Bug libgcj/50895] Build failure in jni.cc

2012-01-23 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50895

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ktietz at gcc dot gnu.org

--- Comment #1 from Kai Tietz ktietz at gcc dot gnu.org 2012-01-23 23:44:34 
UTC ---
Does this issue happen with 4.7.0, too?


[Bug other/46489] tree optimizer and frontend files use target macros

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46489

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-01-24
 Ever Confirmed|0   |1

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-24 
00:01:55 UTC ---
Confirmed.


[Bug tree-optimization/15826] don't use if to extract a single bit bit-field.

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15826

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org |

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-24 
00:03:45 UTC ---
(In reply to comment #6)
Only comment #6 remains to be fixed.  
FRE does not recognize p-bit as BIT_FIELD_REF *p, 8, 0  1.


[Bug libstdc++/51965] Redundant move constructions in heap algorithms

2012-01-23 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51965

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||jwakely.gcc at gmail dot
   ||com

--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2012-01-24 
00:24:44 UTC ---
Ah good, if it's so easy to enable the elision, this kind of change looks safe
to me. But __pop_heap doesn't seem so straightforward to tweak, we also changed
a bit the interfaces. Marc can you submit a complete patch? Otherwise, so close
to the branch for 4.7.0 I'm not sure I will be able to work on this, or maybe
you can coordinate with Jon.


[Bug gcov-profile/51975] New: ICE in gcc in convert_move, at expr.c:326 with fprofile-use when source changes from fprofile-generate

2012-01-23 Thread asharif at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51975

 Bug #: 51975
   Summary: ICE in gcc in convert_move, at expr.c:326 with
fprofile-use when source changes from
fprofile-generate
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: asha...@gcc.gnu.org


Created attachment 26438
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26438
Tarball containing the test files and the proposed fix.

Please see attached testcase, which fails with gcc-4.6.0:

gcc -o profile_io_data.o profile_io_data.ii -O2 -Wno-error -fpermissive
-fprofile-use -m32 -c

This happens because the profile .gcda file is oudated compared to the current
source. gcc's assignment of function ids on the current source is different
from the assignment when it did fprofile-generate. This causes an ICE later
down the pipeline.

I am also attaching a proposed fix, which builds a hash table of function ids
- cfg checksums when reading in the profile files. At profile use time, in
check_ic_target(), gcc makes sure the target function's checksum matches the
checksum that is found in the gcda file.


[Bug gcov-profile/51975] ICE in gcc in convert_move, at expr.c:326 with fprofile-use when source changes from fprofile-generate

2012-01-23 Thread asharif at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51975

--- Comment #1 from asharif at gcc dot gnu.org 2012-01-24 00:55:14 UTC ---
Created attachment 26439
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26439
Proposed fix.

Here is just the patch if you want to take a quick look at it.


[Bug c++/51973] [4.7 regression][C++11] Template parameter deduction fails for overloaded functions when template parameters have defaulted arguments

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51973

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0
Summary|[regression][C++0x] |[4.7 regression][C++11]
   |Template parameter  |Template parameter
   |deduction fails for |deduction fails for
   |overloaded functions when   |overloaded functions when
   |template parameters have|template parameters have
   |defaulted arguments |defaulted arguments


[Bug c++/51973] [4.7 regression][C++11] Template parameter deduction fails for overloaded functions when template parameters have defaulted arguments

2012-01-23 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51973

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-01-24 
01:15:27 UTC ---
We should bisect this. HJ can you help?


[Bug target/51974] [4.7 Regression] GCC fails to bootstrap with --enable-checking=release on opensuse

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51974

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||build, wrong-code
  Component|bootstrap   |target
   Target Milestone|--- |4.7.0
Summary|GCC fails to bootstrap with |[4.7 Regression] GCC fails
   |--enable-checking=release   |to bootstrap with
   |on opensuse |--enable-checking=release
   ||on opensuse


[Bug target/42536] [4.4/4.5/4.6/4.7 regression] ICE in spill_failure, at reload1.c:2141

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536

--- Comment #7 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-24 
01:27:30 UTC ---
I cannot reproduce this bug on the trunk or 4.6.


[Bug rtl-optimization/44174] [4.4/4.5/4.6 Regression] can't find a register in class 'CLOBBERED_REGS' while reloading 'asm'

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44174

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.4/4.5/4.6/4.7|[4.4/4.5/4.6 Regression]
   |Regression] can't find a|can't find a register in
   |register in class   |class 'CLOBBERED_REGS'
   |'CLOBBERED_REGS' while  |while reloading 'asm'
   |reloading 'asm' |

--- Comment #14 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-24 
01:29:40 UTC ---
Since this was fixed on the trunk, can you remove the xfail?


[Bug target/42536] [4.4/4.5/4.6/4.7 regression] ICE in spill_failure, at reload1.c:2141

2012-01-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-24 
01:30:36 UTC ---
(In reply to comment #7)
 I cannot reproduce this bug on the trunk or 4.6.

I want to say this is really a dup of bug 44174.


[Bug target/51934] FAIL: g++.dg/torture/pr51344.C -O0 (test for excess errors) due to cdecl attribute ignored warning

2012-01-23 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51934

--- Comment #20 from Jason Merrill jason at gcc dot gnu.org 2012-01-24 
02:45:28 UTC ---
cdecl only applies to the 32-bit ABI.  ix86_handle_cconv_attribute normally
warns about using it in 64-bit mode, I wonder why it doesn't on darwin?


[Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++

2012-01-23 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #18 from Benjamin Kosnik bkoz at gcc dot gnu.org 2012-01-24 
05:07:58 UTC ---
Mine


[Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++

2012-01-23 Thread jan.kratochvil at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #19 from Jan Kratochvil jan.kratochvil at redhat dot com 
2012-01-24 05:14:00 UTC ---
../gcchead/configure --enable-64-bit-bfd --disable-static --enable-shared
--enable-debug --disable-sim --enable-gold --enable-plugins --disable-werror
--with-separate-debug-dir=/usr/lib/debug --prefix=/PFX-root
--enable-languages=c,c++,fortran,java,ada
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar
make -j12

gives now for r183464:

/bin/sh ../libtool --tag CXX   --mode=link
/home/jkratoch/redhat/gcchead-build/./gcc/xgcc -shared-libgcc [...] ; \
if test ! -f .libs/libstdc++.a; then \
  ln -s .libs/libstdc++convenience.a .libs/libstdc++.a; \
  stamp-libstdc++convenience; \
fi;
libtool: link: (cd .libs/libstdc++convenience.lax/libsupc++convenience.a  ar
x
/home/jkratoch/redhat/gcchead-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a)
libtool: link: (cd .libs/libstdc++convenience.lax/libc++98convenience.a  ar x
/home/jkratoch/redhat/gcchead-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/../src/c++98/.libs/libc++98convenience.a)
libtool: link: (cd .libs/libstdc++convenience.lax/libc++11convenience.a  ar x
/home/jkratoch/redhat/gcchead-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/../src/c++11/.libs/libc++11convenience.a)
libtool: link: ar rc .libs/libstdc++convenience.a  
.libs/libstdc++convenience.lax/libsupc++convenience.a/eh_catch.o [...]
libtool: link: ranlib .libs/libstdc++convenience.a
libtool: link: rm -fr .libs/libstdc++convenience.lax
libtool: link: ( cd .libs  rm -f libstdc++convenience.la  ln -s
../libstdc++convenience.la libstdc++convenience.la )
/bin/sh: line 3: stamp-libstdc++convenience: command not found
make[6]: *** [libstdc++convenience.la] Error 127


[Bug libstdc++/51798] [4.7 regression] libstdc++ atomicity performance regression due to __sync_fetch_and_add

2012-01-23 Thread amacleod at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798

Andrew Macleod amacleod at redhat dot com changed:

   What|Removed |Added

 CC||bkoz at redhat dot com

--- Comment #4 from Andrew Macleod amacleod at redhat dot com 2012-01-24 
05:41:43 UTC ---
Looking at the old sync.md and rs6000.c files, it looks to me like
sync_fetch_and_add always issued a lwsync before the operation and an isync
afterwards.  

With the new atomics, it looks like making these fetch_and_add operations use
acq_rel mode, we'd get exactly the same code.  I suspect it would be safe to
convert those uses in atomicity.h to acq_rel.  If acq_rel wasn't sufficient,
power would likely have had a defect somewhere over the years...  

At least that would appear to be safe(r) to me on the surface...  And it would
return the missing performance?  I'd be more hesitant about relaxing the mode
any further than that.


[Bug ada/51940] Ada.Finalization of passed function return value skipped if exception raised in routine

2012-01-23 Thread garynot at comcast dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51940

--- Comment #4 from Gary Barnes garynot at comcast dot net 2012-01-24 
06:05:59 UTC ---
How do I report it to AdaCore?  Their web site has lots of marketing stuff but
nothing about reporting bugs.  Ditto for the Libre site.

So there are two GNAT's in the world?  Do they ever crosspollenate?  Is the GCC
GNAT more reliable?


[Bug bootstrap/51969] [4.6 regression] gcc 4.7 unable to build gcc 4.6

2012-01-23 Thread ralf_corsepius at rtems dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51969

--- Comment #3 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-01-24 
07:05:03 UTC ---
Thanks, Markus, Jakub.

Despite I don't understand this patch, it patch seems to work for me :)


[Bug target/51957] [4.7 Regression] ppc64 .debug_loc toc reference

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51957

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-24 
07:24:44 UTC ---
Author: jakub
Date: Tue Jan 24 07:24:34 2012
New Revision: 183468

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183468
Log:
PR target/51957
* target.def (const_not_ok_for_debug_p): New hook.
* doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
documentation.
* doc/tm.texi: Regenerated.
* dwarf2out.c (const_ok_for_output_1): If
targetm.const_not_ok_for_debug_p returns true, fail.
* config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
function.
(TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.

* gcc.dg/pr51957-1.c: New test.
* gcc.dg/pr51957-1.h: New file.
* gcc.dg/pr51957-2.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/pr51957-1.c
trunk/gcc/testsuite/gcc.dg/pr51957-1.h
trunk/gcc/testsuite/gcc.dg/pr51957-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/doc/tm.texi
trunk/gcc/doc/tm.texi.in
trunk/gcc/dwarf2out.c
trunk/gcc/target.def
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/51856] [4.7 Regression] ICE in reload_cse_simplify_operands

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51856

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-24 
07:44:36 UTC ---
Fixed.


[Bug ada/51940] Ada.Finalization of passed function return value skipped if exception raised in routine

2012-01-23 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51940

--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-01-24 
07:44:15 UTC ---
 How do I report it to AdaCore?  Their web site has lots of marketing stuff but
 nothing about reporting bugs.  Ditto for the Libre site.

See the 'Contact' menu on the Libre site.

 So there are two GNAT's in the world?  Do they ever crosspollenate?  Is the 
 GCC
 GNAT more reliable?

There is only one GNAT, the GNU Ada Translator, of which different versions are
released by different organizations.  'gcc -v' should be sufficient to identify
the version.


[Bug target/51957] [4.7 Regression] ppc64 .debug_loc toc reference

2012-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51957

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-24 
07:49:57 UTC ---
Fixed.


<    1   2