[Bug middle-end/51323] [4.6/4.7 Regression] g++ confuses this with function argument in optimized call

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

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
08:15:36 UTC ---
Author: jakub
Date: Mon Dec  5 08:15:23 2011
New Revision: 182000

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182000
Log:
PR middle-end/51323
PR middle-end/50074
* calls.c (internal_arg_pointer_exp_state): New variable.
(internal_arg_pointer_based_exp_1,
internal_arg_pointer_exp_scan): New functions.
(internal_arg_pointer_based_exp): New function.
(mem_overlaps_already_clobbered_arg_p): Use it.
(expand_call): Free internal_arg_pointer_exp_state.cache vector
and clear internal_arg_pointer_exp_state.scan_start.

* gcc.c-torture/execute/pr51323.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr51323.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/50074] [4.7 Regression] gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC

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

--- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
08:15:38 UTC ---
Author: jakub
Date: Mon Dec  5 08:15:23 2011
New Revision: 182000

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182000
Log:
PR middle-end/51323
PR middle-end/50074
* calls.c (internal_arg_pointer_exp_state): New variable.
(internal_arg_pointer_based_exp_1,
internal_arg_pointer_exp_scan): New functions.
(internal_arg_pointer_based_exp): New function.
(mem_overlaps_already_clobbered_arg_p): Use it.
(expand_call): Free internal_arg_pointer_exp_state.cache vector
and clear internal_arg_pointer_exp_state.scan_start.

* gcc.c-torture/execute/pr51323.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr51323.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

2011-12-05 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904

--- Comment #37 from rguenther at suse dot de rguenther at suse dot de 
2011-12-05 08:18:00 UTC ---
On Fri, 2 Dec 2011, burnus at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904
 
 --- Comment #34 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-02 
 17:06:57 UTC ---

[...]

 * * *
 
 Back to the comment 0 issue: I still do not quite understand what the double
 evaluation (on tree level) of __builtin_pow in
   D.1959_82 = ((D.2115_81));
   D.1960_83 = __builtin_pow (D.1959_82, 2.0e+0);
   D.1978_168 = __builtin_pow (D.2115_81, 2.0e+0);
 has to do with the -Ofast slow down. If I have understood it correctly, on 
 tree
 level, there is no reason for it while the slow-down happens on RTL level.

Indeed I can find no other difference on the tree level (thus, no
invariant motion missed optimization that isn't present with both
-f[no-]protect-parens).

 That -fprotect-parens makes it faster is a mere coincidence. Is that a 
 correct rough
 summary?

Yes.

Thus, I think if at the RTL level we see a missed invariant motion then
this is a RTL level bug (esp. if it only triggers with 
-fno-protect-parens).

Richard.


[Bug rtl-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

2011-12-05 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904

--- Comment #38 from rguenther at suse dot de rguenther at suse dot de 
2011-12-05 08:27:08 UTC ---
On Fri, 2 Dec 2011, ebotcazou at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904
 
 --- Comment #35 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-12-02 
 21:21:15 UTC ---
  One thing I notice (and that's the only difference I can spot at the tree
  level) is that we do not CSE the **2s of
 
 There are many missed hoisting opportunities, with or without the switch. 
 There are just a few more with the switch, hence the performance regression.

Most of them (not sure if you mean those) are because they are
considered cheap by LIM and thus are not moved:

vect_px2gauss.123_641 = x2gauss;
  invariant up to level 1, cost 1.

vect_cst_.126_659 = { 1.0e+0, 1.0e+0 };
  invariant up to level 1, cost 1.

vect_cst_.128_661 = {D.2126_109, D.2126_109};
  invariant up to level 1, cost 1.
...

vect_px2gauss.120_20 = vect_px2gauss.123_641 + 16;
  invariant up to level 1, cost 2.
...

ivtmp.176_899 = 1;
  invariant up to level 1, cost 1.
...

vect_px2gauss.120_649 = vect_px2gauss.120_336;
  invariant up to level 1, cost 5.
...

ISTR discussing to remove all cost considerations for tree
level loop invariant motion and simply move everything possible
(PRE for example doesn't consider any costs and moves all
invariants).

If you use --param lim-expensive=1 you get all invariants moved
on the tree level - does that solve the slowdown issue?
The issue is of course that this might increase register pressure
as we are not good in re-materializing for example constants
inside a loop.

I'll give --param lim-expensive=1 a try on SPEC 2k6


[Bug middle-end/51323] [4.6 Regression] g++ confuses this with function argument in optimized call

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.6/4.7 Regression] g++|[4.6 Regression] g++
   |confuses this with function |confuses this with function
   |argument in optimized call  |argument in optimized call

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
08:38:20 UTC ---
Fixed on the trunk so far.


[Bug middle-end/50074] [4.7 Regression] gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #19 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
08:37:51 UTC ---
Fixed.


[Bug fortran/51418] Fortran format sp,f0.0 output wrong with NaN and 0.0

2011-12-05 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51418

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-05 
08:40:49 UTC ---
(In reply to comment #0)
 This 6-line program prints  NaN when IMHO it should print NaN and +.
 when IMHO it should print +0.
 gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) 
 gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)

With GCC 4.7 and 4.6.2, I get:
NaN
+0.

However, with GCC 4.5.3 20110428, I get:
 NaN
**

Thus, it must have been fixed in 4.6 - either 4.6.0 or later. I saw some
I/O-format-related changes around 2011-04-29 and some others around 2011-02-28.


As it is no regression, an (inconvenient but) minor issue, and as I/O format
fixes tend to have unexpected side effects, I do not think that the patches
will be back ported to 4.5 or even 4.4.


Thus, if the bug is a show stopper, you could try to install (possibly parallel
to 4.4) a newer GCC/gfortran. For instance, Fedora 16 ships with GCC 4.6 and
Ubuntu offers it as personal builds (cf.
http://gcc.gnu.org/wiki/GFortranDistros). There is also a gfortran developer
build for i386-linux at http://gcc.gnu.org/wiki/GFortranBinaries, which you
could use - or you build GCC yourself.

If it is no show stopper, you could also simply wait for the next Ubuntu
version or - for RHEL - for a 6.x version with a newer GCC as technical
preview.

Thanks for reporting the bug!


[Bug middle-end/49719] [4.7 Regression] test gcc.target/arm/sibcall-1.c fails for ARM

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
08:37:16 UTC ---
Actually this particular testcase got fixed already by Joern's
http://gcc.gnu.org/viewcvs?root=gccview=revrev=181738
change.  But even the patch covering non-empty stored_args_map is now in.


[Bug rtl-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

--- Comment #39 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-12-05 
09:21:15 UTC ---
 Thus, I think if at the RTL level we see a missed invariant motion then
 this is a RTL level bug (esp. if it only triggers with  -fno-protect-parens).

Well, how can the RTL level invent load hoisting opportunities?  They are of
course already present at the Tree level, see the .optimized dump:

vect_var_.124_350 = MEM[(real(kind=8)[9] *)x2gauss];

vect_var_.133_823 = MEM[(real(kind=8)[9] *)y2gauss];

vect_var_.157_586 = MEM[(real(kind=8)[9] *)w2gauss];

vect_var_.124_357 = MEM[(real(kind=8)[9] *)x2gauss + 16B];

vect_var_.133_363 = MEM[(real(kind=8)[9] *)y2gauss + 16B];

vect_var_.157_874 = MEM[(real(kind=8)[9] *)w2gauss + 16B];

vect_var_.124_405 = MEM[(real(kind=8)[9] *)x2gauss + 32B];

vect_var_.133_594 = MEM[(real(kind=8)[9] *)y2gauss + 32B];

vect_var_.157_610 = MEM[(real(kind=8)[9] *)w2gauss + 32B];

vect_var_.124_651 = MEM[(real(kind=8)[9] *)x2gauss + 48B];

vect_var_.133_680 = MEM[(real(kind=8)[9] *)y2gauss + 48B];

vect_var_.157_805 = MEM[(real(kind=8)[9] *)w2gauss + 48B];


[Bug other/51417] Cross-compiler - wrappers for ar, nm, ranlib installed under wrong names

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
 CC||andi-gcc at firstfloor dot
   ||org
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
09:29:45 UTC ---
It should be ${target}-gcc-{ar,nm,ranlib} only for a start.


[Bug lto/47259] [4.7 Regression] LTO and global register variable

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #13 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
09:30:10 UTC ---
Fixed.


[Bug debug/51410] [4.5/4.6/4.7 Regression] duplicate variable DIE

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-debug
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
  Known to work||4.3.6, 4.4.6
   Target Milestone|--- |4.5.4
Summary|duplicate variable DIE  |[4.5/4.6/4.7 Regression]
   ||duplicate variable DIE
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
09:34:29 UTC ---
Confirmed.  Fails since 4.5.0.


[Bug c++/51406] [4.5/4.6/4.7 Regression][c++0x] Incorrect result of static_cast to rvalue reference to base class.

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
   Target Milestone|--- |4.5.4


[Bug c++/51395] [4.5/4.6 Regression] ICE in dependent_type_p (endless (?) recursion)

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
   Target Milestone|--- |4.5.4
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
09:38:35 UTC ---
Confirmed.


[Bug middle-end/51285] [4.7 Regression] internal compiler error: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
09:41:31 UTC ---
Fixed.


[Bug rtl-optimization/51069] [4.7 Regression] ICE in verify_loop_structure, at cfgloop.c:1559

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

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-12-05 
09:47:33 UTC ---
Started with http://gcc.gnu.org/viewcvs?root=gccview=revrev=171946
Tiny bit reduced testcase for -O3 -funroll-loops:
int a, b, c, d, e, f, bar (void);

void
foo (int x)
{
  for (;;)
{
  if (!x)
{
  for (d = 6; d = 0; d--)
{
  while (!b)
;
  if (e)
return foo (x);
  if (f)
{
  a = 0;
  continue;
}
  for (; c; c--)
;
}
}
  if (bar ())
break;
  e = 0;
  if (x)
for (;;)
  ;
}
}


[Bug c/51391] Differences between setting Winline in command-line and through pragma GCC diagnostic

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org,
   ||jsm28 at gcc dot gnu.org
   Severity|normal  |enhancement

--- Comment #16 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
09:49:20 UTC ---
I think a more appropriate fix today is to drop the x_flag_no_inline
setting (it should not be necessary these days) but keep ignoring
-Winline at -O0 (there is probably a better central place to do this,
supposedly at the point we emit the warning, instead of in the option
code).  In fact, the warning

inlineBug.h:16:8: warning: function ‘inlineBug::inlineBug()’ can never be
inlined because it is suppressed using -fno-inline

does not seem useful to me at all (see tree-inline.c:tree_inlinable_function_p,
warning in a predicate seems questionable to me at best, warning during
expand_call_inline isn't better either.  A pass over remaining inline-declared
edges after IPA inline transform sounds more appropriate to me, also enabled
when IPA inline is disabled itself)


[Bug rtl-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

2011-12-05 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904

--- Comment #40 from rguenther at suse dot de rguenther at suse dot de 
2011-12-05 09:55:47 UTC ---
On Mon, 5 Dec 2011, ebotcazou at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904
 
 --- Comment #39 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-12-05 
 09:21:15 UTC ---
  Thus, I think if at the RTL level we see a missed invariant motion then
  this is a RTL level bug (esp. if it only triggers with  
  -fno-protect-parens).
 
 Well, how can the RTL level invent load hoisting opportunities?  They are of
 course already present at the Tree level, see the .optimized dump:
 
 vect_var_.124_350 = MEM[(real(kind=8)[9] *)x2gauss];

They are considered dependent because they are still decomposed as

  vect_px2gauss.123_680 = x2gauss;
...
  vect_var_.124_350 = MEM[(real(kind=8)[9] *)vect_px2gauss.123_680];

during LIM3.  Let me check why we don't fix that up in LIM dependence
checking.


[Bug rtl-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

--- Comment #41 from Dominique d'Humieres dominiq at lps dot ens.fr 
2011-12-05 10:12:39 UTC ---
Using --param lim-expensive=1 when compiling induct.f90 does not change the
timing, as for today (r181994):

gfc -Ofast induct.f90  
  - 14.62s
gfc -Ofast induct.f90 --param lim-expensive=1   -
14.61s
gfc -fprotect-parens -Ofast induct.f90 
- 14.11s
gfc -fprotect-parens -Ofast induct.f90 --param lim-expensive=1- 14.12s

(a ~0.15s improvement over the timing in comment #1).


[Bug rtl-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

--- Comment #42 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
10:19:11 UTC ---
Argh.  It seems LIM didn't get proper lifting both at tuplification and
alias-improvements time.  So it's memory handling (everything it does
with VOPs) is a little very much conservative (read: it doesn't really work).

I'll look into this.


[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|NEW
  Component|rtl-optimization|tree-optimization
 AssignedTo|ebotcazou at gcc dot|unassigned at gcc dot
   |gnu.org |gnu.org

--- Comment #43 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-12-05 
10:26:52 UTC ---
 Argh.  It seems LIM didn't get proper lifting both at tuplification and
 alias-improvements time.  So it's memory handling (everything it does
 with VOPs) is a little very much conservative (read: it doesn't really work).

OK, re-recategorizing for further investigation.


[Bug ada/51307] [4.7 Regression] s-taprop.adb:676:25: CLOCK_RT_Ada not declared in OS_Constants

2011-12-05 Thread charlet at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51307

--- Comment #7 from Arnaud Charlet charlet at gcc dot gnu.org 2011-12-05 
10:32:03 UTC ---
Author: charlet
Date: Mon Dec  5 10:31:58 2011
New Revision: 182004

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182004
Log:
2011-12-05  Bob Duff  d...@adacore.com

* sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
to the Comes_From_Source check, to deal properly with the case
of indirect inheritance of =.

2011-12-05  Thomas Quinot  qui...@adacore.com

PR ada/51307
* s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
not a macro.

2011-12-05  Thomas Quinot  qui...@adacore.com

* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
information in SCOs.


Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/get_scos.adb
trunk/gcc/ada/par_sco.adb
trunk/gcc/ada/put_scos.adb
trunk/gcc/ada/s-oscons-tmplt.c
trunk/gcc/ada/scos.ads
trunk/gcc/ada/sem_ch3.adb


[Bug ada/51307] [4.7 Regression] s-taprop.adb:676:25: CLOCK_RT_Ada not declared in OS_Constants

2011-12-05 Thread charlet at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51307

Arnaud Charlet charlet at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #8 from Arnaud Charlet charlet at gcc dot gnu.org 2011-12-05 
10:33:42 UTC ---
Dave, let me know if the current trunk solves the issue or not, thanks.

Arno


[Bug rtl-optimization/50557] [4.7 Regression] Register pressure increase after reassociation (x86, 32 bits)

2011-12-05 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50557

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 CC||steven at gcc dot gnu.org

--- Comment #9 from Steven Bosscher steven at gcc dot gnu.org 2011-12-05 
10:45:56 UTC ---
There is still the old loop re-rolling pass from the rtlopt-branch. I am not
sure if there were any good reasons for not including it in GCC.

http://gcc.gnu.org/viewcvs/branches/rtlopt-branch/gcc/loop-reroll.c?view=log


[Bug c++/51414] Broken diagnostic with invalid use of __underlying_type

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
 Ever Confirmed|0   |1

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-05 
10:46:00 UTC ---
Seems just a trivial thinko if mine: %qE instead of %qT.


[Bug c++/51225] [c++0x] [4.7 Regression] ICE with invalid template parameter

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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


[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

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 #44 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
11:11:36 UTC ---
Created attachment 25990
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25990
proposed patch

Pretty much minimal patch in testing.  I have a 2nd patch doing some cost
adjustments.


[Bug c++/51406] [4.5/4.6/4.7 Regression][c++0x] Incorrect result of static_cast to rvalue reference to base class.

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
 Ever Confirmed|0   |1

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-05 
11:38:28 UTC ---
When fixing this bug we may want to have a look to PR51161


[Bug c++/51399] [c++0x] [4.7 Regression] ICE with invalid initializer list

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-05 
12:00:16 UTC ---
On it.


[Bug tree-optimization/51396] [4.7 Regression] ICE: verify_flow_info failed: BB 4 can not throw but has an EH edge with -O2 -fnon-call-exceptions -mfma4

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
12:12:03 UTC ---
Confirmed, catched after the lower-resx pass.  Note that there doesn't seem
to be an FMA involved at all ...


[Bug inline-asm/51423] New: Questions regarding Clobber List for inline ARM/NEON assembly

2011-12-05 Thread amit_chauhan21 at yahoo dot co.in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51423

 Bug #: 51423
   Summary: Questions regarding Clobber List for inline ARM/NEON
assembly
Classification: Unclassified
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: inline-asm
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amit_chauha...@yahoo.co.in


Dear All,

I am facing some random crashes in my applications on using the neon(inline)
assembly code. However with pure C code the application works fine. I had
following questions regarding neon inline assembly usage.


Q1 In Inline neon assembly does only d8-d15 registers are required to be added
in clobber list even if inline assembly uses d0-d7,d16-d31 registers?

Q2 Correct way to put the register in clobber list: s(32 bit) , d(64 bit) or
q(128bit) registers.

Thanks in Advanced.


[Bug rtl-optimization/51069] [4.7 Regression] ICE in verify_loop_structure, at cfgloop.c:1559

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
12:46:05 UTC ---
CCing Honza, not familiar enough with remove_path/unroll.
#0  unloop (loop=0x7133d880, irred_invalidated=0x7fffdeef ) at
../../gcc/cfgloopmanip.c:797
#1  0x00675e53 in remove_path (e=0x7146c900) at
../../gcc/cfgloopmanip.c:319
#2  0x009ae07f in peel_loop_completely (loop=0x7133d880) at
../../gcc/loop-unroll.c:514
#3  0x009ad89f in peel_loops_completely (flags=2) at
../../gcc/loop-unroll.c:256
#4  0x009ad640 in unroll_and_peel_loops (flags=2) at
../../gcc/loop-unroll.c:165
#5  0x009a07e4 in rtl_unroll_and_peel_loops () at
../../gcc/loop-init.c:329

is called with
loop_2 (header = 6, latch = 21, niter = )
{
  bb_6 (preds = {bb_21 bb_45 }, succs = {bb_9 bb_7 })
  bb_9 (preds = {bb_6 }, succs = {bb_10 bb_11 })
  bb_11 (preds = {bb_9 }, succs = {bb_21 bb_12 })
  bb_21 (preds = {bb_11 }, succs = {bb_6 })
}
where bb_4, bb_12, bb_13 and bb_14 are BB_IRREDUCIBLE_LOOP, before this unroll
call verify_loop_structure passes, after it already fails.  Of course calling
mark_irreducible_loops () after peel_loops_completely () fixes this up and let
the testcase pass, but remove_path/unroll should figure it out if it
invalidates this property.


[Bug c++/51154] internal compiler error: gimplification failed

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
13:10:45 UTC ---
All testcases work for me.


[Bug tree-optimization/51117] [4.7 regression] rev.181172 causes glibc build failure

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug testsuite/51128] [4.7 Regression] New LTO failures

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug c++/51350] [4.7 Regression] Bogus -Wstrict-overflow warning: assuming signed overflow does not occur when assuming that (X + c) X is always false

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug middle-end/51263] [4.7 regression] ICE in inline_small_functions when compiling scummvm with -O2 -flto

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug gcov-profile/51113] [4.7 regression] rev. 181105 causes Firefox profiledbuild failure

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug regression/51097] [4.7 Regression] a lot of FAIL: gcc.dg/vect on i686 avx build 181167 to 181177

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug libstdc++/51135] [4.7 Regression] SIGSEGV during exception cleanup on win32

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


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

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.4


[Bug c++/51228] [4.5/4.6/4.7 Regression] ICE with transparent union

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.4


[Bug libstdc++/51386] [4.7 Regression]: 23_containers/unordered_set/hash_policy/load_factor.cc execution timeout

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/51362] [4.7 Regression] ICE: SIGFPE (division by zero) in good_cloning_opportunity_p at ipa-cp.c:2401

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/51091] [4.7 Regression] FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug regression/51097] [4.7 Regression] a lot of FAIL: gcc.dg/vect on i686 avx build 181167 to 181177

2011-12-05 Thread izamyatin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51097

--- Comment #3 from Igor Zamyatin izamyatin at gmail dot com 2011-12-05 
14:16:09 UTC ---
Hope to finish a patch this week


[Bug bootstrap/51094] [4.7 Regression] Bootstrap failure at revision 181279 on non-ELF targets

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug fortran/51338] [4.6/4.7 Regression] seg fault in gfc_dep_compare_expr with -O2

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.3


[Bug ada/51307] [4.7 Regression] s-taprop.adb:676:25: CLOCK_RT_Ada not declared in OS_Constants

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug gcov-profile/51361] [4.7 Regression] 471.omnetpp of SPEC2006 fails to build with -fprofile-generate

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/51363] [4.7 Regression] ICE: in gimple_rhs_has_side_effects, at gimple.c:2530 with -O -fno-tree-ccp

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug fortran/51197] [4.7 Regression] Backtrace information less useful

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug debug/51262] [4.7 Regression] ICE: SIGSEGV in primary_template_instantiation_p (pt.c:2874) with -flto -g

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug tree-optimization/51091] [4.7 Regression] FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
14:20:20 UTC ---
Fixed.


[Bug middle-end/51339] [4.6/4.7 Regression] ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.3


[Bug target/51237] [4.7 Regression] FAIL: gcc.dg/tree-ssa/prefetch-[89].c (internal compiler error) caused by revision 181491

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug testsuite/51128] [4.7 Regression] New LTO failures

2011-12-05 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51128

--- Comment #1 from Uros Bizjak ubizjak at gmail dot com 2011-12-05 14:35:03 
UTC ---
/* { dg-skip-if  { *-*-* } { -fno-fat-lto-objects } {  } } */


[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

--- Comment #45 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
14:36:48 UTC ---
Author: rguenth
Date: Mon Dec  5 14:36:44 2011
New Revision: 182010

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

PR tree-optimization/50904
* tree-ssa-loop-im.c (struct mem_ref): Remove vops member.
(MEM_ANALYZABLE): New.
(memory_references): Remove clobbered_vops and vop_ref_map
members, add all_refs_stored_in_loop member.
(memref_free): Adjust.
(mem_ref_alloc): Likewise.
(gather_mem_refs_stmt): Do not record clobbers, instead
record refs for unanalyzable stmts.
(gather_mem_refs_in_loops): Do not propagate clobbers.
(struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free,
record_vop_access, get_vop_accesses, get_vop_stores,
add_vop_ref_mapping): Remove.
(create_vop_ref_mapping_loop): Adjust to simply record all
stores.
(analyze_memory_references): Adjust.
(refs_independent_p): Check for not analyzable refs.
(can_sm_ref_p): Likewise.
(ref_indep_loop_p_1): Simplify.
(tree_ssa_lim_finalize): Adjust.

* tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE
rather than magic constants.  Assign zero cost to PAREN_EXPR
and SSA_NAME copies.  Assign cost proportional to the vector
size for vector constructors.

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


[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #46 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
14:37:14 UTC ---
Fixed (fingers crossing).


[Bug fortran/51338] [4.6/4.7 Regression] seg fault in gfc_dep_compare_expr with -O2

2011-12-05 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51338

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #8 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-05 
14:40:56 UTC ---
(In reply to comment #7)
 I'll look at it.  Thanks for the analysis and the fix!

Thomas' patch: http://gcc.gnu.org/ml/fortran/2011-11/msg00254.html
Review (approval): http://gcc.gnu.org/ml/fortran/2011-12/msg00023.html


[Bug tree-optimization/48641] [4.7 Regression] ICE: verify_flow_info failed: Wrong frequency of block 77 -419530 with -O -fno-tree-ccp -fno-tree-copy-prop

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #24012|0   |1
is obsolete||

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
14:51:12 UTC ---
Created attachment 25991
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25991
pr48641.c

Slightly more reduced testcase.

The problem is in the thread-ssa-threadupdate.c (redirect_edges) hunk added in
r102053:
  rd-dup_block-count += e-count;
  rd-dup_block-frequency += EDGE_FREQUENCY (e);
  EDGE_SUCC (rd-dup_block, 0)-count += e-count;
create_duplicates on this testcase creates huge number of basic blocks, and
this function adjusts the edges, so that each of these rd-dup_block has two
incoming edges, one 100% EDGE_FREQUENCY (for the first one of these from the
ENTRY successor, another one from some other bb (which will be removed as dead
later on, for the other blocks one of the predecessors is the previous dup
block).  Unfortunately this means that rd-dup_block-frequency goes over
BB_FREQ_MAX (the first of these has BB_FREQ_MAX + something, second that plus
something2, etc.) and finally the EDGE_FREQUENCY computation overflows
(e-src-frequency where e-src is the previous rd-dup_block is over 214748
and EDGE_FREQUENCY
multiplies that by 1).  Caping it to BB_FREQ_MAX wouldn't probably work,
because then cfg cleanup that removes all the unreachable blocks would decrease
it too much.  Honza?


[Bug libstdc++/51135] [4.7 Regression] SIGSEGV during exception cleanup on win32

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||cgf at gcc dot gnu.org,
   ||dave.korn.cygwin at gmail
   ||dot com, ktietz at gcc dot
   ||gnu.org

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-05 
14:52:58 UTC ---
This badly requires a target maintainer.


[Bug target/51237] [4.7 Regression] FAIL: gcc.dg/tree-ssa/prefetch-[89].c (internal compiler error) caused by revision 181491

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

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

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-12-05 
14:56:33 UTC ---
Fixed by revision 181531:

Author:uros
Date:Sun Nov 20 19:17:08 2011 UTC (2 weeks ago)
Changed paths:5
Log Message:
* config/i386/i386.md (UNSPEC_MOVNTI): Remove.
(UNSPEC_MOVNTQ): New unspec.
* config/i386/mmx.md (sse_movntq): Rename from sse_movntdi.
Use UNSPEC_MOVNTQ instead of UNSPEC_MOVNT.
* config/i386/sse.md (sse2_movntimode): Use UNSPEC_MOVNT instead of
UNSPEC_MOVNTI.
(STORENT_MODE): Add DI and V4DI modes.

see http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02016.html .


[Bug tree-optimization/51117] [4.7 regression] rev.181172 causes glibc build failure

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
14:57:39 UTC ---
I agree it is a gcc bug, please see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51275
for more information.


[Bug bootstrap/51094] [4.7 Regression] Bootstrap failure at revision 181279 on non-ELF targets

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

--- Comment #21 from Dominique d'Humieres dominiq at lps dot ens.fr 
2011-12-05 15:01:49 UTC ---
There is no longer any bootstrap issues. Does it remain something to fix?
Otherwise I'll close this PR as fixed.


[Bug tree-optimization/51363] [4.7 Regression] ICE: in gimple_rhs_has_side_effects, at gimple.c:2530 with -O -fno-tree-ccp

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011-12-05
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
15:03:55 UTC ---
Mine.


[Bug libstdc++/51135] [4.7 Regression] SIGSEGV during exception cleanup on win32

2011-12-05 Thread davek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51135

Dave Korn davek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||davek at gcc dot gnu.org

--- Comment #2 from Dave Korn davek at gcc dot gnu.org 2011-12-05 15:10:54 
UTC ---
Doesn't reproduce on Cygwin, and I don't have a current mingw cross compiler
handy.  It would be best if Kai can look at this as I'm up to my neck in ada at
the moment, if he hasn't found time in the next four or five days I'll try and
investigate.


[Bug c++/51350] [4.7 Regression] Bogus -Wstrict-overflow warning: assuming signed overflow does not occur when assuming that (X + c) X is always false

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
15:17:08 UTC ---
This is a valid warning.  We transform (in forwprop)

  int suffix = pattern_length + 1;
...
  if (suffix  pattern_length)

to

  if (0)

which is true only when pattern_length + 1 does not overflow.
This happens after jump-threading over

  while (i  start)
suffix_table[--i] = --suffix;

in case i is = start, thus the regression is probably because of
jump-threading improvements for 4.7.


[Bug libstdc++/51135] [4.7 Regression] SIGSEGV during exception cleanup on win32

2011-12-05 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51135

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011-12-05
 Ever Confirmed|0   |1

--- Comment #3 from Kai Tietz ktietz at gcc dot gnu.org 2011-12-05 15:17:34 
UTC ---
Well, this seems to be caused by member exceptionDestructor in __cxa_exception
structure.  As a destructor has also __thiscall convention, we need to specify
it here for 32-bit Windows target.

I am just about to test a patch for it.


[Bug tree-optimization/51245] [4.7 Regression] ICE in vn_reference_insert_pieces, at tree-ssa-sccvn.c:1983

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
15:20:19 UTC ---
Mine.


[Bug lto/48094] ld: warning: section has unexpectedly large size errors in objc/obj-c++ lto

2011-12-05 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48094

--- Comment #9 from Jack Howarth howarth at nitro dot med.uc.edu 2011-12-05 
15:25:28 UTC ---
Created attachment 25992
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25992
verbose assembly for objc.dg/torture/strings/string1.m  -O2 -flto
-flto-partition=none  -fnext-runtime


[Bug lto/48094] ld: warning: section has unexpectedly large size errors in objc/obj-c++ lto

2011-12-05 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48094

--- Comment #10 from Jack Howarth howarth at nitro dot med.uc.edu 2011-12-05 
15:30:42 UTC ---
Attached verbose assembly from x86_64-apple-darwin11 using  gcc trunk at
r181974 with http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00241.html generated
using...

/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111202/gcc/testsuite/objc.dg/torture/strings/string1.m
-O2 -flto -flto-partition=none -fnext-runtime -mno-constant-cfstrings
-Wno-deprecated-declarations
-B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libobjc/.libs
-L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libobjc/.libs
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111202/gcc/testsuite/objc.dg/torture/strings/../../../objc-obj-c++-shared/nsconstantstring-class-impl.m
-lobjc -lm -fverbose-asm --save-temps -m32 -o ./string1.exe
[Leaving LTRANS /var/tmp//ccygm7lI.args]
ld: warning: section __OBJC/__image_info has unexpectedly large size 16 in
/var/tmp//ccRjujTE.lto.o


[Bug c/51339] [4.6/4.7 Regression] ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011-12-05
 CC||jakub at gcc dot gnu.org
  Component|middle-end  |c
 Ever Confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
15:44:15 UTC ---
Reduced testcase:

char g[] = g;

void
foo (void)
{
#pragma omp parallel sections firstprivate (g) lastprivate (g)
  {
  #pragma omp section
g[0] = 'h';
  }
}

With char g[2] this works.  Seems a C FE bug.


[Bug c++/51404] [c++0x] [4.7 Regression] ICE with invalid use of auto

2011-12-05 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51404

--- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2011-12-05 15:46:34 UTC ---
Author: paolo
Date: Mon Dec  5 15:46:30 2011
New Revision: 182011

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182011
Log:
/cp
2011-12-05  Paolo Carlini  paolo.carl...@oracle.com

PR c++/51404
* typeck2.c (build_functional_cast): Early return error_mark_node
for invalid uses of 'auto'.
* parser.c (cp_parser_direct_declarator): When
cp_parser_constant_expression returns error do not produce further
diagnostic for the bound.

/testsuite
2011-12-05  Paolo Carlini  paolo.carl...@oracle.com

PR c++/51404
* g++.dg/cpp0x/auto28.C: New.


Added:
trunk/gcc/testsuite/g++.dg/cpp0x/auto28.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/cp/typeck2.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/51404] [c++0x] [4.7 Regression] ICE with invalid use of auto

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-05 
15:48:38 UTC ---
Fixed.


[Bug tree-optimization/51275] CLOBBERS can be optimized if they are right before the return (or RESX)

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

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-05 
15:49:44 UTC ---
Another approach is to not create CLOBBERs in the outermost scope at all
but re-create those during inlining when building the containing BLOCK.
That would probably avoid CLOBBERs for most C code that is not inlined.


[Bug libstdc++/51183] pair piecewise_construct_t constructor copies

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-05 
15:54:05 UTC ---
Chris, delegating constructors are just in, a patch would be welcome...


[Bug tree-optimization/51275] CLOBBERS can be optimized if they are right before the return (or RESX)

2011-12-05 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51275

--- Comment #7 from Michael Matz matz at gcc dot gnu.org 2011-12-05 16:02:10 
UTC ---
As said, this would still require ugly fiddling with exception edges.
Getting rid of some of the clobbers a posteriori seems cleaner.


[Bug libstdc++/51183] pair piecewise_construct_t constructor copies

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

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-05 
16:06:57 UTC ---
Nice!

it should be pretty simple:

  templateclass... _Args1, class... _Args2
pair(piecewise_construct_t,
 tuple_Args1... __first, tuple_Args2... __second)
: pair(std::move(__first), std::move(__second),
   typename _Build_index_tuplesizeof...(_Args1)::__type(),
   typename _Build_index_tuplesizeof...(_Args2)::__type())
{ }


  templatetypename... _Args2, std::size_t... _Indexes1,
   typename... _Args2, std::size_t... _Indexes2
explicit
pair(tuple_Args1... __tuple1, tuple_Args2 __tuple2,
 _Index_tuple_Indexes1..., _Index_tuple_Indexes2...)
: first(std::forward_Args1(get_Indexes1(__tuple1))...),
  second(std::forward_Args2(get_Indexes2(__tuple2))...)
{ }


[Bug c++/51424] New: [C++11] G++ should diagnose self-delegating constructors

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

 Bug #: 51424
   Summary: [C++11] G++ should diagnose self-delegating
constructors
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org
CC: pedro.lama...@gmail.com, ville.voutilai...@gmail.com


This modification of g++.dg/template/meminit1.C should get a diagnostic in
C++11 mode as well:

template class T 
struct S
{
  S() : S() {} // { dg-message delegating constructors  { target c++98 } }
  // { dg-error delegates to itself  { target c++11 } }
};

Sint s;

because 12.6.2 says,

If a constructor delegates to itself directly or indirectly, the program is
ill-formed; no diagnostic is required.

The diagnostic is not required, but it is easy to give, so we should do so.


[Bug libstdc++/51183] pair piecewise_construct_t constructor copies

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

--- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-05 
16:09:18 UTC ---
(In reply to comment #6)
   templatetypename... _Args2, std::size_t... _Indexes1,
 ^^
   should be _Args1

that's what I had prototyped a couple of weeks ago, it's untested obviously


[Bug target/51408] Miscompilation in arm.md:*minmax_arithsi

2011-12-05 Thread kazu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51408

--- Comment #1 from Kazu Hirata kazu at gcc dot gnu.org 2011-12-05 16:11:43 
UTC ---
Author: kazu
Date: Mon Dec  5 16:11:35 2011
New Revision: 182014

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182014
Log:
gcc/
PR target/51408
* config/arm/arm.md (*minmax_arithsi): Always require the else
clause in the MINUS case.

gcc/testsuite/
PR target/51408
* gcc.dg/pr51408.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/pr51408.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.md
trunk/gcc/testsuite/ChangeLog


[Bug libstdc++/51183] pair piecewise_construct_t constructor copies

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

--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-05 
16:12:35 UTC ---
I suspected that. Thus, Jon, if you like, just test and commit! ;)


[Bug target/51408] Miscompilation in arm.md:*minmax_arithsi

2011-12-05 Thread kazu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51408

Kazu Hirata kazu at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Kazu Hirata kazu at gcc dot gnu.org 2011-12-05 16:15:18 
UTC ---
Fixed on trunk.


[Bug inline-asm/51423] Questions regarding Clobber List for inline ARM/NEON assembly

2011-12-05 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51423

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #1 from Richard Earnshaw rearnsha at gcc dot gnu.org 2011-12-05 
16:22:14 UTC ---
Bugzilla is for reporting bugs, please use gcc-h...@gcc.gnu.org for questions.

If you use specific registers in an ASM statement you have to declare all of
them, even if the register is call-clobbered.  The compiler does not try to
parse the contents of the asm statement (it does simple substitution of the
declared operands) so if you don't specify which registers you are modifying
the compiler might try to use them for other purposes.

In GCC-4.5 and earlier you have to specify the smallest addressable register
unit in any clobber list (so s0...s31 and d16...d31)[1].  GCC-4.6 and later are
smarter: the compiler now knows that q0 is equivalent to d0+d1 is equivalent to
s0+s1+s2+s3 etc.

[1] in these older compilers saying q0 or d0 will be interpreted as s0
and not clobber what you think it should.


[Bug libstdc++/51183] pair piecewise_construct_t constructor copies

2011-12-05 Thread chris at bubblescope dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51183

--- Comment #10 from Chris Jefferson chris at bubblescope dot net 2011-12-05 
16:25:13 UTC ---
Oh, and one other tiny detail, I've about given up trying to understand corner
cases in the name look-up rules in C++, so I'd probably std:: qualify those
'get's, just to be on the safe side. Although I think this is one case where
things are OK.


[Bug c/51339] [4.6/4.7 Regression] ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
16:25:33 UTC ---
Created attachment 25993
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25993
gcc47-pr51339.patch

Untested fix.


[Bug libstdc++/51183] pair piecewise_construct_t constructor copies

2011-12-05 Thread chris at bubblescope dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51183

--- Comment #9 from Chris Jefferson chris at bubblescope dot net 2011-12-05 
16:19:40 UTC ---
The only difference in the version I wrote was that I passed the arguments into
the explicit constructor as non-const references, rather than by value with
std::move, which should be more efficent for types without a move constructor.
However, there really isn't very much choice in how you implement this.

Jonathan, if you are already off writing tests and ready to commit, I'm happy
to let you finish, else I could write some tests and submit a patch.


[Bug fortran/51338] [4.6/4.7 Regression] seg fault in gfc_dep_compare_expr with -O2

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug libstdc++/51183] pair piecewise_construct_t constructor copies

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

--- Comment #11 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-05 
16:27:07 UTC ---
I was assuming that since the public piecewise constructor takes them by value
the extra move would be elided ... that might not be true though.

I haven't written any tests for it and have a few other patches I need to chase
for approval, so if you have time to work on this please be my guest, thanks!


[Bug c++/39480] generated memcpy causes trouble in assignment

2011-12-05 Thread lu_zero at gentoo dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39480

lu_zero at gentoo dot org changed:

   What|Removed |Added

 CC||lu_zero at gentoo dot org

--- Comment #31 from lu_zero at gentoo dot org 2011-12-05 16:56:43 UTC ---
Seems that a related problem is still present in bug 32667


[Bug middle-end/32667] builtin operator= generates memcpy with overlapping memory regions

2011-12-05 Thread lu_zero at gentoo dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667

lu_zero at gentoo dot org changed:

   What|Removed |Added

 CC||lu_zero at gentoo dot org

--- Comment #6 from lu_zero at gentoo dot org 2011-12-05 16:59:07 UTC ---
Doesn't seem.

Here a reduced testcase courtesy of Mans Rullgard

struct foo {
int x[64];
};

void __attribute__((noinline)) foo(struct foo *a, struct foo *b)
{
*a = *b;
}

int main(void)
{
struct foo a = { 0 };
foo(a, a);
return 0;
}


[Bug other/50775] Register allocator sets up frame and frame pointer with low register pressure

2011-12-05 Thread vmakarov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50775

--- Comment #7 from Vladimir Makarov vmakarov at gcc dot gnu.org 2011-12-05 
17:02:59 UTC ---
Author: vmakarov
Date: Mon Dec  5 17:02:54 2011
New Revision: 182015

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182015
Log:
2011-12-05  Vladimir Makarov  vmaka...@redhat.com

PR other/50775
* ira-int.h (struct ira_object): Remove add_data.
(OBJECT_ADD_DATA): Remove.

* ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA
initialization.

* ira-color.c (object_hard_regs_t, object_hard_regs): Rename to
allocno_hard_regs_t, allocno_hard_regs.
(object_hard_regs_node_t, object_hard_regs_node): Rename to
allocno_hard_regs_node_t and allocno_hard_regs_node.
(struct allocno_color_data): Add new member last_process.  Move
profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start
from object_color_data.
(object_color_data_t, object_color_data, OBJECT_COLOR_DATA):
Remove.
(curr_allocno_process): New static variable.
(object_hard_regs_eq, object_hard_regs_htab): Rename to
allocno_hard_regs_eq and allocno_hard_regs_htab.
(init_object_hard_regs, finish_object_hard_regs): Rename to
init_allocno_hard_regs and finish_allocno_hard_regs.
(object_hard_regs_compare, object_hard_regs_node_t): Rename to
allocno_hard_regs_compare and allocno_hard_regs_node_t.
(create_new_object_hard_regs_node): Rename to
create_new_allocno_hard_regs_node.
(add_new_object_hard_regs_node_to_forest): Rename to
add_new_allocno_hard_regs_node_to_forest.
(add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
Rename to add_allocno_hard_regs_to_forest and
collect_allocno_hard_regs_cover.
(setup_object_hard_regs_nodes_parent): Rename to
setup_allocno_hard_regs_nodes_parent.
(remove_unused_object_hard_regs_nodes): Rename to
remove_unused_allocno_hard_regs_nodes.
(enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num):
Rename to enumerate_allocno_hard_regs_nodes and
allocno_hard_regs_nodes_num.
(object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to
allocno_hard_regs_nodes and allocno_hard_regs_subnode_t.
(object_hard_regs_subnode, object_hard_regs_subnodes): Rename to
allocno_hard_regs_subnode and allocno_hard_regs_subnodes.
(object_hard_regs_subnode_index): Rename to
allocno_hard_regs_subnode_index.
(setup_object_hard_regs_subnode_index): Rename to
setup_allocno_hard_regs_subnode_index.
(get_object_hard_regs_subnodes_num): Rename to
get_allocno_hard_regs_subnodes_num.
(form_object_hard_regs_nodes_forest): Rename to
form_allocno_hard_regs_nodes_forest.
(finish_object_hard_regs_nodes_tree): Rename to
form_allocno_hard_regs_nodes_forest
(finish_object_hard_regs_nodes_forest): Rename to
finish_allocno_hard_regs_nodes_forest.
(setup_left_conflict_sizes_p): Use allocno data instead of object
ones.  Process conflict allocnos once.
(update_left_conflict_sizes_p): Use allocno data instead of object
ones.  Change prototype signature.
(empty_profitable_hard_regs): Use allocno data instead of object
ones.
(setup_profitable_hard_regs): Ditto.
(get_conflict_profitable_regs): Rename to
get_conflict_and_start_profitable_regs.  Use allocno data for
profitable regs calculation.
(check_hard_reg_p): Change prototype signature.  Check profitable
regs for allocno not the objects.
(assign_hard_reg): Process conflict allocnos only once for
updating conflict costs.
(setup_allocno_available_regs_num): Use allocno data instead of
object ones.  Modify debug output.
(color_pass): Remove initialization and finalization of object
color data.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-int.h


[Bug debug/51410] [4.5/4.6/4.7 Regression] duplicate variable DIE

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

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 #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-05 
17:13:10 UTC ---
Created attachment 25994
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25994
gcc47-pr51410.patch

Untested fix.


[Bug lto/48094] ld: warning: section has unexpectedly large size errors in objc/obj-c++ lto

2011-12-05 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48094

Iain Sandoe iains at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #11 from Iain Sandoe iains at gcc dot gnu.org 2011-12-05 17:23:25 
UTC ---
OK - I can reproduce this on Darwin9.

... as things stand I don't think this is the same bug it was originally --
that is solved (the trivial case originally cited does not give rise to two
instances of the ImageInfo var.).

===

The problem is this;  

In the string case there are now two input object files - and of the those
files contains a local L_OBJC_ImageInfo variable. 

Usually ld would get those variables from two input object files and knows to
coalesce them (even tho the section is not marked coalesce) ...

... when LTO is engaged we now produce (I think, correctly, from an LTO
perspective) two local vars in the section - and the linker doesn't get to see
them and do the merge.



So, somehow, we need to make these variables merge-able by LTO; such that there
is only one instance in the LTO output to ld.

I think that later versions of the vendor's tools make some of the ObjC
sections merge-able - so that's a possibility -

- otherwise - Honza any suggestions?


[Bug target/51381] Internal compiler error for arm target

2011-12-05 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51381

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ramana at gcc dot gnu.org

--- Comment #11 from Ramana Radhakrishnan ramana at gcc dot gnu.org 
2011-12-05 17:23:36 UTC ---
I don't think this is ICE on valid code. The compiler at the minute doesn't
generate unified syntax for VFP instructions - therefore expecting the
instructions of that form to work correctly is wrong. 

I think the correct way of writing this is 

void round_int(void)
{
__asm__ __volatile__(fconstd d1,%G0 : : Dv(0.5f) : d1);
}

And then it would work. 

We really do need to transition to unified syntax for VFP instructions. 

cheers
Ramana


[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #47 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-12-05 
17:29:21 UTC ---
 Fixed (fingers crossing).

That's great, thanks (you can count mine as well :-).


[Bug rtl-optimization/44194] struct returned by value generates useless stores

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #38 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-12-05 
17:48:23 UTC ---
Taking it over.


[Bug tree-optimization/50904] [4.7 regression] pessimization when -fno-protect-parens is enabled by -Ofast

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

--- Comment #48 from Dominique d'Humieres dominiq at lps dot ens.fr 
2011-12-05 17:58:13 UTC ---
 Fixed (fingers crossing).

So far, so good! The runtime for induct compiled with -fprotect-parens -Ofast
went down from 14.11s to 13.14s, and compiled with -Ofast from 14.62s to 13.32s
(still ~1% slower). The timings for the other tests in the polyhedron suite
were basically unchanged (i.e., within the noise margin).

Thanks for the patch.


[Bug testsuite/51128] [4.7 Regression] New LTO failures

2011-12-05 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51128

--- Comment #2 from uros at gcc dot gnu.org 2011-12-05 17:59:44 UTC ---
Author: uros
Date: Mon Dec  5 17:59:32 2011
New Revision: 182016

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182016
Log:
PR testsuite/51128
* gcc.dg/torture/pr23821.c: Skip if -fno-fat-lto-objects was passed.
* gcc.dg/torture/pr39074.c: Ditto.
* gcc.dg/torture/pr39074-2.c: Ditto.
* gcc.dg/torture/pr42898.c: Ditto.
* gcc.dg/torture/pr42898-2.c: Ditto.
* gcc.dg/torture/pr45704.c: Ditto.
* gcc.dg/torture/pr50472.c: Ditto.
* gcc.dg/torture/pta-callused-1.c: Ditto.
* gcc.dg/torture/pta-ptrarith-1.c: Ditto.
* gcc.dg/torture/pta-ptrarith-2.c: Ditto.
* gcc.dg/torture/pta-ptrarith-3.c: Ditto.
* gcc.dg/torture/pta-escape-1.c: Ditto.
* gcc.dg/torture/ipa-pta-1.c: Ditto.
* gcc.dg/torture/ssa-pta-fn-1.c: Ditto.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c
trunk/gcc/testsuite/gcc.dg/torture/pr23821.c
trunk/gcc/testsuite/gcc.dg/torture/pr39074-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr39074.c
trunk/gcc/testsuite/gcc.dg/torture/pr42898-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr42898.c
trunk/gcc/testsuite/gcc.dg/torture/pr45704.c
trunk/gcc/testsuite/gcc.dg/torture/pr50472.c
trunk/gcc/testsuite/gcc.dg/torture/pta-callused-1.c
trunk/gcc/testsuite/gcc.dg/torture/pta-escape-1.c
trunk/gcc/testsuite/gcc.dg/torture/pta-ptrarith-1.c
trunk/gcc/testsuite/gcc.dg/torture/pta-ptrarith-2.c
trunk/gcc/testsuite/gcc.dg/torture/pta-ptrarith-3.c
trunk/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c


  1   2   >