[Bug fortran/48351] New: [OOP] Realloc on assignment fails if parent component is CLASS

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

   Summary: [OOP]  Realloc on assignment fails if parent component
is CLASS
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: ja...@gcc.gnu.org


http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/b7a36eba5ef7f68b
 by Nasser M. Abbasi

In the following program %u is allocatable. For

this%u = u

the LHS should be allocated, but this only happens if this is a TYPE and not
a CLASS - but that should be completely unrelated to (re)alloc on assignment.

The program works with ifort 11.1.


module foo
implicit none
type :: foo_t
!  private
  DOUBLE PRECISION , ALLOCATABLE :: u(:)
  contains
PROCEDURE :: make  ! or procedure, pass, same effect
end type foo_t

contains
subroutine make(this,u)
implicit none
CLASS(foo_t) :: this
DOUBLE PRECISION, intent(in) :: u(:)  ! must be CLASS
!   allocate(this%u(size(u)))  ! Must allocate now, else crash
this%u = u
end subroutine make
end module foo

program main2
 use foo
 implicit none
 TYPE(foo_t) :: o
 DOUBLE PRECISION , ALLOCATABLE :: u(:)

 u=[1,2,3,4]
 CALL o%make(u)
 print *, o%u
end program main2


[Bug target/48349] FLOAT_SSE_REGS typo in i386.h

2011-03-30 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48349

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.30 06:18:52
 Ever Confirmed|0   |1

--- Comment #1 from Uros Bizjak ubizjak at gmail dot com 2011-03-30 06:18:52 
UTC ---
Indeed...

The patch to fix this typo is pre-approved for mainline and all release
branches.


[Bug fortran/48352] New: [4.7 Regression] segfault in fortran/frontend-passes.c

2011-03-30 Thread Joost.VandeVondele at pci dot uzh.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48352

   Summary: [4.7 Regression] segfault in fortran/frontend-passes.c
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: joost.vandevond...@pci.uzh.ch


The following testcase started failing a couple of days ago:

MODULE cp_dbcsr_types
  TYPE cp_dbcsr_p_type
  END TYPE cp_dbcsr_p_type
CONTAINS
SUBROUTINE ep_qs_set(ep_qs_env, dH_coeffs_ptr, dS_coeffs_ptr, error)
TYPE(cp_dbcsr_p_type), DIMENSION(:), 
  OPTIONAL, POINTER  :: dH_coeffs_ptr, dS_coeffs_ptr
  DO i=1,MIN(SIZE(dS_coeffs_ptr),SIZE(dS_coeffs_ptr))
  END DO
END SUBROUTINE ep_qs_set
END MODULE

with the following segfault. Needs gfortran -O1.

Program received signal SIGSEGV, Segmentation fault.
gfc_expr_walker (e=0x18, exprfn=0x5bd5b0 cfe_expr_0, data=0x0) at
../../gcc/gcc/fortran/frontend-passes.c:741
741   while (*e)
(gdb) bt
#0  gfc_expr_walker (e=0x18, exprfn=0x5bd5b0 cfe_expr_0, data=0x0) at
../../gcc/gcc/fortran/frontend-passes.c:741
#1  0x005bdabc in gfc_code_walker (c=0x15082d0, codefn=0x5bc9a0
cfe_code, exprfn=0x5bd5b0 cfe_expr_0, data=0x0)
at ../../gcc/gcc/fortran/frontend-passes.c:1039
#2  0x005be73b in optimize_namespace (ns=0x1507ba0) at
../../gcc/gcc/fortran/frontend-passes.c:338
#3  0x005be768 in optimize_namespace (ns=0x1507ba0) at
../../gcc/gcc/fortran/frontend-passes.c:342
#4  0x005be7b3 in gfc_run_passes (ns=0x1503d40) at
../../gcc/gcc/fortran/frontend-passes.c:69
#5  0x0052aee8 in gfc_parse_file () at
../../gcc/gcc/fortran/parse.c:4368
#6  0x00564616 in gfc_be_parse_file () at
../../gcc/gcc/fortran/f95-lang.c:250
#7  0x0086fa5c in compile_file (argc=15, argv=0x7fffdc88) at
../../gcc/gcc/toplev.c:579
#8  do_compile (argc=15, argv=0x7fffdc88) at ../../gcc/gcc/toplev.c:1900
#9  toplev_main (argc=15, argv=0x7fffdc88) at ../../gcc/gcc/toplev.c:1963
#10 0x7661cb7d in __libc_start_main () from /lib64/libc.so.6
#11 0x004c4e49 in _start () at ../sysdeps/x86_64/elf/start.S:113


[Bug middle-end/48353] New: Bootstrap fail due to invalid register pair being assigned to pseudo

2011-03-30 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48353

   Summary: Bootstrap fail due to invalid register pair being
assigned to pseudo
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: kreb...@gcc.gnu.org


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

Compiling the attached testcase with -O2 produces an invalid divide
instruction:

dsgfr   %r7,%r1

The first parameter needs to an even numbered register.

from ira dump:

  Try Assign 103(a10), cost=226: reassign to 7
changing reg in insn 50
 Register 93 now in 3.

 Register 103 now in 7.

(insn 50 40 62 4 (set (reg:TI 7 %r7 [103])
(ior:TI (ashift:TI (zero_extend:TI (mod:DI (reg:DI 8 %r8 [99])
(sign_extend:DI (reg/v:SI 1 %r1 [orig:49 copy_nregs ]
[49]
(const_int 64 [0x40]))
(zero_extend:TI (div:DI (reg:DI 8 %r8 [99])
(sign_extend:DI (reg/v:SI 1 %r1 [orig:49 copy_nregs ]
[49])) t.c:32 380 {divmodtisi3}
 (nil))


[Bug middle-end/48353] Bootstrap fail due to invalid register pair being assigned to pseudo

2011-03-30 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48353

--- Comment #1 from Andreas Krebbel krebbel at gcc dot gnu.org 2011-03-30 
06:52:58 UTC ---
Created attachment 23812
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23812
Detailed IRA dump


[Bug middle-end/48353] Bootstrap fail due to invalid register pair being assigned to pseudo

2011-03-30 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48353

Andreas Krebbel krebbel at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
 CC||vmakarov at redhat dot com

--- Comment #2 from Andreas Krebbel krebbel at gcc dot gnu.org 2011-03-30 
06:54:18 UTC ---
I suspect that this has to do with the recent IRA changes. Adding Vladimir to
cc.


[Bug fortran/48352] [4.7 Regression] segfault in fortran/frontend-passes.c

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

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 CC||burnus at gcc dot gnu.org,
   ||tkoenig at gcc dot gnu.org
   Target Milestone|--- |4.7.0


[Bug target/48328] GCC failed to generate 16bit relative jump table

2011-03-30 Thread carrot at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48328

--- Comment #1 from Carrot carrot at google dot com 2011-03-30 07:25:31 UTC 
---
Another possible enhancement is we can also use HImode jump table entries.
Similar to cases min0, although tbh is not available in arm mode, we can use
separate instruction to load offset and adjust PC.


[Bug c++/48350] make_tuple() on empty tuples does not compile

2011-03-30 Thread tinlyx at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48350

--- Comment #1 from tinlyx at gmail dot com 2011-03-30 07:28:55 UTC ---
As a matter of fact, make_tuple() cannot be used on any tuples with cardinality
other than 1. This contrasts with std::vector where we can have a vector of
vectors (e.g. a matrix).

A minimal example is listed below:

//b.cpp
#include tuple
using namespace std;

int main() {
  //auto te = make_tuple(); //this doesn't work
  auto te = make_tuple(1);  //this works
  //auto te = make_tuple(1,2);  //this doesn't work
  auto tte = make_tuple(te);
  return 0;
}



//
//The compiler error message is omitted, but I can upload it if necessary.


[Bug lto/48354] New: internal compiler error: in splice_child_die, at dwarf2out.c:8064

2011-03-30 Thread wouter.vermaelen at scarlet dot be
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354

   Summary: internal compiler error: in splice_child_die, at
dwarf2out.c:8064
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: wouter.vermae...@scarlet.be


I got this ICE when trying to compile the openMSX package using -flto. I
managed to reduce it to this:

 cat bug.ii
templatetypename T struct Identity { typedef T type; };
struct S {
typedef void (S::*FP)();
FP fp;
};
void g();
void f() {
typedef IdentityS::type Dummy;
S s;
g();
}

 g++-snapshot -r -nostdlib -g -flto bug.ii
...
bug.ii:11:1: internal compiler error: in splice_child_die, at dwarf2out.c:8064
...

I'm using revision trunk@171714.


This may or may not be a duplicate of bug 46135. Though the testcase looks very
different.


[Bug libstdc++/48355] New: Assigning NULL to string segfaults

2011-03-30 Thread amr.ali.cc at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48355

   Summary: Assigning NULL to string segfaults
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amr.ali...@gmail.com
  Host: Linux 2.6.35-28-generic #49-Ubuntu SMP x86_64


Created attachment 23813
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23813
Bug reproducible code

When trying to call the ctor of string() or basic_stringchar,
char_traitschar, allocatorchar () with a NULL pointer parameter (instead
of the char pointer), it would abort() with a logic_error saying that NULLs
aren't allowed.

Which is the result of the following code:

basic_string.tcc
 133 // NB: Not required, but considered best practice.
 134 if (__gnu_cxx::__is_null_pointer(__beg)  __beg != __end)
 135   __throw_logic_error(__N(basic_string::_S_construct null not
valid));

However, when trying to assign NULL to a string, it doesn't do
__is_null_pointer() check and tries to call __builtin_strlen on the pointer,
which of course, results in the infamous SIGSEGV.

I'd say either make the behavior for the assign() equal to the ctor or
preferably instead just have an empty string when assigned a NULL pointer.

I'd happily write a patch for this myself, I just need a few pointers of where
this should be fixed. I've looked around in basic_string.{h,tcc} and
char_traits.h but still a little confused.

NOTE:
Attached a code snippet to reproduce the behavior mentioned above.

Checked Against:
OSX v10.6.7 - GCC v4.2.1
Linux v2.6.35-28-generic - GCC v4.4.5/v4.5.1


[Bug fortran/48351] [OOP] Realloc on assignment fails if parent component is CLASS

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

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-03-30 
08:04:13 UTC ---
trans-array.c's gfc_is_reallocatable_lhs fails at:

6859  /* All that can be left are allocatable components.  */
6860  if ((expr-symtree-n.sym-ts.type != BT_DERIVED
6861expr-symtree-n.sym-ts.type != BT_CLASS)
6862|| !expr-symtree-n.sym-ts.u.derived-attr.alloc_comp)
6863return false;

The reason is that the CLASS wrapper does not set:

(gdb) p expr-symtree-n.sym-ts.u.derived-attr.alloc_comp
$3 = 0

Only the _data component has this value set for its type:

(gdb) p expr-symtree-n.sym-ts.u.derived-components-ts.u.derived-name
$12 = 0x2ab42f98 foo_t
(gdb) p
expr-symtree-n.sym-ts.u.derived-components-ts.u.derived-attr.alloc_comp
$13 = 1


[Bug c/48356] New: Compiler error on compilation of linux source file p80211wep.c if -O2 is used

2011-03-30 Thread moli...@microbiology-bonn.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48356

   Summary: Compiler error on compilation of linux source file
p80211wep.c if -O2 is used
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: moli...@microbiology-bonn.de


Trying to compile the current Linux kernel (Linux 2.6.39-rc1, latest commit:
0ce790e7d736cedc563e1fb4e998babf5a4dbc3d), I ran across a compiler error.

The source file linux-2.6/drivers/staging/wlan-ng/p80211wep.c causes this error
message:

gcc -Wp,-MD,drivers/staging/wlan-ng/.p80211wep.o.d  -nostdinc -isystem
/usr/lib/gcc/i686-pc-linux-gnu/4.6.0/include -I/linux-2.6/arch/x86/include
-Iinclude  -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-fno-delete-null-pointer-checks -O2 -m32 -msoft-float -mregparm=3
-freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=core2
-mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding
-fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1
-DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare
-fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
-Wframe-larger-than=1024 -fno-omit-frame-pointer -fno-optimize-sibling-calls -g
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow
-fconserve-stack -DCC_HAVE_ASM_GOTO -save-temps  -DMODULE  -DKBUILD_STR(s)=#s
-DKBUILD_BASENAME=KBUILD_STR(p80211wep) 
-DKBUILD_MODNAME=KBUILD_STR(prism2_usb) -c -o
drivers/staging/wlan-ng/.tmp_p80211wep.o drivers/staging/wlan-ng/p80211wep.c
gcc: warning: -pipe ignored because -save-temps specified
drivers/staging/wlan-ng/p80211wep.c: In function 'wep_decrypt':
drivers/staging/wlan-ng/p80211wep.c:229:1: internal compiler error: in
form_sum, at reload.c:5338
Please submit a full bug report,
with preprocessed source if appropriate.

The included file p80211wep.i causes this error if compiled with 

gcc  -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -fno-common -Werror-implicit-function-declaration
-Wno-format-security -fno-delete-null-pointer-checks -O2 -m32 -msoft-float
-mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686
-mtune=core2 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32
-ffreestanding -fstack-protector -DCONFIG_AS_CFI=1
-DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe
-Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2
-mno-3dnow -Wframe-larger-than=1024 -fno-omit-frame-pointer
-fno-optimize-sibling-calls -g -Wdeclaration-after-statement -Wno-pointer-sign
-fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -save-temps  -DMODULE 
-DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(p80211wep) 
-DKBUILD_MODNAME=KBUILD_STR(prism2_usb) -c  p80211wep.i 

With -O instead of -O2, the file compiles nicely.

Best regards,

Ernst

P.S.: Warmest thanks for the most impressive gcc tool chain.


[Bug target/48338] [4.7 Regression] Glibc miscompiled

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.03.30 08:28:55
 Ever Confirmed|0   |1

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
08:28:55 UTC ---
Testcase?  (early FRE probably only triggers latent bugs)


[Bug fortran/48351] [OOP] Realloc on assignment fails if parent component is CLASS

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

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||pault at gcc dot gnu.org

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2011-03-30 
08:32:55 UTC ---
(In reply to comment #1)
 The reason is that the CLASS wrapper does not set:
 (gdb) p expr-symtree-n.sym-ts.u.derived-attr.alloc_comp

If I set that variable manually in the debugger, the generated code contains
(re)assignment calls, but the program crashes nevertheless :-(


[I do not want to rule out issues with my local tree, which has some scalarizer
coarray patches, though they should not affect this result.]


Admittedly, I also do not understand the dump (with explicit size 4 to make
the dump easier to read):

if ((real(kind=8)[0:] * restrict) this-_data-u.data == 0B) goto L.1;

L.1:;
D.1608 = MAX_EXPR (this-_data-u.dim[0].ubound -
this-_data-u.dim[0].lbound) + 1, 0;

[...]
if ((real(kind=8)[0:] * restrict) this-_data-u.data == 0B)
  {
this-_data-u.data = (void * restrict) __builtin_malloc (32);


What's D.1608 for? If u.data == NULL, the bounds should not be looked at --
admittedly, this information is only used later in the else branch of the if
shown above.

Other than that, the dump looks OK as far as I could see.

Valgrind claims - before the crash - Invalid write of size 8 in the
assignment line of make. (Write 8 could be a pointer or an array index.) The
actual crash is in the same line - and valgrind shows: Access not within
mapped region at address 0x0, which means something like (NULL).value or
(NULL)-value access.


[Bug rtl-optimization/48331] [4.7 Regression] gcc.c-torture/execute/built-in-setjmp.c FAILs with -O -fira-algorithm=priority -fPIC

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
08:38:09 UTC ---
Assuming fixed.


[Bug debug/48333] -fcompare-debug failure (length) - memmove x __builtin_memmove

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

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
08:39:16 UTC ---
Interesting ;)


[Bug rtl-optimization/48334] [4.7 Regression] gcc.target/i386/pr39445.c FAILs with -fira-algorithm=priority

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
08:39:47 UTC ---
Assumed fixed.


[Bug target/48336] Error in generation of ARM ldrd instruction

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

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-30 
08:40:55 UTC ---
Assumed fixed.


[Bug web/48339] Current release series version is incorrect

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
08:42:33 UTC ---
It doesn't for me.


[Bug libstdc++/48355] Assigning NULL to string segfaults

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Severity|critical|normal

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
08:44:14 UTC ---
severity is not critical because your example has undefined behaviour

this has been discussed many times and is not going to change


[Bug middle-end/48342] [4.7 Regression] Failures on powerpc-apple-darwin9 at revision 171653

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

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-30 
08:45:07 UTC ---
Fixed.


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

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

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
08:47:32 UTC ---
The FE is also not very helpful when decaying arrays to pointers or when
generating array accesses.


[Bug other/48357] New: gcc compiling problem (mpfr)

2011-03-30 Thread Hast4656 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48357

   Summary: gcc compiling problem (mpfr)
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hast4...@gmail.com


Hey. I'm trying to make gcc 4.4.5 on my ContOS 5.5.
I've got a gmp 4.3.2 and a mpfr 2.4.2 just installed.
configuring of gcc is going normal, bug make command returns the error below:

libbackend.a(builtins.o): In function `fold_builtin_1':
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:10304:
undefined reference to `mpfr_j0'
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:10310:
undefined reference to `mpfr_j1'
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:10316:
undefined reference to `mpfr_y0'
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:10322:
undefined reference to `mpfr_y1'
libbackend.a(builtins.o): In function `fold_builtin_2':
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:10443:
undefined reference to `mpfr_jn'
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:10449:
undefined reference to `mpfr_yn'
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:10457:
undefined reference to `mpfr_remainder'
libbackend.a(builtins.o): In function `do_mpfr_remquo':
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:13357:
undefined reference to `mpfr_remquo'
libbackend.a(builtins.o): In function `do_mpfr_lgamma_r':
/root/gcc-4.4.5/host-i686-pc-linux-gnu/gcc/../.././gcc/builtins.c:13435:
undefined reference to `mpfr_lgamma'
collect2: ld returned 1 exit status

How can I fix this?


[Bug debug/48343] [4.6/4.7 Regression] ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Known to work||4.5.2
   Keywords||ice-on-valid-code
   Last reconfirmed||2011.03.30 08:54:12
  Component|target  |debug
 Ever Confirmed|0   |1
Summary|ICE compiling i586  |[4.6/4.7 Regression] ICE
   |linux-2.6.38/drivers/stagin |compiling i586
   |g/wlan-ng/p80211wep.c: in   |linux-2.6.38/drivers/stagin
   |form_sum, at reload.c:5338  |g/wlan-ng/p80211wep.c: in
   ||form_sum, at reload.c:5338
   Target Milestone|--- |4.6.1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
08:54:12 UTC ---
Confirmed.  Reduced testcase:

#define swap(a, b) \
do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
struct dev {
  int   keylens[4];
};
void test(struct dev *dev, int keynum, unsigned char *iv)
{
  unsigned int i, j, keylen;
  unsigned char s[256], key[64];
  keylen = dev-keylens[keynum];
  key[0] = iv[0];
  for (i = 0; i  256; i++) 
{
  j = (j + s[i] + key[i % keylen])  0xff;
  swap(i, j);
}
}

also fails on x86_64-*-* with -O3 -g -m32.


[Bug rtl-optimization/48345] [4.7 Regression] [SH] Invalid float register allocated

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug middle-end/48335] [4.6/4.7 Regression] ICE in convert_move

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
08:59:55 UTC ---
Created attachment 23814
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23814
gcc46-pr48335.patch

WIP patch I've been playing with.  Unfortunately, it shows that even without
CONCAT we ICE, e.g. on:
struct S { float d; };
void bar (struct S);
void foo (int x) { struct S s = { .d = 0.0f }; *(char *) s.d = x; s.d *= 7.0;
bar (s); }
at -O2 -fno-tree-sra.


[Bug lto/48346] ICE when compiling a specific file with both -g and -flto

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:02:23 UTC ---
Dup.

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


[Bug debug/48207] ICE in lhd_set_decl_assembler_name, at langhooks.c:158

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||matt at use dot net

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:02:23 UTC ---
*** Bug 48346 has been marked as a duplicate of this bug. ***


[Bug libstdc++/48355] Assigning NULL to string segfaults

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

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
09:07:01 UTC ---
duplicate of PR 5258 and PR 994

I'll look into checking when _GLIBCXX_DEBUG is defined but the default
(non-debug mode) behaviour is NOT going to change, your code has a bug, your
code should change not the standard library


[Bug c++/44613] Declaring an array with non-constant length inside a switch corrupts stack pointer.

2011-03-30 Thread yselkowitz at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44613

--- Comment #7 from Yaakov (Cygwin Ports) yselkowitz at users dot 
sourceforge.net 2011-03-30 09:11:43 UTC ---
Isn't this just a case of jump to case label crosses initialization, which is
now an error?


[Bug libstdc++/48355] Assigning NULL to string segfaults

2011-03-30 Thread amr.ali.cc at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48355

--- Comment #3 from Amr Ali amr.ali.cc at gmail dot com 2011-03-30 09:13:57 
UTC ---
(In reply to comment #2)
 duplicate of PR 5258 and PR 994
 
 I'll look into checking when _GLIBCXX_DEBUG is defined but the default
 (non-debug mode) behaviour is NOT going to change, your code has a bug, your
 code should change not the standard library

Yes, I'm not saying that what I'm doing is right, I'm rather pointed out that
the code actually segfaults, which shouldn't happen even with a faulty value
like a NULL pointer.

I'm only suggesting that a check for a null pointer be present as in the
string() ctor case.


[Bug middle-end/48358] New: TREE_ADDRESSABLE overloading issues

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

   Summary: TREE_ADDRESSABLE overloading issues
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: middle-end
AssignedTo: rgue...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


/* Do not change TREE_ADDRESSABLE if we need to preserve var as
 a non-register.  Otherwise we are confused and forget to
 add virtual operands for it.  */
   (!is_gimple_reg_type (TREE_TYPE (var))
  || !bitmap_bit_p (not_reg_needs, DECL_UID (var

is causing alias analysis issues.  We overload address-taken and
lives-in-memory with a single flag.  Also causes issues like PR48335.

We should finally split this flag.


[Bug middle-end/48358] TREE_ADDRESSABLE overloading issues

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.03.30 09:17:42
 Blocks||48335
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:17:42 UTC ---
Queued on my TODO list.


[Bug inline-asm/48347] The wrong assembler code is emitted for my architecture

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

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:19:42 UTC ---
I'm sure that sete doesn't work with any general operand.  Use proper
constraints.


[Bug middle-end/48353] [4.7 Regression] Bootstrap fail due to invalid register pair being assigned to pseudo

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0
Summary|Bootstrap fail due to   |[4.7 Regression] Bootstrap
   |invalid register pair being |fail due to invalid
   |assigned to pseudo  |register pair being
   ||assigned to pseudo


[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||lto
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.30 09:24:04
  Component|lto |debug
 Blocks||47819
 Ever Confirmed|0   |1
  Known to fail||4.6.0

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:24:04 UTC ---
Confirmed.


[Bug libstdc++/48355] Assigning NULL to string segfaults

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:26:13 UTC ---
dup then.

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


[Bug libstdc++/5258] Assigning a null char * to a std::string causes seg fault

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||amr.ali.cc at gmail dot com

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:26:13 UTC ---
*** Bug 48355 has been marked as a duplicate of this bug. ***


[Bug c/48356] Compiler error on compilation of linux source file p80211wep.c if -O2 is used

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:27:54 UTC ---
dup.

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


[Bug debug/48343] [4.6/4.7 Regression] ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||molitor@microbiology-bonn.d
   ||e

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
09:27:54 UTC ---
*** Bug 48356 has been marked as a duplicate of this bug. ***


[Bug middle-end/48027] setmem pattern using undesirable RTL

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

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

   What|Removed |Added

 CC||rsandifo at gcc dot gnu.org

--- Comment #1 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-30 09:36:31 UTC ---
For the record, there was an older thread about this too:

http://gcc.gnu.org/ml/gcc-patches/2009-01/msg00158.html


[Bug c++/48350] make_tuple() on empty tuples does not compile

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

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
09:41:26 UTC ---
works ok with 4.6.0


[Bug c++/48350] make_tuple() on empty tuples does not compile

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

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
09:49:20 UTC ---
probably fixed by PR 45228


[Bug middle-end/48335] [4.6/4.7 Regression] ICE in convert_move

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #23814|0   |1
is obsolete||

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
09:53:25 UTC ---
Created attachment 23815
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23815
gcc46-pr48335.patch

Updated patch, with more testcases.
gcc.dg/pr48335-2.c still ICEs with -m32 and gcc.dg/pr48335-3.c for both
-m32/-m64 (gcc.dg/pr48335-3.c is not complex related BTW).


[Bug bootstrap/48337] [4.7 regression] options.c doesn't compile on SPARC

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

--- Comment #4 from Rainer Orth ro at gcc dot gnu.org 2011-03-30 10:01:17 UTC 
---
Author: ro
Date: Wed Mar 30 10:01:13 2011
New Revision: 171717

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171717
Log:
2011-03-30  Joseph Myers  jos...@codesourcery.com
Rainer Orth  r...@cebitec.uni-bielefeld.de

PR bootstrap/48337
* config/sparc/sparc.opt (sparc_cpu_and_features): Add
Init(PROCESSOR_V7).
(sparc_cpu): Likewise.
* config/sparc/sparc.c (sparc_option_override): Replace 0 by
PROCESSOR_V7.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sparc/sparc.c
trunk/gcc/config/sparc/sparc.opt


[Bug bootstrap/48337] [4.7 regression] options.c doesn't compile on SPARC

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

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #5 from Rainer Orth ro at gcc dot gnu.org 2011-03-30 10:03:46 UTC 
---
Fixed for 4.7.0.


[Bug middle-end/48335] [4.6/4.7 Regression] ICE in convert_move

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

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
10:05:13 UTC ---
A patch that might fix most of the issues could also be

Index: gcc/tree-ssa.c
===
--- gcc/tree-ssa.c  (revision 171716)
+++ gcc/tree-ssa.c  (working copy)
@@ -1976,7 +1976,8 @@ maybe_optimize_var (tree var, bitmap add
   /* Do not change TREE_ADDRESSABLE if we need to preserve var as
 a non-register.  Otherwise we are confused and forget to
 add virtual operands for it.  */
-   (!is_gimple_reg_type (TREE_TYPE (var))
+   ((!is_gimple_reg_type (TREE_TYPE (var))
+   TYPE_MODE (TREE_TYPE (var)) == BLKmode)
  || !bitmap_bit_p (not_reg_needs, DECL_UID (var
 {
   TREE_ADDRESSABLE (var) = 0;

pessimizing tree alias analysis (but only to be as bad as 4.5, maybe
a little worse for register types with components (vectors and complex vars)).


[Bug target/48349] FLOAT_SSE_REGS typo in i386.h

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

--- Comment #2 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-03-30 
10:42:23 UTC ---
Author: hjl
Date: Wed Mar 30 10:42:20 2011
New Revision: 171718

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171718
Log:
Fix a typo in FLOAT_SSE_REGS.

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

PR target/48349
* config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
FLOAT_SSE_REGS.

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


[Bug target/48349] FLOAT_SSE_REGS typo in i386.h

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

--- Comment #3 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-03-30 
10:43:58 UTC ---
Author: hjl
Date: Wed Mar 30 10:43:55 2011
New Revision: 171719

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171719
Log:
Fix a typo in FLOAT_SSE_REGS.

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

Backport from mainline
2011-03-30  H.J. Lu  hongjiu...@intel.com

PR target/48349
* config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
FLOAT_SSE_REGS.

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


[Bug libstdc++/45228] [C++0x] Can't copy-construct tupleint,int,int from const tupleint,int,int rvalue

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 CC||tinlyx at gmail dot com

--- Comment #9 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
10:47:42 UTC ---
*** Bug 48350 has been marked as a duplicate of this bug. ***


[Bug c++/48350] make_tuple() on empty tuples does not compile

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
10:47:42 UTC ---
confirmed as a dup - the constructor that caused the error was removed for PR
45228 and we now constrain the variadic constructor to only match when the
number of parameters is correct

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


[Bug target/48349] FLOAT_SSE_REGS typo in i386.h

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

--- Comment #4 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-03-30 
10:48:13 UTC ---
Author: hjl
Date: Wed Mar 30 10:48:07 2011
New Revision: 171720

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171720
Log:
Fix a typo in FLOAT_SSE_REGS.

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

Backport from mainline
2011-03-30  H.J. Lu  hongjiu...@intel.com

PR target/48349
* config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
FLOAT_SSE_REGS.

Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/i386/i386.h


[Bug target/48349] FLOAT_SSE_REGS typo in i386.h

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

--- Comment #5 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-03-30 
10:48:35 UTC ---
Author: hjl
Date: Wed Mar 30 10:48:31 2011
New Revision: 171721

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171721
Log:
Fix a typo in FLOAT_SSE_REGS.

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

Backport from mainline
2011-03-30  H.J. Lu  hongjiu...@intel.com

PR target/48349
* config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
FLOAT_SSE_REGS.

Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/i386/i386.h


[Bug target/48349] FLOAT_SSE_REGS typo in i386.h

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

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

   What|Removed |Added

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

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com 2011-03-30 10:51:02 
UTC ---
Fixed.


[Bug fortran/48360] New: ICE on array assignment statement with allocatable LHS

2011-03-30 Thread krefson at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48360

   Summary: ICE on array assignment statement with allocatable LHS
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: kref...@googlemail.com


Created attachment 23816
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23816
Fortran 95 source which gives ICE on compilation attempt.

The attached code gives an ICE when compiled with gfortran 4.6.0 

$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.6/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.6-source/gcc-4.6-20110312/configure
--enable-languages=c,c++,fortran --enable-checking=release --disable-bootstrap
--disable-libmudflap --enable-libgomp --enable-lto --enable-gold
--with-plugin-ld=/usr/bin/gold --prefix=/usr/local/gcc-4.6
Thread model: posix
gcc version 4.6.0 20110312 (experimental) (GCC) 

$ gfortran -c gf46-ice.f90
gf46-ice.f90: In function ‘assignit’:
gf46-ice.f90:19:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

Fine with 4.4.3 and 4.5

Disabling the possibility of allocate-on-assignment by changing

   hmat = mmv%h0

to
   hmat(:,:) = mmv%h0

compiles correctly.


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.30 11:07:13
 Ever Confirmed|0   |1

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
11:07:13 UTC ---
Are you using a specific configure value for --enable-clocale or just using the
default generic model?

What about this test, I assume the assertion fails:

#include locale
#include assert.h

int main()
{
struct ctype : std::ctypewchar_t
{
bool test()
{
return this-is(std::ctype_base::space, L' ');
}
} c;

assert( c.test() == iswctype(L' ', wctype(space)) );
}


What is the value of _ISspace in /usr/include/ctype.h ?
If it's greater than (115) that would explain it


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

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

--- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-30 11:16:55 UTC ---
 --- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
 11:07:13 UTC ---
 Are you using a specific configure value for --enable-clocale or just using 
 the
 default generic model?

I'm using the generic model: last time I tried ieee_1003.1-2001 (both on
Solaris and IRIX), it failed (PR libstdc++/41495) and I haven't yet
gotten around to do anything about this.

 What about this test, I assume the assertion fails:

Indeed.

 What is the value of _ISspace in /usr/include/ctype.h ?

#define _ISspace(_S | _BL)

#define _S  0x0008  /* Spacing character */
#define _BL 0x8000  /* The blank character class */

 If it's greater than (115) that would explain it

There we have it.

Rainer


[Bug target/48336] Error in generation of ARM ldrd instruction

2011-03-30 Thread revital.eres at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48336

--- Comment #4 from revital.eres at linaro dot org 2011-03-30 11:20:50 UTC ---
(In reply to comment #3)
 Assumed fixed.

Yes. The build passes OK in -r171716.


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

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

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
11:27:09 UTC ---
(In reply to comment #5)
  --- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
  11:07:13 UTC ---
  Are you using a specific configure value for --enable-clocale or just using 
  the
  default generic model?
 
 I'm using the generic model: last time I tried ieee_1003.1-2001 (both on
 Solaris and IRIX), it failed (PR libstdc++/41495) and I haven't yet
 gotten around to do anything about this.

Yep.

  What about this test, I assume the assertion fails:
 
 Indeed.
 
  What is the value of _ISspace in /usr/include/ctype.h ?
 
 #define _ISspace(_S | _BL)
 
 #define _S  0x0008  /* Spacing character */
 #define _BL 0x8000  /* The blank character class */
 
  If it's greater than (115) that would explain it
 
 There we have it.

Badabing.

I'm planning to add isblank to std::locale (LWG 2019) which will need changes
to all the locale models so while I'm doing that I will overhaul the ieee
locale model (possibly adding a POSIX 2008 version as well, which would be
close to the gnu model) and I'll also address this, so we can handle values
over (115).  Currently that '15' maximum is hardcoded in a few places.


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

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

--- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
11:29:27 UTC ---
it will be *at least* two weeks before I have time to start that work


[Bug gcov-profile/48361] New: gcov freezes when using --all-blocks (-a) flag.

2011-03-30 Thread lieutenantfeist at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48361

   Summary: gcov freezes when using --all-blocks (-a) flag.
   Product: gcc
   Version: 4.3.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: lieutenantfe...@hotmail.de


lcov stopped processing files and was stuck on particular ones. The problem was
eventually narrowed down to the gcov call which, when enabling error and std
output, showed that it got stuck while trying to create a
'#path#to#current#header.h.gcov' file. Making sure that gcov is not called with
the -a (or --all-blocks) flag enabled, allowed gcov to finish successfully.
This does not apply to all .gcda files being analyzed, just some files which
aren't drastically different from others which get processed fine when using
the -a option.

Chris


[Bug libstdc++/48362] New: pretty printer fails for zero-size std::tuple

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

   Summary: pretty printer fails for zero-size std::tuple
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
CC: tro...@gcc.gnu.org


trying to print a std::tuple fails

(gdb) ptype t
type = class std::tuple {
  public:
void swap(std::tuple );
}
(gdb) p t
$1 = std::tuple containingTraceback (most recent call last):
  File
/home/wakelj/tools/Linux-x86_64/test/share/gcc-4.6.0/python/libstdcxx/v6/printers.py,
line 290, in children
return self._iterator (self.val)
  File
/home/wakelj/tools/Linux-x86_64/test/share/gcc-4.6.0/python/libstdcxx/v6/printers.py,
line 248, in __init__
raise ValueError, Top of tuple tree does not consist of a single node.
ValueError: Top of tuple tree does not consist of a single node.


The following patch is a quick hack to prevent the error, but produces the
unhelpful output:
(gdb) p t
$1 = std::tuple containing
(gdb)

--- python/libstdcxx/v6/printers.py.orig2011-03-30 11:44:33.786660891
+
+++ python/libstdcxx/v6/printers.py 2011-03-30 11:46:33.570222630 +
@@ -244,6 +244,10 @@
 # Set the base class as the initial head of the
 # tuple.
 nodes = self.head.type.fields ()
+if len (nodes) == 0:
+self.count = -1
+return
+
 if len (nodes) != 1:
 raise ValueError, Top of tuple tree does not consist of a
single node.

@@ -255,6 +259,8 @@
 return self

 def next (self):
+if self.count == -1:
+raise StopIteration
 nodes = self.head.type.fields ()
 # Check for further recursions in the inheritance tree.
 if len (nodes) == 0:


[Bug middle-end/48335] [4.6/4.7 Regression] ICE in convert_move

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #23815|0   |1
is obsolete||

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
11:55:14 UTC ---
Created attachment 23818
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23818
gcc46-pr48335.patch

Updated patch, all the new tests now compile, on
i386/x86_64/ppc/ppc64/s390/s390x.


[Bug fortran/48360] [4.6/4.7 Regression] ICE on array assignment statement with allocatable LHS

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

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 CC||burnus at gcc dot gnu.org,
   ||pault at gcc dot gnu.org
   Target Milestone|--- |4.6.1
Summary|ICE on array assignment |[4.6/4.7 Regression] ICE on
   |statement with allocatable  |array assignment statement
   |LHS |with allocatable LHS

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-03-30 
11:55:51 UTC ---
(In reply to comment #0)
 Disabling the possibility of allocate-on-assignment by changing
[...]

Or simply use: -fno-realloc-lhs


With my - admittedly not clean - tree, that gives the following valgrind
output:

Invalid read of size 8
at 0x56B13A: get_std_lbound (trans-array.c:6825)
by 0x573E88: gfc_alloc_allocatable_for_assignment (trans-array.c:7083)
by 0x58EBDB: gfc_trans_assignment_1 (trans-expr.c:6186)

That's the lines:

6822  else if (expr-expr_type == EXPR_VARIABLE)
6823{
6824  tmp = TREE_TYPE (expr-symtree-n.sym-backend_decl);
6825  return GFC_TYPE_ARRAY_LBOUND(tmp, dim);

The issue is that
  TYPE_LANG_SPECIFIC (tmp) == tmp-type.lang_specific == NULL
and, thus, accessing TYPE_LANG_SPECIFIC(node)-lbound[dim]  gives an ICE.

The issue is that for mmv%h0 the proper backend is not:
  expr-symtree-n.sym-backend_decl
but rather
  expr-ref-u.c-component-backend_decl


[Bug fortran/48363] New: Recursion not converted into a loop

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

   Summary: Recursion not converted into a loop
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


For the following Fortran program, the recursion could be replaced by a loop.
That's what happening for the related C program, but for the Fortran program
the recursion remains. (Tried with -O3.)

(I guess the I/O statement (_gfortran_st_write* and _gfortran_transfer_*_write)
confuse the ME, but I do not see why that should prevent the loop
transformation. Hints how to modify the FE to help the ME are welcome, too.)

! Fortran version
call x (1)
contains
  recursive subroutine x (i)
use iso_fortran_env
integer, value :: i
if (mod (i, 100) == 0) write (error_unit,'(a,i0)')'i=', i
call x (i+1)
  end subroutine x
end


/* C version */
#include stdio.h
static void
x (int i) {
  if (!(i % 100))
fprintf(stderr, i=%d\n, i);
  x(i + 1);
}
int main () {
  x (1);
}


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

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
12:36:27 UTC ---
Author: jakub
Date: Wed Mar 30 12:36:18 2011
New Revision: 171723

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171723
Log:
PR c/48305
* fold-const.c (fold_binary_loc) case EQ_EXPR, NE_EXPR: Make sure
arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
matching arg00/arg01 types.

* gcc.c-torture/compile/pr48305.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr48305.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog


[Bug bootstrap/48364] New: [4.7 regression] assertion failure in IRA

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

   Summary: [4.7 regression] assertion failure in IRA
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: major
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ebotca...@gcc.gnu.org
  Host: i586-*-*
Target: i586-*-*
 Build: i586-*-*


Bootstrap with Ada enabled fails on i586:

eric@atlantis:~/build/gcc/native32/gcc/ada/tools ../../xgcc -c -I./ -I../rts
-I. -I/home/eric/svn/gcc/gcc/ada -B../../ -g -O2 -gnatpg -gnata -I-
/home/eric/svn/gcc/gcc/ada/clean.adb
bad allocation for 512 and 412
+===GNAT BUG DETECTED==+
| 4.7.0 20110330 (experimental) [trunk revision 171716] (i586-suse-linux-gnu)
GCC error:|
| in check_allocation, at ira.c:2094   |
| Error detected around /home/eric/svn/gcc/gcc/ada/clean.adb:529:8 |

I'm going to try and reduce the problem.


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

2011-03-30 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|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
12:39:46 UTC ---
Fixed, thanks for the report.


[Bug libstdc++/48365] New: Non-constant references in std::valarray::operator

2011-03-30 Thread denin at mail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48365

   Summary: Non-constant references in std::valarray::operator
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: de...@mail.ru


Created attachment 23819
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23819
Test code

When calling valarray*scalar arithmetic operators, where scalar is the
element of valarray, it is modified during execution, thus influencig the
result, though STL definition says that parameters of the operator are const
references, and the result is the new valarray object.
Attached is the code that produces output 4:12, while 4:6 expected, even
when compiled with -O0.


[Bug debug/48343] [4.6/4.7 Regression] ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
13:46:26 UTC ---
Slightly more reduced testcase (and without uninitialized vars):
void foo (unsigned char *, unsigned char *);

void
test (unsigned int x, int y)
{
  unsigned int i, j = 0, k;
  unsigned char s[256], t[64];
  foo (s, t);
  t[0] = y;
  for (i = 0; i  256; i++)
{
  j = (j + s[i] + t[i % x])  0xff;
  k = i; i = j; j = k;
}
}

again, ICEs with -O3 -m32 -g, doesn't with -O3 -m32 -g
-fno-var-tracking-assignments.


[Bug bootstrap/48364] [4.7 regression] assertion failure in IRA

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

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-03-30 
14:05:06 UTC ---
Created attachment 23820
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23820
Reduced testcase for x86

To be compiled in the build directory with:
  gcc/gnat1 p.adb -O -gnatp -mtune=pentium -I gcc/ada/rts -I $(srcdir)/ada


[Bug debug/48343] [4.6/4.7 Regression] ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
14:11:13 UTC ---
Seems to be a combiner VTA bug.
try_combine decides to SUBST_MODE, because it has a single (non-debug) use and
single set, changes a pseudo from SImode to QImode, which magically changes the
mode also in the debug insn which also uses it and nothing afterwards fixes up
the debug_insn.


[Bug target/48336] Error in generation of ARM ldrd instruction

2011-03-30 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48336

Andreas Krebbel krebbel at gcc dot gnu.org changed:

   What|Removed |Added

 CC||krebbel at gcc dot gnu.org

--- Comment #5 from Andreas Krebbel krebbel at gcc dot gnu.org 2011-03-30 
14:24:29 UTC ---
*** Bug 48353 has been marked as a duplicate of this bug. ***


[Bug middle-end/48353] [4.7 Regression] Bootstrap fail due to invalid register pair being assigned to pseudo

2011-03-30 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48353

Andreas Krebbel krebbel at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #3 from Andreas Krebbel krebbel at gcc dot gnu.org 2011-03-30 
14:24:29 UTC ---
This has already been fixed. Most likely while fixing the issue for ARM in
#48336.

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


[Bug middle-end/48366] New: [4.7 Regression] ICE in extract_constrain_insn_cached, at recog.c:2024

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

   Summary: [4.7 Regression] ICE in extract_constrain_insn_cached,
at recog.c:2024
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa64-hp-hpux11.11
Target: hppa64-hp-hpux11.11
 Build: hppa64-hp-hpux11.11


Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/  
-
O0  -w -c  -o 20010518-1.o
/test/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/compile
/20010518-1.c(timeout = 300)
/test/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20010518-1.c: In function
'emit_reload_insns':
/test/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20010518-1.c:205:1:
error:
 insn does not satisfy its constraints:
(insn 554 553 555 (set (reg:DI 1 %r1)
(reg:DI 50 %fr22 [285]))
/test/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/c
ompile/20010518-1.c:167 120 {*pa.md:4101}
 (nil))
/test/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20010518-1.c:205:1:
intern
al compiler error: in extract_constrain_insn_cached, at recog.c:2024

Numerous other similar testsuite falls, all at -O0.

-bash-3.2$ ./xgcc -B./ -v
Reading specs from ./specs
COLLECT_GCC=./xgcc
COLLECT_LTO_WRAPPER=./lto-wrapper
Target: hppa64-hp-hpux11.11
Configured with: ../gcc/configure --with-gnu-as --with-as=/opt/gnu64/bin/as
--with-ld=/usr/ccs/bin/ld --enable-shared --with-local-prefix=/opt/gnu64
--prefix=/opt/gnu64/gcc/gcc-4.6.0 --build=hppa64-hp-hpux11.11
--enable-threads=posix --disable-nls --with-gmp=/opt/gnu64/gcc/gcc-4.6.0
--with-libelf=/opt/gnu64 --enable-languages=c,c++,objc,obj-c++,fortran,lto
Thread model: posix
gcc version 4.7.0 20110330 (experimental) [trunk revision 171715] (GCC)

Probably, has to do with change in handling of cover classes.  It
is not possible to copy directly between GENERAL_REGS and FP_REGS
on PA.


[Bug driver/48260] Accept -arch as an alias for -m32/-m64 on darwin

2011-03-30 Thread mrs at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48260

m...@gcc.gnu.org mrs at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||mrs at gcc dot gnu.org
 Resolution||FIXED

--- Comment #1 from mrs at gcc dot gnu.org mrs at gcc dot gnu.org 2011-03-30 
14:51:08 UTC ---
Checked in r171727.


[Bug middle-end/48367] New: [4.7 Regression] 200.sixtrack/301.apsi in SPEC CPU 2000 are miscompiled

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

   Summary: [4.7 Regression] 200.sixtrack/301.apsi in SPEC CPU
2000 are miscompiled
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


On Linux/ia32, revision 171716 gave

  Running 200.sixtrack ref peak lnx32-gcc default
*** Miscompare of inp.out, see
/export/gnu/import/svn/gcc-test-spec/spec/2000/i6
86/spec/benchspec/CFP2000/200.sixtrack/run/0004/inp.out.mis
  Running 301.apsi ref peak lnx32-gcc default
*** Miscompare of APO11, see
/export/gnu/import/svn/gcc-test-spec/spec/2000/i686
/spec/benchspec/CFP2000/301.apsi/run/0004/APO11.mis
*** Miscompare of APO6, see
/export/gnu/import/svn/gcc-test-spec/spec/2000/i686/
spec/benchspec/CFP2000/301.apsi/run/0004/APO6.mis
*** Miscompare of APO8, see
/export/gnu/import/svn/gcc-test-spec/spec/2000/i686/
spec/benchspec/CFP2000/301.apsi/run/0004/APO8.mis
*** Miscompare of APV, see
/export/gnu/import/svn/gcc-test-spec/spec/2000/i686/s
pec/benchspec/CFP2000/301.apsi/run/0004/APV.mis

Revision 171623 is OK.


[Bug driver/48208] -F option is not joined

2011-03-30 Thread mrs at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48208

m...@gcc.gnu.org mrs at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||mrs at gcc dot gnu.org
 Resolution||FIXED

--- Comment #1 from mrs at gcc dot gnu.org mrs at gcc dot gnu.org 2011-03-30 
14:52:53 UTC ---
Fixed in r171727.


[Bug target/43590] ICE in spill_failure, at reload1.c:2158

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

--- Comment #5 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-30 14:52:42 UTC ---
Author: rsandifo
Date: Wed Mar 30 14:52:38 2011
New Revision: 171729

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171729
Log:
gcc/
2011-03-30  Richard Sandiford  richard.sandif...@linaro.org
Ramana Radhakrishnan  ramana.radhakrish...@linaro.org

PR target/43590
* config/arm/neon.md (neon_vld3qamode, neon_vld4qamode): Remove
operand 1 and reshuffle the operands to match.
(neon_vld3mode, neon_vld4mode): Update accordingly.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/neon.md


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

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

--- Comment #8 from Markus Elfring Markus.Elfring at web dot de 2011-03-30 
14:55:34 UTC ---
I can also not rebuild the previously used GNU compiler software on my openSUSE
11.4 system at the moment.

...
/bin/sh: Zeile 1:  1577 Speicherzugriffsfehler  build/genmodes -m 
tmp-min-modes.c
make[3]: *** [s-modes-m] Fehler 139
make[3]: *** Warte auf noch nicht beendete Prozesse...
/bin/sh /home/elfring/Projekte/GNU/GCC/Quellen/4.5.2/gcc/../move-if-change
tmp-options.h options.h
echo timestamp  s-options-h
rm gcc.pod
make[3]: Leaving directory
`/home/elfring/Projekte/GNU/GCC/erzeugt/4.5.2/Auswahl2/gcc'
make[2]: *** [all-stage1-gcc] Fehler 2
make[2]: Leaving directory
`/home/elfring/Projekte/GNU/GCC/erzeugt/4.5.2/Auswahl2'
make[1]: *** [stage1-bubble] Fehler 2
make[1]: Leaving directory
`/home/elfring/Projekte/GNU/GCC/erzeugt/4.5.2/Auswahl2'
make: *** [all] Fehler 2

elfring@Sonne:~/Projekte/GNU/GCC/erzeugt/4.5.2/Auswahl2/gcc valgrind
build/genmodes -m  tmp-min-modes.c
...
==24216== Process terminating with default action of signal 11 (SIGSEGV)
==24216==  Bad permissions for mapped region at address 0x608320
==24216==at 0x608320: ??? (in
/home/elfring/Projekte/GNU/GCC/erzeugt/4.5.2/Auswahl2/gcc/build/genmodes)
==24216==by 0x4E4BBFC: (below main) (in /lib64/libc-2.11.3.so)
...
Speicherzugriffsfehler


[Bug middle-end/48367] [4.7 Regression] 200.sixtrack/301.apsi in SPEC CPU 2000 are miscompiled

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug rtl-optimization/48364] [4.7 regression] assertion failure in IRA

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug middle-end/48366] [4.7 Regression] ICE in extract_constrain_insn_cached, at recog.c:2024

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug target/47551] ICE when reloading neon registers from out-of-range offsets

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

--- Comment #1 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-30 15:00:50 UTC ---
Author: rsandifo
Date: Wed Mar 30 15:00:44 2011
New Revision: 171730

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171730
Log:
gcc/
PR target/47551
* config/arm/arm.c (coproc_secondary_reload_class): Handle
structure modes.  Don't check neon_vector_mem_operand for
vector or structure modes.

gcc/testsuite/
PR target/47551
* gcc.target/arm/neon-modes-2.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/neon-modes-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/48363] Recursion not converted into a loop

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.03.30 15:01:37
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
15:01:37 UTC ---
The parameter has its address taken in

  _gfortran_transfer_integer_write (dt_parm.0, i, 4);

thus we can't tail-recurse here (well, at least not as trivial as if
that wasn't the case).


[Bug target/47551] ICE when reloading neon registers from out-of-range offsets

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

--- Comment #2 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-30 15:02:27 UTC ---
Fixed on trunk.


[Bug target/43590] ICE in spill_failure, at reload1.c:2158

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

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

   What|Removed |Added

 CC||rsandifo at gcc dot gnu.org
  Known to fail||

--- Comment #6 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-30 15:03:18 UTC ---
Fixed on trunk.


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

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

--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-30 15:06:04 UTC ---
 I'm planning to add isblank to std::locale (LWG 2019) which will need changes
 to all the locale models so while I'm doing that I will overhaul the ieee
 locale model (possibly adding a POSIX 2008 version as well, which would be
 close to the gnu model) and I'll also address this, so we can handle values
 over (115).  Currently that '15' maximum is hardcoded in a few places.

That's great news, thanks for doing this.

Rainer


[Bug libstdc++/48340] Several wchar_t tests FAIL on IRIX 6.5

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

--- Comment #9 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-30 15:06:50 UTC ---
 --- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2011-03-30 
 11:29:27 UTC ---
 it will be *at least* two weeks before I have time to start that work

Don't worry about that: this bug has existed for a long time and I only
now got around to having a closer look.

So absolutely no need to hurry.

Rainer


[Bug target/47551] ICE when reloading neon registers from out-of-range offsets

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

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

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-30 15:14:54 UTC ---
Fixed on trunk.


[Bug debug/48343] [4.6/4.7 Regression] ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||aoliva at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
15:16:55 UTC ---
So, before combiner we have:
(insn 23 22 24 3 (parallel [
(set (reg:SI 98)
(plus:SI (reg:SI 97 [ prephitmp.9 ])
(reg/v:SI 64 [ j ])))
(clobber (reg:CC 17 flags))
]) pr48343.c:12 252 {*addsi_1}
 (expr_list:REG_DEAD (reg:SI 97 [ prephitmp.9 ])
(expr_list:REG_DEAD (reg/v:SI 64 [ j ])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)

(insn 24 23 25 3 (parallel [
(set (reg:SI 99)
(zero_extend:SI (mem/s/j:QI (plus:SI (plus:SI (reg/f:SI 20
frame)
(reg/v:SI 71 [ i ]))
(const_int -320 [0xfec0])) [0 s S1
A8])))
(clobber (reg:CC 17 flags))
]) pr48343.c:12 123 {*zero_extendqisi2_movzbl_and}
 (expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))

(insn 25 24 27 3 (parallel [
(set (reg:SI 66 [ D.1999 ])
(plus:SI (reg:SI 98)
(reg:SI 99)))
(clobber (reg:CC 17 flags))
]) pr48343.c:12 252 {*addsi_1}
 (expr_list:REG_DEAD (reg:SI 99)
(expr_list:REG_DEAD (reg:SI 98)
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)

(debug_insn 27 25 28 3 (var_location:SI k (reg/v:SI 71 [ i ])) pr48343.c:13 -1
 (nil))

(debug_insn 28 27 29 3 (var_location:SI i (and:SI (reg:SI 66 [ D.1999 ])
(const_int 255 [0xff]))) pr48343.c:13 -1
 (nil))

and SUBST_MODE is applied to pseudo 98 when i2 is insn 23 and i3 is insn 25,
after a previous propagate_for_debug set of changes which were with i3 insn 30.

So, IMHO we don't want to stop at i3 for propagate_for_debug if we are retrying
(goto retry in combine_instructions), instead we want to stop at the last i3
we've been processing in the current BB.

I'll try to write a patch.


[Bug c/48341] LDBL_EPSILON is wrong on IRIX 6.5

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

--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-03-30 15:16:57 UTC ---
 Why do you think this is bogus?  It's correct for IBM long double, where 
 the mantissa bits can be discontiguous, and so the least value greater 
 than 1 that is representable has such discontiguous bits.  See PR 19405 
 and http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00374.html.

But why do both that exact testcase and the libstdc++ one fail with this
LDFL_EPSILON value on IRIX, and disagree with both the one from the
system headers, which is identical to the one found in the
gcc.target/powerpc/rs6000-ldouble-2.c test?

Rainer


[Bug libstdc++/48365] Non-constant references in std::valarray::operator

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC|denin at mail dot ru|g...@integrable-solutions.ne
   ||t

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-03-30 
15:29:21 UTC ---
Gaby, can you have a look to this issue? It seems to me that in general, given
the expression templates mechanism we have in place, something like

  k = k[0] * k,(1)

where k is a valarray, cannot possibly work as intuitively expected, because
the multiplication is expanded in place: operator= triggers the computation
of the new k[0] and then k[1] which definitely uses the new k[0], contrary to
intuition. Is this actually undefined behavior, like morally in

  operator*(const T t, const valarrayT v)

t cannot be an element of v? Seems something falling under the special features
of valarray wrt aliasing, but I don't see it mentioned anywhere in C++03.

Interestingly, if I change (1) to

  k *= k[0]

which should be in principle equivalent, the behavior is the same on GCC,
whereas another implementation of valarray agrees with GCC in this case.


[Bug bootstrap/48332] optabs changes (PR48263 fix) broke m68k-linux bootstrap

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

--- Comment #3 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-03-30 15:36:49 UTC ---
Author: rsandifo
Date: Wed Mar 30 15:36:45 2011
New Revision: 171733

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=171733
Log:
gcc/
PR rtl-optimization/48332
* optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
mode of input operand N and modeN to its actual mode.

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


[Bug fortran/48363] Recursion not converted into a loop

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

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2011-03-30 
15:38:13 UTC ---
(In reply to comment #1)
 The parameter has its address taken in
   _gfortran_transfer_integer_write (dt_parm.0, i, 4);

True, but the value is not modified - which the ME should know as the fn spec
is .wR


[Bug c/48341] LDBL_EPSILON is wrong on IRIX 6.5

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

--- Comment #3 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2011-03-30 15:43:53 UTC ---
On Wed, 30 Mar 2011, ro at CeBiTec dot Uni-Bielefeld.DE wrote:

 --- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
 Uni-Bielefeld.DE 2011-03-30 15:16:57 UTC ---
  Why do you think this is bogus?  It's correct for IBM long double, where 
  the mantissa bits can be discontiguous, and so the least value greater 
  than 1 that is representable has such discontiguous bits.  See PR 19405 
  and http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00374.html.
 
 But why do both that exact testcase and the libstdc++ one fail with this
 LDFL_EPSILON value on IRIX, and disagree with both the one from the
 system headers, which is identical to the one found in the
 gcc.target/powerpc/rs6000-ldouble-2.c test?

Presumably the implementation of long double arithmetic being used on IRIX 
is less accurate in this case than the one being used on Power.

Perhaps it would make sense to look at using darwin-ldouble.c (with 
function names appropriately adjusted) in some way on IRIX, in place of 
the code in fp-bit.c.  Since IRIX is the only target using the IBM long 
double support in fp-bit.c, it would then be possible to simplify fp-bit.* 
by removing all the HALFFRACBITS code.

Alternatively, if the format on IRIX is actually defined differently so 
that the nonzero bits are always within a contiguous set of 106 bits - if 
that is what IRIX documentation and the IRIX system compiler / libraries 
always do - then the generic code could be taught about that difference 
and the code in fp-bit.c might be closer to being correct for that 
definition than darwin-ldouble.c


[Bug ada/48368] New: gnat on arm-linux-gnueabi only has sjlj exception support, not zcx

2011-03-30 Thread doko at ubuntu dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48368

   Summary: gnat on arm-linux-gnueabi only has sjlj exception
support, not zcx
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: d...@ubuntu.com


gnat on arm-linux-gnueabi only has sjlj exception support, not zcx


[Bug debug/48343] [4.6/4.7 Regression] ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-30 
15:51:30 UTC ---
Created attachment 23821
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23821
gcc46-pr48343.patch

Untested fix.


[Bug fortran/48363] Recursion not converted into a loop

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

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-03-30 
15:54:28 UTC ---
(In reply to comment #2)
 (In reply to comment #1)
  The parameter has its address taken in
_gfortran_transfer_integer_write (dt_parm.0, i, 4);
 
 True, but the value is not modified - which the ME should know as the fn 
 spec
 is .wR

The parameter is not in SSA form so tail-recursion would have to insert
a store and reload the value at appropriate places.  It doesn't support that.


  1   2   >