[Bug tree-optimization/49730] loop not vectorized if inside another loop

2011-07-14 Thread irar at il dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49730

Ira Rosen irar at il dot ibm.com changed:

   What|Removed |Added

 CC||irar at il dot ibm.com

--- Comment #2 from Ira Rosen irar at il dot ibm.com 2011-07-14 06:35:39 UTC 
---
There is no limitation on the number of reductions in vectorization.

The problem here is a non-empty latch block. There are several existing PRs for
similar problems: pr 33447, pr 28643.

Ira


[Bug target/43746] -fmerge-constants and -fmerge-all-constants don't work at AVR target

2011-07-14 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43746

--- Comment #4 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-14 
07:49:19 UTC ---
Author: gjl
Date: Thu Jul 14 07:49:14 2011
New Revision: 176262

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176262
Log:
gcc/
PR target/43746
* config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove,
i.e. use default_elf_select_section.
(TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove.
(READONLY_DATA_SECTION_ASM_OP): Remove.
(TARGET_ASM_NAMED_SECTION): Move from here...
* config/avr/avr.c: ...to here.
(avr_asm_init_sections): Set unnamed callback of
readonly_data_section.
(avr_asm_named_section): Make static.

testsuite/
PR target/43746
* gcc.dg/array-quals-1.c: Don't xfail on AVR.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr.c
trunk/gcc/config/avr/elf.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/array-quals-1.c


[Bug target/43746] -fmerge-constants and -fmerge-all-constants don't work at AVR target

2011-07-14 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43746

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 07:52:52
 CC||gjl at gcc dot gnu.org
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1

--- Comment #5 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-14 
07:52:52 UTC ---
Set the status to NEW.

The above patch fixes constant merging for constants in .rodata which is mapped
into RAM for AVR.

To make it work for .progmem (data in Flash) requires a seperate patch.


[Bug ada/48711] [4.6/4.7 regression] failure to bootstrap or build ada for mingw (value not in range of type Interfaces.C.unsigned in g-socthi.adb)

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48711

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ivansavvateev at yandex dot
   ||ru

--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
07:59:05 UTC ---
*** Bug 49625 has been marked as a duplicate of this bug. ***


[Bug ada/48151] Bootstrap failure in stage3 comparison

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48151

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
07:59:59 UTC ---
For the g-socthi.adb failure.

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


[Bug bootstrap/49625] GCC 4.6.* with Ada can't bootstrapped on MINGW

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49625

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
07:59:05 UTC ---
.

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


[Bug ada/48711] [4.6/4.7 regression] failure to bootstrap or build ada for mingw (value not in range of type Interfaces.C.unsigned in g-socthi.adb)

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48711

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||anhvofrcaus at gmail dot
   ||com

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
07:59:59 UTC ---
*** Bug 48151 has been marked as a duplicate of this bug. ***


[Bug bootstrap/49737] [4.7 Regression] Bootstrap failure at revision 176240 on x86_64-apple-darwin10

2011-07-14 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49737

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #9 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-07-14 
08:00:48 UTC ---
Bootstrap finished, closing as fixed, thanks.


[Bug ada/48711] [4.6/4.7 regression] failure to bootstrap or build ada for mingw (value not in range of type Interfaces.C.unsigned in g-socthi.adb)

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48711

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.07.14 08:02:16
 CC||ebotcazou at gcc dot
   ||gnu.org
 AssignedTo|unassigned at gcc dot   |ebotcazou at gcc dot
   |gnu.org |gnu.org
 Ever Confirmed|0   |1

--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:02:16 UTC ---
Thanks, I'm going to install the patch.


[Bug ada/49732] GNAT 4.6.[01] crashes on terminal_interface-curses-menus.adb from ncruses 5.9

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.07.14 08:18:37
 CC||ebotcazou at gcc dot
   ||gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:18:37 UTC ---
Please find out which compilation option is responsible for the crash instead.


[Bug tree-optimization/49725] [4.6 Regression] FAIL: c34005a

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49725

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 08:35:08
 CC||ebotcazou at gcc dot
   ||gnu.org, jamborm at gcc dot
   ||gnu.org
  Component|ada |tree-optimization
 Ever Confirmed|0   |1

--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:35:08 UTC ---
Confirmed as coming from Martin's patch.


[Bug tree-optimization/49724] [4.6/4.7 Regression] FAIL: gnat.dg/socket1.adb execution test

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49724

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.07.14 08:39:48
 CC||ebotcazou at gcc dot
   ||gnu.org, jamborm at gcc dot
   ||gnu.org
  Component|ada |tree-optimization
 Ever Confirmed|0   |1

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:39:48 UTC ---
Can you confirm that this also comes from Martin's patch on the 4.6 branch?


[Bug tree-optimization/49725] [4.6 Regression] FAIL: c34005a

2011-07-14 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49725

--- Comment #4 from Martin Jambor jamborm at gcc dot gnu.org 2011-07-14 
08:41:36 UTC ---
I will have a look at it next week (if it can be reproduced on the hppa in the
compile farm).  Nevertheless, the interesting thing is that the patch only
makes SRA to do less, never more.  Does the ICE happen even if you switch SRA
off completely with -fno-tree-sra ?  Thanks.


[Bug ada/46350] s-taprop.adb:891:40: warning: redundant conversion, expression is of type Interrupt_ID

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46350

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.07.14 08:44:07
   Target Milestone|--- |4.6.2
 Ever Confirmed|0   |1

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:44:07 UTC ---
Can you submit the patch if it works?


[Bug ada/48835] Porting GNAT to GNU/Linux/m68k

2011-07-14 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

  Attachment #24491|0   |1
is obsolete||

--- Comment #23 from Mikael Pettersson mikpe at it dot uu.se 2011-07-14 
08:44:51 UTC ---
Created attachment 24753
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24753
working patch for gcc-4.5.3 (v4)

Here's the current working patch I'm using with gcc-4.5.3 on m68k-linux.  As
the diffstat shows

 gcc/ada/gcc-interface/Makefile.in |   28 ++
 gcc/ada/s-memory.adb  |   17 
 gcc/ada/s-memory.ads  |1 
 gcc/ada/system-linux-m68k.ads |  153
++
 4 files changed, 198 insertions(+), 1 deletion(-)

not much is needed beyond the obvious target fragment in Makefile.in and the
new system-linux-m68k.ads.  The s-memory.ad{b,s} patches work around the
__gnat_malloc issue by adding a private Gnat_Malloc wrapper function that
returns a proper pointer, and changing the __gnat_malloc export to refer to
that function rather than the integer-returning Alloc function.  This should be
safe though unnecessary on other platforms (initially tested on i686).

If the special attribute is implemented, then what it needs to do is to say
that a particular integer-typed function (from Ada's perspective) should be
treated as returning the equivalent of C's void*, with unchecked conversions
inserted in the function's return points and in every caller.

In principle at least three functions need this treatment: __gnat_malloc,
__gnat_realloc, and system__soft_links__get_jmpbuf_address_soft.  However,
__gnat_realloc doesn't seem to be used by gnat itself, and ..get_jmpbuf..
doesn't appear to be needed for ZCX EH (I did have to patch get_jmpbuf_decl
related code earlier when I still used SJLJ EH).

Once my current final verification bootstrap finishes I'll upload the gcc-4.5.3
binaries and start working on gcc-4.6.1 and gcc-4.7.0.


[Bug tree-optimization/49452] [4.7 regression] comp-goto-2.c regresses in testing

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49452

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

Version|unknown |4.7.0
   Target Milestone|--- |4.7.0
Summary|comp-goto-2.c regresses in  |[4.7 regression]
   |testing |comp-goto-2.c regresses in
   ||testing
   Severity|normal  |major


[Bug testsuite/48727] FAIL: g++.dg/opt/devirt2.C scan-assembler-times xyzzy 2

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48727

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #8 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:48:19 UTC ---
Everywhere.


[Bug rtl-optimization/48757] [4.5/4.6 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2788

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48757

--- Comment #9 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:50:48 UTC ---
Vlad, is the fix backportable to release branches, at least the 4.6 branch?


[Bug tree-optimization/49725] [4.6 Regression] FAIL: c34005a

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49725

--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
08:58:42 UTC ---
 I will have a look at it next week (if it can be reproduced on the hppa in the
 compile farm).

A cross-compiler from your favorite linux box is sufficient.

 Nevertheless, the interesting thing is that the patch only makes SRA to do 
 less, never more.  Does the ICE happen even if you switch SRA off completely 
 with -fno-tree-sra ?

Hum, yes, you're right, the ICE comes from PRE, not SRA.


[Bug middle-end/49733] Missed optimization: Variable value not propagated to remove if condition

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49733

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
09:03:58 UTC ---
Ah, so passing the non-aliasing-var to a function which takes a POINTER
argument, returning that pointer and modifying it in the function that
takes the non-aliasing-var is ok then?

The Fortran semantics seem unclear enough to me to doubt that there is a
clean orthogonal representation for the middle-end.


[Bug bootstrap/49737] [4.7 Regression] Bootstrap failure at revision 176240 on x86_64-apple-darwin10

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49737

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug middle-end/49736] [4.7 Regression] Revision 176228 miscompiled 255.vortex in SPEC CPU 2000

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49736

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
   Target Milestone|--- |4.7.0


[Bug tree-optimization/49725] [4.6 Regression] FAIL: c34005a

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49725

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
09:07:09 UTC ---
 Hum, yes, you're right, the ICE comes from PRE, not SRA.

And is fixed by backporting

2011-03-31  Eric Botcazou  ebotca...@adacore.com

* tree-ssa-pre.c (create_component_ref_by_pieces_1) ARRAY_REF: Drop
a zero minimum index only if it is redundant.

onto the branch.  Testing...


[Bug tree-optimization/49735] [4.7 Regression] mips64-elf libgcc build fails with apparently infinite recursion.

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49735

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
09:05:32 UTC ---
It probably papers over a different issue though - even recursive inlining
should be limited by a --param, but appearantly that is not working here.

Honza?


[Bug bootstrap/49739] [4.7 Regression] bootstrap failure

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49739

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
09:07:57 UTC ---
Fixed.


[Bug target/49743] -g enables var_tracking on -O0 - causes long compilations

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49743

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 09:09:24
  Component|c   |target
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
09:09:24 UTC ---
var-tracking isn't supposed to run at -O0.


[Bug bootstrap/49740] [4.7 Regression] powerpc native bootstrap with -O3 produces Bootstrap comparison failure!

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49740

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||powerpc-*-*
   Target Milestone|--- |4.7.0


[Bug target/49742] [4.7 Regression] ICE for gcc.dg/vect/O3-pr39675-2.c on ARM

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49742

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||arm-*-*
  Component|tree-optimization   |target
   Target Milestone|--- |4.7.0
Summary|ICE for |[4.7 Regression] ICE for
   |gcc.dg/vect/O3-pr39675-2.c  |gcc.dg/vect/O3-pr39675-2.c
   |on ARM  |on ARM

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
09:08:55 UTC ---
Looks like a target issue.


[Bug tree-optimization/49724] [4.6/4.7 Regression] FAIL: gnat.dg/socket1.adb execution test

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49724

--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
09:13:19 UTC ---
Based on Martin's comment in the other PR, I wonder whether this isn't rather a
temporary failure because of a glitch on the host.  Can you reproduce it?


[Bug bootstrap/49739] [4.7 Regression] bootstrap failure

2011-07-14 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49739

--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-07-14 09:18:14 UTC ---
 It doesn't work and build failed much earlier:

 Patch is missing '}'.

Thanks for fixing this.  That's what you get for providing an untested
patch minutes before you have to leave ;-)

Rainer


[Bug middle-end/49733] Missed optimization: Variable value not propagated to remove if condition

2011-07-14 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49733

--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2011-07-14 
09:25:31 UTC ---
(In reply to comment #5)
 Ah, so passing the non-aliasing-var to a function which takes a POINTER
 argument, returning that pointer and modifying it in the function that
 takes the non-aliasing-var is ok then?

POINTER in the C/middle-end or in the Fortran sense?

Passing a non-(Fortran-)POINTER variable as actual argument to a
(Fortran-)POINTER dummy argument is only valid, if the dummy is INTENT(IN) and
if the actual argument is TARGET. The INTENT(IN) makes sure that one does not
change the address to which the pointer points - and the TARGET avoids aliasing
issues. (Cf. 12.5.2.7 Pointer dummy variables.)

Thus, non-aliasing-var may not be passed passed to a POINTER dummy argument.


[Bug ada/48711] [4.6/4.7 regression] failure to bootstrap or build ada for mingw (value not in range of type Interfaces.C.unsigned in g-socthi.adb)

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48711

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
09:27:25 UTC ---
Author: ebotcazou
Date: Thu Jul 14 09:27:22 2011
New Revision: 176265

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176265
Log:
PR ada/48711
* g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.

Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/g-socthi-mingw.adb


[Bug plugins/49744] New: Use of prev-gcc/xgcc as PLUGINCC breaks bootstap-lean tests

2011-07-14 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49744

   Summary: Use of prev-gcc/xgcc as PLUGINCC breaks bootstap-lean
tests
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: plugins
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
CC: dnovi...@gcc.gnu.org


I've often observed that the plugin tests come up as UNSUPPORTED, either in
a bootstrap-lean build of if I've removed {stage1,prev}-* to save space.
This happens because for some reason PLUGINCC is set to prev-gcc/xgcc, which
may not exist any longer at this point.


[Bug ada/48711] [4.6/4.7 regression] failure to bootstrap or build ada for mingw (value not in range of type Interfaces.C.unsigned in g-socthi.adb)

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48711

--- Comment #7 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
09:27:41 UTC ---
Author: ebotcazou
Date: Thu Jul 14 09:27:39 2011
New Revision: 176266

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176266
Log:
PR ada/48711
* g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.

Modified:
branches/gcc-4_6-branch/gcc/ada/ChangeLog
branches/gcc-4_6-branch/gcc/ada/g-socthi-mingw.adb


[Bug ada/48711] [4.6/4.7 regression] failure to bootstrap or build ada for mingw (value not in range of type Interfaces.C.unsigned in g-socthi.adb)

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48711

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #8 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
09:30:47 UTC ---
Thanks for reporting the problem and tracking down the fix.


[Bug plugins/49744] Use of prev-gcc/xgcc as PLUGINCC breaks bootstap-lean tests

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49744

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 09:44:42
 CC||ebotcazou at gcc dot
   ||gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
09:44:42 UTC ---
 I've often observed that the plugin tests come up as UNSUPPORTED, either in
 a bootstrap-lean build of if I've removed {stage1,prev}-* to save space.
 This happens because for some reason PLUGINCC is set to prev-gcc/xgcc, which
 may not exist any longer at this point.

PLUGINCC must be in keeping with the auto-host.h file of the last stage if you
bootstrap the compiler.  Or else the plugin test harness must be modified.


[Bug middle-end/49736] [4.7 Regression] Revision 176228 miscompiled 255.vortex in SPEC CPU 2000

2011-07-14 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49736

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

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |rsandifo at gcc dot gnu.org
   |gnu.org |
   Target Milestone|4.7.0   |---

--- Comment #1 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-07-14 10:26:38 UTC ---
Confirmed.


[Bug c++/49745] New: error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread mathieu.malaterre at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

   Summary: error: ‘int truncate’ redeclared as different kind of
symbol
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mathieu.malate...@gmail.com


Hi,

  g++ pollutes the global namespace. The following does not compile with G++
4.4.5:


#include iostream
int truncate = 0;
int main()
{
  return 0;
}

If fails with:


t.cxx:2: error: ‘int truncate’ redeclared as different kind of symbol
/usr/include/unistd.h:998: error: previous declaration of ‘int truncate(const
char*, __off_t)’


Thanks !


[Bug middle-end/49736] [4.7 Regression] Revision 176228 miscompiled 255.vortex in SPEC CPU 2000

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49736

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.07.14 10:31:23
 Ever Confirmed|0   |1


[Bug middle-end/49736] [4.7 Regression] Revision 176228 miscompiled 255.vortex in SPEC CPU 2000

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49736

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 10:30:57
  Component|c++ |libstdc++
 Ever Confirmed|0   |1
  Known to fail||4.6.1
   Severity|major   |normal

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
10:30:57 UTC ---
Confirmed.


[Bug target/49746] New: Generated PA-RISC2.0w code cannot be assembled by GNU as-2.21.1

2011-07-14 Thread h.m.brand at xs4all dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49746

   Summary: Generated PA-RISC2.0w code cannot be assembled by GNU
as-2.21.1
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: h.m.br...@xs4all.nl


using

gcc (GCC) 3.4.6
GNU assembler (GNU Binutils) 2.21.1
GNU ld (GNU Binutils) 2.21.1

gmp-5.0.2
mpfr-3.0.1
mpc-0.8.2

to build a 64bit GNU gcc 4.6.1 on HP-UX 11.11 (PA-RISC 2.0w)

export ABI=2.0w
export SHELL=/pro/local/bin/bash
export PREFIX=/usr/local/pa20_64
export CONFIG_SITE=
export CC=gcc64
export CFLAGS=-mpa-risc-2-0 -fPIC
export CXXFLAGS=-mpa-risc-2-0 -fPIC

../src/configure \
--enable-languages=c,c++ \
--prefix=$PREFIX --with-local-prefix=$PREFIX \
--with-gnu-as--with-as=$PREFIX/bin/as \
--without-gnu-ld --with-ld=/usr/ccs/bin/ld \
--with-gmp=$PREFIX \
--with-mpfr=$PREFIX \
--disable-shared \
--disable-nls \
--host=hppa64-hp-hpux11.11

make

:
:

gcc64 -c   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute
-Wold-style-definition -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include
-I/usr/local/pa20_64/include -I/usr/local/pa20_64/include 
-I../../src/gcc/../libdecnumber -I../../src/gcc/../libdecnumber/dpd
-I../libdecnumber   -I/usr/local/pa20_64/include
../../src/gcc/graphite-clast-to-gimple.c -o graphite-clast-to-gimple.o
/tmp/ccPcqVug.s: Assembler messages:
/tmp/ccPcqVug.s:137659: Error: Field out of range [-262144..262143] (322212).
/tmp/ccPcqVug.s:137661: Error: Field out of range [-262144..262143] (322828).
/tmp/ccPcqVug.s:137663: Error: Field out of range [-262144..262143] (322820).
/tmp/ccPcqVug.s:137665: Error: Field out of range [-262144..262143] (322812).
:
:
/tmp/ccPcqVug.s:137855: Error: Field out of range [-262144..262143] (322052).
/tmp/ccPcqVug.s:137857: Error: Field out of range [-262144..262143] (322044).
/tmp/ccPcqVug.s:137859: Error: Field out of range [-262144..262143] (322036).
make[3]: *** [fold-const.o] Error 1
make[3]: *** Waiting for unfinished jobs
make[3]: Leaving directory `/pro/3gl/GNU/gcc/obj-64/gcc'


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-14 
10:51:57 UTC ---
dup of PR 36231 ?


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-14 
11:01:26 UTC ---
the problem is actually in gthr-posix.h

no libstdc++ header includes unistd.h except ext/stdio_syn_filebuf.h which
is a non-standard extension and so that's not a problem


[Bug target/49746] Generated PA-RISC2.0w code cannot be assembled by GNU as-2.21.1

2011-07-14 Thread h.m.brand at xs4all dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49746

--- Comment #1 from H.Merijn Brand h.m.brand at xs4all dot nl 2011-07-14 
11:09:18 UTC ---
FYI I completed building gcc-4.6.1 with

gcc (GCC) 4.2.4
GNU assembler (GNU Binutils) 2.18

gmp-5.0.2
mpfr-3.0.1
mpc-0.8.2

on HP-UX 11.23-ia64 and HP-UX 11.31-ia64 (both IPF/Itanium 2) without too much
trouble
using the generated gcc to build perl from scratch worked out fine for both
32bit (-milp32) and 64bit (-mlp64) configurations.

The gcc builds are now available on my site
http://mirrors.develooper.com/hpux/gcc.html


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-14 
11:13:13 UTC ---
Why does gthr-posix.h even include unistd.h?

--- gcc/gthr-posix.h.orig   2011-07-14 11:09:00.148778460 +
+++ gcc/gthr-posix.h2011-07-14 11:09:01.763786789 +
@@ -39,7 +39,6 @@
 #endif

 #include pthread.h
-#include unistd.h

 typedef pthread_t __gthread_t;
 typedef pthread_key_t __gthread_key_t;


The names from pthread.h will still be declared, but that's a LOT better than
bringing in everything from unistd.h

If some crufty OS needs unistd.h it should only be included conditionally


[Bug middle-end/49736] [4.7 Regression] Revision 176228 miscompiled 255.vortex in SPEC CPU 2000

2011-07-14 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49736

--- Comment #2 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-07-14 11:49:05 UTC ---
Author: rsandifo
Date: Thu Jul 14 11:49:01 2011
New Revision: 176270

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176270
Log:
gcc/
PR middle-end/49736
* expr.c (all_zeros_p): Undo bogus part of last change.

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


[Bug tree-optimization/49724] [4.6/4.7 Regression] FAIL: gnat.dg/socket1.adb execution test

2011-07-14 Thread dave.anglin at bell dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49724

--- Comment #3 from dave.anglin at bell dot net 2011-07-14 11:54:32 UTC ---
On 14-Jul-11, at 4:40 AM, ebotcazou at gcc dot gnu.org wrote:

 Can you confirm that this also comes from Martin's patch on the 4.6  
 branch?


No, it doesn't come from Martin's change.  Rather, it appears to come  
from a change to resolv.conf
that I made last weekend.  There was a problem with accessing on of  
NRC's nameservers and I
changed the lookup order.  It appears going back to previous  
configuration fixes things.  Will
recheck.

Dave
--
John David Anglindave.ang...@bell.net


[Bug ada/46350] s-taprop.adb:891:40: warning: redundant conversion, expression is of type Interrupt_ID

2011-07-14 Thread dave.anglin at bell dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46350

--- Comment #5 from dave.anglin at bell dot net 2011-07-14 11:57:34 UTC ---
On 14-Jul-11, at 4:44 AM, ebotcazou at gcc dot gnu.org wrote:

 Can you submit the patch if it works?


It works.  I will install later today after work if someone doesn't  
install it first.

Dave
--
John David Anglindave.ang...@bell.net


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2011-07-14 
12:01:40 UTC ---
Who maintains gthr-posix.h? Indeed, in general, this is a well known issue, can
be resolved as dup.


[Bug ada/49732] GNAT 4.6.[01] crashes on terminal_interface-curses-menus.adb from ncruses 5.9

2011-07-14 Thread vorfeed.canal at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

--- Comment #2 from Vorfeed Canal vorfeed.canal at gmail dot com 2011-07-14 
12:07:01 UTC ---
Which compilation options? I'm not specifying anything strange and even if I
use -O0 the result is the same:

/localbuild/build/sysnative-prencurses-5.9/narrowc/Ada95/src$ gnatmake -O0
-P/ncplc/src/sysnative-prencurses-5.9/Ada95/src/library.gpr -XBUILD_DIR=`cd
..;pwd` -XSOURCE_DIR=`cd ..;pwd` -XSOURCE_DIR2=`cd
/localbuild/src/sysnative-prencurses-5.9/Ada95/src;pwd` -XLIB_NAME=AdaCurses
-XSONAME=libAdaCurses.so.1 -XLIB_KIND=static
gcc -c -g -O2 -gnatafno -gnatVa -gnatwa -O0 -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-menus.adb

raised STORAGE_ERROR : stack overflow (or erroneous memory access)

GCC 4.4 works fine (I don't have GNAT 4.5 here to test)


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2011-07-14 
12:07:45 UTC ---
Before resolving as dup of 36231, let's add in CC Jakub too, it would be nice
if for 4.7 we could finally take the plunge and follow Jon's suggestion, or a
variant of it, but I don't know who normally fiddles with the gthr-* headers...


[Bug ada/49732] GNAT 4.6.[01] crashes on terminal_interface-curses-menus.adb from ncruses 5.9

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
12:12:35 UTC ---
 Which compilation options?

-g -O2 -gnata -gnatf -gnatn -gnato -gnatVa

It's usually more convenient to change them for a particular file in the
project file than patching the source code directly.


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-14 
12:13:27 UTC ---
I don't think there is a maintainer for gthreads


[Bug tree-optimization/49651] [C++0x] nested lambdas and -O3 produced incorrect integer variable increments

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
12:26:08 UTC ---
In the optimized dump I can see

bb 4:
...
  run.__v7 = v7;
  run.__a = a;
...

bb 6:
  # ivtmp.207_17 = PHI ivtmp.207_68(10), ivtmp.207_69(5)
  D.47092_58 = a;
  D.47093_59 = D.47092_58 + 1;
  a = D.47093_59;
  f (D.47092_58);

bb 7:
  D.47084_60 = MEM[(int * const )ve + 8];
  D.47090._M_current = D.47084_60;
  D.47083_61 = MEM[(int * const )ve];
  D.47089._M_current = D.47083_61;
  D.47091 = std::for_each__gnu_cxx::__normal_iteratorint*, std::vectorint
, main(int, char**)::lambda(int)  (D.47089, D.47090, run);

bb 8:
  D.47093_63 = D.47092_58 + 2;
  a = D.47093_63;
  f (D.47093_59);

bb 9:
  D.47082_64 = MEM[(int * const )ve + 8];
  D.47086._M_current = D.47082_64;
  D.47081_65 = MEM[(int * const )ve];
  D.47085._M_current = D.47081_65;
  D.47087 = std::for_each__gnu_cxx::__normal_iteratorint*, std::vectorint
, main(int, char**)::lambda(int)  (D.47085, D.47086, run);

bb 10:
  ivtmp.207_68 = ivtmp.207_17 + 4;
  __first$_M_current_66 = (int *) ivtmp.207_68;
  if (__last_27 != __first$_M_current_66)
goto bb 6;
  else
...

so we do CSE a over the std::for_each invocation which gets run as argument.
That's wrong of course.  Alias-info tells us even that a is clobbered by
that call:

  # USE = nonlocal null { aD.40068 viD.40071 D.40875 veD.40876 D.40877
v7D.40878 }
  # CLB = nonlocal null { aD.40068 viD.40071 D.40875 veD.40876 D.40877
v7D.40878 }
  D.47091 = std::for_each__gnu_cxx::__normal_iteratorint*, std::vectorint
, main(int, char**)::lambda(int)  (D.47089, D.47090, runD.40880);

but it doesn't do so at the time when the first FRE is run:

  # USE = nonlocal null { viD.40071 D.40875 veD.40876 D.40877 v7D.40878 }
  # CLB = nonlocal null { viD.40071 D.40875 veD.40876 D.40877 v7D.40878 }
  D.47091 = std::for_each__gnu_cxx::__normal_iteratorint*, std::vectorint
, main(int, char**)::lambda(int)  (D.47089, D.47090,
*__f$__runD.47077_57);

the setup there is still not very optimized though.


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com, ro at CeBiTec dot
   ||Uni-Bielefeld.DE

--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com 2011-07-14 
12:30:43 UTC ---
Worst case we can regression test your simple change on Linux (and maybe
another target normally using the Posix model, Rainer on Solaris?) and send it
out to the mailing list for review. A global maintainer could approve it.


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-14 
12:33:16 UTC ---
svn blame isn't hard to use.
You'll find out that the unistd.h include was added by
http://gcc.gnu.org/ml/gcc-patches/2002-10/msg01666.html
There are still some of the unistd.h guard macros used in gthr*, so you can't
just drop that.  But, two of the three macros are limited to libobjc (the
scheduling stuff), so if it wasn't for _POSIX_TIMEOUTS for
__gthread_mutex_timedwait, you could guard the unistd.h include with
#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)
Unfortunately, the remaining one, _POSIX_TIMEOUTS and defining
__gthread_mutex_timedlock if it is present, is used in libstdc++ (mutex in
particular, and apparently unconditionally there, so it will just not compile
on prehistoric OSes which lack pthread_mutex_timedlock or on systems that don't
use gthr-posix.h but other gthr-*.h headers instead).
So, if you want to avoid including unistd.h, you'd need to e.g. add some
configure test in libstdc++ and in gthr-posix.h use
#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) \
|| !defined(_GTHR_HAS_POSIX_TIMEOUTS)
#include unistd.h
#ifdef _POSIX_TIMEOUTS
#define _GTHR_HAS_POSIX_TIMEOUTS _POSIX_TIMEOUTS
#endif
#endif
and use _GTHR_HAS_POSIX_TIMEOUTS instead of _POSIX_TIMEOUTS in gthr.h and
arrange
for libstdc++ headers to define _GTHR_HAS_POSIX_TIMEOUTS based on whether
unistd.h defines _POSIX_TIMEOUTS.


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-14 
12:34:32 UTC ---
BTW, mutex really shouldn't be using __gthread_mutex_timedlock if it isn't
available...


[Bug tree-optimization/49651] [C++0x] nested lambdas and -O3 produced incorrect integer variable increments

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

--- Comment #9 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
12:36:23 UTC ---
C testcase that fails at -O2:

extern void abort (void);

struct X {
int *p;
int *q;
};

void __attribute__((noinline, noclone))
foo (struct X x) { *x.q = 0; }

volatile int what;
struct X y;

int main()
{
  int i, j;
  struct X x, *p;
  x.p = i;
  x.q = j;
  if (what)
p = y;
  else
p = x;
  j = 1;
  foo (*p);
  if (j != 0)
abort ();
  return 0;
}

workaround: --param max-fields-for-field-sensitive=1


[Bug libstdc++/49745] error: ‘int truncate’ redeclared as different kind of symbol

2011-07-14 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49745

--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com 2011-07-14 
12:43:53 UTC ---
Thanks Jakub. Thus, seems a little more difficult than we hoped, but still
doable. We'll give a try to your scheme.


[Bug tree-optimization/49651] [4.4/4.5/4.6/4.7 Regression] nested lambdas and -O3 produced incorrect integer variable increments

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work|4.7.0   |4.3.6
   Target Milestone|--- |4.4.7
Summary|[C++0x] nested lambdas and  |[4.4/4.5/4.6/4.7
   |-O3 produced incorrect  |Regression] nested lambdas
   |integer variable increments |and -O3 produced incorrect
   ||integer variable increments
  Known to fail||4.4.6, 4.5.3, 4.7.0

--- Comment #10 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
13:02:11 UTC ---
I have a patch.


[Bug ada/49732] GNAT 4.6.[01] crashes on terminal_interface-curses-menus.adb from ncruses 5.9

2011-07-14 Thread vorfeed.canal at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

--- Comment #4 from Vorfeed Canal vorfeed.canal at gmail dot com 2011-07-14 
13:22:31 UTC ---
Ah, I see. Well, it looks it's -gnatafno option which triggers the error. And I
have no idea what it's supposed to do :-(

/localbuild/build/sysnative-prencurses-5.9/narrowc/Ada95/src$
PATH=/sysnative/bin:$PATH gnatmake -f
-P/localbuild/src/sysnative-prencurses-5.9/Ada95/src/library.gpr
-XBUILD_DIR=`cd ..;pwd` -XSOURCE_DIR=`cd ..;pwd` -XSOURCE_DIR2=`cd
/localbuild/src/sysnative-prencurses-5.9/Ada95/src;pwd` -XLIB_NAME=AdaCurses
-XSONAME=libAdaCurses.so.1 -XLIB_KIND=static
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/build/sysnative-prencurses-5.9/narrowc/Ada95/src/terminal_interface-curses-trace.adb
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-text_io-fixed_io.adb
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-termcap.adb
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-text_io-integer_io.adb
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.adb
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-text_io-enumeration_io.adb
gcc -c -O0 -gnatafno -I- -gnatA
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-menus.adb

raised STORAGE_ERROR : stack overflow (or erroneous memory access)
gnatmake:
/localbuild/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-menus.adb
compilation error


[Bug driver/49747] New: warning:dereferencing type-punned pointer will break strict-aliasing rules

2011-07-14 Thread douganla at gru dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49747

   Summary: warning:dereferencing type-punned pointer will break
strict-aliasing rules
   Product: gcc
   Version: 4.4.5
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: driver
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: douga...@gru.com


After emerging sys-devel/gcc-4.4.5 on Gentoo Linux kernel-2.6.38-gentoo-r6 I am
getting this:

Completed installing gcc-4.4.5 into /var/tmp/portage/sys-devel/gcc-4.4.5/image/

ecompressdir: bzip2 -9 /usr/share/gcc-data/i686-pc-linux-gnu/4.4.5/man
ecompressdir: bzip2 -9 /usr/share/gcc-data/i686-pc-linux-gnu/4.4.5/info

 * QA Notice: Package has poor programming practices which may compile
 *fine but exhibit random runtime failures.
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:321:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:322:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:677:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:795:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:843:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:321:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:322:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:677:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:795:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:843:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:321:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:322:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:677:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:795:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:843:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:321:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:322:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:677:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:795:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:843:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:321:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:322:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:677:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 

/var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:795:
 

warning: dereferencing type-punned pointer will break strict-aliasing rules
 * 


[Bug ada/49732] GNAT 4.6.[01] crashes on terminal_interface-curses-menus.adb from ncruses 5.9

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
13:33:41 UTC ---
 Ah, I see. Well, it looks it's -gnatafno option which triggers the error.

-gnatafno is -gnata -gnatf -gnatn -gnato.  Can you further narrow it down?


[Bug ada/49732] GNAT 4.6.[01] crashes on terminal_interface-curses-menus.adb from ncruses 5.9

2011-07-14 Thread vorfeed.canal at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

--- Comment #6 from Vorfeed Canal vorfeed.canal at gmail dot com 2011-07-14 
13:52:07 UTC ---
Ah-ha. Here we go:


gcc -c -O0 -gnato -I- -gnatA
/ncplc/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-menus.adb

raised STORAGE_ERROR : stack overflow (or erroneous memory access)

Make sense, I guess.


[Bug ada/49732] GNAT 4.6.[01] crashes on terminal_interface-curses-menus.adb from ncruses 5.9

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
 AssignedTo|unassigned at gcc dot   |ebotcazou at gcc dot
   |gnu.org |gnu.org

--- Comment #7 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
14:02:57 UTC ---
 gcc -c -O0 -gnato -I- -gnatA
 /ncplc/src/sysnative-prencurses-5.9/Ada95/src/terminal_interface-curses-menus.adb
 
 raised STORAGE_ERROR : stack overflow (or erroneous memory access)
 
 Make sense, I guess.

Sort of. :-)  This doesn't really ring a bell, so I'll investigate.


[Bug ada/49732] [4.6/4.7 regression] crash on terminal_interface-curses-menus.adb from ncurses with -gnato

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
  Known to work||4.4.6
   Target Milestone|--- |4.6.2
Summary|GNAT 4.6.[01] crashes on|[4.6/4.7 regression] crash
   |terminal_interface-curses-m |on
   |enus.adb from ncruses 5.9   |terminal_interface-curses-m
   ||enus.adb from ncurses with
   ||-gnato
  Known to fail||4.6.0, 4.6.1


[Bug ada/49732] [4.6/4.7 regression] crash on terminal_interface-curses-menus.adb from ncurses with -gnato

2011-07-14 Thread vorfeed.canal at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

--- Comment #8 from Vorfeed Canal vorfeed.canal at gmail dot com 2011-07-14 
14:43:49 UTC ---
It makes sense because patch which fixes the problem effectively removes the
information needed to do overflow check.

And now, when I know where to look is much smaller reproducer:

$ cat hello.adb 
with Interfaces.C; use Interfaces.C;
with Interfaces.C.Strings; use Interfaces.C.Strings;
with Interfaces.C.Pointers;

procedure Hello is
   function Create (Name: String) return size_t
   is
  type Name_String is new char_array (0 .. Name'Length);
  type Name_String_Ptr is access Name_String;
  pragma Controlled (Name_String_Ptr);

  Name_Str : constant Name_String_Ptr := new Name_String;
  Name_Len : size_t;
   begin
  To_C (Name, Name_Str.all, Name_Len);
  return 1;
   end Create;
  Test : size_t;
begin
  Test := Create(ABC);
end Hello;

$ gnatmake -O0 -gnato hello.adb
gcc -c -O0 -gnato hello.adb

raised STORAGE_ERROR : stack overflow (or erroneous memory access)
gnatmake: hello.adb compilation error


[Bug driver/49747] warning:dereferencing type-punned pointer will break strict-aliasing rules

2011-07-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49747

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-14 
14:49:53 UTC ---
(In reply to comment #0)
 After emerging sys-devel/gcc-4.4.5 on Gentoo Linux kernel-2.6.38-gentoo-r6

What does this mean?  Not everyone uses gentoo or wants to understand its pkg
system.

I assume you're building gcc-4.4.5 with a newer gcc?


 Completed installing gcc-4.4.5 into 
 /var/tmp/portage/sys-devel/gcc-4.4.5/image/
 
 ecompressdir: bzip2 -9 /usr/share/gcc-data/i686-pc-linux-gnu/4.4.5/man
 ecompressdir: bzip2 -9 /usr/share/gcc-data/i686-pc-linux-gnu/4.4.5/info
 
  * QA Notice: Package has poor programming practices which may compile
  *fine but exhibit random runtime failures.
  * 
 
 /var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libgcc/../gcc/unwind-dw2-fde.c:321:
  
 
 warning: dereferencing type-punned pointer will break strict-aliasing rules
  * 


That code has already changed to avoid those warnings:
http://gcc.gnu.org/viewcvs?view=revisionrevision=147705

So I think this is FIXED


[Bug tree-optimization/49651] [4.4/4.5/4.6/4.7 Regression] nested lambdas and -O3 produced incorrect integer variable increments

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

--- Comment #11 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
14:53:33 UTC ---
Author: rguenth
Date: Thu Jul 14 14:53:30 2011
New Revision: 176274

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176274
Log:
2011-07-14  Richard Guenther  rguent...@suse.de

PR tree-optimization/49651
* tree-ssa-structalias.c (get_constraint_for_1): Properly
handle dereferences with subvariables.

* gcc.dg/torture/pr49651.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr49651.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-structalias.c


[Bug tree-optimization/49651] [4.4/4.5/4.6/4.7 Regression] nested lambdas and -O3 produced incorrect integer variable increments

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

--- Comment #12 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
14:56:30 UTC ---
Author: rguenth
Date: Thu Jul 14 14:56:27 2011
New Revision: 176275

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176275
Log:
2011-07-14  Richard Guenther  rguent...@suse.de

PR tree-optimization/49651
* tree-ssa-structalias.c (get_constraint_for_1): Properly
handle dereferences with subvariables.

* gcc.dg/torture/pr49651.c: New testcase.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/torture/pr49651.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-ssa-structalias.c


[Bug ada/49732] [4.6/4.7 regression] crash on terminal_interface-curses-menus.adb from ncurses with -gnato

2011-07-14 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49732

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.5.4
  Known to fail||4.7.0

--- Comment #9 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-14 
14:56:54 UTC ---
 It makes sense because patch which fixes the problem effectively removes the
 information needed to do overflow check.

OK.

 And now, when I know where to look is much smaller reproducer:

Nice, thanks.  The 4.5 series isn't affected either.


[Bug driver/49747] warning:dereferencing type-punned pointer will break strict-aliasing rules

2011-07-14 Thread douganla at gru dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49747

--- Comment #2 from douganla at gru dot com 2011-07-14 14:57:47 UTC ---
gcc-4.4.5 is the latest version available in gentoo


[Bug tree-optimization/49651] [4.4/4.5 Regression] nested lambdas and -O3 produced incorrect integer variable increments

2011-07-14 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.6.2, 4.7.0
Summary|[4.4/4.5/4.6/4.7|[4.4/4.5 Regression] nested
   |Regression] nested lambdas  |lambdas and -O3 produced
   |and -O3 produced incorrect  |incorrect integer variable
   |integer variable increments |increments
  Known to fail|4.6.2, 4.7.0|4.6.1

--- Comment #13 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-14 
15:00:45 UTC ---
Fixed for 4.6.2 and trunk sofar.


[Bug target/49487] Internal compiler error in AVR code (bytewise rotate)

2011-07-14 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49487

--- Comment #5 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-14 
15:10:17 UTC ---
Author: gjl
Date: Thu Jul 14 15:10:12 2011
New Revision: 176276

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

PR target/49487
* config/avr/avr.md (rotlmode3): Generate SCRATCH instead
of REG.
(*rotwmode): Use const_int_operand for operand2.
Use match_scatch for operand3.
(*rotbmode): Ditto
* config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr.c
trunk/gcc/config/avr/avr.md


[Bug target/49487] Internal compiler error in AVR code (bytewise rotate)

2011-07-14 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49487

--- Comment #6 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-14 
15:15:31 UTC ---
Author: gjl
Date: Thu Jul 14 15:15:28 2011
New Revision: 176277

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

PR target/49487
Backport from mainline r176276
2011-07-14  Georg-Johann Lay
* config/avr/avr.md (rotlmode3): Generate SCRATCH instead
of REG.
(*rotwmode): Use const_int_operand for operand2.
Use match_scatch for operand3.
(*rotbmode): Ditto
* config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.


Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config/avr/avr.c
branches/gcc-4_6-branch/gcc/config/avr/avr.md


[Bug target/49487] Internal compiler error in AVR code (bytewise rotate)

2011-07-14 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49487

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #7 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-14 
15:18:04 UTC ---
Closed as FIXED for the Milestone.


[Bug target/44506] -mtiny-stack causes internal compiler error on gcc for avr

2011-07-14 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44506

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||gjl at gcc dot gnu.org
  Known to work||4.6.2, 4.7.0

--- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-14 
15:54:01 UTC ---
I cannot reproduce it with 4.6+.

Maybe it's already fixed by r175048.
http://gcc.gnu.org/viewcvs?view=revisionrevision=175048


[Bug c++/41426] User defined conversion on return ignores array types

2011-07-14 Thread ville.voutilainen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41426

Ville Voutilainen ville.voutilainen at gmail dot com changed:

   What|Removed |Added

 CC||ville.voutilainen at gmail
   ||dot com

--- Comment #1 from Ville Voutilainen ville.voutilainen at gmail dot com 
2011-07-14 16:04:11 UTC ---
gcc 4.7 (trunk) still behaves this way. An example snippet
was provided for me:

struct v
{
templateunsigned N
v( const char()[N] ){}
};

v foo( )
{
return Hello WOrld; // #1
}

int main ( )
{
v x(hello world); // #2
}

in that snippet, #1 is rejected with
error: could not convert ‘(const char*)Hello WOrld’ from ‘const char*’ to ‘v’

Explicit construction of v in foo() works.


[Bug c/49748] New: char * const * cannot be assigned to char const * const *

2011-07-14 Thread gcc at misc dot lka.org.lu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49748

   Summary: char * const * cannot be assigned to char const *
const *
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@misc.lka.org.lu


Trying to assign a pointer value A with type char * const * into a variable B
declared as char const * const *  triggers a warning, although the
const-yness of the type is _increased_ not decreased.

Such a thing may be needed when trying to call a function that displays a list
of strings:

void displayList(char const * const * list)
{
   /* display list */
}

The char const * declaration is needed if somewhere in the program, this
function is called with an array of static strings:

   char const  *list1[] = { hello, world, NULL };
   displayList(list1);


However, if elsewhere in the program, we want to call the function with a list
of _dynamically_ allocated strings, we get a initialization from incompatible
pointer type warning:
   char **list2;
   for(i=0; i N; i++)
  list2[i] = strdup( some expression );

   ...
   displayList(list2);

   for(i=0; iN; i++)
  free(list2[i]);

Because of the free(), we cannot declare list2[] as char const ** , but then
this restriction on _adding_ the const qualifier during assignment or parameter
passing is causing trouble.


There is a very similar case, where such a restriction on adding a const
qualifier makes sense:

  assiging  char **  to  char const **

(i.e. the case where in the target, only the string _contents_ are const, but
not the string pointers themselves).

In this case, the assignment warning would be appropriate, in order to prevent
the following:

char *launderConst(char const *in)
{
char * source[1];
char const ** target = source;

target[0] = in;
return source[0];
}


However if the target list itself is const (rather than just its string
contents), we would never be able to do this:
char const *const* target = source;
target[0] = in;

So why the warning about the first line, if the second one is forbidden anyways
(assigning a value to a const)?


Or is there another way of declaring the displayList() function without
triggering a warning in any of both use-cases?


[Bug c/49748] char * const * cannot be assigned to char const * const *

2011-07-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49748

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-14 
16:44:08 UTC ---
the bug reporting guidelines clearly ask for a complete and self-contained test
case, not several snippets of code which don't form a complete program
http://gcc.gnu.org/bugs/

the warning is correct, see http://c-faq.com/ansi/constmismatch.html


[Bug target/44506] -mtiny-stack causes internal compiler error on gcc for avr

2011-07-14 Thread eric.weddington at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44506

Eric Weddington eric.weddington at atmel dot com changed:

   What|Removed |Added

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

--- Comment #2 from Eric Weddington eric.weddington at atmel dot com 
2011-07-14 16:45:15 UTC ---
(In reply to comment #1)
 I cannot reproduce it with 4.6+.
 
 Maybe it's already fixed by r175048.
 http://gcc.gnu.org/viewcvs?view=revisionrevision=175048

Closing as WORKSFORME. Set milestone to 4.6.1 since revision 175048 is included
in that release.


[Bug tree-optimization/49749] New: Reassociation rank algorithm does not include all non-NULL operands

2011-07-14 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49749

   Summary: Reassociation rank algorithm does not include all
non-NULL operands
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: wschm...@gcc.gnu.org
CC: d...@gcc.gnu.org, richard.guent...@gmail.com,
berg...@gcc.gnu.org, pthau...@gcc.gnu.org,
meiss...@gcc.gnu.org
  Host: powerpc64-linux
Target: powerpc64-linux
 Build: powerpc64-linux


Created attachment 24754
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24754
Excerpt from bwaves showing the problem on r161839 and before

tree-ssa-reassoc.c: get_rank () contains the following code:

  /* Otherwise, find the maximum rank for the operands, or the bb
 rank, whichever is less.   */
  rank = 0;
  maxrank = bb_rank[gimple_bb(stmt)-index];
  if (gimple_assign_single_p (stmt))
{
  tree rhs = gimple_assign_rhs1 (stmt);
  n = TREE_OPERAND_LENGTH (rhs);
  if (n == 0)
rank = MAX (rank, get_rank (rhs));
  else
{
  for (i = 0;
   i  n  TREE_OPERAND (rhs, i)  rank != maxrank; i++)
rank = MAX(rank, get_rank (TREE_OPERAND (rhs, i)));
}
}
  else
{
  n = gimple_num_ops (stmt);
  for (i = 1; i  n  rank != maxrank; i++)
{
  gcc_assert (gimple_op (stmt, i));
  rank = MAX(rank, get_rank (gimple_op (stmt, i)));
}
}


The loop condition: 

   i  n  TREE_OPERAND (rhs, i)  rank != maxrank; i++)

erroneously stops processing operands as soon as a NULL operand is detected. 
As an example, a TARGET_MEM_REF without a symbol operand (operand 0) will be
assigned a rank of zero by that loop.

The condition rank != maxrank in both loops seems to indicate that an
expression should never get a rank larger than its block rank.  I am seeing
cases where the rank is slightly larger; for example, a block rank of 1638400
and an operand rank of 1638404.  If the intent is to limit the value to 1638400
in such a case, this also needs to be fixed.

The existence of this bug has contributed in an odd way to a degradation of the
CPU2006 bwaves benchmark on powerpc64 (affected procedure attached).  In trunk
revision 161840 (7/5/2010), Richard Guenther changed the ivopts code to
generate MEM_REFs in preference to TARGET_MEM_REFs.  Prior to this change, SSA
names from assignments to TARGET_MEM_REFs were given a rank of 1.  Following
this change, SSA names from assignments to MEM_REFs were given a rank of
1638404 (for example), while SSA names from PHI assignments in the same block
were given a rank of 1638400.  Thus, prior to this change, PHI assignments had
higher rank than memory references in the same block, but after this change,
they had lower rank.

Giving preference to the PHI expressions over the memory references provided
better reassociation for the bwaves example.  In particular, prior to 161840 a
prephitmp was reassociated so that copyrename could generate something like

prephitmp.160_552 = D.1095_522 + prephitmp.160_161;

thus making prephitmp.160 independent of other calculations in the loop
iteration.  When the PHI expression was given lowest rank, this did not occur,
causing prephitmp.160 to be dependent upon the result of the previous loop
iteration's calculations.

For powerpc64, we unroll the loop by a factor of 2.  When the two iterations
are independent, FMAs from the two iterations can be interleaved leading to
good performance.  When the two iterations are not independent, we end up with
a stack of linearly dependent FMAs at the end of the loop that chokes the
floating-point unit.

This leads to the question of whether PHIs at the top of a block should
generally be given preference over memory references in the interior of that
block.  It may be that if the PHIs and the memory references have the same
rank, this is exactly what will happen.  That might just be serendipity,
though; thoughts?

I will be experimenting with capping the rank of an expression at the rank of
the containing block, and including all operands in the ranking.  But I am very
interested in thoughts on this problem from those who are familiar with the
reassociator.

Please let me know if you would like further materials to examine.

The bug goes back a long way; the degradation affects us on 4.6 and 4.7.


[Bug target/49541] [4.6/4.7 regression] TLS support partially broken in 64-bit mode

2011-07-14 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49541

--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2011-07-14 17:08:09 UTC ---
 Same here, but the link line starts with:

 /nile.build/botcazou/gcc-head/sparc-sun-solaris2.8/gcc/collect2 -V -Y
 P,/lib/sparcv9:/usr/lib/sparcv9 -Qy -o ./condinc2.exe

 and this apparently overrides it.

Not even that: the libgomp.so RUNPATH is completely ignored by ld, but
only evaluated at runtime by ld.so.1.

The problem is that the testsuite (lib/libgomp.exp) unconditionally
links with -lgomp even for the -fno-openmp testcases.  I'd argue that
this is a testsuite-only problem (pilot error, actually) and can be
worked around by use of dg-add-options tls.

Rainer


[Bug rtl-optimization/11320] [3.3 regression] Scheduler bug

2011-07-14 Thread bernds at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11320

--- Comment #10 from Bernd Schmidt bernds at gcc dot gnu.org 2011-07-14 
17:06:38 UTC ---
Author: bernds
Date: Thu Jul 14 17:06:33 2011
New Revision: 176280

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176280
Log:
PR rtl-optimization/11320
* config/ia64/ia64.md (load_symptr_low): Show a MEM.
* config/ia64/ia64.c (ia64_expand_load_address): Generate it.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/ia64/ia64.c
trunk/gcc/config/ia64/ia64.md


[Bug target/38159] [avr] ICE: gcc.c-torture/execute/pr38051.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions

2011-07-14 Thread eric.weddington at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38159

Eric Weddington eric.weddington at atmel dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 17:15:35
 CC||gjl at gcc dot gnu.org
  Known to work||4.6.2
 Ever Confirmed|0   |1
  Known to fail||4.4.0, 4.7.0

--- Comment #3 from Eric Weddington eric.weddington at atmel dot com 
2011-07-14 17:15:35 UTC ---
Odd, this does not show up as a failure in latest 4.6.2 test results:
http://gcc.gnu.org/ml/gcc-testresults/2011-07/msg01528.html

But, it does show up as a failure in the latest 4.7.0 test results:
http://gcc.gnu.org/ml/gcc-testresults/2011-07/msg01530.html

There it fails for -O[23s] (plus various flags). The error is triggered even if
-finline-functions is not specified.


[Bug tree-optimization/49452] [4.7 regression] comp-goto-2.c regresses in testing

2011-07-14 Thread eraman at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49452

--- Comment #12 from Easwaran Raman eraman at google dot com 2011-07-14 
17:16:06 UTC ---
(In reply to comment #11)
 I have confirmed that the -Os failures began with r175063 and that the tests
 pass for several revision before that and pass for several after, so it's
 unlikely to be an intermittent failure.  If it would help I can send dump 
 files
 for r175063 and the one just before that.

It is possible that the second DSE invocation deletes a necessary store. My
understanding was that it only acts on spilled stores and all my changes are in
the _nospill version, but that seems not to be the case. Could you send me all
the RTL dumps with and without this patch as a tar file? That will be very
useful in narrowing it down.

Thanks,
Easwaran


[Bug other/49665] 'defined in discarded section' link failures on cpu2006 benchmarks

2011-07-14 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49665

Pat Haugen pthaugen at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #7 from Pat Haugen pthaugen at gcc dot gnu.org 2011-07-14 
17:19:10 UTC ---
Yes, if I remove the patch for r174989 then both benchmarks build without
error.


[Bug target/38159] [avr] ICE: gcc.c-torture/execute/pr38051.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions

2011-07-14 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38159

--- Comment #4 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-14 
17:28:07 UTC ---
Must be new artifact, 

r176217 fails and my local 176136 passes.


[Bug target/49541] [4.6/4.7 regression] TLS support partially broken in 64-bit mode

2011-07-14 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49541

--- Comment #9 from Rainer Orth ro at gcc dot gnu.org 2011-07-14 17:37:43 UTC 
---
Created attachment 24755
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24755
proposed 4.6 patch

Here's the 4.6 backport of the sol2.h patch.  Could you please give it a try on
Solaris 8 on bare metal?  I've bootstrapped it without regressions on
sparc-sun-solaris2.8 and i386-pc-solaris2.8.

Thanks.
  Rainer


[Bug c/49748] char * const * cannot be assigned to char const * const *

2011-07-14 Thread gcc at misc dot lka.org.lu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49748

--- Comment #2 from Alain Knaff gcc at misc dot lka.org.lu 2011-07-14 
17:38:59 UTC ---
Created attachment 24756
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24756
Test program for const warning bug

 the warning is correct, see http://c-faq.com/ansi/constmismatch.html

Thanks for this link. This does indeed confirm what I said, in much less words
than I needed. Moreover, it points out that the issue doesn't exist in C++.

However, it doesn't explain why the issue still present in C.

Any insights into this question?

If this is just to keep some paper-pushers happy, maybe we could keep the
current behavior as the default, but have a -W flag to make gcc mimic g++'s
behavior?


[Bug target/49541] [4.6/4.7 regression] TLS support partially broken in 64-bit mode

2011-07-14 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49541

--- Comment #10 from Rainer Orth ro at gcc dot gnu.org 2011-07-14 17:40:06 
UTC ---
Created attachment 24757
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24757
proposed libgomp testsuite patch

Here's the libgomp testsuite part of the patch. It should apply to both
mainline
and 4.6 branch.  I've lightly tested the approach by checking one of the
testcases
on sparc-sun-solaris2.8, but on Solaris 8 bare metal the libgomp testsuite
should
now be failure free.

Thanks.
  Rainer


[Bug tree-optimization/49735] [4.7 Regression] mips64-elf libgcc build fails with apparently infinite recursion.

2011-07-14 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49735

--- Comment #6 from Andrew Pinski pinskia at gcc dot gnu.org 2011-07-14 
18:26:54 UTC ---
(In reply to comment #5)
 It probably papers over a different issue though - even recursive inlining
 should be limited by a --param, but appearantly that is not working here.
 
 Honza?

Oh it is working, just since this is a simple wrapper function (infinite loop
kinda) it is inlinining a lot.


[Bug middle-end/49491] Superfluous move because of unnecessary spill for 2-operand insn

2011-07-14 Thread eric.weddington at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49491

Eric Weddington eric.weddington at atmel dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 18:29:55
 CC||eric.weddington at atmel
   ||dot com
 Ever Confirmed|0   |1
  Known to fail||4.3.3, 4.6.1, 4.7.0

--- Comment #1 from Eric Weddington eric.weddington at atmel dot com 
2011-07-14 18:29:55 UTC ---
Confirmed. Identical failure with gcc 4.3.3 (WinAVR 20100110).


[Bug target/49687] AVR: Missed optimization for widening MUL

2011-07-14 Thread eric.weddington at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49687

--- Comment #2 from Eric Weddington eric.weddington at atmel dot com 
2011-07-14 18:41:56 UTC ---
Created attachment 24758
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24758
Test case results using GCC 4.3.3 (WinAVR 20100110)


[Bug debug/49750] New: -gdwarf-4 bug

2011-07-14 Thread tromey at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49750

   Summary: -gdwarf-4 bug
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: tro...@gcc.gnu.org


Compile this program with '-gdwarf-4':

class C { public: C() { } };

namespace X {
  typedef struct {
C m;
  } t2;

  t2 v;
};


The definition of the constructor for t2 is emitted weirdly.
I see:

 172: Abbrev Number: 21 (DW_TAG_structure_type)
73   DW_AT_declaration : 1
73   DW_AT_sibling : 0x80
 277: Abbrev Number: 22 (DW_TAG_subprogram)
78   DW_AT_name: t2
7b   DW_AT_artificial  : 1
7b   DW_AT_declaration : 1
7b   DW_AT_object_pointer: 0x1b5

... but note that there is no way to associate this with the type 't2'.

If I use plain -g, I see what I would expect: the constructor is a child
of the type 't2':

 179: Abbrev Number: 10 (DW_TAG_structure_type)
7a   DW_AT_specification: 0x5d
7e   DW_AT_byte_size   : 1
7f   DW_AT_decl_file   : 1
80   DW_AT_decl_line   : 4
81   DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2c): N1X2t2E
85   DW_AT_sibling : 0xa7
 289: Abbrev Number: 11 (DW_TAG_member)
8a   DW_AT_name: m
8c   DW_AT_decl_file   : 1
8d   DW_AT_decl_line   : 5
8e   DW_AT_type: 0x31
92   DW_AT_data_member_location: 2 byte block: 23 0
(DW_OP_plus_uconst: 0)
 295: Abbrev Number: 12 (DW_TAG_subprogram)
96   DW_AT_name: t2
99   DW_AT_artificial  : 1
9a   DW_AT_declaration : 1
9b   DW_AT_object_pointer: 0x9f


[Bug target/49687] [4.6 Regression][avr] Missed optimization for widening MUL

2011-07-14 Thread eric.weddington at atmel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49687

Eric Weddington eric.weddington at atmel dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.07.14 18:45:17
Summary|AVR: Missed optimization|[4.6 Regression][avr]
   |for widening MUL|Missed optimization for
   ||widening MUL
 Ever Confirmed|0   |1

--- Comment #3 from Eric Weddington eric.weddington at atmel dot com 
2011-07-14 18:45:17 UTC ---
The test case results using GCC 4.3.3 (WinAVR 20100110) shows that the mul8_126
case is smaller:

.globalmul8_126
.typemul8_126, @function
mul8_126:
/* prologue: function */
/* frame size = 0 */
mov r18,r24 ;  2*movqi/1[length = 1]
ldi r24,lo8(126) ;  6*movqi/2[length = 1]
muls r18,r24 ;  7mulqihi3[length = 3]
movw r18,r0
clr r1
movw r24,r18 ;  32*movhi/1[length = 1]
/* epilogue start */
ret ;  30return[length = 1]
.sizemul8_126, .-mul8_126

So this is a regression wrt to gcc 4.6.1.

The case of mul8_155 shows the identical problem as for gcc 4.6.1.


[Bug c++/49751] New: Incorrect optimization related to smallest int64_t value.

2011-07-14 Thread blaise at suitabletech dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49751

   Summary: Incorrect optimization related to smallest int64_t
value.
   Product: gcc
   Version: 4.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bla...@suitabletech.com


The attached program has different behavior with no optimization, and with -O2.
It appears that in optimized mode, the compiler considers that taking the
negative of a value always yields a negative value. This makes it tricky to
write code that properly handles the largest negative value. 

blaise@bnl: /st/stor1/blaise/temp $ g++ test_overflow.cpp -o test_overflow -O3
 ./test_overflow 
blaise@bnl: /st/stor1/blaise/temp $ g++ test_overflow.cpp -o test_overflow 
./test_overflow 
test_overflow: test_overflow.cpp:13: int main(): Assertion `a  0' failed.
Aborted

blaise@bnl: /st/stor1/blaise/texas-plumbing/stacks/texas_videoconf/build $ g++
-v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls
--enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
--disable-werror --with-arch-32=i486 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)


[Bug c++/49751] Incorrect optimization related to smallest int64_t value.

2011-07-14 Thread blaise at suitabletech dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49751

--- Comment #1 from Blaies Gassend blaise at suitabletech dot com 2011-07-14 
18:49:59 UTC ---
Created attachment 24759
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24759
The sample program that fails.


[Bug tree-optimization/49749] Reassociation rank algorithm does not include all non-NULL operands

2011-07-14 Thread wschmidt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49749

--- Comment #1 from William J. Schmidt wschmidt at gcc dot gnu.org 2011-07-14 
19:22:08 UTC ---
Created attachment 24760
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24760
Gimple prior to reassoc2


  1   2   >