[Bug rtl-optimization/49034] ARM optimizer generating incorrect code (causing bad pointer dereference)

2011-05-23 Thread michaelatnavman at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49034

--- Comment #2 from Michael Brown michaelatnavman at gmail dot com 2011-05-23 
06:38:35 UTC ---
Based on previous experiences, it'll be at least a couple of weeks to bring up
a similarly configured (cross-compiling darwin-x86 - arm-eabi) FSF toolchain.

The command line is (paths and project-specific defines removed for clarity,
but otherwise unchanged):
arm-linux-androideabi-g++ -MMD -MP -MF foo.o.d.org -fpic -ffunction-sections
-funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__
-D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi -march=armv5te -mtune=xscale
-msoft-float -fno-exceptions -fno-rtti -mthumb -Os -fomit-frame-pointer
-fno-strict-aliasing -finline-limit=64 -Wa,--noexecstack -fexceptions -frtti
-O2 -DNDEBUG -g -fexceptions -frtti -c foo.cpp -o foo.o

Yes, it's asking for no exceptions and no RTTI, and also for them to be
enabled. The wondrous inflexibilities of the android NDK ...

Preprocessed output is several MB, and I'm probably not allowed to post it
anyhow. Given how sensitive the bug is to surrounding code (changing only
peripherally related code causes the bug to vanish) it'll probably take another
couple of weeks (after getting the toolchain going) to get a decent test case
going.

As mentioned in the initial report, I don't really expect this to be fixed.
It's just to let people who are seeing bizarre or impossible SIGSEGV
exceptions a hint as to where to look. Given:
(a) the amount of work required to get a satisfactory bug report together is
large, and
(b) a workaround exists (turn off optimization), and
(b) no-one else seems to have run into this, and
(c) the bug is in a GCC version that was released two years ago, and
(d) the likelihood that due to the sensitivity of the bug to the surrounding
code, other unrelated changes in GCC will result in the test case failing to
tickle the bug in later versions even if the bug still being present,
it ends up on the pile of things that get worked on in the evenings when I have
time. Hence why it'll probably be a month if not longer before I can get a
useful test case together.


[Bug middle-end/45098] Missed induction variable optimization

2011-05-23 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #10 from vries at gcc dot gnu.org 2011-05-23 07:00:07 UTC ---
Author: vries
Date: Mon May 23 07:00:02 2011
New Revision: 174055

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174055
Log:
2011-05-23  Tom de Vries  t...@codesourcery.com

PR target/45098
* gcc.target/arm/ivopts-6.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/ivopts-6.c
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot
   ||gnu.org

--- Comment #12 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-05-23 
06:44:36 UTC ---
 On the next iteration, insn 433 has been deleted but regs_live at
 the start of bb 16 is still the same as before:

I think that it shouldn't be deleted, see the head comment of update_block.


[Bug fortran/49103] [4.6/4.7 Regression] local variables exchange values / wrong code with -O3

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

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
07:35:48 UTC ---
Ugh, the problem is that first cunrolli unrolls the loop, so we get among other
things parm.9 initialized for printing fgrades_35, then
_gfortran_transfer_array_write from parm.9, then parm.11 initialized for
printing fbasegrades_19, then _gfortran_transfer_array_write from parm.11, then
again parm.9 initialized to the same values again,
_gfortran_transfer_array_write from it, parm.11 to the same values and
_gfortran_transfer_array_write from it.
Additionally, _gfortran_transfer_array_write uses .wr fn spec attribute.
Next comes fre (2nd), which sees the .wr fn spec and removes the second
identical initialization of parm.9 and parm.11, so parm.9 is no longer live in
two separate ranges, but also across the parm.11 initialization and
_gfortran_transfer_array_write call from it.  And during expansion, we figure
out that parm.9 and parm.11 are in different, non-overlapping blocks and thus
decide to share the stack slot for both.

Appart from the .wr fn spec attribute I think there is nothing fortran
specific and with
struct S { largish struct };
for (int i = 0; i  2; i++)
  {
{
  struct S a;
  initialize a;
  use a;
}
{
  struct S b;
  initialize b;
  use b;
}
  }
we could achieve similar effect (though, if e.g. use is a pure function, the
second call would be deleted).  So, I'm not convinced reverting my patch is the
right fix.  Not sure how to allow expansion to notice that unrolling made it
impossible to share the stack slots though.  Ideas?


[Bug c++/49118] Endless operator- chain causes infinite loop

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

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-05-23 
07:44:01 UTC ---
For the record, ICC (EDG that is) misbehaves the same way, at least the
versions to which I have access. Maybe clang does something different?


[Bug middle-end/45098] Missed induction variable optimization

2011-05-23 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #11 from vries at gcc dot gnu.org 2011-05-23 07:28:03 UTC ---
Author: vries
Date: Mon May 23 07:27:59 2011
New Revision: 174056

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174056
Log:
2011-05-23  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
function.
(infer_loop_bounds_from_undefined): Use new function.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-niter.c


[Bug c/49119] PowerPC: Wrong code with designated initializers and bit fields

2011-05-23 Thread sebastian.hu...@embedded-brains.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119

--- Comment #1 from Sebastian Huber sebastian.hu...@embedded-brains.de 
2011-05-23 08:00:49 UTC ---
Created attachment 24334
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24334
C source code corresponding to the assembler code.


[Bug c/49119] New: PowerPC: Wrong code with designated initializers and bit fields

2011-05-23 Thread sebastian.hu...@embedded-brains.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49119

   Summary: PowerPC: Wrong code with designated initializers and
bit fields
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: sebastian.hu...@embedded-brains.de
Target: powerpc-rtems4.11-gcc


With GCC 4.6.1 20110513 for PowerPC with -O2 I get this:

Disassembly of section .text:

 wrong_code:
   0:   38 00 00 00 li  r0,0   - This is wrong
   4:   7c 10 9b a6 mtspr   624,r0 -
   8:   3d 20 00 00 lis r9,0
   c:   80 09 00 04 lwz r0,4(r9)
  10:   7c 11 9b a6 mtspr   625,r0
  14:   3d 20 00 00 lis r9,0
  18:   80 09 00 08 lwz r0,8(r9)
  1c:   7c 12 9b a6 mtspr   626,r0
  20:   3d 20 00 00 lis r9,0
  24:   80 09 00 0c lwz r0,12(r9)
  28:   7c 13 9b a6 mtspr   627,r0
  2c:   7c 00 07 a4 tlbld   r0
  30:   4e 80 00 20 blr

0034 valid_code:
  34:   3c 00 10 05 lis r0,4101 - This is valid
  38:   7c 10 9b a6 mtspr   624,r0  -
  3c:   3d 20 00 00 lis r9,0
  40:   80 09 00 1c lwz r0,28(r9)
  44:   7c 11 9b a6 mtspr   625,r0
  48:   3d 20 00 00 lis r9,0
  4c:   80 09 00 20 lwz r0,32(r9)
  50:   7c 12 9b a6 mtspr   626,r0
  54:   3d 20 00 00 lis r9,0
  58:   80 09 00 24 lwz r0,36(r9)
  5c:   7c 13 9b a6 mtspr   627,r0
  60:   7c 00 07 a4 tlbld   r0
  64:   4e 80 00 20 blr

Disassembly of section .rodata:

 mmu_setup_wrong:
   0:   10 05 00 00
   4:   c0 00 01 00
   8:   3f ff 80 0a
   c:   3f ff 80 0f
...

0018 mmu_setup_valid:
  18:   10 05 00 00
  1c:   c0 00 01 00
  20:   3f ff 80 0a
  24:   3f ff 80 0f

The designated initializer
  .MAS0 = { .B = { .TLBSEL = 1, .ESEL = 5 } },
leads to wrong code.  On the other hand
  .MAS0 = { .R = 0x1005 },
leads to valid code.


[Bug c++/18016] Warn about member variables initialized with itself

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

--- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org 2011-05-23 
08:15:24 UTC ---
Author: redi
Date: Mon May 23 08:15:16 2011
New Revision: 174058

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174058
Log:
2011-05-23  Jonathan Wakely  jwakely@gmail.com

PR c++/18016
* init.c (perform_member_init): Check for self-initialization.

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


[Bug c++/18016] Warn about member variables initialized with itself

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #13 from Jonathan Wakely redi at gcc dot gnu.org 2011-05-23 
08:19:38 UTC ---
fixed for 4.7.0


[Bug c++/49118] Endless operator- chain causes infinite loop

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

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-05-23 
08:22:00 UTC ---
nope, same behaviour for clang 2.8


[Bug c++/49021] [4.6 regression] BOOST_FOREACH over vector segfaults at runtime

2011-05-23 Thread mimomorin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49021

Michel MORIN mimomorin at gmail dot com changed:

   What|Removed |Added

 CC||mimomorin at gmail dot com

--- Comment #13 from Michel MORIN mimomorin at gmail dot com 2011-05-23 
09:04:14 UTC ---
(In reply to comment #12)
 This is a bug in BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION.

This was already fixed in boost/trunk, 
and the fix will be released in Boost.1.47. 

For details, please see the following ticket:
[Foreach] Compile-time const rvalue detection fails with gcc 4.6
https://svn.boost.org/trac/boost/ticket/5279


[Bug tree-optimization/49000] [4.6/4.7 Regression] ICE: verify_ssa failed with -O2 -g

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
09:24:02 UTC ---
Fixed.


[Bug middle-end/48973] [4.3/4.4/4.5/4.6/4.7 Regression] Inliner bug with one-bit (1-bit) bitfield

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

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
09:36:09 UTC ---
Author: jakub
Date: Mon May 23 09:36:05 2011
New Revision: 174060

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174060
Log:
PR middle-end/48973
* expr.c (expand_expr_real_2) case LT_EXPR: If do_store_flag
failed and the comparison has a single bit signed type, use
constm1_rtx instead of const1_rtx for true value.
(do_store_flag): If ops-type is single bit signed type, disable
signel bit test optimization and pass -1 instead of 1 as last
parameter to emit_store_flag_force.

* gcc.c-torture/execute/pr48973-1.c: New test.
* gcc.c-torture/execute/pr48973-2.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c
trunk/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/47359] Recursive functions of intrinsic names generates invalid assembler

2011-05-23 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47359

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.23 09:58:19
 Ever Confirmed|0   |1

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-05-23 
09:58:19 UTC ---
The test in comment #1 is still nt working at revision 174047.


[Bug middle-end/48973] [4.3/4.4/4.5/4.6/4.7 Regression] Inliner bug with one-bit (1-bit) bitfield

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

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
10:24:50 UTC ---
Author: jakub
Date: Mon May 23 10:24:47 2011
New Revision: 174063

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174063
Log:
PR middle-end/48973
* expr.c (expand_expr_real_2) case LT_EXPR: If do_store_flag
failed and the comparison has a single bit signed type, use
constm1_rtx instead of const1_rtx for true value.
(do_store_flag): If ops-type is single bit signed type, disable
signel bit test optimization and pass -1 instead of 1 as last
parameter to emit_store_flag_force.

* gcc.c-torture/execute/pr48973-1.c: New test.
* gcc.c-torture/execute/pr48973-2.c: New test.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c
branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/expr.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug c/49120] New: bogus value computed is not used warning (variable-length array in compound statement)

2011-05-23 Thread kari.nurmela at stonesoft dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49120

   Summary: bogus value computed is not used warning
(variable-length array in compound statement)
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: kari.nurm...@stonesoft.com


When declaring a variable-length array in the beginning of a compound
statement, so that the length expression contains at least one operator,
the warning value computed is not used is incorrectly given for the computed
length of the array (with -Wall). For example:

~$ cat kok1.c
int main(void)
{
int foo = 1;
({
char bar[foo + 1]; /*  */
bar[0] = 0;
});
return 0;
}
~$ gcc-4.5 -Wall kok1.c -o kok1
kok1.c: In function ‘main’:
kok1.c:5:22: warning: value computed is not used
~$ gcc-4.5 --version
gcc-4.5 (Ubuntu/Linaro 4.5.1-7ubuntu2) 4.5.1
...

If the compound statement is replaced with a block in this example, the warning
goes away:

~$ cat kok2.c
int main(void)
{
int foo = 1;
{
char bar[foo + 1];
bar[0] = 0;
}
return 0;
}
~$ gcc-4.5 -Wall kok2.c -o kok2
~$

In gcc 4.4 the bogus warning does not appear:

~$ gcc-4.4 -Wall kok1.c -o kok1
~$ gcc-4.4 --version
gcc-4.4 (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
...


[Bug libfortran/49024] REAL*16 ERFC_SCALED inaccuracy

2011-05-23 Thread fxcoudert at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49024

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.23 10:34:35
 CC||fxcoudert at gcc dot
   ||gnu.org
 AssignedTo|unassigned at gcc dot   |fxcoudert at gcc dot
   |gnu.org |gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org 
2011-05-23 10:34:35 UTC ---
I'll take that one, thanks for the report.


[Bug middle-end/48973] [4.3/4.4/4.5 Regression] Inliner bug with one-bit (1-bit) bitfield

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.6.1, 4.7.0
Summary|[4.3/4.4/4.5/4.6/4.7|[4.3/4.4/4.5 Regression]
   |Regression] Inliner bug |Inliner bug with one-bit
   |with one-bit (1-bit)|(1-bit) bitfield
   |bitfield|
  Known to fail|4.7.0   |

--- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
10:46:55 UTC ---
Fixed for 4.6+ so far.


[Bug c++/49118] Endless operator- chain causes infinite loop

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.23 10:58:00
 Ever Confirmed|0   |1

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
10:58:00 UTC ---
Confirmed at least.


[Bug c/49120] [4.5/4.6/4.7 Regression] bogus value computed is not used warning (variable-length array in compound statement)

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Known to work||4.4.5
   Keywords||diagnostic
   Last reconfirmed||2011.05.23 10:54:25
 Ever Confirmed|0   |1
Summary|bogus value computed is|[4.5/4.6/4.7 Regression]
   |not used warning   |bogus value computed is
   |(variable-length array in   |not used warning
   |compound statement) |(variable-length array in
   ||compound statement)
   Target Milestone|--- |4.5.4
  Known to fail||4.5.3, 4.6.0

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
10:54:25 UTC ---
Confirmed.


[Bug tree-optimization/49121] New: [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c scan-tree-dump-times ivopts Replacing 0

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

   Summary: [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c
scan-tree-dump-times ivopts Replacing 0
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
Target: x86_64-*-*


The test fails on x86_64-*-* at least.  That's possibly wrong-code.


[Bug c/49120] [4.5/4.6/4.7 Regression] bogus value computed is not used warning (variable-length array in compound statement)

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
11:39:10 UTC ---
http://gcc.gnu.org/viewcvs?root=gccview=revrev=145254


[Bug tree-optimization/49121] [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c scan-tree-dump-times ivopts Replacing 0

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/15419] memcpy pessimization

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

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
12:03:21 UTC ---
Author: rguenth
Date: Mon May 23 12:03:19 2011
New Revision: 174065

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174065
Log:
2011-05-23  Richard Guenther  rguent...@suse.de

PR middle-end/15419
* builtins.c (fold_builtin_memory_op): Be less restrictive about
what pointer types we accept for folding.

* gcc.dg/memcpy-3.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/memcpy-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/49115] [4.5/4.6 Regression] invalid return value optimization (?) when exception is thrown and caught

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.4.5, 4.7.0
   Target Milestone|--- |4.5.4
Summary|invalid return value|[4.5/4.6 Regression]
   |optimization (?) when   |invalid return value
   |exception is thrown and |optimization (?) when
   |caught  |exception is thrown and
   ||caught
  Known to fail|4.7.0   |4.5.3, 4.6.0

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
12:11:14 UTC ---
Fixed on trunk sofar.  Works with 4.4.


[Bug tree-optimization/49115] invalid return value optimization (?) when exception is thrown and caught

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

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
12:08:45 UTC ---
Author: rguenth
Date: Mon May 23 12:08:41 2011
New Revision: 174066

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174066
Log:
2011-05-23  Richard Guenther  rguent...@suse.de

PR tree-optimization/49115
* tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
is not necessarily carried out, do not claim it kills the ref.
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.

* g++.dg/torture/pr49115.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr49115.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-alias.c
trunk/gcc/tree-ssa-dce.c


[Bug rtl-optimization/49080] Wrong register allocation for even register

2011-05-23 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49080

Andreas Schwab sch...@linux-m68k.org changed:

   What|Removed |Added

 Resolution|FIXED   |INVALID

--- Comment #4 from Andreas Schwab sch...@linux-m68k.org 2011-05-23 12:45:31 
UTC ---
Which means that this is actually invalid.


[Bug tree-optimization/15419] memcpy pessimization

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
12:09:36 UTC ---
Fixed for 4.7.


[Bug c++/49122] New: [C++0x] initializer_list is broken

2011-05-23 Thread sscrisk at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49122

   Summary: [C++0x] initializer_list is broken
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: sscr...@gmail.com


The initializer_list object returned to function is broken.
See the next code:

#includeinitializer_list
#includeiostream

std::initializer_listint f(int a, int b)
{
 return {a, b};
}

int main()
{
 std::initializer_listint list = f(0, 1);
 for(int i: list)
  std::cout  i  std::endl;
}


Output result (example) is

2293416
2293636


It's a strange result.
Output should be

0
1


I tried use compiler version 4.6.0 Release and 4.7.0 20110521 (experimental)


[Bug c/49120] [4.5/4.6/4.7 Regression] bogus value computed is not used warning (variable-length array in compound statement)

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

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 #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
12:31:25 UTC ---
Created attachment 24335
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24335
gcc46-pr49120.patch

Untested fix.


[Bug lto/49123] New: [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

   Summary: [4.6 Regression] FAIL:
gcc.c-torture/execute/pr48973-[12].c
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


On Linux/x86, revision 174063 gave:

FAIL: gcc.c-torture/execute/pr48973-1.c execution,  -O2 -flto
FAIL: gcc.c-torture/execute/pr48973-1.c execution,  -O2 -flto
FAIL: gcc.c-torture/execute/pr48973-1.c execution,  -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/pr48973-1.c execution,  -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/pr48973-2.c execution,  -O2 -flto
FAIL: gcc.c-torture/execute/pr48973-2.c execution,  -O2 -flto
FAIL: gcc.c-torture/execute/pr48973-2.c execution,  -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/pr48973-2.c execution,  -O2 -flto
-flto-partition=none

revision 174054 is OK.


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
13:14:58 UTC ---
Also aborts w/o LTO but with -fwhole-program.


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.23 13:17:55
   Target Milestone|--- |4.6.1
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
13:17:55 UTC ---
Confirmed.  FRE does

 bb 2:
   s.f = 1;
-  D.2698_4 = s.f;
-  D.2699_5 = (unsigned int) D.2698_4;
-  if (D.2699_5 != 4294967295)
-goto bb 3;
-  else
-goto bb 4;
-
-bb 3:
+  D.2698_4 = 1;
+  D.2699_5 = 1;

so it fails to properly sign-extend D.2698_4.


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
13:22:12 UTC ---
The 1 is non-canonical:

(gdb) call debug_tree ($1)
 integer_cst 0x75b25eb0 type integer_type 0x75b29540 constant 1
(gdb) call debug_tree (0x75b29540)
 integer_type 0x75b29540 public QI
size integer_cst 0x77e734d8 type integer_type 0x77e860a8
bit_size_type constant 8
unit size integer_cst 0x77e73500 type integer_type 0x77e86000
long unsigned int constant 1
align 8 symtab 0 alias set -1 canonical type 0x75b29540 precision 1 min
integer_cst 0x75b25690 -1 max integer_cst 0x75b256b8 0
(gdb) p $1-int_cst.
common   int_cst  
(gdb) p $1-int_cst.int_cst 
$2 = {low = 1, high = 0}

built via build_int_cst, fixed on trunk by properly making that produce
canonical constants.


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
13:30:21 UTC ---
Wonder if I'm not seeing it because my ld doesn't support plugins...


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
13:25:03 UTC ---
A less intrusive variant of the patch might be suitable for backporting
(it doesn't touch the NULL type argument path) and fixes the testcase for me.

Index: gcc/tree.c
===
--- gcc/tree.c  (revision 174066)
+++ gcc/tree.c  (working copy)
@@ -1034,9 +1034,9 @@ build_int_cst (tree type, HOST_WIDE_INT
 {
   /* Support legacy code.  */
   if (!type)
-type = integer_type_node;
+return build_int_cst_wide (integer_type_node, low, low  0 ? -1 : 0);

-  return build_int_cst_wide (type, low, low  0 ? -1 : 0);
+  return double_int_to_tree (type, shwi_to_double_int (low));
 }

 /* Create an INT_CST node with a LOW value in TYPE.  The value is sign
extended


[Bug middle-end/49124] New: [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c

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

   Summary: [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: t...@codesourcery.com


On Linux/x86-64, revision 174056:

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

caused:

FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c scan-tree-dump-times ivopts Replacing 0


[Bug libstdc++/41495] libstdc++ --enable-clocale=ieee_1003.1-2001 fails

2011-05-23 Thread alasdairrr at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41495

--- Comment #8 from Alasdair Lumsden alasdairrr at gmail dot com 2011-05-23 
13:44:16 UTC ---
Hi Jonathan,

(In reply to comment #7)
 Does OpenIndiana support the new POSIX.1-2008 APIs, e.g. wctype_l and
 towupper_l?

Not at present, however Garrett D'Amore has expressed interest in adding
support:

illumos doesn't have the POSIX 2008 locale APIs.  I've considered adding
them... it would not be too difficult, although we would need to eliminate some
process global state ... are there applications that consume these?  If there
are, then its worth the time and effort.

Do you know if there are many apps using these APIs? If so I'll respond back to
him and see if we can get the ball rolling.

 If noone else does it I hope to get time to work on fixing the problems in the
 current code, but it's not a high priority for me.

Would a financial incentive help? My company may be interested in funding this
to speed up the work.

 I think a better long term plan is to write a new locale model based on the
 POSIX 2008 API, as that could be common to more platforms and would provide
 thread-safety and the other advantages of the GNU/Linux code.

Would this be a significant volume of work?

Cheers,

Alasdair


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.6.1   |---

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
13:36:00 UTC ---
(In reply to comment #4)
 A less intrusive variant of the patch might be suitable for backporting
 (it doesn't touch the NULL type argument path) and fixes the testcase for me.
 
 Index: gcc/tree.c
 ===
 --- gcc/tree.c  (revision 174066)
 +++ gcc/tree.c  (working copy)
 @@ -1034,9 +1034,9 @@ build_int_cst (tree type, HOST_WIDE_INT
  {
/* Support legacy code.  */
if (!type)
 -type = integer_type_node;
 +return build_int_cst_wide (integer_type_node, low, low  0 ? -1 : 0);
 
 -  return build_int_cst_wide (type, low, low  0 ? -1 : 0);
 +  return double_int_to_tree (type, shwi_to_double_int (low));
  }
 
  /* Create an INT_CST node with a LOW value in TYPE.  The value is sign
 extended

Alternatively you could call build_int_cst_type instead of build_int_cst in the
spot where FRE? calls it.  Guess that would be even safer to backport.


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
13:56:49 UTC ---
That would be

Index: gcc/fold-const.c
===
--- gcc/fold-const.c(revision 174066)
+++ gcc/fold-const.c(working copy)
@@ -5954,7 +5954,7 @@ constant_boolean_node (int value, tree t
   else if (type == boolean_type_node)
 return value ? boolean_true_node : boolean_false_node;
   else
-return build_int_cst (type, value);
+return build_int_cst_type (type, value);
 }


which works for me as well.


[Bug middle-end/49124] [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c

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

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-05-23 
14:08:40 UTC ---
.

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


[Bug tree-optimization/49121] [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c scan-tree-dump-times ivopts Replacing 0

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
14:08:40 UTC ---
*** Bug 49124 has been marked as a duplicate of this bug. ***


[Bug tree-optimization/40874] Function object abstraction penalty with inline functions.

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #15 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
14:33:11 UTC ---
Works on trunk (but not during early inlining).  From early inlining we now get

bb 2:
  f.x = g;
  D.2126_6 = f.x;
  D.2127_7 = D.2126_6 (3);

and early FRE turns that into a direct call:

  f$x_8 = g;
  D.2126_6 = f$x_8;
  D.2125_7 = g (3);

which is then inlined by IPA inlining:

int main(int, char**) (int argc, char * * argv)
{
bb 2:
  return 0;

}

Fixed.


[Bug c++/49122] [C++0x] initializer_list is broken

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-05-23 
14:19:40 UTC ---
If we *really* have to use the word broken here, it much better applies to your
snippet, not the implementation of std::initializer_list: an initializer_list
is essentially just a pointer (+ a length) into something else (open the header
and you will see it): thus, f is returning a pointer to the {a, b} which by
itself goes away when f returns. Anything can happen. Compare:

std::initializer_listint f(int a, int b)
{
  static auto range = {a, b};
  return range;
}

...


[Bug c/49125] New: [avr-gcc] internal compiler error: in build_unary_op, at c-typeck.c:3786

2011-05-23 Thread ddavenport at walchem dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49125

   Summary: [avr-gcc] internal compiler error: in build_unary_op,
at c-typeck.c:3786
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ddavenp...@walchem.com


Created attachment 24336
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24336
The preprocessed file that fails.

While compiling avr-libc, the following error message was generated:

dtostre.c: In function 'dtostre':
dtostre.c:63:2: internal compiler error: in build_unary_op, at c-typeck.c:3786
Please submit a full bug report,


The command line and output with -v -save-temps added: 

avr-gcc -v -save-temps -DHAVE_CONFIG_H -g -Wall -W -Wstrict-prototypes
-mmcu=avr2  -D__COMPILING_AVR_LIBC__ -mcall-prologues -Os  -MT dtostre.o -MD
-MP -MF -c -o dtostre.o dtostre.c -I../../include -I../../common
Using built-in specs.
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/avr/4.6.0/lto-wrapper
Target: avr
Configured with: ../configure --target=avr --enable-languages=c,c++
--disable-nls --disable-libssp
Thread model: single
gcc version 4.6.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-D' 'HAVE_CONFIG_H' '-g' '-Wall'
'-Wextra' '-Wstrict-prototypes' '-mmcu=avr2' '-D' '__COMPILING_AVR_LIBC__'
'-mcall-prologues' '-Os' '-MT' 'dtostre.o' '-MD' '-MP' '-MF' '-c' '-o'
'dtostre.o' '-I' '../../include' '-I' '../../common'
 /usr/local/libexec/gcc/avr/4.6.0/cc1 -E -quiet -v -I ../../include -I
../../common -MD dtostre.d -MF -c -MP -MT dtostre.o -D HAVE_CONFIG_H -D
__COMPILING_AVR_LIBC__ dtostre.c -mmcu=avr2 -mcall-prologues -Wall -Wextra
-Wstrict-prototypes -g -fworking-directory -Os -fpch-preprocess -o dtostre.i
ignoring nonexistent directory
/usr/local/lib/gcc/avr/4.6.0/../../../../avr/sys-include
ignoring nonexistent directory
/usr/local/lib/gcc/avr/4.6.0/../../../../avr/include
#include ... search starts here:
#include ... search starts here:
 ../../include
 ../../common
 /usr/local/lib/gcc/avr/4.6.0/include
 /usr/local/lib/gcc/avr/4.6.0/include-fixed
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-D' 'HAVE_CONFIG_H' '-g' '-Wall'
'-Wextra' '-Wstrict-prototypes' '-mmcu=avr2' '-D' '__COMPILING_AVR_LIBC__'
'-mcall-prologues' '-Os' '-MT' 'dtostre.o' '-MD' '-MP' '-MF' '-c' '-o'
'dtostre.o' '-I' '../../include' '-I' '../../common'
 /usr/local/libexec/gcc/avr/4.6.0/cc1 -fpreprocessed dtostre.i -quiet -dumpbase
dtostre.c -mmcu=avr2 -mcall-prologues -auxbase dtostre -g -Os -Wall -Wextra
-Wstrict-prototypes -version -o dtostre.s
GNU C (GCC) version 4.6.0 (avr)
compiled by GNU C version 4.2.1 (Apple Inc. build 5664), GMP version 4.3.2,
MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.6.0 (avr)
compiled by GNU C version 4.2.1 (Apple Inc. build 5664), GMP version 4.3.2,
MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: b184bfbe78c726ac0be514e297f61b46
dtostre.c: In function 'dtostre':
dtostre.c:63:2: internal compiler error: in build_unary_op, at c-typeck.c:3786
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

*** end of compiler output ***

The above command was simplified from the original command line as created by
the makefile. I removed a few redundant -I parameters, and added the -v
-save-temps for this report. The above command generates the same error message
as originally spotted while building the library.

avr-gcc build configuration parameters:

Using built-in specs.
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/avr/4.6.0/lto-wrapper
Target: avr
Configured with: ../configure --target=avr --enable-languages=c,c++
--disable-nls --disable-libssp
Thread model: single
gcc version 4.6.0 (GCC) 

This is running on OSX 10.6.6 (i686-apple-darwin10.6.0).

The expected behavior is to compile without error, or at least without an
internal compiler error. As the code in question is not code I wrote, I can not
vouch for it being bug free. However, I did review the code file and did not
notice a issue with the line in question of the variables used at or near that
line.


[Bug tree-optimization/40874] Function object abstraction penalty with inline functions.

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

--- Comment #16 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
14:36:33 UTC ---
Author: rguenth
Date: Mon May 23 14:36:28 2011
New Revision: 174068

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174068
Log:
2011-05-23  Richard Guenther  rguent...@suse.de

PR tree-optimization/40874
* g++.dg/tree-ssa/pr40874.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/tree-ssa/pr40874.C
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/49121] [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c scan-tree-dump-times ivopts Replacing 0

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

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.23 14:34:51
 Ever Confirmed|0   |1

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-05-23 14:34:51 
UTC ---
It is caused by revision 174056:

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


[Bug lto/49123] [4.6 Regression] FAIL: gcc.c-torture/execute/pr48973-[12].c

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

--- Comment #8 from H.J. Lu hjl.tools at gmail dot com 2011-05-23 14:36:44 
UTC ---
(In reply to comment #5)
 Wonder if I'm not seeing it because my ld doesn't support plugins...

That is true.


[Bug tree-optimization/41320] XFAIL gcc.dg/tree-ssa/forwprop-12.c

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

Summary|XFAIL   |XFAIL
   |gcc.dg/tree-ssa/forwprop-1[ |gcc.dg/tree-ssa/forwprop-12
   |12].c   |.c

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
14:52:58 UTC ---
gcc.dg/tree-ssa/forwprop-12.c remains on trunk.


[Bug c++/49126] New: timevar_stack faild because define_label

2011-05-23 Thread zgss278 at 163 dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49126

   Summary: timevar_stack faild because define_label
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zgss...@163.com


when source code like this,I think there is a bug:
int f()
{
goto cleanup:
}
then compiler will go along this path:
|tree poplevel (int keep, int reverse, int functionbody)
--timevar_start (TV_NAME_LOOKUP);xxx
--
-- pop_labels (block);
|static void pop_labels (tree block)
 htab_traverse (named_labels, pop_labels_1, block);
|static int pop_labels_1 (void **slot, void *data)
--pop_label (ent-label_decl, NULL_TREE);
|static void pop_label (tree label, tree old_value)
 define_label (location, DECL_NAME (label));
|tree define_label (location_t location, tree name)
-- timevar_start (TV_NAME_LOOKUP);x
so at last in:
|void timevar_start (timevar_id_t timevar)
--  gcc_assert (!tv-standalone);
failed!


[Bug middle-end/41043] [4.4 Regression] virtual memory exhausted: Cannot allocate memory

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #14 from Richard Guenther rguenth at gcc dot gnu.org 2011-05-23 
14:39:36 UTC ---
Probably not a very good idea for backporting this late.


[Bug tree-optimization/49121] [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c scan-tree-dump-times ivopts Replacing 0

2011-05-23 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49121

vries at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |UNCONFIRMED
 CC||vries at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |vries at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|1   |0


[Bug rtl-optimization/49127] New: -Os generates constant mov instead of instruction xor and mov when zeroing

2011-05-23 Thread msharov at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49127

   Summary: -Os generates constant mov instead of instruction xor
and mov when zeroing
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: msha...@users.sourceforge.net


void zero (void* p) { *reinterpret_castulong*(p) = 0; }

Generates:

48 c7 07 00 00 00 00movq   $0x0,(%rdi)

This is shorter by 2 bytes:

31 c0   xor%eax,%eax
48 89 07mov%rax,(%rdi)

And can be reused in further assignments of zero for more savings:

31 c0   xor%eax,%eax
48 89 07mov%rax,(%rdi)
48 89 47 04 mov%rax,0x4(%rdi)


[Bug c++/48617] [C++0x] Problem with non-type template parameters and decltype

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

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org 2011-05-23 
15:32:13 UTC ---
Author: jason
Date: Mon May 23 15:32:10 2011
New Revision: 174070

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174070
Log:
PR c++/48617
* pt.c (invalid_nontype_parm_type_p): Allow DECLTYPE_TYPE.

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


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

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

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-05-23 
15:32:34 UTC ---
Author: jason
Date: Mon May 23 15:32:29 2011
New Revision: 174072

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174072
Log:
PR c++/47336
* error.c (dump_template_bindings): Suppress access control.

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


[Bug c++/47544] [C++0x] linker does not find =default constructor for explicitly instantiated template

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

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org 2011-05-23 
15:32:23 UTC ---
Author: jason
Date: Mon May 23 15:32:19 2011
New Revision: 174071

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174071
Log:
PR c++/47544
* pt.c (instantiate_decl): Handle =default.

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


[Bug libstdc++/49058] [C++0x] Bind no-arguments functor failed using std::bind with -pedantic option.

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

--- Comment #21 from Jason Merrill jason at gcc dot gnu.org 2011-05-23 
15:32:42 UTC ---
Author: jason
Date: Mon May 23 15:32:39 2011
New Revision: 174073

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174073
Log:
PR c++/49058
* call.c (splice_viable): Be strict in templates.

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


[Bug c++/2288] Variable declared in for-loop-header is in wrong scope

2011-05-23 Thread bergner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2288

--- Comment #19 from Peter Bergner bergner at gcc dot gnu.org 2011-05-23 
15:38:11 UTC ---
I applied Janis' patch (modulo a small fixup due to upstream changes) to
current mainline and did a bootstrap and regtest.  We bootstrap fine,
unfortunately the patch no longer fixes the new added test case
(g++.dg/parse/pr18770.C) and the modified test case
(g++.old-deja/g++.jason/cond.C) also fails.  I'm not really a C++ expert, so
I'm not sure what to do here.


[Bug libstdc++/48811] error in compiling libstdc++ with -std=gnu++0x

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2011-05-23 
15:48:46 UTC ---
Jason committed to mainline a tweak which avoids the compilation error. Note,
however, that building the whole set of *.cc files with -std=gnu++0x is still
unsupported and experimental, may work, may not work, you are on your own.


[Bug c++/47335] [C++0x] sorry, unimplemented: mangling overload

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

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 CC||lenx99 at yahoo dot com.cn

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-05-23 
15:46:49 UTC ---
*** Bug 49044 has been marked as a duplicate of this bug. ***


[Bug c++/47263] [C++0x] lambda + dynamic-exception-specification std::unexpected() is not called.

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

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org 2011-05-23 
15:48:49 UTC ---
Author: jason
Date: Mon May 23 15:48:37 2011
New Revision: 174076

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174076
Log:
PR c++/47263
* decl.c (use_eh_spec_block): Do use an EH spec block for a
lambda op().

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

--- Comment #14 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 
15:57:49 UTC ---
This is how insn 433 is deleted:

Breakpoint 14, delete_insn (insn=0x1ba9c60) at ../../gcc/gcc/cfgrtl.c:110
110  rtx next = NEXT_INSN (insn);
(gdb) bt
#0  delete_insn (insn=0x1ba9c60) at ../../gcc/gcc/cfgrtl.c:110
#1  0x002775b7 in delete_related_insns (insn=0x1ba9c60) at
../../gcc/gcc/jump.c:1137
#2  0x0027789a in delete_related_insns (insn=0x1ba1390) at
../../gcc/gcc/jump.c:1228
#3  0x00277e42 in redirect_jump_2 (jump=0x1ba9cc0, olabel=0x1ba1390,
nlabel=0x1bac660, delete_unused=1, invert=0) at ../../gcc/gcc/jump.c:1430
#4  0x00277cfc in redirect_jump (jump=0x1ba9cc0, nlabel=0x1bac660,
delete_unused=1) at ../../gcc/gcc/jump.c:1391
#5  0x00354b3d in reorg_redirect_jump (jump=0x1ba9cc0, nlabel=0x1bac660) at
../../gcc/gcc/reorg.c:1883
#6  0x003578d4 in relax_delay_slots (first=0x1b8a020) at
../../gcc/gcc/reorg.c:3525
#7  0x003581e1 in dbr_schedule (first=0x1b8a020) at ../../gcc/gcc/reorg.c:3894
#8  0x003589ba in rest_of_handle_delay_slots () at ../../gcc/gcc/reorg.c:4066
#9  0x002e3e22 in execute_one_pass (pass=0x634340) at
../../gcc/gcc/passes.c:1122
#10 0x002e3fd9 in execute_pass_list (pass=0x634340) at
../../gcc/gcc/passes.c:1176
#11 0x002e3ff5 in execute_pass_list (pass=0x633b80) at
../../gcc/gcc/passes.c:1177
#12 0x002e3ff5 in execute_pass_list (pass=0x633b40) at
../../gcc/gcc/passes.c:1177
#13 0x003f6ba7 in tree_rest_of_compilation (fndecl=0x1276ee0) at
../../gcc/gcc/tree-optimize.c:404
#14 0x00533c4c in cgraph_expand_function (node=0x156b280) at
../../gcc/gcc/cgraphunit.c:1166
#15 0x00533e08 in cgraph_expand_all_functions () at
../../gcc/gcc/cgraphunit.c:1229
#16 0x0053445b in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1436
#17 0x00015f5f in c_write_global_declarations () at ../../gcc/gcc/c-decl.c:8099
#18 0x003a7942 in compile_file () at ../../gcc/gcc/toplev.c:1055
#19 0x003a9902 in do_compile () at ../../gcc/gcc/toplev.c:2244
#20 0x003a997a in toplev_main (argc=27, argv=0xb1c8) at
../../gcc/gcc/toplev.c:2276
#21 0x00081cab in main (argc=27, argv=0xb1c8) at ../../gcc/gcc/main.c:35
(gdb) p debug_rtx (insn)
(insn 433 91 64 (use (insn/s 92 59 366 (set (reg/v:SI 4 %r4 [orig:111 i ]
[111])
(const_int 2 [0x2])) 37 {*pa.md:2542} (expr_list:REG_EQUAL
(const_int 2 [0x2])
(nil -1 (nil))
$61 = void


[Bug c++/49044] [C++0x] mangling overload in decltype

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

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-05-23 
15:46:49 UTC ---
Same issue as 47335.

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


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

--- Comment #13 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 
15:48:43 UTC ---
Ok, I'll see if I can find out why it's being deleted.  In the first try,
we have the following rtl:

Breakpoint 12, mark_target_live_regs (insns=0x1b8a020, target=0x1b98f90,
res=0xbfffeda0) at ../../gcc/gcc/resource.c:975
975  for (insn = start_insn; insn != stop_insn;
(gdb) p debug_rtx_list (start_insn, 12)
(code_label 322 386 91 16 617  [1 uses])

(note 91 322 433 [bb 16] NOTE_INSN_BASIC_BLOCK)

(insn 433 91 64 (use (insn/s 92 59 366 (set (reg/v:SI 4 %r4 [orig:111 i ]
[111])
(const_int 2 [0x2])) 37 {*pa.md:2542} (expr_list:REG_EQUAL
(const_int 2 [0x2])
(nil -1 (nil))

(insn 64 433 65 ../../gcc/gcc/tree-cfgcleanup.c:697 (set (reg/f:SI 1 %r1 [216])
(high:SI (symbol_ref:SI (cfun) [flags 0x240] var_decl 0xc204e0
cfun))) 49 {*pa.md:3017} (expr_list:REG_EQUIV (high:SI (symbol_ref:SI (cfun)
[flags 0x240] var_decl 0xc204e0 cfun))
(nil)))

(insn 65 64 94 ../../gcc/gcc/tree-cfgcleanup.c:697 (set (reg/f:SI 3 %r3 [217])
(lo_sum:SI (reg/f:SI 1 %r1 [216])
(symbol_ref:SI (cfun) [flags 0x240] var_decl 0xc204e0 cfun)))
52 {*pa.md:3097} (expr_list:REG_DEAD (reg/f:SI 1 %r1 [216])
(nil)))

(note 94 65 95 [bb 17] NOTE_INSN_BASIC_BLOCK)

(insn 95 94 435 ../../gcc/gcc/basic-block.h:194 (set (reg:SI 28 %r28 [143])
(plus:SI (reg/v:SI 4 %r4 [orig:111 i ] [111])
(const_int 2 [0x2]))) 111 {addsi3} (nil))

(code_label 435 95 96 620  [1 uses])

(insn 96 435 97 ../../gcc/gcc/basic-block.h:194 (set (reg/v/f:SI 26 %r26
[orig:110 bb ] [110])
(mem/s/f/j:SI (plus:SI (mult:SI (reg:SI 28 %r28 [143])
(const_int 4 [0x4]))
(reg/f:SI 26 %r26 [orig:104 iftmp.1903 ] [104])) [0
variable.vec S4 A32])) 37 {*pa.md:2542} (expr_list:REG_DEAD (reg:SI 28 %r28
[143])
(nil)))

(jump_insn 97 96 98 ../../gcc/gcc/tree-cfgcleanup.c:698 (set (pc)
(if_then_else (eq (reg/v/f:SI 26 %r26 [orig:110 bb ] [110])
(const_int 0 [0x0]))
(label_ref 105)
(pc))) 25 {*pa.md:1770} (expr_list:REG_BR_PROB (const_int 2820
[0xb04])
(nil)))

(note 98 97 100 [bb 18] NOTE_INSN_BASIC_BLOCK)

(call_insn 100 98 101 ../../gcc/gcc/tree-cfgcleanup.c:699 (parallel [
(set (reg:SI 28 %r28)
(call (mem:SI (symbol_ref/v:SI (@cleanup_tree_cfg_bb) [flags
0x203] function_decl 0x1564850 cleanup_tree_cfg_bb) [0 S4 A32])
(const_int 16 [0x10])))
(clobber (reg:SI 1 %r1))
(clobber (reg:SI 2 %r2))
(use (const_int 0 [0x0]))
]) 212 {call_val_symref} (expr_list:REG_DEAD (reg:SI 26 %r26)
(expr_list:REG_EH_REGION (const_int 0 [0x0])
(nil)))
(expr_list:REG_DEP_TRUE (use (reg:SI 26 %r26))
(nil)))

As can be seen, insn 64 is subsequently replaced by a use.  Maybe this causes
the deletion of insn 433.

433 to be deleted


[Bug tree-optimization/49121] [4.7 Regression] FAIL: gcc.dg/tree-ssa/ivopt_infer_2.c scan-tree-dump-times ivopts Replacing 0

2011-05-23 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49121

--- Comment #3 from vries at gcc dot gnu.org 2011-05-23 16:07:04 UTC ---
test case:
...
#ifndef TYPE
#define TYPE char*
#endif

extern int a[];

/* Can not infer loop iteration from array -- exit test can not be replaced. 
*/
void foo (int i_width, TYPE dst, TYPE src1, TYPE src2)
{
  TYPE dstn= dst + i_width;
  TYPE dst0 = dst;
  unsigned long long i = 0;
   for( ; dst = dstn; )
   {
   dst0[i] = ( src1[i] + src2[i] + 1 +a[i])  1;
   dst++;
   i += 16;
   }
}
...

test case representation at ivopts:
...
foo (int i_width, char * dst, char * src1, char * src2)
{
  long long unsigned int i;
  char * dstn;
  char D.2707;
  int D.2706;
  int D.2705;
  int D.2704;
  int D.2703;
  int D.2702;
  int D.2701;
  char D.2700;
  char * D.2699;
  int D.2698;
  char D.2697;
  char * D.2696;
  char * D.2695;
  long unsigned int D.2694;

bb 2:
  D.2694_4 = (long unsigned int) i_width_3(D);
  dstn_6 = dst_5(D) + D.2694_4;
  if (dst_5(D) = dstn_6)
goto bb 3;
  else
goto bb 7;

bb 3:

bb 4:
  # dst_32 = PHI dst_24(5), dst_5(D)(3)
  # i_33 = PHI i_25(5), 0(3)
  D.2695_9 = dst_5(D) + i_33;
  D.2696_11 = src1_10(D) + i_33;
  D.2697_12 = *D.2696_11;
  D.2698_13 = (int) D.2697_12;
  D.2699_15 = src2_14(D) + i_33;
  D.2700_16 = *D.2699_15;
  D.2701_17 = (int) D.2700_16;
  D.2702_18 = D.2698_13 + D.2701_17;
  D.2703_19 = D.2702_18 + 1;
  D.2704_20 = a[i_33];
  D.2705_21 = D.2703_19 + D.2704_20;
  D.2706_22 = D.2705_21  1;
  D.2707_23 = (char) D.2706_22;
  *D.2695_9 = D.2707_23;
  dst_24 = dst_32 + 1;
  i_25 = i_33 + 16;
  if (dstn_6 = dst_24)
goto bb 5;
  else
goto bb 6;

bb 5:
  goto bb 4;

bb 6:

bb 7:
  return;

}
...

the patch causes estimated_loop_iterations (loop, true, max_niter) in
may_eliminate_iv to return a different value:
without patch: 0x1
withpatch: 0x01000

The analysis in the patch concludes that the pointer arithmetic statement
  D.2695_9 = dst_5(D) + i_33
can only be executed 0x01000 times, based on the fact that i is
incremented with 16 each iteration. Note that the statement corresponds to the
pointer arithmetic in 'dst0[i]'.

Since the proposed new char pointer iterator can represent 0x1
distinct values, may_eliminate_iv returns true, and the exit test is replaced:
...
Replacing exit test: if (dstn_6 = dst_24)
...

This causes the check:
...
/* { dg-final { scan-tree-dump-times Replacing 0 ivopts} } */
...
to fail.

The test case needs to be adapted.


[Bug libstdc++/41495] libstdc++ --enable-clocale=ieee_1003.1-2001 fails

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

--- Comment #9 from Jonathan Wakely redi at gcc dot gnu.org 2011-05-23 
16:22:18 UTC ---
(In reply to comment #8)
 Would a financial incentive help? My company may be interested in funding this
 to speed up the work.

I only work on libstdc++ in my spare time and I lack the time, not the
motivation :)

There are some others who expressed an interest in improving the locale code
for Darwin and they might be interested.  See the libstdc++ mailing list
archives for December 2010, January, February and May 2011 for various threads
on the subject.

  I think a better long term plan is to write a new locale model based on the
  POSIX 2008 API, as that could be common to more platforms and would provide
  thread-safety and the other advantages of the GNU/Linux code.
 
 Would this be a significant volume of work?

I don't *think* so, the GNU locale model already uses those APIs as they've
been in glibc for ages, so a good starting point would be copying the GNU code
and fixing it up a bit to replace anything GNU-specific with the POSIX.1-2008
equivalent. Someone already started doing that for Darwin earlier this month.


[Bug c/49128] New: gcc -mtune=native generates unsoported instructions

2011-05-23 Thread nathanael.schaeffer+ml at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128

   Summary: gcc -mtune=native generates unsoported instructions
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: nathanael.schaeffer...@gmail.com


With gcc (GCC) 4.6.0 20110513 (prerelease)
I compile on my laptop : 

Intel(R) Pentium(R) CPUU5400  @ 1.20GHz
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm 
pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl
xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl e
st tm2 ssse3 cx16 xtpr pdcm popcnt lahf_lm arat dts


then gcc -mtune=native generates unsuported instructions like PINSRD (which
is part of SSE4.1 according to wikipedia, not supported by this CPU)
I guess -mtune=native uncorrectly detects this CPU in version 4.6.0
Version 4.5.x did work correctly.

WORKAROUND: use -mtune=core2


[Bug target/47315] ICE: in extract_insn, at recog.c:2109 (unrecognizable insn) with -mvzeroupper and __attribute__((target(avx)))

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

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

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2011-05/msg01649.htm
   ||l

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-05-23 16:00:22 
UTC ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01649.html


[Bug target/44643] ice in c-typeck.c

2011-05-23 Thread jsm28 at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643

Joseph S. Myers jsm28 at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ddavenport at walchem dot
   ||com

--- Comment #11 from Joseph S. Myers jsm28 at gcc dot gnu.org 2011-05-23 
16:30:47 UTC ---
*** Bug 49125 has been marked as a duplicate of this bug. ***


[Bug debug/33861] Debugging info for C++ template parameters is incorrect

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

Tom Tromey tromey at gcc dot gnu.org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu.org

--- Comment #3 from Tom Tromey tromey at gcc dot gnu.org 2011-05-23 16:33:45 
UTC ---
We've been discussing this on gdb-patches recently.
Note that PR 30161 doesn't really help.
Currently we get:

  251: Abbrev Number: 5 (DW_TAG_template_value_param)
 52   DW_AT_name: V
 54   DW_AT_type: 0xaf   
 58   DW_AT_location: 6 byte block: 3 0 0 0 0 9f   (DW_OP_addr: 
 0; DW_OP_stack_value)

... but this requires that we be able to reliably map from address
to name, which is not in general possible.


[Bug c++/49122] [C++0x] initializer_list is broken

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

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-05-23 
16:44:22 UTC ---
There's a note in [support.initlist] which says:
Copying an initializer list does not copy the underlying elements.

However there was some discussion on the core reflector last month pointing out
that other requirements are inconsistent with that.


[Bug debug/30161] GCC should generate dwarf info about template parameters

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

--- Comment #11 from Tom Tromey tromey at gcc dot gnu.org 2011-05-23 16:34:27 
UTC ---
See PR 33861 for another example of where an extension
would seem to be necessary.


[Bug target/47315] ICE: in extract_insn, at recog.c:2109 (unrecognizable insn) with -mvzeroupper and __attribute__((target(avx)))

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

--- Comment #3 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-05-23 
16:51:46 UTC ---
Author: hjl
Date: Mon May 23 16:51:42 2011
New Revision: 174078

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174078
Log:
Save the initial options after checking vzeroupper.

gcc/

2011-05-23  H.J. Lu  hongjiu...@intel.com

PR target/47315
* config/i386/i386.c (ix86_option_override_internal): Save the
initial options after checking vzeroupper.

gcc/testsuite/

2011-05-23  H.J. Lu  hongjiu...@intel.com

PR target/47315
* gcc.target/i386/pr47315.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr47315.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

--- Comment #17 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 
16:53:04 UTC ---
Jump is redirected here:

Breakpoint 17, reorg_redirect_jump (jump=0x1ba9cc0, nlabel=0x1bac660) at
../../gcc/gcc/reorg.c:1882
1882  incr_ticks_for_insn (jump);
(gdb) bt
#0  reorg_redirect_jump (jump=0x1ba9cc0, nlabel=0x1bac660) at
../../gcc/gcc/reorg.c:1882
#1  0x003578d4 in relax_delay_slots (first=0x1b8a020) at
../../gcc/gcc/reorg.c:3525
#2  0x003581e1 in dbr_schedule (first=0x1b8a020) at ../../gcc/gcc/reorg.c:3894
#3  0x003589ba in rest_of_handle_delay_slots () at ../../gcc/gcc/reorg.c:4066
#4  0x002e3e22 in execute_one_pass (pass=0x634340) at
../../gcc/gcc/passes.c:1122
#5  0x002e3fd9 in execute_pass_list (pass=0x634340) at
../../gcc/gcc/passes.c:1176
#6  0x002e3ff5 in execute_pass_list (pass=0x633b80) at
../../gcc/gcc/passes.c:1177
#7  0x002e3ff5 in execute_pass_list (pass=0x633b40) at
../../gcc/gcc/passes.c:1177
#8  0x003f6ba7 in tree_rest_of_compilation (fndecl=0x1276ee0) at
../../gcc/gcc/tree-optimize.c:404
#9  0x00533c4c in cgraph_expand_function (node=0x156b280) at
../../gcc/gcc/cgraphunit.c:1166
#10 0x00533e08 in cgraph_expand_all_functions () at
../../gcc/gcc/cgraphunit.c:1229
#11 0x0053445b in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1436
#12 0x00015f5f in c_write_global_declarations () at ../../gcc/gcc/c-decl.c:8099
#13 0x003a7942 in compile_file () at ../../gcc/gcc/toplev.c:1055
#14 0x003a9902 in do_compile () at ../../gcc/gcc/toplev.c:2244
#15 0x003a997a in toplev_main (argc=27, argv=0xb1c8) at
../../gcc/gcc/toplev.c:2276
#16 0x00081cab in main (argc=27, argv=0xb1c8) at ../../gcc/gcc/main.c:35
(gdb) p debug_rtx (nlabel)
(code_label 465 64 464 624  [0 uses])
$72 = void
(gdb) p debug_rtx (jump)  
(jump_insn 59 58 92 ../../gcc/gcc/basic-block.h:194 (set (pc)
(if_then_else (gtu (reg:SI 28 %r28 [orig:132 variable.base.num ]
[132])
(const_int 2 [0x2]))
(label_ref:SI 322)
(pc))) 25 {*pa.md:1770} (expr_list:REG_DEAD (reg:SI 28 %r28
[orig:132 variable.base.num ] [132])
(expr_list:REG_BR_PROB (const_int 9700 [0x25e4])
(nil
$73 = void


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

--- Comment #16 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 
16:40:57 UTC ---
The use is deleted because insn 434 has been retargeted from
code_label 322 to code_label 465:

(insn 434 58 366 ../../gcc/gcc/basic-block.h:194 (sequence [
(jump_insn 59 58 92 ../../gcc/gcc/basic-block.h:194 (set (pc)
(if_then_else (gtu (reg:SI 28 %r28 [orig:132
variable.base.num ] [132])
(const_int 2 [0x2]))
(label_ref:SI 465)
(pc))) 25 {*pa.md:1770} (expr_list:REG_DEAD (reg:SI 28
%r28 [orig:132 variable.base.num ] [132])
(expr_list:REG_BR_PROB (const_int 9700 [0x25e4])
(nil
(insn/s 92 59 366 (set (reg/v:SI 4 %r4 [orig:111 i ] [111])
(const_int 2 [0x2])) 37 {*pa.md:2542} (expr_list:REG_EQUAL
(const_int 2 [0x2])
(nil)))
]) -1 (nil))

The code_label 322 then has zero uses.


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

--- Comment #18 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 
16:57:02 UTC ---
So, the problem is here:

 /* Figure out where to emit the special USE insn so we don't
 later incorrectly compute register live/death info.  */
  rtx tmp = next_active_insn (trial);
  if (tmp == 0)
tmp = find_end_label ();

  if (tmp)
{
  /* Insert the special USE insn and update dataflow info.  */
  update_block (trial, tmp);

  /* Now emit a label before the special USE insn, and
 redirect our jump to the new label.  */
  target_label = get_label_before (PREV_INSN (tmp));
  reorg_redirect_jump (delay_insn, target_label);
  next = insn;
  continue;
}

This code fails to handle the case where there already is a use.


[Bug target/49125] [avr-gcc] internal compiler error: in build_unary_op, at c-typeck.c:3786

2011-05-23 Thread jsm28 at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49125

Joseph S. Myers jsm28 at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|c   |target
 Resolution||DUPLICATE

--- Comment #1 from Joseph S. Myers jsm28 at gcc dot gnu.org 2011-05-23 
16:30:47 UTC ---
Duplicate of PR 44643.

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


[Bug c/49128] gcc -mtune=native generates unsuported instructions

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

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-05-23 
16:53:00 UTC ---
you haven't provided the necessary information requested at
http://gcc.gnu.org/bugs/

Specifically you need to say how your gcc was configured (because -mtune should
not affect the instructions gcc thinks are supported, that's set by -march) and
provide your full compilation command and example code which reproduces the
problem


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

--- Comment #15 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 
16:18:41 UTC ---
Breakpoint 15, delete_related_insns (insn=0x1ba1390) at
../../gcc/gcc/jump.c:1126
1126  int was_code_label = (LABEL_P (insn));
(gdb) p debug_rtx (insn)
(code_label 322 386 91 16 617  [0 uses])
$65 = void
(gdb) p debug_rtx_list (insn, 5)
(code_label 322 386 91 16 617  [0 uses])

(note 91 322 433 [bb 16] NOTE_INSN_BASIC_BLOCK)

(insn 433 91 64 (use (insn/s 92 59 366 (set (reg/v:SI 4 %r4 [orig:111 i ]
[111])
(const_int 2 [0x2])) 37 {*pa.md:2542} (expr_list:REG_EQUAL
(const_int 2 [0x2])
(nil -1 (nil))

(insn 64 433 465 ../../gcc/gcc/tree-cfgcleanup.c:697 (set (reg/f:SI 1 %r1
[216])
(high:SI (symbol_ref:SI (cfun) [flags 0x240] var_decl 0xc204e0
cfun))) 49 {*pa.md:3017} (expr_list:REG_EQUIV (high:SI (symbol_ref:SI (cfun)
[flags 0x240] var_decl 0xc204e0 cfun))
(nil)))

(code_label 465 64 464 624  [1 uses])


[Bug c++/49105] [C++0x][SFINAE] ICE during list-initialization of rvalue-references to const

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

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.05.23 17:38:40
 CC||jason at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug c++/49092] [4.7 Regression] ice in tree_add_const_value_attribute

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
17:34:07 UTC ---
Fixed.


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

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

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.05.23 17:53:17
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug c++/48892] [C++0x] XFAILed bogus errors in constexpr-48089.C

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

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.23 17:53:36
 Ever Confirmed|0   |1


[Bug c/49120] [4.5/4.6/4.7 Regression] bogus value computed is not used warning (variable-length array in compound statement)

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
18:02:08 UTC ---
Author: jakub
Date: Mon May 23 18:02:03 2011
New Revision: 174081

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174081
Log:
PR c/49120
* c-decl.c (start_decl): Convert expr to void_type_node.

* gcc.dg/pr49120.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/pr49120.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-decl.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

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

--- Comment #19 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-05-23 
18:00:56 UTC ---
 This code fails to handle the case where there already is a use.

This should have been fixed in 4.5 and above:

PR rtl-optimization/40086
* reorg.c (relax_delay_slots): When looking for redundant insn at
the branch target, use next_real_insn, not next_active_insn.


[Bug debug/49032] -gstabs generates reference to deleted static variable

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

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
18:07:46 UTC ---
Author: jakub
Date: Mon May 23 18:07:43 2011
New Revision: 174083

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174083
Log:
PR debug/49032
* dbxout.c: Include cgraph.h.
(dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
and without value expr, return NULL if no varpool node exists for
it or if it is not needed.
* Makefile.in (dbxout.o): Depend on $(CGRAPH_H).

* gcc.dg/debug/pr49032.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/debug/pr49032.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/dbxout.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/48324] [C++0x] constexpr evaluation should respect lifetime rules

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

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.23 17:53:51
 Ever Confirmed|0   |1


[Bug c/49120] [4.5/4.6/4.7 Regression] bogus value computed is not used warning (variable-length array in compound statement)

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

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
18:03:35 UTC ---
Author: jakub
Date: Mon May 23 18:03:31 2011
New Revision: 174082

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174082
Log:
PR c/49120
* c-decl.c (start_decl): Convert expr to void_type_node.

* gcc.dg/pr49120.c: New test.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr49120.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/c-decl.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug rtl-optimization/48826] ICE in dwarf2out_var_location, at dwarf2out.c:22013

2011-05-23 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48826

--- Comment #6 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-05-23 17:57:38 UTC ---
Author: rsandifo
Date: Mon May 23 17:57:35 2011
New Revision: 174080

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174080
Log:
gcc/
PR rtl-optimization/48826
* emit-rtl.c (try_split): When splitting a call that is followed
by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/emit-rtl.c


[Bug c++/49129] New: confusing diagnostic for missing semi-colon after member template

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

   Summary: confusing diagnostic for missing semi-colon after
member template
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
CC: froy...@gcc.gnu.org


typedef int I;

struct X
{
  templateclass struct Y { }  // oops, missing ';'

  static I f();
};

expinit.cc:7:12: error: expected initializer before ‘f’


If f returns 'int' instead of a typedef then the error is good:
expinit.cc:5:30: error: expected ‘;’ after struct definition

If X::Y is not a template then the error is good:
expinit.cc:7:10: error: expected ‘;’ at end of member declaration
expinit.cc:7:14: error: ISO C++ forbids declaration of ‘f’ with no type
[-fpermissive]


[Bug rtl-optimization/48826] ICE in dwarf2out_var_location, at dwarf2out.c:22013

2011-05-23 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48826

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

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-05-23 18:24:31 UTC ---
Fixed on trunk.


[Bug debug/49032] -gstabs generates reference to deleted static variable

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
18:19:18 UTC ---
Fixed.


[Bug debug/49032] -gstabs generates reference to deleted static variable

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
18:12:36 UTC ---
Author: jakub
Date: Mon May 23 18:12:34 2011
New Revision: 174084

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174084
Log:
PR debug/49032
* dbxout.c: Include cgraph.h.
(dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
and without value expr, return NULL if no varpool node exists for
it or if it is not needed.
* Makefile.in (dbxout.o): Depend on $(CGRAPH_H).

* gcc.dg/debug/pr49032.c: New test.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/debug/pr49032.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/Makefile.in
branches/gcc-4_6-branch/gcc/dbxout.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug debug/48843] ICE in dwarf2out_var_location, at dwarf2out.c:22585 with pragma GCC optimize

2011-05-23 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48843

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

   What|Removed |Added

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

--- Comment #2 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-05-23 18:27:33 UTC ---
Same problem as #48826.  I've just committed a patch.

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


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

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

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

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2011-05/msg01664.htm
   ||l

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-05-23 18:11:35 
UTC ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01664.html


[Bug c/49120] [4.5 Regression] bogus value computed is not used warning (variable-length array in compound statement)

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.6.1, 4.7.0
Summary|[4.5/4.6/4.7 Regression]|[4.5 Regression] bogus
   |bogus value computed is|value computed is not
   |not used warning   |used warning
   |(variable-length array in   |(variable-length array in
   |compound statement) |compound statement)

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-05-23 
18:17:58 UTC ---
Fixed for 4.6+ so far.


[Bug rtl-optimization/48826] ICE in dwarf2out_var_location, at dwarf2out.c:22013

2011-05-23 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48826

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

   What|Removed |Added

 CC||aldot at gcc dot gnu.org

--- Comment #8 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-05-23 18:27:33 UTC ---
*** Bug 48843 has been marked as a duplicate of this bug. ***


[Bug target/45345] In function `mips16_build_function_stub' undefined reference to `ASM_OUTPUT_DEF'

2011-05-23 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45345

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

   What|Removed |Added

 CC||amylaar at gcc dot gnu.org

--- Comment #2 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2011-05-23 18:38:26 UTC ---
*** Bug 47110 has been marked as a duplicate of this bug. ***


[Bug libstdc++/41495] libstdc++ --enable-clocale=ieee_1003.1-2001 fails

2011-05-23 Thread alasdairrr at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41495

--- Comment #10 from Alasdair Lumsden alasdairrr at gmail dot com 2011-05-23 
18:36:29 UTC ---
(In reply to comment #9)
 I only work on libstdc++ in my spare time and I lack the time, not the
 motivation :)

Alrighty!

 There are some others who expressed an interest in improving the locale code
 for Darwin and they might be interested.  See the libstdc++ mailing list
 archives for December 2010, January, February and May 2011 for various threads
 on the subject.

I'll check this out, thanks for the info.

   I think a better long term plan is to write a new locale model based on 
   the
   POSIX 2008 API, as that could be common to more platforms and would 
   provide
   thread-safety and the other advantages of the GNU/Linux code.
  
  Would this be a significant volume of work?
 
 I don't *think* so, the GNU locale model already uses those APIs as they've
 been in glibc for ages, so a good starting point would be copying the GNU code
 and fixing it up a bit to replace anything GNU-specific with the POSIX.1-2008
 equivalent. Someone already started doing that for Darwin earlier this month.

Great, again thanks for the info. I'll make contact with the darwin folks.

Cheers,

Alasdair


  1   2   >