GCC 4.6.0 Released

2011-03-28 Thread Jakub Jelinek
The GNU Compiler Collection version 4.6.0 has been released.

GCC 4.6.0 is a major release, containing substantial new functionality
not available in GCC 4.5.x or previous GCC releases.

The link-time optimization framework introduced in GCC 4.5.0 has been
significantly improved in this release, it is now possible to compile
very large applications like Mozilla or GCC itself with LTO.
GCC can now partially inline functions, inlining just hot short path
to exit and keeping the rest of the function out of line.
Support for the upcoming C++0x standard has been notably improved,
Fortran 2003 and 2008 has been greatly extended and many other frontends
undergone substantial changes as well.
Many other improvements have been added and more than thousand of bugs
have been fixed in various parts of the compiler collection.

See:

  http://gcc.gnu.org/gcc-4.6/changes.html

for more information about changes in GCC 4.6.0.

This release is available from the FTP servers listed here:

  http://www.gnu.org/order/ftp.html

The release is in gcc/gcc-4.6.0/ subdirectory.

If you encounter difficulties using GCC 4.6, please do not contact me
directly.  Instead, please visit http://gcc.gnu.org for information
about getting help.

As always, a vast number of people contributed to this GCC releases --
far too many to thank individually!


Re: Possible Bug

2011-03-28 Thread Paolo Bonzini

On 03/27/2011 06:27 AM, Ian Lance Taylor wrote:

Nathan Boleynpbo...@gmail.com  writes:


In a much larger application, I was getting a weird segfault that an
assignment to a temporary variable fixed. I distilled the example into
the attached test_case.c. When I run test_case.c under valgrind I
get a memory read error, and it segfaults with electric fence, but I'm
not actually able to get a true segfault. However, I am pretty sure
that the same issue was causing the segfault in my application.


There is nothing wrong if gcc is reading an 8-byte value at an 8-byte
aligned address.


Note the struct is packed, so alignof = 1.


That said, I could not recreate the problem with your test case.  I only
see 4-byte loads.


I see it with this modified testcase:

#include stdio.h
#include stdlib.h

/* GCC uses 4-byte + 2-byte loads and stack passing */
typedef struct __attribute__((__packed__))
{
   unsigned short chr;
   unsigned int loc;
} GENOME_LOC_TYPE_1;

/* GCC uses 8-byte loads and register passing even though sizeof = 6 */
typedef struct __attribute__((__packed__))
{
   unsigned chr:16;
   unsigned loc:32;
} GENOME_LOC_TYPE_2;

//#define GENOME_LOC_TYPE GENOME_LOC_TYPE_1
#define GENOME_LOC_TYPE GENOME_LOC_TYPE_2

static __attribute__((__noclone__,__noinline__))
int f(GENOME_LOC_TYPE x)
{
  return x.loc;
}

GENOME_LOC_TYPE h;
GENOME_LOC_TYPE *g = h;

int
main()
{
  printf (%d %d\n, sizeof (GENOME_LOC_TYPE),
 __alignof__(GENOME_LOC_TYPE));
  return f(*g);
}


Both definitions have a (sizeof = 6, alignof = 1) but GCC loads the 
second with an 8-byte load.  It's really an ugly bug if I understood it 
correctly, because I would have expected the second struct to have 
sizeof = 8.  The two final bytes are not padding, they are what's left 
of the unsigned int from which the bitfields are carved.  If that were 
the correct fix for the bug, it would be a change to the ABI.


Paolo


Re: Possible Bug

2011-03-28 Thread Richard Guenther
On Mon, Mar 28, 2011 at 12:42 PM, Paolo Bonzini bonz...@gnu.org wrote:
 On 03/27/2011 06:27 AM, Ian Lance Taylor wrote:

 Nathan Boleynpbo...@gmail.com  writes:

 In a much larger application, I was getting a weird segfault that an
 assignment to a temporary variable fixed. I distilled the example into
 the attached test_case.c. When I run test_case.c under valgrind I
 get a memory read error, and it segfaults with electric fence, but I'm
 not actually able to get a true segfault. However, I am pretty sure
 that the same issue was causing the segfault in my application.

 There is nothing wrong if gcc is reading an 8-byte value at an 8-byte
 aligned address.

 Note the struct is packed, so alignof = 1.

 That said, I could not recreate the problem with your test case.  I only
 see 4-byte loads.

 I see it with this modified testcase:

 #include stdio.h
 #include stdlib.h

 /* GCC uses 4-byte + 2-byte loads and stack passing */
 typedef struct __attribute__((__packed__))
 {
   unsigned short chr;
   unsigned int loc;
 } GENOME_LOC_TYPE_1;

 /* GCC uses 8-byte loads and register passing even though sizeof = 6 */
 typedef struct __attribute__((__packed__))
 {
   unsigned chr            :16;
   unsigned loc            :32;
 } GENOME_LOC_TYPE_2;

 //#define GENOME_LOC_TYPE GENOME_LOC_TYPE_1
 #define GENOME_LOC_TYPE GENOME_LOC_TYPE_2

 static __attribute__((__noclone__,__noinline__))
 int f(GENOME_LOC_TYPE x)
 {
  return x.loc;
 }

 GENOME_LOC_TYPE h;
 GENOME_LOC_TYPE *g = h;

 int
 main()
 {
  printf (%d %d\n, sizeof (GENOME_LOC_TYPE),
                     __alignof__(GENOME_LOC_TYPE));
  return f(*g);
 }


 Both definitions have a (sizeof = 6, alignof = 1) but GCC loads the second
 with an 8-byte load.  It's really an ugly bug if I understood it correctly,
 because I would have expected the second struct to have sizeof = 8.  The two
 final bytes are not padding, they are what's left of the unsigned int from
 which the bitfields are carved.  If that were the correct fix for the bug,
 it would be a change to the ABI.

At expansion time we have the following for the call argument:

 mem_ref 0x77ff9118
type record_type 0x75b295e8 GENOME_LOC_TYPE_2 packed type_0 BLK
size integer_cst 0x75b256b8 constant 48
unit size integer_cst 0x75b25708 constant 6
align 8 symtab 0 alias set -1 canonical type 0x75b29540

which looks ok to me.  expand generates a MEM of BLKmode:

(mem/s:BLK (reg/f:DI 62) [0 MEM[(struct GENOME_LOC_TYPE_2 *)g.0_1]+0 S6 A8])

which is also ok.  But then calls.c calls move_block_to_reg and messes
up via operand_subword_force (mem, 0, BLKmode) which simply makes
a DImode mem out of it.

Richard.


Re: inline assembly vs. intrinsic functions

2011-03-28 Thread roy rosen
2011/3/24 Ian Lance Taylor i...@google.com:
 roy rosen roy.1ro...@gmail.com writes:

 You build a RECORD_TYPE holding the fields you want to return.  You
 define the appropriate builtin functions to return that record type.

 How is that done? using define_insn? How do I tell it to return a struct?
 Is there an example I can look at?

 A RECORD_TYPE is what gcc generates when you define a struct in your
 source code.  For an example of a backend building a struct, see, e.g.,
 ix86_build_builtin_va_list_abi.

 When you define your builtin functions in TARGET_INIT_BUILTINS you
 specify the argument types and the return type, typically by building a
 FUNCTION_TYPE and passing it to add_builtin_function.  To define a
 builtin which returns a struct, just arrange for the return type of the
 FUNCTION_TYPE that you pass to add_builtin_function be the RECORD_TYPE
 that you built.

I understood this part.
What I don't understand is:
In addition to adding the builtin function, in the md file I have a
define_insn for each built in, for example:

(define_insn A_ssodssxx2w
[(set (match_operand:SI 0 register_operand =d )
(unspec:SI [(match_operand:SI 1 register_operand d )
(match_operand:SI 2 register_operand d )]
UNSPEC_A_SSODSSXX2W))]

ssodssxx.2w %2,%1,%0 %!
)

How do I create something equivalent which would have an rtl set
expression to the structure.

Thanks, Roy.


 Ian



Re: Possible Bug

2011-03-28 Thread Paolo Bonzini

On 03/28/2011 01:06 PM, Richard Guenther wrote:

/* GCC uses 8-byte loads and register passing even though sizeof = 6 */
typedef struct __attribute__((__packed__))
{
   unsigned chr:16;
   unsigned loc:32;
} GENOME_LOC_TYPE_2;

//#define GENOME_LOC_TYPE GENOME_LOC_TYPE_1
#define GENOME_LOC_TYPE GENOME_LOC_TYPE_2

static __attribute__((__noclone__,__noinline__))
int f(GENOME_LOC_TYPE x)
{
  return x.loc;
}

GENOME_LOC_TYPE h;
GENOME_LOC_TYPE *g =h;

int
main()
{
  printf (%d %d\n, sizeof (GENOME_LOC_TYPE),
 __alignof__(GENOME_LOC_TYPE));
  return f(*g);
}


Both definitions have a (sizeof = 6, alignof = 1) but GCC loads the second
with an 8-byte load.  It's really an ugly bug if I understood it correctly,
because I would have expected the second struct to have sizeof = 8.  The two
final bytes are not padding, they are what's left of the unsigned int from
which the bitfields are carved.  If that were the correct fix for the bug,
it would be a change to the ABI.


At expansion time we have the following for the call argument:

  mem_ref 0x77ff9118
 typerecord_type 0x75b295e8 GENOME_LOC_TYPE_2 packed type_0 BLK
 sizeinteger_cst 0x75b256b8 constant 48
 unit sizeinteger_cst 0x75b25708 constant 6
 align 8 symtab 0 alias set -1 canonical type 0x75b29540

which looks ok to me.


It already isn't, why is the alignment 8 if __alignof__ 
(GENOME_LOC_TYPE_2) is 1?


The other question is a layout question, should the packed attribute 
affect the removal of padding from the last bitfield element?  That's a 
very different kind of padding, and it affects whether the size of the 
struct should be 6 or 8?  Note this is slightly different from the 
problem in -Wpacked-bitfield-compat.


In fact, should the poster's desired layout (the same as 
GENOME_LOC_TYPE_1, I guess) be achievable at all with bitfields, even in 
combination with the packed attribute?


Paolo


Re: Possible Bug

2011-03-28 Thread Richard Guenther
On Mon, Mar 28, 2011 at 1:36 PM, Paolo Bonzini bonz...@gnu.org wrote:
 On 03/28/2011 01:06 PM, Richard Guenther wrote:

 /* GCC uses 8-byte loads and register passing even though sizeof = 6 */
 typedef struct __attribute__((__packed__))
 {
   unsigned chr            :16;
   unsigned loc            :32;
 } GENOME_LOC_TYPE_2;

 //#define GENOME_LOC_TYPE GENOME_LOC_TYPE_1
 #define GENOME_LOC_TYPE GENOME_LOC_TYPE_2

 static __attribute__((__noclone__,__noinline__))
 int f(GENOME_LOC_TYPE x)
 {
  return x.loc;
 }

 GENOME_LOC_TYPE h;
 GENOME_LOC_TYPE *g =h;

 int
 main()
 {
  printf (%d %d\n, sizeof (GENOME_LOC_TYPE),
                     __alignof__(GENOME_LOC_TYPE));
  return f(*g);
 }


 Both definitions have a (sizeof = 6, alignof = 1) but GCC loads the
 second
 with an 8-byte load.  It's really an ugly bug if I understood it
 correctly,
 because I would have expected the second struct to have sizeof = 8.  The
 two
 final bytes are not padding, they are what's left of the unsigned int
 from
 which the bitfields are carved.  If that were the correct fix for the
 bug,
 it would be a change to the ABI.

 At expansion time we have the following for the call argument:

  mem_ref 0x77ff9118
     typerecord_type 0x75b295e8 GENOME_LOC_TYPE_2 packed type_0 BLK
         sizeinteger_cst 0x75b256b8 constant 48
         unit sizeinteger_cst 0x75b25708 constant 6
         align 8 symtab 0 alias set -1 canonical type 0x75b29540

 which looks ok to me.

 It already isn't, why is the alignment 8 if __alignof__ (GENOME_LOC_TYPE_2)
 is 1?

 The other question is a layout question, should the packed attribute affect
 the removal of padding from the last bitfield element?  That's a very
 different kind of padding, and it affects whether the size of the struct
 should be 6 or 8?  Note this is slightly different from the problem in
 -Wpacked-bitfield-compat.

 In fact, should the poster's desired layout (the same as GENOME_LOC_TYPE_1,
 I guess) be achievable at all with bitfields, even in combination with the
 packed attribute?

Btw, this looks like http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36043

Richard.

 Paolo



RE: Supporting multiple pointer sizes in GCC

2011-03-28 Thread Jayant R. Sonar
?  MIPS has two pointer sizes, but a given compilation (gcc 
 invocation) uses only one of them, it comes from the chosen ABI.

Yes, it looks like MIPS have got 2 ABIs - 32bit and 64bit. The choice
of the ABI is controlled through a command line option '-march=arch'. 
Therefore in MIPS it doesn't look possible to have 2 pointers of 
different sizes existing simultaneously inside a single executable.

Whereas, what I am looking forward to do is adding some target 
specific data attributes, say data16 and data32. In a simple test case 
I should be able to declare two different pointer variables using these
attributes as following:

char * ptrABC __attribute__ (data16);
char * ptrXYZ __attribute__ (data32);

The size of ptrABC should be 16bits and that of ptrXYZ should 
be 32bits.

Will it be possible to do something like this in GCC?

Regards,
Jayant
 

-Original Message-
From: Paul Koning [mailto:paul_kon...@dell.com] 
Sent: Friday, March 25, 2011 11:20 PM
To: DJ Delorie
Cc: Jayant R. Sonar; gcc@gcc.gnu.org
Subject: Re: Supporting multiple pointer sizes in GCC


On Mar 25, 2011, at 1:37 PM, DJ Delorie wrote:

 
 Jayant R. Sonar jayant.so...@kpitcummins.com writes:
 Is it possible to support multiple pointer sizes (e.g. 16bit, 32bit)
 which can co-exist in single compilation unit?
 Whether it is supported in GCC now?
 Is there any other architecture which has this feature already 
 implemented?
 
 Yes, there are three that I know of - mips64, s390 (tpf), and m32c.

?  MIPS has two pointer sizes, but a given compilation (gcc invocation) uses 
only one of them, it comes from the chosen ABI.

paul




Re: Possible Bug

2011-03-28 Thread Michael Matz
Hi,

On Mon, 28 Mar 2011, Paolo Bonzini wrote:

  At expansion time we have the following for the call argument:
 
mem_ref 0x77ff9118
   typerecord_type 0x75b295e8 GENOME_LOC_TYPE_2 packed type_0 BLK
   sizeinteger_cst 0x75b256b8 constant 48
   unit sizeinteger_cst 0x75b25708 constant 6
   align 8 symtab 0 alias set -1 canonical type 0x75b29540
 
  which looks ok to me.
 
 It already isn't, why is the alignment 8 if __alignof__ 
 (GENOME_LOC_TYPE_2) is 1?

The aligns are printed in bits.  It really is okay, as is the MEM.

 The other question is a layout question, should the packed attribute 
 affect the removal of padding from the last bitfield element?

A hypothetical question because we can't change this behaviour after about 
15 years.  Even if we could I'd argue that the current behaviour is 
correct (because we lack another attribute that would say 'and please also 
pack arrays of this type tightly', which then would finally imply that 
final padding is also removed, and hence we'd then hit this very same bug 
with testcases using _that_ attribute instead of packed).

As some digging shows, already GCC 1.35 had effectively the same code.  
As soon as parameters are passed in registers GCC loads the parts fitting 
into registers as full words.  We could simply sorry() for these cases, as 
they never worked correctly.  Though I suppose that's quite unforgiving, 
as most of the time (struct in question not passing page border) it works 
fine.


Ciao,
Michael.


Re: Possible Bug

2011-03-28 Thread Paolo Bonzini

On 03/28/2011 02:27 PM, Michael Matz wrote:

   mem_ref 0x77ff9118
  typerecord_type 0x75b295e8 GENOME_LOC_TYPE_2 packed type_0 BLK
  sizeinteger_cst 0x75b256b8 constant 48
  unit sizeinteger_cst 0x75b25708 constant 6
  align 8 symtab 0 alias set -1 canonical type 0x75b29540

which looks ok to me.


It already isn't, why is the alignment 8 if __alignof__
(GENOME_LOC_TYPE_2) is 1?


The aligns are printed in bits.  It really is okay, as is the MEM.


Uff, I'm always confused by align being printed after the unit size.


As some digging shows, already GCC 1.35 had effectively the same code.
As soon as parameters are passed in registers GCC loads the parts fitting
into registers as full words.  We could simply sorry() for these cases, as
they never worked correctly.  Though I suppose that's quite unforgiving,
as most of the time (struct in question not passing page border) it works
fine.


We should warn, I think.

Paolo


Proposed solution for bug 44384, builtin_object_size_ treatment of multidimensional arrays is unexpected

2011-03-28 Thread Mark Eklund
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I am trying to get a solution for bug 44384, builtin_object_size_
treatment of multidimensional arrays is unexpected, and would like 
to know if my approach is right.

First, a quick recap of the issue.

The issue at hand is that __builtin_object_size(ptr, type) always treats
multidimensional arrays as whole objects instead of treating each
dimension as a sub-object which results in unexpected results from
__builtin_object_size(ptr, type) when type  1 does not equal zero.

As this is of significant interest, I have started to work on a possible
solution to this issue.  Basically, the function, addr_objec_size(),
appears to be the heart of the __builtin_object_size() function.
However, after tracing the gcc source to see how the sizeof operator
works as well as checking to see how gcc handles cases such as:

void foo(char *)
{
//stuff
}

int main()
{
char c[10][20][30];

foo(c);
foo(c[2]);
}

I am of the opinion that addr_object_size() lacks the necessary
information to correctly determine which dimension of c is really being
looked at.  Therefore, I am looking at ways to somehow append some of
the original type data to the arguments passed in to addr_object_size()
and then use that information where appropriate.  One approach I am
considering is to append the data to the end of the tree before
fold_unary_loc() returns with the hopes that the appended data will be
available to addr_object_size().

However, I would like some feedback as to whether this is the proper
approach to take, and if so, what the best function to attempt this in
would be.  I have already tried convert_for_assignment() (which seems to
be too early).  This leads me to believe that the function I am looking
for might be one of the functions that handle the conversion of the
generic tree to the gimple tree.

Again any feedback that would help point me in the right direction would
be appreciated.

Thanks,

=mark

- -- 
Mark Eklund
Software Engineer
Product Development
mekl...@cisco.com
Cisco Systems, Inc.
170 West Tasman Dr
San Jose, CA 95134 USA
United States
Cisco.com - http://www.cisco.com

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2QkvwACgkQQ0N2P/sOd5he+QCgltwvrRjSvOwSUgaDxLzLqasD
husAoLZQ+FUNx5smq4VyCo9heJl+VT2a
=myNY
-END PGP SIGNATURE-


[Fwd: GCC 4.6.0 Released]

2011-03-28 Thread Dennis Clarke

Seems to be working well on Solaris 8 Sparc thus far. No surprises. I'll
post a result set once the tests are complete but for now I see the output
from hello.c is exactly as expected :

# pwd
/tmp/test
# cat -n hello.c
 1  #include stdio.h
 2
 3  int
 4  main(int argc, char *argv[])
 5  {
 6  printf ( Hello World!\n );
 7  return (0);
 8  }

# gcc --version
gcc (Blastwave.org Inc. Mon Mar 28 06:28:14 GMT 2011) 4.6.0
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# gcc -mcpu=v8 -mno-app-regs -mno-vis -m32 -S -o hello.s hello.c

# cat hello.s
.file   hello.c
.section.rodata
.align 8
.LLC0:
.asciz  Hello World!
.section.text
.align 4
.global main
.type   main, #function
.proc   04
main:
save%sp, -96, %sp
st  %i0, [%fp+68]
st  %i1, [%fp+72]
sethi   %hi(.LLC0), %g1
or  %g1, %lo(.LLC0), %o0
callputs, 0
 nop
mov 0, %g1
mov %g1, %i0
restore
jmp %o7+8
 nop
.size   main, .-main
.ident  GCC: (Blastwave.org Inc. Mon Mar 28 06:28:14 GMT 2011)
4.6.0
#

This is precisely the same as the output from 4.5.2 :

# diff /export/medusa/dclarke/build/test/hello_gcc_sparcv7.s hello.s
25c25
   .ident  GCC: (Blastwave.org Inc. Thu Dec 16 18:30:45 GMT 2010)
4.5.2
---
   .ident  GCC: (Blastwave.org Inc. Mon Mar 28 06:28:14 GMT 2011)
4.6.0
#

Thus all is well.

   GCC is the ultimate open source project in my opinion in that it gives
birth to everything else. Well, that makes binutils the pen-ultimate I
guess. :-)

  Thank you to the massive collection of Red Hat guys and volunteers and
to  a massive colleection of truely gifted programmers and the FSF for
making GCC possible.

-- 
Dennis Clarke
dcla...@opensolaris.ca - related to the open source Solaris
dcla...@blastwave.org  - related to open source for Solaris

pub   1024D/FA35B44B 2008-08-17
fingerprint = B766 3250 1511 40C8 088A  12B9 1D93 6C72 FA35 B44B

--
/~\  The ASCII Ribbon Campaign
\ /No HTML/RTF in email
 X No Word docs in email
/ \  Respect for open standards

  Thought du jour
---
In fact, my main conclusion after spending ten
years of my life working on the TeX project is
that software is hard. It.s harder than anything
else I.ve ever had to do. Donald E. Knuth, 5 Oct 2001,
Professor Emeritus of The Art of Computer Programming
at the Technische Universitat M#65533;chen in a lecture
entitled All Questions Answered.

123456789+123456789+123456789+123456789+123456789+123456789+1234
 MESSAGE ENDS --


 Original Message 
Subject: GCC 4.6.0 Released
From:Jakub Jelinek ja...@redhat.com
Date:Mon, March 28, 2011 03:25
To:  gcc-annou...@gcc.gnu.org
Cc:  gcc@gcc.gnu.org
--

The GNU Compiler Collection version 4.6.0 has been released.

GCC 4.6.0 is a major release, containing substantial new functionality
not available in GCC 4.5.x or previous GCC releases.

The link-time optimization framework introduced in GCC 4.5.0 has been
significantly improved in this release, it is now possible to compile
very large applications like Mozilla or GCC itself with LTO.
GCC can now partially inline functions, inlining just hot short path
to exit and keeping the rest of the function out of line.
Support for the upcoming C++0x standard has been notably improved,
Fortran 2003 and 2008 has been greatly extended and many other frontends
undergone substantial changes as well.
Many other improvements have been added and more than thousand of bugs
have been fixed in various parts of the compiler collection.

See:

  http://gcc.gnu.org/gcc-4.6/changes.html

for more information about changes in GCC 4.6.0.

This release is available from the FTP servers listed here:

  http://www.gnu.org/order/ftp.html

The release is in gcc/gcc-4.6.0/ subdirectory.

If you encounter difficulties using GCC 4.6, please do not contact me
directly.  Instead, please visit http://gcc.gnu.org for information
about getting help.

As always, a vast number of people contributed to this GCC releases --
far too many to thank individually!






Re: Possible Bug

2011-03-28 Thread Richard Guenther
On Mon, Mar 28, 2011 at 3:36 PM, Paolo Bonzini bonz...@gnu.org wrote:
 On 03/28/2011 02:27 PM, Michael Matz wrote:

   mem_ref 0x77ff9118
      typerecord_type 0x75b295e8 GENOME_LOC_TYPE_2 packed type_0 BLK
          sizeinteger_cst 0x75b256b8 constant 48
          unit sizeinteger_cst 0x75b25708 constant 6
          align 8 symtab 0 alias set -1 canonical type 0x75b29540

 which looks ok to me.

 It already isn't, why is the alignment 8 if __alignof__
 (GENOME_LOC_TYPE_2) is 1?

 The aligns are printed in bits.  It really is okay, as is the MEM.

 Uff, I'm always confused by align being printed after the unit size.

 As some digging shows, already GCC 1.35 had effectively the same code.
 As soon as parameters are passed in registers GCC loads the parts fitting
 into registers as full words.  We could simply sorry() for these cases, as
 they never worked correctly.  Though I suppose that's quite unforgiving,
 as most of the time (struct in question not passing page border) it works
 fine.

 We should warn, I think.

We should fix the bug ;)

Richard.

 Paolo



Re: Proposed solution for bug 44384, builtin_object_size_ treatment of multidimensional arrays is unexpected

2011-03-28 Thread Richard Guenther
On Mon, Mar 28, 2011 at 3:54 PM, Mark Eklund mekl...@cisco.com wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 I am trying to get a solution for bug 44384, builtin_object_size_
 treatment of multidimensional arrays is unexpected, and would like
 to know if my approach is right.

 First, a quick recap of the issue.

 The issue at hand is that __builtin_object_size(ptr, type) always treats
 multidimensional arrays as whole objects instead of treating each
 dimension as a sub-object which results in unexpected results from
 __builtin_object_size(ptr, type) when type  1 does not equal zero.

 As this is of significant interest, I have started to work on a possible
 solution to this issue.  Basically, the function, addr_objec_size(),
 appears to be the heart of the __builtin_object_size() function.
 However, after tracing the gcc source to see how the sizeof operator
 works as well as checking to see how gcc handles cases such as:

 void foo(char *)
 {
    //stuff
 }

 int main()
 {
    char c[10][20][30];

    foo(c);
    foo(c[2]);
 }

 I am of the opinion that addr_object_size() lacks the necessary
 information to correctly determine which dimension of c is really being
 looked at.  Therefore, I am looking at ways to somehow append some of
 the original type data to the arguments passed in to addr_object_size()
 and then use that information where appropriate.  One approach I am
 considering is to append the data to the end of the tree before
 fold_unary_loc() returns with the hopes that the appended data will be
 available to addr_object_size().

 However, I would like some feedback as to whether this is the proper
 approach to take, and if so, what the best function to attempt this in
 would be.  I have already tried convert_for_assignment() (which seems to
 be too early).  This leads me to believe that the function I am looking
 for might be one of the functions that handle the conversion of the
 generic tree to the gimple tree.

 Again any feedback that would help point me in the right direction would
 be appreciated.

What do you want to do with the information from __builtin_object_size?
Note that it was invented for a single special reason, it is probably not
suitable for anything else (and its somewhat fragile implementation shouldn't
be complicated by other usages).

Richard.

 Thanks,

 =mark

 - --
 Mark Eklund
 Software Engineer
 Product Development
 mekl...@cisco.com
 Cisco Systems, Inc.
 170 West Tasman Dr
 San Jose, CA 95134 USA
 United States
 Cisco.com - http://www.cisco.com

 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.11 (Darwin)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAk2QkvwACgkQQ0N2P/sOd5he+QCgltwvrRjSvOwSUgaDxLzLqasD
 husAoLZQ+FUNx5smq4VyCo9heJl+VT2a
 =myNY
 -END PGP SIGNATURE-



Re: [C++0x] Range-based for statements and ADL

2011-03-28 Thread Jason Merrill

On 03/25/2011 06:13 AM, Rodrigo Rivas wrote:

On Wed, Mar 23, 2011 at 5:46 PM, Jason Merrillja...@redhat.com  wrote:

Yep.  Here is the wording that we approved today:

[snip]

Nice. Thank you.


Could you update your patch to match the final wording?

Thanks,
Jason


Bootstrap failure on sparc-sun-solaris2.10

2011-03-28 Thread Art Haas

Hi.

This morning's build on sparc-sun-solaris2.10 failed for me; the error
message in 'stage_2' is below:

options.c:753:3: error: enum conversion in initialization is invalid in C++ 
[-Werror=c++-compat]
options.c:753:3: error: (near initialization for 
'global_options_init.x_sparc_cpu_and_features') [-Werror=c++-compat]
options.c:755:3: error: enum conversion in initialization is invalid in C++ 
[-Werror=c++-compat]
options.c:755:3: error: (near initialization for 
'global_options_init.x_sparc_cpu') [-Werror=c++-compat]
cc1: all warnings being treated as errors

My build on Friday worked, so the likely culprit is this change
from today:

2011-03-28  Joseph Myers  jos...@codesourcery.com

* config/sparc/sparc-opts.h: New.
* config/sparc/sparc.c (sparc_handle_option, sparc_select,
sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
(sparc_option_override): Store processor_type enumeration rather
than string in cpu_default.  Remove name and enumeration from
cpu_table.  Directly default -mcpu then default -mtune from -mcpu
without using sparc_select.  Use target_flags_explicit instead of
fpu_option_set.
* config/sparc/sparc.h (enum processor_type): Move to
sparc-opts.h.
(sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
* config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
HeaderInclude entry.
(mcpu=, mtune=): Use Var and Enum.
(sparc_processor_type): New Enum and EnumValue entries.

The relevant lines of the auto-generated 'options.c' file look like this:

752:  0, /* sparc_cmodel_string */
753:  0, /* sparc_cpu_and_features */
754:  0, /* sparc_std_struct_return */
755:  0, /* sparc_cpu */
756:  0, /* asm_file_name */

Thanks, as always, to everyone working on GCC.

Art Haas


Re: GCC 4.6.0 Released

2011-03-28 Thread Piotr Wyderski
Jakub Jelinek ja...@redhat.com:

 The GNU Compiler Collection version 4.6.0 has been released.

Compilation failure on Cygwin:

../../../libgcc/config/libbid/bid_decimal_globals.c:47:18: fatal error: fenv.h:
No such file or directory
compilation terminated.
make[3]: *** [bid_decimal_globals.o] Error 1

Configured as:

../configure --prefix=/opt/gcc-4.6.0 -v --enable-bootstrap
--enable-version-specific-runtime-libs --enable-static
--enable-shared --enable-shared-libgcc --disable-__cxa_atexit
--with-gnu-ld --with-gnu-as --with-dwarf2
--disable-sjlj-exceptions --enable-languages=c,c++ --disable-symvers
--enable-libgomp --enable-libssp
--enable-threads=posix --with-arch=core2 --with-tune=generic
--enable-libgcj-sublibs

Best regards
Piotr Wyderski


Re: GCC 4.6.0 Released

2011-03-28 Thread Kai Tietz
2011/3/28 Piotr Wyderski piotr.wyder...@gmail.com:
 Jakub Jelinek ja...@redhat.com:

 The GNU Compiler Collection version 4.6.0 has been released.

 Compilation failure on Cygwin:

 ../../../libgcc/config/libbid/bid_decimal_globals.c:47:18: fatal error: 
 fenv.h:
 No such file or directory
 compilation terminated.
 make[3]: *** [bid_decimal_globals.o] Error 1

 Configured as:

 ../configure --prefix=/opt/gcc-4.6.0 -v --enable-bootstrap
 --enable-version-specific-runtime-libs --enable-static
 --enable-shared --enable-shared-libgcc --disable-__cxa_atexit
 --with-gnu-ld --with-gnu-as --with-dwarf2
 --disable-sjlj-exceptions --enable-languages=c,c++ --disable-symvers
 --enable-libgomp --enable-libssp
 --enable-threads=posix --with-arch=core2 --with-tune=generic
 --enable-libgcj-sublibs

 Best regards
 Piotr Wyderski

Piotr,

this is a known issue and strictly cygwin related. Please update your
cygwin environment to newest version, or disable decimal-floating
point by option.

Regards,
Kai


Re: inline assembly vs. intrinsic functions

2011-03-28 Thread Ian Lance Taylor
roy rosen roy.1ro...@gmail.com writes:

 2011/3/24 Ian Lance Taylor i...@google.com:
 roy rosen roy.1ro...@gmail.com writes:

 You build a RECORD_TYPE holding the fields you want to return.  You
 define the appropriate builtin functions to return that record type.

 How is that done? using define_insn? How do I tell it to return a struct?
 Is there an example I can look at?

 A RECORD_TYPE is what gcc generates when you define a struct in your
 source code.  For an example of a backend building a struct, see, e.g.,
 ix86_build_builtin_va_list_abi.

 When you define your builtin functions in TARGET_INIT_BUILTINS you
 specify the argument types and the return type, typically by building a
 FUNCTION_TYPE and passing it to add_builtin_function.  To define a
 builtin which returns a struct, just arrange for the return type of the
 FUNCTION_TYPE that you pass to add_builtin_function be the RECORD_TYPE
 that you built.

 I understood this part.
 What I don't understand is:
 In addition to adding the builtin function, in the md file I have a
 define_insn for each built in, for example:

 (define_insn A_ssodssxx2w
   [(set (match_operand:SI 0 register_operand =d )
   (unspec:SI [(match_operand:SI 1 register_operand d )
   (match_operand:SI 2 register_operand d )]
   UNSPEC_A_SSODSSXX2W))]
   
   ssodssxx.2w %2,%1,%0 %!
 )

 How do I create something equivalent which would have an rtl set
 expression to the structure.

At the RTL level the structure doesn't matter.  Your instruction
presumably sets some registers.  A register is just a register, it
doesn't have a type.

In TARGET_EXPAND_BUILTIN you need to pick up the two registers and
assemble them into a PARALLEL.  You're going to build REGs to pass to
the insn pattern.  Then do something along the lines of:

  ret0 = gen_rtx_EXPR_LIST (VOIDmode, reg0, const0_rtx);
  ret1 = gen_rtx_EXPR_LIST (VOIDmode, reg1, const1_rtx);
  ret = gen_rtx_PARALLEL (??mode, gen_rtvec (2, reg0, reg1));
  tree nt = build_qualified_type (struct_type, TYPE_QUAL_CONST);
  target = assign_temp (nt, 0, 0, 1);
  emit_group_store (target, ret, struct_type, ??);

Ian


Re: Bootstrap comparison failure! (gcc 4.6.x with -O3)

2011-03-28 Thread Witold Baryluk
On 03-27 09:42, Andi Kleen wrote:
 Witold Baryluk bary...@smp.if.uj.edu.pl writes:
 
  make BOOT_CFLAGS=$CFLAGS -flto CFLAGS_FOR_BUILD=$CFLAGS
  CXXFLAGS_FOR_BUILD=$CXXFLAGS bootstrap
 
 Easier is to configure with --with-build-config=bootstrap-lto
 then you don't need all the magic CFLAGS lines.

As you see I actually use --with-build-config=bootstrap-lto. :)
Will try without manually setting CFLAGS.
The problem with documentation is that not all aspects of build
are explained on build instruction webpage.
So I'm just experimenting, and looking what will happen.

 
  And then waited
 
  I actually waited 5 days... (each file compiled about 45minutes on average,
  eating 100% of CPU). Normally whole gcc compiles in 25 minutes on this 
  machine.
 
 It sounds like you don't have enough memory? Did you swap? LTO (or
 rather the first phase of it) needs quite a bit more memory than a
 normal build. I suspect you don't want to do this with less than 4GB,
 better 8G.

No. cc1 uses about 65MB of ram. Plenty of free RAM, and no swaping.
Machine have 2GB of RAM.

 
 If you have /tmp in shmfs it is also much worse because there will
 be large temporary files in memory too (workaround is to use 
 TMPDIR=/some/dir/on/disk)

Yes, actually TMP/TEMP/TMPDIR variables are set just beforce ./configure...
and points to fast and big file system.

 
 
  After wait I got this:
 
 You have to use -frandom-seed=1 to avoid LTO bootstrap failures.
 If you use the build config line above that is done by default.

Ok. I will try random-seed.

Thanks!

-- 
Witold Baryluk
JID: witold.baryluk // jabster.pl


signature.asc
Description: Digital signature


Re: GCC 4.6.0 Released

2011-03-28 Thread FX
 this is a known issue and strictly cygwin related. Please update your
 cygwin environment to newest version, or disable decimal-floating
 point by option.

Well, maybe this is known, but it is not noted on the GCC 4.6.0 release notes, 
nor on the target-specific installation information page at 
http://gcc.gnu.org/install/specific.html#x-x-cygwin
Possibly one of the target maintainers might want to update that?

FX


Re: GCC 4.6.0 Released

2011-03-28 Thread Joe Buck
On Mon, Mar 28, 2011 at 11:52:56AM -0700, FX wrote:
  this is a known issue and strictly cygwin related. Please update your
  cygwin environment to newest version, or disable decimal-floating
  point by option.
 
 Well, maybe this is known, but it is not noted on the GCC 4.6.0 release 
 notes, nor on the target-specific installation information page at 
 http://gcc.gnu.org/install/specific.html#x-x-cygwin
 Possibly one of the target maintainers might want to update that?

I think that the right place for the note is at

http://gcc.gnu.org/install/specific.html#x-x-cygwin

It should say something like:

Versions of Cygwin older than x.y.z fail to build the decimal floating
point library, libbid.  You will either need to upgrade Cygwin to a newer
version or disable decimal floating point by specifying --disable-decimal-float
at configure time.




[C++-0X] User-defined literals

2011-03-28 Thread Ed Smith-Rowland

Greetings,

I am taking a new shot at user-defined literals.
Compared to the previous attempt:
  * I have altered libcpp so that it tokenizes user defined literals in 
one chunk properly.

  * I have started work on new tree nodes and accessors.
  * I have (or am trying to) refine the checks for argument and 
template parameter.


I would like to check that template literal operators have the specific 
non-type parameter pack:

templatechar...
  Foo operator sluggo();

I looked through the internals documentation and didn't see much on 
this.  Could anyone give me some pointers?


Also, is there any preference for using VEC vs. TREE_CHAIN for making 
trees and accessing them?  Is one sort of modern?


Finally I am using compparms to verify that a literal operator argument 
list conforms to strings like:

(const char*)
(const char*, std::size_t)
(const wchar_t*, std::size_t)
...
I cant get them to work.  I built a set of global trees for the argument 
types that I want to check.  The char and number tests work.
I use things like this to build the argument lists (I neglect the return 
type).

userdef_lit_char16_str_type
 = build_function_type_list (void_type_node, char16_array_type_node,
 size_type_node, NULL_TREE);
I'm hoping that this matches
(const char16_t*, std::size_t)
but it doesn't.

Ideas?

Thanks,

Ed Smith-Rowland



GCC_NO_EXECUTABLES vs. libtool

2011-03-28 Thread Ian Lance Taylor
We have several bug reports for 4.6.0 about failures of the form 

checking dynamic linker characteristics... configure: error: Link tests are not 
allowed after GCC_NO_EXECUTABLES.

http://gcc.gnu.org/PR47836
http://gcc.gnu.org/PR46586
http://gcc.gnu.org/PR45174
http://gcc.gnu.org/PR39107

The problem arising when building a cross-compiler for a GNU/Linux
target.  Configure scripts like libiberty/configure.ac,
libquadmath/configure.ac, etc., use GCC_NO_EXECUTABLES.  The
GCC_NO_EXECUTABLES macro checks whether a link succeeds.  If it does
not, it sets gcc_no_link.  If a later attempt to run a link test, the
above error is reported.

Unfortunately, on a GNU/Linux host (recall that for a target library,
the target is the host), libtool itself does a link test.  From the top
level libtool.m4 file, in _LT_SYS_DYNAMIC_LINKER, in the linux* |
k*bsd*-gnu | kopensolaris*-gnu case:

AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
  [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2/dev/null | grep 
RUNPATH.*$libdir /dev/null],
 [lt_cv_shlibpath_overrides_runpath=yes])])

That test fails when a link fails.  That test must not be run when
linking fails.

Shortly after that code in libtool.m4, I see this:

  if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf(cd /etc; cat %s 
2/dev/null, \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }'  
/etc/ld.so.conf | $SED -e 's/#.*//;/^[   ]*hwcap[]/d;s/[:,  ]/ 
/g;s/=[^=]*$//;s/=[^= ]* / /g;s///g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec=/lib /usr/lib $lt_ld_extra
  fi

Testing /etc/ld.so.conf is absolutely meaningless when building a target
library for a non-native compilation.  That test must not be run when
cross-compiling.

We should definitely fix this for gcc 4.6.1.  However, I don't know what
the best way to fix this is.  Our gcc-specific target libraries check
$with_cross_host to see if they are being built as a cross-compiled
target library.  Presumably libtool doesn't want to check that.
GCC_NO_EXECUTABLES sets a gcc-specific shell variable and overrides
AC_LINK_IFELSE to test variable.  libtool doesn't know anything about
that.  So what should we do here?

Ian


Re: GCC_NO_EXECUTABLES vs. libtool

2011-03-28 Thread Ralf Wildenhues
Hello Ian,

* Ian Lance Taylor wrote on Tue, Mar 29, 2011 at 07:39:25AM CEST:
 We have several bug reports for 4.6.0 about failures of the form 
 
 checking dynamic linker characteristics... configure: error: Link tests are 
 not allowed after GCC_NO_EXECUTABLES.

 Unfortunately, on a GNU/Linux host (recall that for a target library,
 the target is the host), libtool itself does a link test.

The general strategy I've been following with these is wrapping the link
test result with a cache variable, and trying to let the cache variable
be pre-set by configure.ac in the no-executables case (and adjusting
libtool/tests/no-executables.at).  Then, even if the cache variable is
not set, the user can work around it.

 From the top
 level libtool.m4 file, in _LT_SYS_DYNAMIC_LINKER, in the linux* |
 k*bsd*-gnu | kopensolaris*-gnu case:
 
 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
   [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2/dev/null | grep 
 RUNPATH.*$libdir /dev/null],
[lt_cv_shlibpath_overrides_runpath=yes])])
 
 That test fails when a link fails.  That test must not be run when
 linking fails.

There's a simple workaround for the time being: pass
  target_configargs='lt_cv_shlibpath_overrides_runpath=yes'

(or =no, depending on which is correct) to toplevel configure.

 Shortly after that code in libtool.m4, I see this:
 
   if test -f /etc/ld.so.conf; then
 lt_ld_extra=`awk '/^include / { system(sprintf(cd /etc; cat %s 
 2/dev/null, \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }'  
 /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[]/d;s/[:,  
 ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s///g;/^$/d' | tr '\n' ' '`
 sys_lib_dlsearch_path_spec=/lib /usr/lib $lt_ld_extra
   fi
 
 Testing /etc/ld.so.conf is absolutely meaningless when building a target
 library for a non-native compilation.  That test must not be run when
 cross-compiling.

Right.  There are probably more such cases.  I'm not sure how to change
the code for best results here, apart from just using /lib /usr/lib.

 We should definitely fix this for gcc 4.6.1.  However, I don't know what
 the best way to fix this is.  Our gcc-specific target libraries check
 $with_cross_host to see if they are being built as a cross-compiled
 target library.  Presumably libtool doesn't want to check that.
 GCC_NO_EXECUTABLES sets a gcc-specific shell variable and overrides
 AC_LINK_IFELSE to test variable.  libtool doesn't know anything about
 that.  So what should we do here?

Well, we can introduce another variable that tells Libtool macros that
/ is not something to look at for system details.  I'm not sure if
$with_sysroot can be (ab)used for that.

Cheers,
Ralf


[Bug rtl-optimization/48064] Optimizer produces suboptimal code for e.g. x = x ^ (x 1)

2011-03-28 Thread jasper.neumann at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48064

Jasper Neumann jasper.neumann at web dot de changed:

   What|Removed |Added

   Severity|minor   |normal


[Bug c/48305] [4.7 Regression] ice at -O0: verify_gimple failed

2011-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48305

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.03.28 07:44:54
 CC||jakub at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.7.0
Summary|ice at -O0: verify_gimple   |[4.7 Regression] ice at
   |failed  |-O0: verify_gimple failed
 Ever Confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-28 
07:44:54 UTC ---
Shorter testcase:
int
foo (int x, char y)
{
  return (x ^ 7U  y = 0) == (1U ^ x);
}


[Bug target/48308] crosscompiling to arm fails with assembler: can't resolve '.LC4' {.rodata.str1.1 section} - '.LPIC4' {*UND* section}

2011-03-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48308

--- Comment #1 from Mikael Pettersson mikpe at it dot uu.se 2011-03-28 
07:47:41 UTC ---
Works for me on armv5tel-linux-gnueabi with gcc-4.6-20110325 (r171529) and
binutils-2.20.1 (heavily updated).  Please attach the intermediate assembly
file.


[Bug fortran/48298] F2003 Implement User Defined Derived Type IO (DTIO)

2011-03-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48298

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2011-03-28 
07:48:51 UTC ---
(In reply to comment #1)
 Created attachment 23785 [details]
 A starting front end only patch

+  if (gfc_notify_std (GFC_STD_F2003, Fortran 2003: DT format 
+  specifier not allowed at %C) == FAILURE)

I somehow have parse problems; it sounds to me as if in Fortran 2003 the DT
specifier is not allowed. I would use:

+  if (gfc_notify_std (GFC_STD_F2003, Fortran 2003: DT format 
+  specifier at %C) == FAILURE)


[Bug lto/48309] gcc -flto -fuse-linker-plugin generates crashing executables on MinGW

2011-03-28 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48309

--- Comment #1 from Dmitry Gorbachev d.g.gorbachev at gmail dot com 
2011-03-28 08:12:57 UTC ---
It can be a duplicate of bug 47891.


[Bug fortran/48279] [4.6/4.7 Regression] segfault in gfc_check_vardef_context

2011-03-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48279

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
 CC||burnus at gcc dot gnu.org
   Target Milestone|--- |4.6.1
Summary|segfault in |[4.6/4.7 Regression]
   |gfc_check_vardef_context|segfault in
   ||gfc_check_vardef_context

--- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org 2011-03-28 
08:13:02 UTC ---
(In reply to comment #4)
   call set(get_d_string(h), 0, 'Three')

With NAG and with GCC 4.5 (and 4.3/4.4) I get the error that no specific
function could be found. Thus, I mark this PR now as regression and
ICE-on-invalid-code. I have not checked whether the other examples are valid or
not.


[Bug boehm-gc/48299] [4.7 Regression] FAIL: boehm-gc.c/thread_leak_test.c

2011-03-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48299

--- Comment #1 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-28 08:49:47 UTC ---
Could you please check if this test worked before my patch?  It may have
been that the failure simply went unnoticed.

Thanks.
Rainer


[Bug c/48190] [regression?] Huge memory use while compiling qemu-0.4.0

2011-03-28 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48190

rsand...@gcc.gnu.org rsandifo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.03.28 08:59:13
 CC||rsandifo at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |rsandifo at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug debug/48041] dwarf2out emits unnecessary null byte in empty .debug_abbrev section

2011-03-28 Thread mark at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48041

Mark Wielaard mark at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |mark at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Mark Wielaard mark at gcc dot gnu.org 2011-03-28 09:10:09 
UTC ---
Patch committed.


[Bug debug/48229] DW_TAG_type_unit has no DW_AT_producer

2011-03-28 Thread jan.kratochvil at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48229

--- Comment #5 from Jan Kratochvil jan.kratochvil at redhat dot com 
2011-03-28 09:12:20 UTC ---
Created attachment 23788
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23788
GDB patch attempt with ptype regressions.

(In reply to comment #4)
 Still I believe DW_TAG_type_unit should have DW_AT_producer as it is a
 standalone entity - but currently it is not.  I guess I have to implement your
 described althorithm into GDB instead.

It cannot work as GDB often looks up the type without any referrer from
DW_TAG_compile_unit, such as during the `ptype' GDB command.  A draft patch
thus has many regressions such as:
-PASS: gdb.base/nofield.exp: ptype struct not_empty
+FAIL: gdb.base/nofield.exp: ptype struct not_empty (GDB internal error)

This means GDB will have to start full read (like -readnow) of CUs till it
finds some CU referencing the specific type to find its DW_AT_producer.  During
scan of .debug_info for GDB partial symbols GDB currently skips over subtrees
of DIEs which reference the type signature for performance reasons, it no
longer can.

With .gdb_index there is no GDB partial symbols scan but .gdb_index also
indexes types by their name and there is no referrer ever seen during the
`ptype' GDB command.

So it means performance regression for non-.gdb_index case and a possible new
extension/version of .gdb_index to handle it.


[Bug debug/48229] DW_TAG_type_unit has no DW_AT_producer

2011-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48229

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-28 
09:22:57 UTC ---
.debug_types only appears with -gdwarf-4, I don't think any gcc defaulted to
that yet, so if you are talking about DW_AT_accessibility default, IMHO just
assume the DWARF3+ semantics in .debug_types.


[Bug tree-optimization/48295] Incorrect code generated with dynamic floating point rounding mode switches

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48295

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.28 09:31:53
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
09:31:53 UTC ---
Code motion optimizations (or even CSE) have no idea about dynamic rounding
mode changes, -frounding-math does not change this (this switch is only
guarding expression simplifications that usually assume round-to-nearest
behavior).

The only mode for which I'd accept such band-aid patches is -O0.

Anyway, confirmed, but long-time known with no idea when or even how
this is going to be fixed.

Btw, your testcase would be kindof invalid as you are not using the
documented standard way of accessing fenv but using inline-asm (and
we don't have a special clobber that tells GCC you touched the FP
control word).

As for CSE, try

  /* Round to upward.  */
  tem1 = a + b;
  /* Round to nearest.  */
  tem2 = a + b;
  diff = tem1 - tem2;

and see it optimized to zero at compile-time.

I suppose there is a duplicate bug somewhere about the general issue.


[Bug target/48297] Suboptimal optimization of boolean expression addition

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48297

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.28 09:34:02
  Component|c   |target
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
09:34:02 UTC ---
Confirmed.


[Bug target/48301] Xcode 4.0's llvm-gcc can't bootstrap gcc 4.6.0 or trunk

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48301

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
09:35:37 UTC ---
So llvm miscompiles cc1.  Not a GCC bug.


[Bug driver/48306] presence of gcc subdir with . in PATH causes breakdown

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48306

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.03.28 09:40:43
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
09:40:43 UTC ---
Works for me.  How did you configure/install GCC?  What does -v output say
for the compile command?


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

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48307

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug fortran/48311] New: [Quadmath] Documentation - typo, order

2011-03-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48311

   Summary: [Quadmath] Documentation - typo, order
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: documentation
  Severity: trivial
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


http://gcc.gnu.org/onlinedocs/libquadmath/strtoflt128.html

The function dmath_strtopQ converts a string into a __float128 number.

Should be dmath_strtopQ - strtoflt128


http://gcc.gnu.org/onlinedocs/libquadmath/quadmath_005fsnprintf.html

I would move the comment from the very bottom to before the example - it is
currently a bit lost there.


[Bug lto/48309] gcc -flto -fuse-linker-plugin generates crashing executables on MinGW

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48309

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.03.28 09:45:36
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
09:45:36 UTC ---
Please also specify the exact linker version you are using.


[Bug middle-end/48310] ask a question about expand_used_vars in cfgexpand.c

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48310

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
09:47:01 UTC ---
Please ask questions on the GCC mailinglists, not via bugzilla.


[Bug ada/44431] [boot with C++] Conflicting exit declaration in ada/b_gnatb.c

2011-03-28 Thread gingold at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44431

--- Comment #6 from gingold at gcc dot gnu.org gingold at gcc dot gnu.org 
2011-03-28 09:49:14 UTC ---
Author: gingold
Date: Mon Mar 28 09:49:10 2011
New Revision: 171593

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171593
Log:
2011-03-28  Tristan Gingold  ging...@adacore.com

PR ada/44431
* gcc-interface/Make-lang.in (ada/b_gnat1.adb):  Replaces
ada/b_gnat1.c. Use ada output of gnatbind.
(ada/b_gnatb.adb): Ditto.
(ada/b_gnat1.o, ada/b_gnatb.o): New rules.
(ada.mostlyclean, ada.stage1)
(ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
(ada.stagefeedback): Adjust.

* gcc-interface/Makefile.in (b_gnatl.adb): Replaces b_gnatl.c
Use ada output of gnatbind.
(b_gnatm.adb): Ditto.
(b_gnatl.o, b_gnatm.o): New rules.


Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gcc-interface/Make-lang.in
trunk/gcc/ada/gcc-interface/Makefile.in


[Bug ada/44431] [boot with C++] Conflicting exit declaration in ada/b_gnatb.c

2011-03-28 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44431

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #7 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-03-28 
09:53:27 UTC ---
Presumably.  Reopen if not.


[Bug tree-optimization/48295] Incorrect code generated with dynamic floating point rounding mode switches

2011-03-28 Thread frederic.riss at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48295

--- Comment #3 from Frederic Riss frederic.riss at gmail dot com 2011-03-28 
09:58:50 UTC ---
In bug #34678 I thought you were agreeing with Joseph that -frounding-math had
a more general meaning than the one you are expressing here, but I get your
point that a more general solution should be implemented.

Regarding the validity of the testcase, I took glibc's implementation of
fesetround that I inlined. I did that because I saw that /usr/include/fenv.h
has provisions for including inline versions of the fenv routines, although
it's not the case yet for x86. So I guess it's possible that someday you get
exactly that situation even though people are using the standard routines to
switch rounding mode. In fact my private port does exactly this.

Can you think of other places than CSE that would exhibit these issues?
Unfortunately, I have to put some band-aids into place for our numerical
analysts to be able to do their jobs.


[Bug tree-optimization/48134] [4.6 Regression] ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1085 with custom flags

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48134

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:14:41 UTC ---
Author: rguenth
Date: Mon Mar 28 10:14:34 2011
New Revision: 171595

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171595
Log:
2011-03-28  Richard Guenther  rguent...@suse.de

Backport from mainline
2011-03-24  Richard Guenther  rguent...@suse.de

PR middle-end/48269
* tree-object-size.c (addr_object_size): Do not double-account
for MEM_REF offsets.

* gcc.dg/builtin-object-size-10.c: New testcase.

2011-03-22  Richard Guenther  rguent...@suse.de

PR tree-optimization/48228
* tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
for single-arg PHIs.

* gcc.dg/Wstrict-overflow-23.c: New testcase.

2011-03-17  Richard Guenther  rguent...@suse.de

PR middle-end/48134
* tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
a value make sure to fold the statement.

* gcc.dg/pr48134.c: New testcase.

2011-03-15  Richard Guenther  rguent...@suse.de

PR middle-end/48031
* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
or variable-indexed array accesses when in gimple form.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/builtin-object-size-10.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48134.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/fold-const.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-object-size.c
branches/gcc-4_6-branch/gcc/tree-ssa.c
branches/gcc-4_6-branch/gcc/tree-vrp.c


[Bug c/48228] incorrect signed overflow warning when only 0 and 1 are used

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:14:40 UTC ---
Author: rguenth
Date: Mon Mar 28 10:14:34 2011
New Revision: 171595

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171595
Log:
2011-03-28  Richard Guenther  rguent...@suse.de

Backport from mainline
2011-03-24  Richard Guenther  rguent...@suse.de

PR middle-end/48269
* tree-object-size.c (addr_object_size): Do not double-account
for MEM_REF offsets.

* gcc.dg/builtin-object-size-10.c: New testcase.

2011-03-22  Richard Guenther  rguent...@suse.de

PR tree-optimization/48228
* tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
for single-arg PHIs.

* gcc.dg/Wstrict-overflow-23.c: New testcase.

2011-03-17  Richard Guenther  rguent...@suse.de

PR middle-end/48134
* tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
a value make sure to fold the statement.

* gcc.dg/pr48134.c: New testcase.

2011-03-15  Richard Guenther  rguent...@suse.de

PR middle-end/48031
* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
or variable-indexed array accesses when in gimple form.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/builtin-object-size-10.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48134.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/fold-const.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-object-size.c
branches/gcc-4_6-branch/gcc/tree-ssa.c
branches/gcc-4_6-branch/gcc/tree-vrp.c


[Bug middle-end/48269] [4.6 Regression] Incorrect fortify warning for a packed struct member

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48269

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:14:40 UTC ---
Author: rguenth
Date: Mon Mar 28 10:14:34 2011
New Revision: 171595

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171595
Log:
2011-03-28  Richard Guenther  rguent...@suse.de

Backport from mainline
2011-03-24  Richard Guenther  rguent...@suse.de

PR middle-end/48269
* tree-object-size.c (addr_object_size): Do not double-account
for MEM_REF offsets.

* gcc.dg/builtin-object-size-10.c: New testcase.

2011-03-22  Richard Guenther  rguent...@suse.de

PR tree-optimization/48228
* tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
for single-arg PHIs.

* gcc.dg/Wstrict-overflow-23.c: New testcase.

2011-03-17  Richard Guenther  rguent...@suse.de

PR middle-end/48134
* tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
a value make sure to fold the statement.

* gcc.dg/pr48134.c: New testcase.

2011-03-15  Richard Guenther  rguent...@suse.de

PR middle-end/48031
* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
or variable-indexed array accesses when in gimple form.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/builtin-object-size-10.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48134.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/fold-const.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-object-size.c
branches/gcc-4_6-branch/gcc/tree-ssa.c
branches/gcc-4_6-branch/gcc/tree-vrp.c


[Bug tree-optimization/48031] [4.4/4.5 Regression] gcc.c-torture/compile/pr42956.c ICEs gcc on m68k-linux, ivopts related?

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48031

--- Comment #18 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:14:39 UTC ---
Author: rguenth
Date: Mon Mar 28 10:14:34 2011
New Revision: 171595

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171595
Log:
2011-03-28  Richard Guenther  rguent...@suse.de

Backport from mainline
2011-03-24  Richard Guenther  rguent...@suse.de

PR middle-end/48269
* tree-object-size.c (addr_object_size): Do not double-account
for MEM_REF offsets.

* gcc.dg/builtin-object-size-10.c: New testcase.

2011-03-22  Richard Guenther  rguent...@suse.de

PR tree-optimization/48228
* tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
for single-arg PHIs.

* gcc.dg/Wstrict-overflow-23.c: New testcase.

2011-03-17  Richard Guenther  rguent...@suse.de

PR middle-end/48134
* tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
a value make sure to fold the statement.

* gcc.dg/pr48134.c: New testcase.

2011-03-15  Richard Guenther  rguent...@suse.de

PR middle-end/48031
* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
or variable-indexed array accesses when in gimple form.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/builtin-object-size-10.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48134.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/fold-const.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-object-size.c
branches/gcc-4_6-branch/gcc/tree-ssa.c
branches/gcc-4_6-branch/gcc/tree-vrp.c


[Bug middle-end/48269] [4.6 Regression] Incorrect fortify warning for a packed struct member

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48269

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||4.6.1
 Resolution||FIXED
  Known to fail||4.6.0

--- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:20:54 UTC ---
Fixed.


[Bug tree-optimization/48228] incorrect signed overflow warning when only 0 and 1 are used

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Component|c   |tree-optimization
  Known to work||4.6.1, 4.7.0
   Target Milestone|4.7.0   |4.6.1
  Known to fail||4.6.0

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:21:54 UTC ---
And 4.6.1.  I'm not planning to backport further as it's also an optimization
change.


[Bug tree-optimization/48134] [4.6 Regression] ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1085 with custom flags

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48134

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:22:30 UTC ---
Fixed.


[Bug target/47553] ARM neon vld1q_lane_u8 co. don't accept lanes = 8

2011-03-28 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47553

--- Comment #3 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-28 10:23:03 UTC ---
Author: rsandifo
Date: Mon Mar 28 10:22:57 2011
New Revision: 171596

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171596
Log:
gcc/
PR target/47553
* config/arm/predicates.md (neon_lane_number): Accept 0..15.

gcc/testsuite/
PR target/47553
* gcc.target/arm/neon-vld-1.c: New test.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.target/arm/neon-vld-1.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config/arm/predicates.md
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug tree-optimization/48290] FAIL: gcc.dg/vect/pr38529.c, ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1072

2011-03-28 Thread irar at il dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48290

--- Comment #3 from Ira Rosen irar at il dot ibm.com 2011-03-28 10:30:55 UTC 
---
I am going to test this patch. It checks that if we have a phi in outer loop in
the basic block after the inner loop, then this phi is really inner loop's exit
phi, i.e., its operand is defined in the inner loop. 

Index: tree-vect-loop.c
===
--- tree-vect-loop.c(revision 171466)
+++ tree-vect-loop.c(working copy)
@@ -1184,11 +1184,11 @@ vect_analyze_loop_operations (loop_vec_i
   print_gimple_stmt (vect_dump, phi, 0, TDF_SLIM);
 }

+  /* Inner-loop loop-closed exit phi in outer-loop vectorization
+ (i.e. a phi in the tail of the outer-loop).  */
   if (! is_loop_header_bb_p (bb))
 {
-  /* inner-loop loop-closed exit phi in outer-loop vectorization
- (i.e. a phi in the tail of the outer-loop).
- FORNOW: we currently don't support the case that these phis
+  /* FORNOW: we currently don't support the case that these phis
  are not used in the outerloop (unless it is double reduction,
  i.e., this phi is vect_reduction_def), cause this case
  requires to actually do something here.  */
@@ -1202,6 +1202,32 @@ vect_analyze_loop_operations (loop_vec_i
  Unsupported loop-closed phi in outer-loop.);
   return false;
 }
+
+  /* If PHI is used in the outer loop, we check that its operand
+ is defined in the inner loop.  */
+  if (STMT_VINFO_RELEVANT_P (stmt_info))
+{
+  tree phi_op;
+  gimple op_def_stmt;
+
+  if (gimple_phi_num_args (phi) != 1)
+return false;
+
+  phi_op = PHI_ARG_DEF (phi, 0);
+  if (TREE_CODE (phi_op) != SSA_NAME)
+return false;
+
+  op_def_stmt = SSA_NAME_DEF_STMT (phi_op);
+  if (!op_def_stmt || !vinfo_for_stmt (op_def_stmt))
+return false;
+
+  if (STMT_VINFO_RELEVANT (vinfo_for_stmt (op_def_stmt))
+!= vect_used_in_outer
+   STMT_VINFO_RELEVANT (vinfo_for_stmt (op_def_stmt))
+   != vect_used_in_outer_by_reduction)
+return false;
+}
+
   continue;
 }


[Bug target/47553] ARM neon vld1q_lane_u8 co. don't accept lanes = 8

2011-03-28 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47553

--- Comment #4 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-28 10:32:12 UTC ---
Author: rsandifo
Date: Mon Mar 28 10:32:09 2011
New Revision: 171597

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171597
Log:
gcc/
PR target/47553
* config/arm/predicates.md (neon_lane_number): Accept 0..15.

gcc/testsuite/
PR target/47553
* gcc.target/arm/neon-vld-1.c: New test.

Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.target/arm/neon-vld-1.c
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/arm/predicates.md
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


[Bug go/48312] New: [4.7 regression] http, rpc, websocket tests hang on Solaris 2/x86

2011-03-28 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48312

   Summary: [4.7 regression] http, rpc, websocket tests hang on
Solaris 2/x86
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: go
AssignedTo: i...@airs.com
ReportedBy: r...@gcc.gnu.org
  Host: i386-pc-solaris2.1[01]
Target: i386-pc-solaris2.1[01]
 Build: i386-pc-solaris2.1[01]


Created attachment 23789
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23789
Minimal patch to get fd_rtems.go to compile.

After the latest libgo import, the network-related libgo tests hang on Solaris
10
and 11/x86.  To even get libgo to compile, I needed the attached patch to
fd_rtems.go (which should better be called fd_select.go since this is what it
really is).

Even after that, the http, rpc, and websocket tests just hang in select, as can
be seen in the pstack output from the http test:

8131:./a.out
-  lwp# 1 / thread# 1  
 fe35b3ab lwp_park (0, 0, 0)
 fe354e03 cond_wait_queue (de221678, de221660, 0, fe355329) + 63
 fe3553a1 __cond_wait (de221678, de221660, 8045158, fe3553e9) + 89
 fe3553f7 cond_wait (de221678, de221660, 80451a8, fe35542d) + 27
 fe355442 pthread_cond_wait (de221678, de221660, 80451c8, fe3f7500, 18,
8045100) + 24
 fe64467c __go_receive_acquire (de221660, 0, 8045218, fe641cb9, 80451f8,
80451f8) + 7c
 fe6447f1 __go_receive_small_closed (de221660, 0, 0, fe87d6c0, 16) + 41
 fe64489d __go_receive_small (de221660, de22c500, 0, 809eaea, 14, 1) + 2d
 fe7fd1cd libgo_testing.testing.RunTests (8088b38, de40, 30, 30, fefa0810,
fee70018) + 21d
 fe7fd481 libgo_testing.testing.Main (8088b38, de40, 30, 30, de20ebf0, 0) +
81
 08088cb4 main.main (4d9060de, 8045720, 80453f0, feffb93c, 8045400, de20) +
48
 080958ef main (1, 8045434, 804543c, 8045428, 80640c2, 80956f0) + 1df
 08064123 _start   (1, 8045788, 0, 8045790, 804579e, 80457aa) + 83
-  lwp# 24 / thread# 24  
 fe35b3ab lwp_park (0, 0, 0)
 fe354e03 cond_wait_queue (de217f68, de217f50, 0, fe355329) + 63
 fe3553a1 __cond_wait (de217f68, de217f50, cdefea68, fe3553e9) + 89
 fe3553f7 cond_wait (de217f68, de217f50, de217f50, fe35542d) + 27
 fe355442 pthread_cond_wait (de217f68, de217f50, 5a5b497, 321, 8056414, 100) +
24
 fe64467c __go_receive_acquire (de217f50, 0, 0, 807e3b8, cdefeb00, fefc0744) +
7c
 fe643d4e __go_receive_big (de217f50, cdefeb50, de229300, fe6494b7, fedf3f40,
de234f20) + 3e
 080809b2 libgo_http.http.roundTrip.pN27_libgo_http.http.persistConn (cdefec08,
de23f840, de229300, 4, 809c52c, 4) + 112
 0807e6b9 libgo_http.http.RoundTrip.pN25_libgo_http.http.Transport (cdefeccc,
de20eb60, de229300, fe6494b7, de230005, 11) + 301
 0806b2c3 http.send (cdefedb8, de229300, 80a4268, de20eb60, 0, fe3f3000) + 249
 0806b5d6 libgo_http.http.Get.pN22_libgo_http.http.Client (cdefee38, de200568,
de234f60, 16, cdf00a3c, 0) + 1de
 0806b38d libgo_http.http.Get (cdefeee8, de23, 16, fe350f13, 0, fe3f3000) +
4e
 08088f87 go.http_test.TestClient (de22c5d0, 0, fee60200, fe353c8c, fe87d6c0,
fe8cb584) + 89
 fe7fc595 testing.tRunner (de22c5d0, de222348, fe87d6c0, 80bc468, fe8cb584,
fe87d6c0) + 25
 fe7fc25a testing.$thunk0 (de22c5e0, fe3f3000, cdefefd8, fe35a535, fe3f9e00,
fee62000) + 1a
 fe641b41 start_go_thread (de21b380, fe3f3000, cdefefe8, fe35b079) + 81
 fe35b0cc _thrp_setup (cdf00a40) + 9d
 fe35b370 _lwp_start (cdf00a40, 0, 0, 0, 0, 0)
-  lwp# 25 / thread# 25  
 fe35f4a7 pollsys  (ce00ed00, 1, 0, 0)
 fe30afeb pselect  (5, de22a000, 0, 0, 0, 0) + 193
 fe30b2f1 select   (5, de22a000, 0, 0, 0, fefc0744) + 79
 fe7fb3f1 libgo_syscalls.syscall.Select (ce00ee40, 5, de22a000, de22a080, 0, 0)
+ 41
 fe6b9301 libgo_net.net.WaitFD.pN22_libgo_net.net.pollster (ce00ef14, de2300a0,
de201570, 0, 0, fe3f3000) + 221
 fe6c1515 libgo_net.net.Run.pN24_libgo_net.net.pollServer (de201570, 0,
fe87d6c0, 80bc440, fe8cb584, fe87d6c0) + e5
 fe6b5843 net.$thunk0 (de232288, fe3f3000, ce00efd8, fe35a535, fe3f9e00,
fee62000) + 13
 fe641b41 start_go_thread (de23f140, fe3f3000, ce00efe8, fe35b079) + 81
 fe35b0cc _thrp_setup (cdf00240) + 9d
 fe35b370 _lwp_start (cdf00240, 0, 0, 0, 0, 0)
-  lwp# 26 / thread# 26  
 fe35b3ab lwp_park (0, 0, 0)
 fe354e03 cond_wait_queue (de221b58, de221b40, 0, fe355329) + 63
 fe3553a1 __cond_wait (de221b58, de221b40, cddffc58, fe3553e9) + 89
 fe3553f7 cond_wait (de221b58, de221b40, cddffc98, fe35542d) + 27
 fe355442 pthread_cond_wait (de221b58, de221b40, 1, fe87d6c0, 72, fe87d6c0) +
24
 fe64467c __go_receive_acquire (de221b40, 0, fe50f9e3, fef70018, 3, 0) + 7c
 fe6447f1 __go_receive_small_closed (de221b40, 0, 0, fe87d6c0, de229280) + 41
 fe64489d __go_receive_small (de221b40, de229200, 72, de201570, fe87d6c0,
de229280) + 2d
 fe6ba741 libgo_net.net.WaitRead.pN24_libgo_net.net.pollServer 

[Bug tree-optimization/48290] FAIL: gcc.dg/vect/pr38529.c, ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1072

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48290

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
10:38:27 UTC ---
Thanks Ira.


[Bug target/47553] ARM neon vld1q_lane_u8 co. don't accept lanes = 8

2011-03-28 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47553

rsand...@gcc.gnu.org rsandifo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #5 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-28 10:49:10 UTC ---
Fixed in 4.5, 4.6 and trunk.


[Bug tree-optimization/48295] Incorrect code generated with dynamic floating point rounding mode switches

2011-03-28 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48295

--- Comment #4 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2011-03-28 10:50:44 UTC ---
On Mon, 28 Mar 2011, rguenth at gcc dot gnu.org wrote:

 Btw, your testcase would be kindof invalid as you are not using the
 documented standard way of accessing fenv but using inline-asm (and
 we don't have a special clobber that tells GCC you touched the FP
 control word).

You mark the asm as reading and clobbering fpcr - that register name 
already exists in GCC, and it's a bug that glibc's fpu_control.h doesn't 
use it, though I suppose you'd need to add the mxcsr name as well.  
When -frounding-math is actually properly implemented it ought to be 
taught about target-specific registers representing rounding modes (and 
likewise exception status) so it knows how asms interact with the 
floating-point state.  (Non-const, non-pure function calls will also need 
to be presumed to interact with the state in unknown ways since they may 
end up calling fenv.h functions.)


[Bug c/48305] [4.7 Regression] ice at -O0: verify_gimple failed

2011-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48305

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-28 
10:55:56 UTC ---
Created attachment 23790
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23790
gcc47-pr48305.patch

Untested fix.


[Bug testsuite/48245] FAIL: gcc.dg/lto/pr46940 c_lto_pr46940_0.o assemble on *-apple-darwin*

2011-03-28 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48245

--- Comment #21 from Rainer Orth ro at gcc dot gnu.org 2011-03-28 11:07:02 
UTC ---
Author: ro
Date: Mon Mar 28 11:06:58 2011
New Revision: 171598

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171598
Log:
PR target/48245
* config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/darwin.h


[Bug testsuite/48245] FAIL: gcc.dg/lto/pr46940 c_lto_pr46940_0.o assemble on *-apple-darwin*

2011-03-28 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48245

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2011-03/msg01890.htm
   ||l
 CC||ro at gcc dot gnu.org
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |ro at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.7.0

--- Comment #22 from Rainer Orth ro at gcc dot gnu.org 2011-03-28 11:08:39 
UTC ---
Fixed for 4.7.0.


[Bug testsuite/48245] FAIL: gcc.dg/lto/pr46940 c_lto_pr46940_0.o assemble on *-apple-darwin*

2011-03-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48245

--- Comment #23 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-28 11:11:09 UTC ---
 --- Comment #20 from Dominique d'Humieres dominiq at lps dot ens.fr 
 2011-03-24 18:46:41 UTC ---
 AFAICT, comment #12 is OK on *-darwin9 including cross-cris-elf.
 given that Mike has approved, 
 if someone could chip in with a test on x86-64-darwin10, I would think you
 could apply it.

 I have bootstrapped gcc on x86-64-darwin10 with the patch in comment #12 on 
 top
 of revision 171401 without failures for the tests ran by lto.exp (full test by
 tomorrow).

Thanks.  Based on Iain's and your testing and Mike's approval, I've
applied the patch (slightly adapted to match the gcc.c form).

 Now I wonder what are the tests

 gcc/testsuite/gcc.dg/lto/20100722-1_0.c
 gcc/testsuite/gcc.dg/lto/20110201-1_0.c
 gcc/testsuite/gcc.dg/lto/pr46940_0.c
 gcc/testsuite/gcc.dg/lto/pr47188_0.c
 gcc/testsuite/gcc.dg/pr43157.c

 supposed to test? pr46940_0.c fails because only weak aliases are supported
 on darwin and the other tests pass even without plugin support.

No idea.  You'll have to ask the patch authors.  This whole LTO and
lto-plugin business remains a mystery to me.

Rainer


[Bug testsuite/48245] FAIL: gcc.dg/lto/pr46940 c_lto_pr46940_0.o assemble on *-apple-darwin*

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48245

--- Comment #24 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
11:18:44 UTC ---
(In reply to comment #20)
  AFAICT, comment #12 is OK on *-darwin9 including cross-cris-elf.
  given that Mike has approved, 
  if someone could chip in with a test on x86-64-darwin10, I would think you
  could apply it.
 
 I have bootstrapped gcc on x86-64-darwin10 with the patch in comment #12 on 
 top
 of revision 171401 without failures for the tests ran by lto.exp (full test by
 tomorrow).
 
 Now I wonder what are the tests
 
 gcc/testsuite/gcc.dg/lto/20100722-1_0.c
 gcc/testsuite/gcc.dg/lto/20110201-1_0.c
 gcc/testsuite/gcc.dg/lto/pr46940_0.c
 gcc/testsuite/gcc.dg/lto/pr47188_0.c
 gcc/testsuite/gcc.dg/pr43157.c
 
 supposed to test? pr46940_0.c fails because only weak aliases are supported
 on darwin and the other tests pass even without plugin support.

They are various tests for previously existing bugs (mostly ICEs).  Of course
they now work.


[Bug middle-end/48310] ask a question about expand_used_vars in cfgexpand.c

2011-03-28 Thread zgss278 at 163 dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48310

--- Comment #2 from shushengyu zgss278 at 163 dot com 2011-03-28 11:20:03 UTC 
---
Oh,sorry!I am not know the rule well.
Can you introduce someone who would like to give me some help to me?
At 2011-03-28 17:47:06,rguenth at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org
wrote:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48310

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
09:47:01 UTC ---
Please ask questions on the GCC mailinglists, not via bugzilla.

-- 
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You reported the bug.


[Bug testsuite/48245] FAIL: gcc.dg/lto/pr46940 c_lto_pr46940_0.o assemble on *-apple-darwin*

2011-03-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48245

--- Comment #25 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-28 11:21:20 UTC ---
 supposed to test? pr46940_0.c fails because only weak aliases are supported
 on darwin and the other tests pass even without plugin support.

 They are various tests for previously existing bugs (mostly ICEs).  Of course
 they now work.

But Dominique's point that all those tests have
dg-require-linker-plugin, but passed on Darwin even without the
lto-plugin.

Rainer


[Bug debug/48229] 4.5.x should produce unambiguous DW_AT_accessibility

2011-03-28 Thread jan.kratochvil at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48229

Jan Kratochvil jan.kratochvil at redhat dot com changed:

   What|Removed |Added

Summary|DW_TAG_type_unit has no |4.5.x should produce
   |DW_AT_producer  |unambiguous
   ||DW_AT_accessibility

--- Comment #7 from Jan Kratochvil jan.kratochvil at redhat dot com 
2011-03-28 11:21:41 UTC ---
In such case only the gcc-4.5.x branch should start to produce
DW_AT_accessibility unambiguously (explicitly) at least in the -gdwarf-4 mode.
This way it will not remain a long term regression testsuite problem.


[Bug libstdc++/48313] New: std::bind with template function

2011-03-28 Thread joerg.rich...@pdv-fs.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48313

   Summary: std::bind with template function
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: joerg.rich...@pdv-fs.de


$ cat  t.cc  EOF
#include functional

templateclass T void func( T )
{}

int main( int, char** )
{
  std::bind( funcint, 0 );
}
EOF

$ g++ t.cc -std=gnu++0x
t.cc: In function 'int main(int, char**)':
t.cc:8:27: error: cannot bind 'void(int)' lvalue to 'void ()(int)'
...

This is with GCC 4.6.0.  This works with GCC 4.5.2.


[Bug lto/48309] gcc -flto -fuse-linker-plugin generates crashing executables on MinGW

2011-03-28 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48309

--- Comment #3 from Dmitry Gorbachev d.g.gorbachev at gmail dot com 
2011-03-28 11:35:37 UTC ---
(In reply to comment #2)

Gordon Magnusson wrote:
 C:\bugreportld -v
 GNU ld (GNU Binutils) 2.21.51.20110326


[Bug libobjc/48314] New: Make the new symbols weak symbols

2011-03-28 Thread js-gcc at webkeks dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48314

   Summary: Make the new symbols weak symbols
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libobjc
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: js-...@webkeks.org


Hello,

gcc 4.6 introduces a lot of new symbols like objc_setProperty, objc_sync_enter
etc. Those are often already provided since they were always missing, but
support for e.g. @synchronized was always there. This creates conflicts now
when using gcc 4.6, thus I would suggest to make those weak symbols in 4.6.1.


[Bug middle-end/36043] gcc reads 8 bytes for a struct of size 6 which leads to sigsegv

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36043

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target|x86_64-unknown-linux-gnu|x86_64-unknown-linux-gnu,
   ||i?86-*-*
  Component|target  |middle-end
  Known to fail||2.95.2

--- Comment #16 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
11:57:36 UTC ---
Also broken at least since GCC 2.95 on i?86 with

struct colour
{
  unsigned char red;
  unsigned char green;
  unsigned char blue;
};

void print_colour(struct colour col) __attribute__((regparm(3)));

void
foo(struct colour *c)
{
  print_colour(*c);
}


[Bug middle-end/36043] gcc reads 8 bytes for a struct of size 6 which leads to sigsegv

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36043

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Blocks||37954

--- Comment #17 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
11:58:50 UTC ---
PR37954 looks like a dup for arm.


[Bug c/42098] gcc does not honor alignment specification for qualified typedefs

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42098

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
12:02:40 UTC ---
dup.

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


[Bug c/12742] Type alignment is lost if const is added to typedef

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12742

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jepler at unpythonic dot
   ||net

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-28 
12:02:40 UTC ---
*** Bug 42098 has been marked as a duplicate of this bug. ***


[Bug libstdc++/48313] std::bind with template function

2011-03-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48313

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.28 12:17:25
 Ever Confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-28 
12:17:25 UTC ---
The example should work. I'm travelling today but will check the functional
code later to see why the F constructor is being chosen instead of the const
F one.


[Bug fortran/48279] [4.6/4.7 Regression] segfault in gfc_check_vardef_context

2011-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48279

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||jakub at gcc dot gnu.org


[Bug libstdc++/48313] std::bind with template function

2011-03-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48313

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-28 
12:24:23 UTC ---
The example can be modified to work by passing a pointer, so the template
argument isn't deduced as a function type:

  std::bind( funcint, 0 );


[Bug boehm-gc/48299] [4.7 Regression] FAIL: boehm-gc.c/thread_leak_test.c

2011-03-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48299

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-03-28 12:31:35 
UTC ---
(In reply to comment #1)
 Could you please check if this test worked before my patch?  It may have
 been that the failure simply went unnoticed.
 

I don't think thread_leak_test.c was tested before.


[Bug target/48308] crosscompiling to arm fails with assembler: can't resolve '.LC4' {.rodata.str1.1 section} - '.LPIC4' {*UND* section}

2011-03-28 Thread dev-gcc-20110327-b588 at gheift dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48308

--- Comment #2 from Gerhard Heift dev-gcc-20110327-b588 at gheift dot de 
2011-03-28 12:34:31 UTC ---
Created attachment 23791
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23791
generated assembler

On line 114, the generates assembler code refers to .LPIC4, which does not
exists.


[Bug boehm-gc/48299] [4.7 Regression] FAIL: boehm-gc.c/thread_leak_test.c

2011-03-28 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48299

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-28 12:40:06 UTC ---
 I don't think thread_leak_test.c was tested before.

In that case, please try to compile it with the same flags used for one
of the other tests (e.g, leak_test.c) to check if the problem is with my
dg conversion or elsewhere.

In any case, if this wasn't tested before, it's not a regression.

Thanks.
Rainer


[Bug libstdc++/48313] std::bind with template function

2011-03-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48313

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-28 
12:43:12 UTC ---
It's not the _Bind constructor, it's the bind() call itself, this demonstrates
the problem:

templatetypename _Functor, typename... _ArgTypes
inline
void
bind(_Functor __f, _ArgTypes... __args) { }

templateclass T void func( T )
{}

int main( int, char** )
{
bind( funcint, 0 );
}


we might just need to overload std::bind for function types

std::bind() in 4.5 was defined differently as it didn't support rvalues
properly, so didn't show the problem


[Bug testsuite/48276] FAIL: gcc.target/i386/pr47502-2.c on x86_64-apple-darwin10.7.0 with -m32

2011-03-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48276

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

   What|Removed |Added

 CC|hjl at gcc dot gnu.org  |hjl.tools at gmail dot com

--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-03-28 12:44:50 
UTC ---
Please try

diff --git a/gcc/testsuite/gcc.target/i386/pr47502-2.c
b/gcc/testsuite/gcc.target/i386/pr47502-2.c
index 1f57ea0..a8dc1ca 100644
--- a/gcc/testsuite/gcc.target/i386/pr47502-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr47502-2.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options -O2 } */
+/* { dg-options -O2 -fno-pic } */

 int
 foo (int how, const void *set, void *oset)


[Bug testsuite/48276] FAIL: gcc.target/i386/pr47502-2.c on x86_64-apple-darwin10.7.0 with -m32

2011-03-28 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48276

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-03-28 
12:52:43 UTC ---
 Please try

 ...
 -/* { dg-options -O2 } */
 +/* { dg-options -O2 -fno-pic } */
 ...

It does fix the failure, thanks.


[Bug target/48308] crosscompiling to arm fails with assembler: can't resolve '.LC4' {.rodata.str1.1 section} - '.LPIC4' {*UND* section}

2011-03-28 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48308

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #3 from Mikael Pettersson mikpe at it dot uu.se 2011-03-28 
13:09:15 UTC ---
(In reply to comment #2)
 Created attachment 23791 [details]
 generated assembler
 
 On line 114, the generates assembler code refers to .LPIC4, which does not
 exists.

Indeed.  If I compile with -mcpu=arm9tdmi as your assembly file indicates then
I lose several lines of code, including the .LPIC4 label and a strcmp() call,
but the reference to .LPIC4 remained.  Normally I have -march=armv5te
-mtune=xscale, and in that case the .LPIC4 label and surrounding code is not
lost.

Works(*) with gcc-4.4.5 and 4.5.2, so it's a regression.

(*) Had to eliminate some apparent C1X-isms from the test case though.


[Bug testsuite/48276] FAIL: gcc.target/i386/pr47502-2.c on x86_64-apple-darwin10.7.0 with -m32

2011-03-28 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48276

--- Comment #3 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-03-28 
13:14:56 UTC ---
Author: hjl
Date: Mon Mar 28 13:14:47 2011
New Revision: 171604

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171604
Log:
Add -fno-pic to gcc.target/i386/pr47502-2.c.

2011-03-28  H.J. Lu  hongjiu...@intel.com

PR testsuite/48276
* gcc.target/i386/pr47502-2.c: Add -fno-pic.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/pr47502-2.c


[Bug testsuite/48276] FAIL: gcc.target/i386/pr47502-2.c on x86_64-apple-darwin10.7.0 with -m32

2011-03-28 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48276

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

   What|Removed |Added

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

--- Comment #4 from H.J. Lu hjl.tools at gmail dot com 2011-03-28 13:19:01 
UTC ---
Fixed.


[Bug fortran/48279] [4.6/4.7 Regression] segfault in gfc_check_vardef_context

2011-03-28 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48279

--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2011-03-28 
13:21:30 UTC ---
==1823== Invalid read of size 1
==1823==at 0x4C32E7: gfc_check_vardef_context (expr.c:4377)
==1823==by 0x4CBC25: compare_actual_formal (interface.c:2291)
==1823==by 0x4CD48B: gfc_arglist_matches_symbol (interface.c:2813)
==1823==by 0x4CD6F4: gfc_search_interface (interface.c:2842)
==1823==by 0x50D2A2: resolve_call (resolve.c:3204)

The issue - or at least cause - for the segfault is the following code in
gfc_check_vardef_context:

  if (!pointer  e-expr_type == EXPR_FUNCTION
   e-symtree-n.sym-result-attr.pointer)

The problem is that e-symtree-n.sym-result == NULL. The symbol itself is
get_d_string. If one uses gdb's set e-symtree-n.sym-result =
e-symtree-n.sym and continues, one gets the expected error:

  Error: There is no specific subroutine for the generic 'set' at (1)

One problem seems to be that get_d_string is a generic interface - and not a
specific one:

(gdb) p e-symtree-n.sym-attr.generic
$1 = 1

The specific interface has properly the result variables set:
(gdb) p e-symtree-n.sym-generic-sym-name
$3 = 0x2e876280 get_d_string_p
(gdb) p e-symtree-n.sym-generic-sym-result
$4 = (struct gfc_symbol *) 0x1281280

Calling gfc_check_vardef_context for an generic interface seems to be
questionable.


[Bug debug/48315] New: ICE in mem_loc_descriptor, at dwarf2out.c:13899

2011-03-28 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48315

   Summary: ICE in mem_loc_descriptor, at dwarf2out.c:13899
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: armv5tejl-unknown-linux-gnueabi
Target: armv5tejl-unknown-linux-gnueabi
 Build: armv5tejl-unknown-linux-gnueabi


Executing on host: /home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdi
r/gcc/ /home/dave/gnu/gcc/gcc/libgomp/testsuite/libgomp.fortran/vla2.f90 
-B/hom
e/dave/gnu/gcc/objdir/armv5tejl-unknown-linux-gnueabi/./libgomp/
-B/home/dave/gn
u/gcc/objdir/armv5tejl-unknown-linux-gnueabi/./libgomp/.libs
-I/home/dave/gnu/gc
c/objdir/armv5tejl-unknown-linux-gnueabi/./libgomp
-I/home/dave/gnu/gcc/gcc/libg
omp/testsuite/.. -fmessage-length=0 -fopenmp  -O3 -g  
-B/home/dave/gnu/gcc/objd
ir/armv5tejl-unknown-linux-gnueabi/./libgomp/../libgfortran/.libs  
-L/home/dave
/gnu/gcc/objdir/armv5tejl-unknown-linux-gnueabi/./libgomp/.libs -lgomp
-L/home/d
ave/gnu/gcc/objdir/armv5tejl-unknown-linux-gnueabi/./libgomp/../libgfortran/.lib
s -lgfortran -lm   -o ./vla2.exe(timeout = 300)
/home/dave/gnu/gcc/gcc/libgomp/testsuite/libgomp.fortran/vla2.f90: In function
'
foo':
/home/dave/gnu/gcc/gcc/libgomp/testsuite/libgomp.fortran/vla2.f90:127:0:
interna
l compiler error: in mem_loc_descriptor, at dwarf2out.c:13899

FAIL: libgomp.fortran/vla2.f90  -O3 -g  (internal compiler error)
FAIL: libgomp.fortran/vla2.f90  -O3 -g  (test for excess errors)

-bash-3.2$ gcc/xgcc -Bgcc/ -v
Reading specs from gcc/specs
COLLECT_GCC=gcc/xgcc
COLLECT_LTO_WRAPPER=gcc/lto-wrapper
Target: armv5tejl-unknown-linux-gnueabi
Configured with: ../gcc/configure --host=armv5tejl-unknown-linux-gnueabi
--target=armv5tejl-unknown-linux-gnueabi
--build=armv5tejl-unknown-linux-gnueabi
--enable-languages=c,c++,fortran,objc,obj-c++ --enable-checking=release
--enable-shared --enable-threads --disable-multilib --disable-libmudflap
--disable-libssp --enable-symvers=gnu --enable-__cxa_atexit
--disable-libstdcxx-pch --prefix=/home/dave/opt/gnu/gcc/gcc-4.6.0
--with-gmp=/home/dave/opt/gnu --with-as=/home/dave/opt/gnu/bin/as
--with-ld=/home/dave/opt/gnu/bin/ld
Thread model: posix
gcc version 4.7.0 20110325 (experimental) [trunk revision 171528] (GCC)

Similar fails:

FAIL: libgomp.fortran/vla6.f90  -O3 -g  (internal compiler error)
FAIL: libgomp.fortran/vla6.f90  -O3 -g  (test for excess errors)
FAIL: libgomp.fortran/vla8.f90  -O3 -g  (internal compiler error)
FAIL: libgomp.fortran/vla8.f90  -O3 -g  (test for excess errors)


[Bug preprocessor/48248] [4.5/4.6/4.7 Regression] Wrong error message location when compiling preprocessed code

2011-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48248

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 2011-03-28 
13:47:05 UTC ---
Can't reproduce this, neither with g++ 4.5, nor trunk.


[Bug preprocessor/48248] [4.5/4.6/4.7 Regression] Wrong error message location when compiling preprocessed code

2011-03-28 Thread joerg.rich...@pdv-fs.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48248

--- Comment #3 from joerg.rich...@pdv-fs.de 2011-03-28 13:51:55 UTC ---
(In reply to comment #2)
 Can't reproduce this, neither with g++ 4.5, nor trunk.

Did you delete the empty lines?


[Bug tree-optimization/48316] New: missed CSE / reassoc with array offsets

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48316

   Summary: missed CSE / reassoc with array offsets
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


int
foo (int *p, int i)
{
  int i1 = i + 1;
  int i2 = i + 2;
  return p[i1] + p[i2];
}

int
bar (int *p, unsigned long i)
{
  unsigned long i1 = i + 1;
  unsigned long i2 = i + 2;
  return p[i1] + p[i2];
}

For both testcases (the latter being the more optimal input due to
pointer-plus-expr constraints) we miss to CSE the multiplication
of i by 4 which makes the memory references not trivially independent
(based on the same pointer, offsetted by different constants).  Such
a case causes vectorization for alias checks being inserted for
gfortran.dg/reassoc_4.f with --param max-completely-peeled-insns=4000

IL on x86_64 is

bb 2:
  i1_2 = i_1(D) + 1;
  i2_3 = i_1(D) + 2;
  D.2702_4 = (long unsigned int) i1_2;
  D.2703_5 = D.2702_4 * 4;
  D.2704_7 = p_6(D) + D.2703_5;
  D.2705_8 = MEM[(int *)D.2704_7];
  D.2706_9 = (long unsigned int) i2_3;
  D.2707_10 = D.2706_9 * 4;
  D.2708_11 = p_6(D) + D.2707_10;
  D.2709_12 = MEM[(int *)D.2708_11];
  D.2701_13 = D.2705_8 + D.2709_12;
  return D.2701_13;

vs.

bb 2:
  i1_2 = i_1(D) + 1;
  i2_3 = i_1(D) + 2;
  D.2694_4 = i1_2 * 4;
  D.2695_6 = p_5(D) + D.2694_4;
  D.2696_7 = MEM[(int *)D.2695_6];
  D.2697_8 = i2_3 * 4;
  D.2698_9 = p_5(D) + D.2697_8;
  D.2699_10 = MEM[(int *)D.2698_9];
  D.2693_11 = D.2696_7 + D.2699_10;
  return D.2693_11;

For the reassoc_4.f testcase the question is whether either SCEV or
data-dependence can be enhanced to handle the cases (the multiplications
are in BB2, outside of any loop).


[Bug c/44384] builtin_object_size_ treatment of multidimensional arrays is unexpected

2011-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44384

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-28 
14:05:34 UTC ---
__builtin_object_size is a builtin for -D_FORTIFY_SOURCE checking, it is not a
generic object size computation function, and for strcpy IMHO we don't want to
treat each dimension as a field separator.


[Bug libstdc++/48313] std::bind with template function

2011-03-28 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48313

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-28 
14:26:35 UTC ---
slightly further reduced:


templatetypename Functor, typename ArgTypes
inline void
bind(Functor f, ArgTypes a) { }

templatetypename T
void func( T )
{}

int main( int, char** )
{
bind( funcint, 0 );
}

this is certainly not a libstdc++ bug (std::bind matches the signature require
by the C++0x draft)

I think the parameter is a non-deduced context, because the argument is an
overload set containing one or more function templates ([temp.deduct.call p6)

So I think this is actually invalid and G++ is right to reject it.


[Bug tree-optimization/48317] New: SCCVN does not handle vector constructors

2011-03-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48317

   Summary: SCCVN does not handle vector constructors
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


SCCVN does not handle CONSTRUCTORs well (they simply get put into a
reference-kind
single operand).  This sucks for things like

  vect_cst_.239_4355 = {pretmp.88_1931, pretmp.88_1931};

which the vectorizer generates (or which can happen via intrinsics or
generic vector support even earlier).

Not sure how to handle this variable-size code though.


[Bug c++/48289] [4.5/4.6/4.7 regression] -pedantic breaks std::move

2011-03-28 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48289

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2011-03-28 
15:06:32 UTC ---
Author: jason
Date: Mon Mar 28 15:06:28 2011
New Revision: 171607

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171607
Log:
Revert:
PR c++/48289
* pt.c (build_non_dependent_expr): Keep dereferences outside the
NON_DEPENDENT_EXPR.

Removed:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/cpp0x/move1.C
Modified:
branches/gcc-4_5-branch/gcc/cp/ChangeLog
branches/gcc-4_5-branch/gcc/cp/pt.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


[Bug tree-optimization/48195] ICE: vector VEC(ipa_node_params_t,base) index domain error, in ipa_analyze_node at ipa-prop.c:1525 with -flto --param partial-inlining-entry-probability=101

2011-03-28 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48195

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Martin Jambor jamborm at gcc dot gnu.org 2011-03-28 
15:15:15 UTC ---
Mine.


[Bug go/48312] [4.7 regression] http, rpc, websocket tests hang on Solaris 2/x86

2011-03-28 Thread ian at airs dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48312

Ian Lance Taylor ian at airs dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.03.28 15:51:34
 Ever Confirmed|0   |1

--- Comment #1 from Ian Lance Taylor ian at airs dot com 2011-03-28 15:51:34 
UTC ---
Sorry, I forgot about this issue when I updated the library.


[Bug other/48318] New: Memory access error by build/genhooks?

2011-03-28 Thread Markus.Elfring at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48318

   Summary: Memory access error by build/genhooks?
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: markus.elfr...@web.de
  Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
 Build: x86_64-unknown-linux-gnu


I try to generate the current GCC software for my openSUSE 11.4 system.
Unfortunately, I stumble on the following German message.

...
/bin/sh /home/elfring/Projekte/GNU/GCC/Quellen/4.6.0/gcc/../move-if-change
tmp-optionlist optionlist
echo timestamp  s-options
build/genhooks \
/home/elfring/Projekte/GNU/GCC/Quellen/4.6.0/gcc/doc/tm.texi.in 
tmp-tm.texi
gcc   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H
-DGENERATOR_FILE  -o build/genconstants \
build/genconstants.o build/read-md.o build/errors.o
../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a
/bin/sh: Zeile 1: 29541 Speicherzugriffsfehler  build/genhooks
/home/elfring/Projekte/GNU/GCC/Quellen/4.6.0/gcc/doc/tm.texi.in  tmp-tm.texi
make[3]: *** [s-tm-texi] Fehler 139
make[3]: *** Warte auf noch nicht beendete Prozesse...
rm gcc.pod
make[3]: Leaving directory
`/home/elfring/Projekte/GNU/GCC/erzeugt/4.6.0/Auswahl/gcc'
make[2]: *** [all-stage1-gcc] Fehler 2
make[2]: Leaving directory
`/home/elfring/Projekte/GNU/GCC/erzeugt/4.6.0/Auswahl'
make[1]: *** [stage1-bubble] Fehler 2
make[1]: Leaving directory
`/home/elfring/Projekte/GNU/GCC/erzeugt/4.6.0/Auswahl'
make: *** [all] Fehler 2

How can this memory access error/segmentation fault be resolved?

I would like to use the configuration parameters
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr/local.


[Bug c++/48296] [C++0x] constexpr member function cannot use the class type it belongs as parameter type or return type

2011-03-28 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48296

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org
Summary|constexpr member function   |[C++0x] constexpr member
   |cannot use the class type   |function cannot use the
   |it belongs as parameter |class type it belongs as
   |type or return type |parameter type or return
   ||type

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-03-28 
16:11:00 UTC ---
Adding Jason in CC.


  1   2   3   >