[Bug ada/45394] New: [4.6 regression] gnat fails to build on s390, trunk 20100814

2010-08-24 Thread doko at ubuntu dot com
gnat fails to build on s390, trunk 20100814:

/build/buildd-gcc-snapshot_20100814-1-s390-y0XRB7/gcc-snapshot-20100814/build/./gcc/xgcc
-B/build/buildd-gcc-snapshot_20100814-1-s390-y0XRB7/gcc-snapshot-20100814/build/./gcc/
-B/usr/lib/gcc-snapshot/s390-linux-gnu/bin/
-B/usr/lib/gcc-snapshot/s390-linux-gnu/lib/ -isystem
/usr/lib/gcc-snapshot/s390-linux-gnu/include -isystem
/usr/lib/gcc-snapshot/s390-linux-gnu/sys-include-c -g -O2  -fPIC  -W -Wall
-gnatpg   g-comlin.adb -o g-comlin.o

g-comlin.adb: In function 'GNAT.COMMAND_LINE.CURRENT_PARAMETER':
g-comlin.adb:2412:8: error: missing REG_EH_REGION note in the end of bb 29
g-comlin.adb:2412:8: error: in basic block 29:
g-comlin.adb:2412:8: error: flow control insn inside a basic block
(insn 157 155 156 29 (parallel [
(set (mem/s/j:SI (reg/f:SI 80 [ D.6104 ]) [31
D.6104_152->BOUNDS.LB0+0 S4 A32])
(plus:SI (reg/v:SI 59 [
gnat__command_line__current_parameter__B_56__TTpSP1___L ])
(const_int 1 [0x1])))
(clobber (reg:CC 33 %cc))
]) g-comlin.adb:2409 250 {*addsi3}
 (expr_list:REG_UNUSED (reg:CC 33 %cc)
(expr_list:REG_DEAD (reg/v:SI 59 [
gnat__command_line__current_parameter__B_56__TTpSP1___L ])
(expr_list:REG_EH_REGION (const_int 1 [0x1])
(nil)
+===GNAT BUG DETECTED==+
| 4.6.0 20100814 (experimental) [trunk revision 163239] (s390-ibm-linux-gnu)
GCC error:|
| in rtl_verify_flow_info_1, at cfgrtl.c:2030  |
| Error detected around g-comlin.adb:2412:8|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

system.ads
g-comlin.adb
g-comlin.ads
gnat.ads
ada.ads
a-comlin.ads
g-dirope.ads
a-string.ads
a-strmap.ads
a-charac.ads
a-chlat1.ads
g-os_lib.ads
s-os_lib.ads
s-string.ads
a-uncdea.ads
g-regexp.ads
s-regexp.ads
a-finali.ads
s-finroo.ads
a-stream.ads
a-unccon.ads
a-strunb.ads
s-exctab.ads
s-stalib.ads
s-unstyp.ads
a-tags.ads
s-stoele.ads
s-stoele.adb
a-except.ads
s-parame.ads
s-traent.ads
s-soflin.ads
s-stache.ads
s-secsta.ads
s-finimp.ads
s-stratt.ads
a-filico.ads


raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:423
make[9]: *** [g-comlin.o] Error 1


-- 
   Summary: [4.6 regression] gnat fails to build on s390, trunk
20100814
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: doko at ubuntu dot com
GCC target triplet: s390-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45394



[Bug fortran/45395] New: internal compiler error: Segmentation fault

2010-08-24 Thread rguenth at gcc dot gnu dot org
module m1
implicit none
type :: t
real :: r
contains
procedure :: p => s
end type t
contains
subroutine s(v)
class(t), intent(in) :: v
print *, v % r
end subroutine s
end module m1


module m2
use m1
implicit none
contains
subroutine ss()
type(t) :: v
v % r = 2.
! comment the next line and it will compile
call v % p()
end subroutine ss
end module m2

! comment the next 2 lines and it will compile
program pr
end program pr


> /space/rguenther/install/gcc-4.5.1/bin/gfortran -S t.f90
t.f90:25:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

with -fwhole-file it works, with -fno-whole-file it doesn't fail on the trunk.


-- 
   Summary: internal compiler error: Segmentation fault
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45395



[Bug ada/45394] [4.6 regression] gnat fails to build on s390, trunk 20100814

2010-08-24 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45394



[Bug rtl-optimization/40101] [4.5 Regression] 200.sixtrack ICEs in get_seqno_by_preds, at sel-sched-ir.c:3752

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #6 from abel at gcc dot gnu dot org  2010-08-24 08:51 ---
Subject: Bug 40101

Author: abel
Date: Tue Aug 24 08:50:50 2010
New Revision: 163498

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163498
Log:
Backport from mainline:
PR rtl-optimization/40101
 * sel-sched-ir.c (get_seqno_by_preds): Allow returning negative
 seqno.  Adjust comment.
 * sel-sched.c (find_seqno_for_bookkeeping): Assert that when
 inserting bookkeeping before a jump, the jump is not scheduled.
 When no positive seqno found, provide a value.  Add comment.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.c
branches/gcc-4_4-branch/gcc/sel-sched.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40101



[Bug rtl-optimization/41697] ICE on gcc.c-torture/compile/20090917-1.c

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #4 from abel at gcc dot gnu dot org  2010-08-24 08:52 ---
Subject: Bug 41697

Author: abel
Date: Tue Aug 24 08:51:56 2010
New Revision: 163499

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163499
Log:
Backport from mainline:
 2009-10-15  Steve Ellcey  

PR rtl-optimization/41697
* sel-sched-ir.h (_eligible_successor_edge_p): Check successor count.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41697



[Bug c++/45393] Internal compiler error

2010-08-24 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-24 08:52 ---
Reducing.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45393



[Bug rtl-optimization/41697] ICE on gcc.c-torture/compile/20090917-1.c

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #5 from abel at gcc dot gnu dot org  2010-08-24 08:54 ---
Subject: Bug 41697

Author: abel
Date: Tue Aug 24 08:54:02 2010
New Revision: 163502

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163502
Log:
Backport from mainline:
 PR rtl-optimization/41697
 * sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with
 a conditional jump has a single successor.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41697



[Bug middle-end/45388] [4.6 Regression] Global constructor not found

2010-08-24 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45388



[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #12 from abel at gcc dot gnu dot org  2010-08-24 08:55 ---
Subject: Bug 42294

Author: abel
Date: Tue Aug 24 08:55:33 2010
New Revision: 163503

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163503
Log:
Backport from mainline:
PR rtl-optimization/42294
 * sel-sched.c (try_replace_dest_reg): When chosen register
 and original register is the same, do not bail out early, but
 still check all original insns for validity of replacing destination
 register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
 in this case.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42249.c
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294



[Bug middle-end/42245] ICE in verify_backedges for 197.parser with sel-sched

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #12 from abel at gcc dot gnu dot org  2010-08-24 08:57 ---
Subject: Bug 42245

Author: abel
Date: Tue Aug 24 08:57:18 2010
New Revision: 163504

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163504
Log:
Backport from mainline:
 2010-01-14  Andrey Belevantsev  
Alexander Monakov  

PR middle-end/42245
* sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
(maybe_tidy_empty_bb): ... here.  Make static.  Add new
argument.  Update all callers.
(tidy_control_flow): ... and here.  Recompute topological order
of basic blocks in region if necessary.
(sel_redirect_edge_and_branch): Change return type.  Return true
if topological order might have been invalidated.
(purge_empty_blocks): Export and move from...
* sel-sched.c (purge_empty_blocks): ... here.
* sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
(maybe_tidy_empty_bb): Delete prototype.
(purge_empty_blocks): Declare.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.c
branches/gcc-4_4-branch/gcc/sel-sched-ir.h
branches/gcc-4_4-branch/gcc/sel-sched.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42245



[Bug rtl-optimization/39453] ICE : in init_seqno, at sel-sched.c:6433

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #8 from abel at gcc dot gnu dot org  2010-08-24 08:58 ---
Subject: Bug 39453

Author: abel
Date: Tue Aug 24 08:58:36 2010
New Revision: 163505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163505
Log:
Backport from mainline:
 2010-01-14  Alexander Monakov  

PR rtl-optimization/39453
PR rtl-optimization/42246
* sel-sched-ir.c (considered_for_pipelining_p): Do not test
for pipelining_p.
(sel_add_loop_preheaders): Add preheader to last_added_blocks.

* gcc.dg/pr39453.c: New.
* gcc.dg/pr42246.c: New.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr39453.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42246.c
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39453



[Bug rtl-optimization/42246] ICE in init_seqno for 186.crafty with sel-sched

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #8 from abel at gcc dot gnu dot org  2010-08-24 08:58 ---
Subject: Bug 42246

Author: abel
Date: Tue Aug 24 08:58:36 2010
New Revision: 163505

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163505
Log:
Backport from mainline:
 2010-01-14  Alexander Monakov  

PR rtl-optimization/39453
PR rtl-optimization/42246
* sel-sched-ir.c (considered_for_pipelining_p): Do not test
for pipelining_p.
(sel_add_loop_preheaders): Add preheader to last_added_blocks.

* gcc.dg/pr39453.c: New.
* gcc.dg/pr42246.c: New.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr39453.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42246.c
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42246



[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #13 from abel at gcc dot gnu dot org  2010-08-24 09:00 ---
Subject: Bug 42294

Author: abel
Date: Tue Aug 24 08:59:47 2010
New Revision: 163506

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163506
Log:
Backport from mainline:
 2010-01-14  Alexander Monakov  

PR rtl-optimization/42294
* sel-sched-ir.h (struct _sel_insn_data): Update comment.
* sel-sched.c (move_exprs_to_boundary): Transitively add all
originators' originators.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.h
branches/gcc-4_4-branch/gcc/sel-sched.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294



[Bug rtl-optimization/42388] [4.5 Regression] ICE in move_bb_info with sel-sched and modulo-sched for 176.gcc

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #7 from abel at gcc dot gnu dot org  2010-08-24 09:01 ---
Subject: Bug 42388

Author: abel
Date: Tue Aug 24 09:01:18 2010
New Revision: 163507

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163507
Log:
Backport from mainline:
PR rtl-optimization/42388
 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
 that have no predecessors nor successors.  Do not call move_bb_info
 for empty blocks outside of current region.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42388



[Bug rtl-optimization/42389] ICE in advance_state_on_fence with sel-schd for 175.vpr

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #5 from abel at gcc dot gnu dot org  2010-08-24 09:02 ---
Subject: Bug 42389

Author: abel
Date: Tue Aug 24 09:02:30 2010
New Revision: 163508

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163508
Log:
Backport from mainline:
PR rtl-optimization/42389
 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
 to can_issue_more.
 (advance_state_on_fence): Likewise.
 (sel_target_adjust_priority): Print debug output only when
 sched_verbose >= 4, not 2.
 (get_expr_cost): Do not issue all unique insns on the next cycle.
 (fill_insns): Initialize can_issue_more from the value saved
 with the fence.
 * sel-sched-ir.c (flist_add): New parameter issue_more.
 Init FENCE_ISSUE_MORE with it.
 (merge_fences): Likewise.
 (init_fences): Update call to flist_add.
 (add_to_fences, add_clean_fence_to_fences)
 (add_dirty_fence_to_fences): Likewise.
 (move_fence_to_fences): Update call to merge_fences.
 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
 sched groups.
 * sel-sched-ir.h (struct _fence): New field issue_more.
 (FENCE_ISSUE_MORE): New accessor macro.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42389.c
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.c
branches/gcc-4_4-branch/gcc/sel-sched-ir.h
branches/gcc-4_4-branch/gcc/sel-sched.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42389



[Bug rtl-optimization/42246] ICE in init_seqno for 186.crafty with sel-sched

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #9 from abel at gcc dot gnu dot org  2010-08-24 09:08 ---
Subject: Bug 42246

Author: abel
Date: Tue Aug 24 09:08:23 2010
New Revision: 163513

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163513
Log:
Backport from mainline:
 PR rtl-optimization/42246
 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
 loops.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/pr42246-2.f
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched-ir.h
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42246



[Bug rtl-optimization/44691] [4.6 Regression] ICE: RTL check: expected code 'reg', have 'plus' in rhs_regno, at rtl.h:1050

2010-08-24 Thread abel at gcc dot gnu dot org


--- Comment #7 from abel at gcc dot gnu dot org  2010-08-24 09:12 ---
Subject: Bug 44691

Author: abel
Date: Tue Aug 24 09:11:48 2010
New Revision: 163516

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163516
Log:
Backport from mainline:
PR rtl-optimization/44691
* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
is not a register.

* gfortran.dg/pr44691.f: New test.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/pr44691.f
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/sel-sched.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44691



[Bug middle-end/45393] [4.5/4.6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2135

2010-08-24 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-08-24 09:12 ---
Confirmed.  Reduced testcase, ICEs at -O1:

class FloatPoint;
class Path {
public:
~Path();
void moveTo(const FloatPoint&);
static void createEllipse(const FloatPoint& center, float rx, float ry);
};
extern "C" {
extern float cosf (float);
extern float sinf (float);
}
const float piFloat = static_cast(3.14159265358979323846);
class FloatPoint {
public:
FloatPoint(float x, float y) : m_x(x), m_y(y) { }
float x() const;
float y() const;
float m_x, m_y;
};
void Path::createEllipse(const FloatPoint& center, float rx, float ry) 
{
  float cx = center.x();
  float cy = center.y();
  Path path;
  float x = cx;
  float y = cy;
  unsigned step = 0, num = 100;
  while (1) {
  float angle = static_cast(step) / num * 2.0f * piFloat;
  x = cx + cosf(angle) * rx;
  y = cy + sinf(angle) * ry;
  step++;
  if (step == 1)
path.moveTo(FloatPoint(x, y));
  }
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
  Component|c++ |middle-end
 Ever Confirmed|0   |1
  Known to fail||4.5.0 4.5.1 4.6.0
  Known to work||4.4.4
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 09:12:56
   date||
Summary|Internal compiler error |[4.5/4.6 Regression] ICE in
   ||redirect_eh_edge_1, at tree-
   ||eh.c:2135
   Target Milestone|--- |4.5.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45393



[Bug fortran/45395] internal compiler error: Segmentation fault

2010-08-24 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2010-08-24 09:17 ---
Janus: I CCed you as the program uses CLASS. (4.6 works, but 4.5 fails with a
segfault.)

Richard: I wonder whether one should fix it. Regarding CLASS, i.e.
polymorphism, one finds in the 4.5 release notes: "Experimental, incomplete
support for polymorphism". As Fortran 2003 feature and as being marked
experimental, I do not expect that many users run into this issue.
Additionally, even now there are still some bugs to be fixed and so far 34 OOP
bugs have been fixed during the 4.6 development, cf.
http://gcc.gnu.org/wiki/OOP

Thus, would WONTFIX be an acceptable answer?


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||janus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45395



[Bug fortran/45395] internal compiler error: Segmentation fault

2010-08-24 Thread rguenther at suse dot de


--- Comment #2 from rguenther at suse dot de  2010-08-24 09:33 ---
Subject: Re:  internal compiler error: Segmentation
 fault

On Tue, 24 Aug 2010, burnus at gcc dot gnu dot org wrote:

> 
> 
> --- Comment #1 from burnus at gcc dot gnu dot org  2010-08-24 09:17 
> ---
> Janus: I CCed you as the program uses CLASS. (4.6 works, but 4.5 fails with a
> segfault.)
> 
> Richard: I wonder whether one should fix it. Regarding CLASS, i.e.
> polymorphism, one finds in the 4.5 release notes: "Experimental, incomplete
> support for polymorphism". As Fortran 2003 feature and as being marked
> experimental, I do not expect that many users run into this issue.
> Additionally, even now there are still some bugs to be fixed and so far 34 OOP
> bugs have been fixed during the 4.6 development, cf.
> http://gcc.gnu.org/wiki/OOP
> 
> Thus, would WONTFIX be an acceptable answer?

If you don't want to fix it for 4.5 then mark it FIXED with a target
milestone of 4.6 (it's not a regression).  Possibly add the testcase
to the trunk.

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45395



[Bug fortran/45380] ICE in gfc_conv_intrinsic_any_all at -O{n>0}

2010-08-24 Thread mikael at gcc dot gnu dot org


--- Comment #5 from mikael at gcc dot gnu dot org  2010-08-24 10:10 ---
Fixed.


-- 

mikael at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.6.0
 Resolution||FIXED
   Target Milestone|--- |4.6.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45380



[Bug fortran/45396] New: Apply front-end pass also for arrays

2010-08-24 Thread burnus at gcc dot gnu dot org
Follow up to PR 45380; frontend-passes.c currently only works for scalars - cf.
PR 45380:

+  /* An expression of type EXPR_CONSTANT is only valid for scalars.  */
+  /* TODO: A scalar constant may be acceptable in some cases (the scalarizer
+ handles them well). However, there are also cases that need a non-scalar
+ argument. For example the any intrinsic. See PR 45380.  */
+  if (e->rank > 0)
+return false;

For instance, for an array "a"
  if (ANY ( a == a ))
can NOT be optimized to
  if (ANY ( .true. ))
but only to either
  if (ANY ( [ .true., .true. ... ] ))
with the proper shape or handling the transformational intrinsics as:
  if (.true.)
The reason is that ANY expects an array - analogously for ALL, SUM, PRODUCT,
PARITY, NORM2, ...


-- 
   Summary: Apply front-end pass also for arrays
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45396



[Bug middle-end/45312] GCC 4.4.4 miscompiles (?) the Linux kernel, makes kernel unusable

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #9 from jakub at gcc dot gnu dot org  2010-08-24 10:18 ---
Created an attachment (id=21554)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21554&action=view)
pageattr.i

Compiling this on x86_64-linux (and likely i?86-linux) with 4.4 branch
(r163492) using
./cc1 -fno-strict-aliasing -fno-common -fno-delete-null-pointer-checks -O2 -m32
-msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2
-march=i686 -mtune=core2 -ffreestanding -fno-asynchronous-unwind-tables
-mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector
-fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-overflow
-fconserve-stack

results in broken second cmpxchg8b arguments:
.L74:
movl-108(%ebp), %eax
xorl%edx, %edx
sublmem_map, %eax
movl__supported_pte_mask, %ecx
sarl$5, %eax
andl$99, %ecx
shldl   $12, %eax, %edx
movl-100(%ebp), %edi
sall$12, %eax
movl%edx, %ebx
orl %eax, %ecx
movl%edx, -28(%ebp)
movl%ecx, -32(%ebp)
movl%edx, %ecx
#APP
# 72 "/mnt/b1/src/linux/set64/arch/x86/include/asm/cmpxchg_32.h" 1

1:  movl (%edi), %eax
movl 4(%edi), %edx
.section .smp_locks,"a"
.balign 4
.long 671f - .
.previous
671:
lock; cmpxchg8b (%edi)
jnz 1b
# 0 "" 2
#NO_APP

*.optimized has:
:
  D.29689 = (long long unsigned int) (long unsigned int) (((int) base - (int)
mem_map) /[ex] 32) << 12 | __supported_pte_mask & 99;
  D.29693 = {};
  D.29693.pte = D.29689;
  D.29686 = D.29693;
  D.29718 = D.29686;
  pte = D.29718;
  pte = pte;
  pte = pte;
  ptep.249 = (long long unsigned int *) kpte;
  value = pte.pte;
  value.59 = (unsigned int *) &value;
  __asm__ __volatile__("
1:  movl (%1), %%eax
movl 4(%1), %%edx
.section .smp_locks,"a"
.balign 4
.long 671f - .
.previous
671:
lock; cmpxchg8b (%1)
jnz 1b" : "=m" *ptep.249 : "D" ptep.249 : "b" *value.59 : "c"
*(value.59 + 4) : "memory", "dx", "ax", "dx", "ax", "ax");

so ebx should contain lower 32 bits of D.29689 (i.e. the same as -32(%ebp)) and
ecx should contain upper 32 bits of D.29689 (i.e. the same as -28(%ebp)).
But as can be seen in the assembly, that's not the case, %ebx instead contains
the same value as %ecx, i.e. the upper 32 bits of D.29689.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45312



[Bug fortran/45380] ICE in gfc_conv_intrinsic_any_all at -O{n>0}

2010-08-24 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2010-08-24 10:19 ---
Follow up: PR 45396 (missed optimization PR).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45380



[Bug fortran/45395] internal compiler error: Segmentation fault

2010-08-24 Thread mikael at gcc dot gnu dot org


--- Comment #3 from mikael at gcc dot gnu dot org  2010-08-24 10:21 ---
Could be a duplicate of PR41784, PR44662 or PR44584. 
The fixes for those PRs were not backported to 4.5. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45395



[Bug fortran/45384] [OOP] double free with SELECT TYPE

2010-08-24 Thread sfilippone at uniroma2 dot it


--- Comment #4 from sfilippone at uniroma2 dot it  2010-08-24 10:24 ---
(In reply to comment #3)
With dump-tree-original I see this code snippet: 

finally
  {
if (aa.$data != 0B)
  {
__builtin_free ((void *) aa.$data);
  }
  }

I believe this is wrong, because aa.$data is always an alias to an
independently allocated data area, hence the double free. Of course I have no
idea why this happens or how to fix it, but you already guessed that :-)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45384



[Bug fortran/45396] Apply front-end pass also for arrays

2010-08-24 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2010-08-24 10:29 ---
Stupid example: Change either a == a to "a /= a" and .true. to .false. -- or
ANY to ALL. Otherwise the example does not make sense (even though it is
valid).


If one is there, one could also optimize the following:

logical :: ll
if (ALL ( [.false. , ll])) call unreachable()
end

As the single .false. makes the whole expression .false.; similarly for ANY and
.true. and for PRODUCT with an element of value 0 (though, one needs to take
case of DIM is present). 

Currently, the middle end optimizes this - though there might be cases when an
early FE optimization could help - e.g. if DIM is present as then a RTL call
could happen.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45396



[Bug ada/45394] [4.6 regression] gnat fails to build on s390, trunk 20100814

2010-08-24 Thread doko at ubuntu dot com


--- Comment #1 from doko at ubuntu dot com  2010-08-24 10:29 ---
seen as well with 20100824


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45394



[Bug middle-end/45312] [4.4 Regression] GCC 4.4.4 miscompiles the Linux kernel

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2010-08-24 10:30 ---
It seems things go wrong during RA.  In *.asmcons we still have the correct:
...
(insn 672 304 837 3
/mnt/b1/src/linux/set64/arch/x86/include/asm/cmpxchg_32.h:96 (parallel [
(set (reg/f:SI 558 [ value.59 ])
(plus:SI (reg/f:SI 20 frame)
(const_int -20 [0xffec])))
(clobber (reg:CC 17 flags))
]) 285 {*addsi_1} (expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))
;; End of basic block 3 -> ( 4)
...
(insn 1253 1125 1254 79
/mnt/b1/src/linux/set64/arch/x86/include/asm/pgtable-3level.h:36 (set
(mem/c/i:SI (plus:SI (reg/f:SI 20 frame)
(const_int -20 [0xffec])) [0 value+0 S4 A32])
(reg:SI 600 [ D.29693 ])) 47 {*movsi_1} (nil))

(insn 1254 1253 673 79
/mnt/b1/src/linux/set64/arch/x86/include/asm/pgtable-3level.h:36 (set
(mem/c/i:SI (plus:SI (reg/f:SI 20 frame)
(const_int -16 [0xfff0])) [0 value+4 S4 A32])
(reg:SI 601 [ D.29693+4 ])) 47 {*movsi_1} (nil))

(note 673 1254 674 79 NOTE_INSN_DELETED)

(insn 674 673 675 79
/mnt/b1/src/linux/set64/arch/x86/include/asm/cmpxchg_32.h:72 (set (reg:SI 356)
(mem:SI (plus:SI (reg/f:SI 558 [ value.59 ])
(const_int 4 [0x4])) [0 S4 A32])) 47 {*movsi_1} (nil))

(insn 675 674 677 79
/mnt/b1/src/linux/set64/arch/x86/include/asm/cmpxchg_32.h:72 (parallel [
(set (mem:DI (reg/v/f:SI 132 [ kpte ]) [0 S8 A64])
(asm_operands/v:DI ("
1:  movl (%1), %%eax
movl 4(%1), %%edx
.section .smp_locks,"a"
.balign 4
.long 671f - .
.previous
671:
lock; cmpxchg8b (%1)
jnz 1b") ("=m") 0 [
(reg/v/f:SI 132 [ kpte ])
(reg:SI 600 [ D.29693 ])
(reg:SI 356)
]
 [
(asm_input:SI ("D") 0)
(asm_input:SI ("b") 0)
(asm_input:SI ("c") 0)
] 347175))
...
i.e. it stores the correct values into the DImode stack slot and then as ebx
uses pseudo 600 and as as ecx reads from the stack the upper part (which is
equal to pseudo 601).  But in *.ira it is wrong already:
(insn 1253 1125 1254 78
/mnt/b1/src/linux/set64/arch/x86/include/asm/pgtable-3level.h:36 (set
(mem/c/i:SI (plus:SI (reg/f:SI 6 bp)
(const_int -32 [0xffe0])) [0 value+0 S4 A32])
(reg:SI 2 cx [501])) 47 {*movsi_1} (nil))

(insn 1254 1253 673 78
/mnt/b1/src/linux/set64/arch/x86/include/asm/pgtable-3level.h:36 (set
(mem/c/i:SI (plus:SI (reg/f:SI 6 bp)
(const_int -28 [0xffe4])) [0 value+4 S4 A32])
(reg:SI 3 bx [orig:601 D.29693+4 ] [601])) 47 {*movsi_1} (nil))

(note 673 1254 674 78 NOTE_INSN_DELETED)

(note 674 673 1405 78 NOTE_INSN_DELETED)

(insn 1405 674 1407 78
/mnt/b1/src/linux/set64/arch/x86/include/asm/cmpxchg_32.h:72 (set (reg:SI 5 di)
(mem/c:SI (plus:SI (reg/f:SI 6 bp)
(const_int -100 [0xff9c])) [0 %sfp+-88 S4 A32])) 47
{*movsi_1} (nil))

(insn 1407 1405 1406 78
/mnt/b1/src/linux/set64/arch/x86/include/asm/cmpxchg_32.h:72 (set (reg:SI 2 cx)
(mem/c:SI (plus:SI (reg/f:SI 6 bp)
(const_int -28 [0xffe4])) [0 S4 A32])) 47
{*movsi_1} (nil))

(insn 1406 1407 675 78
/mnt/b1/src/linux/set64/arch/x86/include/asm/cmpxchg_32.h:72 (set (reg:SI 3 bx)
(reg:SI 2 cx [501])) 47 {*movsi_1} (nil))

If insn 1406 came right before insn 1407, it would be still correct.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Priority|P3  |P1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 10:30:58
   date||
Summary|GCC 4.4.4 miscompiles (?)   |[4.4 Regression] GCC 4.4.4
   |the Linux kernel, makes |miscompiles the Linux kernel
   |kernel unusable |
   Target Milestone|--- |4.4.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45312



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-08-24 10:37 ---
Created an attachment (id=21555)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21555&action=view)
patch

With this patch I get a similar looking diff.  I still can't reproduce runtime
differences on my Athlon X2, so can you verify the patch (it makes sense anyway
though)?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function

2010-08-24 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2010-08-24 10:38 ---
The stage1 failure comes with 'gcc version 4.0.1 (Apple Inc. build 5493)' and
is fixed (from IRC) with

--- ../_gcc_clean/libcpp/lex.c  2010-08-22 13:10:39.0 +0200
+++ ../gcc-4.6-work/old-patches/lex.c   2010-08-23 18:46:46.0 +0200
@@ -496,7 +496,7 @@ init_vectorized_lexer (void)
   search_line_fast = impl;
 }

-#elif defined(__GNUC__) && defined(__ALTIVEC__)
+#elif GCC_VERSION >= 4005 && defined(__ALTIVEC__)

 /* A vection of the fast scanner using AltiVec vectorized byte compares.  */
 /* ??? Unfortunately, attribute(target("altivec")) is not yet supported,

With 'gcc version 4.2.1 (Apple Inc. build 5577)' the original libcpp/lex.c
compiles (I am now at stage2).
This could explain why 'regress' was bootstrapping without problem.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45381



[Bug middle-end/45312] [4.4 Regression] GCC 4.4.4 miscompiles the Linux kernel

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2010-08-24 10:43 ---
Reloads for insn # 675
Reload 0: reload_in (SI) = (reg/v/f:SI 132 [ kpte ])
GENERAL_REGS, RELOAD_OTHER (opnum = 0)
reload_in_reg: (reg/v/f:SI 132 [ kpte ])
reload_reg_rtx: (reg:SI 5 di)
Reload 1: DIREG, RELOAD_FOR_INPUT (opnum = 1)
reload_in_reg: (reg/v/f:SI 132 [ kpte ])
reload_reg_rtx: (reg:SI 5 di)
Reload 2: reload_in (SI) = (reg:SI 2 cx [501])
BREG, RELOAD_FOR_INPUT (opnum = 2)
reload_in_reg: (reg:SI 600 [ D.29693 ])
reload_reg_rtx: (reg:SI 3 bx)
Reload 3: reload_in (SI) = (reg:SI 356)
CREG, RELOAD_OTHER (opnum = 3)
reload_in_reg: (reg:SI 356)
reload_reg_rtx: (reg:SI 2 cx)


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bernds at gcc dot gnu dot
   ||org, uweigand at gcc dot gnu
   ||dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45312



[Bug target/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread mikael at gcc dot gnu dot org


--- Comment #5 from mikael at gcc dot gnu dot org  2010-08-24 10:43 ---
(In reply to comment #3)
> Subject: Re:   New: no such instruction: `pcmpestri $0,(%rdi),%xmm0'
> 
> What version of binutils is being used?
> Have you tried a newer version?
> 

% as --version
GNU assembler 2.15 [FreeBSD] 2004-05-23
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-obrien-freebsd'.

I haven't tried any newer version. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376



[Bug fortran/45396] Apply front-end pass also for arrays

2010-08-24 Thread mikael at gcc dot gnu dot org


-- 

mikael at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 10:44:55
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45396



[Bug testsuite/29071] gcc.dg/20020919-1.c compilation test fails on powerpc-apple-darwin8 at -m64

2010-08-24 Thread howarth at nitro dot med dot uc dot edu


--- Comment #11 from howarth at nitro dot med dot uc dot edu  2010-08-24 
10:53 ---
Fixed at r142696.


-- 

howarth at nitro dot med dot uc dot edu changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29071



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2010-08-24 10:55 ---
With the patch in comment #6, I get a minor improvement, but do not recover the
timing before r163278:

r163277

Test1 - Gauss 2000 (101x101) inverts  1.9 sec  Err= 0.006
2.157u 0.074s 0:02.23 99.5% 0+0k 0+0io 0pf+0w

r163469 without patch

Test1 - Gauss 2000 (101x101) inverts  2.7 sec  Err= 0.006
2.903u 0.069s 0:02.97 99.6% 0+0k 0+0io 0pf+0w

r163517 with patch

Test1 - Gauss 2000 (101x101) inverts  2.5 sec  Err= 0.006
2.717u 0.073s 0:02.79 99.6% 0+0k 0+0io 0pf+0w


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug libgomp/43706] scheduling two threads on one core leads to starvation

2010-08-24 Thread solar-gcc at openwall dot com


--- Comment #17 from solar-gcc at openwall dot com  2010-08-24 11:07 ---
(In reply to comment #16)
> I would really like to see this bug tackled.

I second that.

> Fixing it is easily done by lowering the spin count as proposed.  Otherwise,
> please show cases where a low spin count hurts performance.

Unfortunately, yes, I've since identified real-world test cases where
GOMP_SPINCOUNT=1 hurts performance significantly (compared to gcc 4.5.0's
default).  Specifically, this was the case when I experimented with my John the
Ripper patches on a dual-X5550 system (16 logical CPUs).  On a few
real-world'ish runs, GOMP_SPINCOUNT=1 would halve the speed.  On most other
tests I ran, it would slow things down by about 10%.  That's on an otherwise
idle system.  I was surprised as I previously only saw GOMP_SPINCOUNT=1
hurt performance on systems with server-like unrelated load (and it would help
tremendously with certain other kinds of load).

> In general, for a tuning parameter, a good-natured rather value should be
> preferred over a value that gives best results in one case, but very bad ones
> in another case.

In general, I agree.  Even the 50% worse-case slowdown I observed with
GOMP_SPINCOUNT=1 is not as bad as the 400x worst-case slowdown observed
without that option.  On the other hand, a 50% slowdown would be fatal as it
relates to comparison of libgomp vs. competing implementations.  Also, HPC
cluster nodes may well be allocated such that there's no other load on each
individual node.  So having the defaults tuned for a system with no other load
makes some sense to me, and I am really unsure whether simply changing the
defaults is the proper fix here.

I'd be happy to see this problem fixed differently, such that the unacceptable
slowdowns are avoided in "both" cases.  Maybe the new default could be to
auto-tune the setting while the program is running?

Meanwhile, if it's going to take a long time until we have a code fix, perhaps
the problem and the workaround need to be documented prominently.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43706



[Bug fortran/45395] [OOP] internal compiler error: Segmentation fault

2010-08-24 Thread janus at gcc dot gnu dot org


--- Comment #4 from janus at gcc dot gnu dot org  2010-08-24 11:32 ---
(In reply to comment #3)
> Could be a duplicate of PR41784, PR44662 or PR44584. 
> The fixes for those PRs were not backported to 4.5. 

Might be. I'm rather guessing for PR 44064/44065. Actually most of the 34
OOP-related PRs that were fixed on the post-4.5 trunk were not backported. For
some a backport is simply not possible since the internal representation was
modified heavily. For others it should be possible, but the question is if it's
worth the effort (since OOP in 4.5 is marked as experimental anyway and will
never be perfect).

Btw, the following variant gives me an undefined reference to `vtab$t.1562':

module m1
  implicit none
  type :: t
  contains
procedure :: s
  end type t
contains
  subroutine s(v)
class(t), intent(in) :: v
  end subroutine s
end module m1

module m2
  use m1
  implicit none
contains
  subroutine ss()
type(t) :: v
call v%s()
  end subroutine ss
end module m2

program pr
end program pr


The original test case hangs in an infinite loop on my machine.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 11:32:10
   date||
Summary|internal compiler error:|[OOP] internal compiler
   |Segmentation fault  |error: Segmentation fault


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45395



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-08-24 11:37 ---
Do you see the slowdown as well if you drop -funroll-loops?  Do you see
the slowdown with just -O2?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug libgomp/43706] scheduling two threads on one core leads to starvation

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #18 from jakub at gcc dot gnu dot org  2010-08-24 11:40 ---
For the auto-tuning, ideally the kernel would tell the thread when it lost CPU,
I doubt there is any API for that currently.  E.g. if a thread could register
with kernel address where the kernel would store some value (e.g. zero) or do
atomic increment or decrement upon taking away CPU from the thread.
Then, at the start of the spinning libgomp could initialize that flag and check
it from time to time (say every few hundred or thousand iterations) whether it
has lost the CPU.  In the lost CPU case it would continue just with a couple of
spins and then go to sleep, and ensure the spincount will get dynamically
adjusted next time or something similar.

Currently I'm afraid the only way to dynamically adjust is from time to time
read/parse /proc/loadavg and if it went above number of available CPUs or
something similar, start throttling down.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||drepper at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43706



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread dominiq at lps dot ens dot fr


--- Comment #9 from dominiq at lps dot ens dot fr  2010-08-24 11:47 ---
> Do you see the slowdown as well if you drop -funroll-loops?  

Yes

[macbook] lin/test% gfc -Ofast test_fpu_red.f90
[macbook] lin/test% time a.out
Test1 - Gauss 2000 (101x101) inverts  3.0 sec  Err= 0.006
3.208u 0.072s 0:03.28 99.6% 0+0k 0+0io 0pf+0w
[macbook] lin/test% gfcp -Ofast test_fpu_red.f90
[macbook] lin/test% time a.out
Test1 - Gauss 2000 (101x101) inverts  2.2 sec  Err= 0.006
2.440u 0.076s 0:02.52 99.6% 0+0k 0+0io 0pf+0w

> Do you see the slowdown with just -O2?

No

[macbook] lin/test% gfc -O2 test_fpu_red.f90
[macbook] lin/test% time a.out
Test1 - Gauss 2000 (101x101) inverts  3.1 sec  Err= 0.006
3.328u 0.071s 0:03.40 99.7% 0+0k 0+0io 0pf+0w
[macbook] lin/test% gfcp -O2 test_fpu_red.f90
[macbook] lin/test% time a.out
Test1 - Gauss 2000 (101x101) inverts  3.1 sec  Err= 0.006
3.330u 0.073s 0:03.40 100.0%0+0k 0+0io 0pf+0w

but I see it with -O2 -ftree-vectorize

[macbook] lin/test% gfc -O2 -ftree-vectorize test_fpu_red.f90
[macbook] lin/test% time a.out
Test1 - Gauss 2000 (101x101) inverts  3.1 sec  Err= 0.006
3.318u 0.070s 0:03.39 99.7% 0+0k 0+0io 0pf+0w
[macbook] lin/test% gfcp -O2 -ftree-vectorize test_fpu_red.f90
[macbook] lin/test% time a.out
Test1 - Gauss 2000 (101x101) inverts  2.3 sec  Err= 0.006
2.498u 0.076s 0:02.57 99.6% 0+0k 0+0io 0pf+0w

although I do not see any difference in the outputs with
-ftree-vectorizer-verbose=2.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug middle-end/45388] [4.6 Regression] Global constructor not found

2010-08-24 Thread hubicka at gcc dot gnu dot org


--- Comment #2 from hubicka at gcc dot gnu dot org  2010-08-24 12:12 ---
Is there another consturctor calling this one? (or can you attach complette .s
file?) Perhaps it is result of my constructor merging patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45388



[Bug libgomp/43706] scheduling two threads on one core leads to starvation

2010-08-24 Thread solar-gcc at openwall dot com


--- Comment #19 from solar-gcc at openwall dot com  2010-08-24 12:18 ---
(In reply to comment #18)
> Then, at the start of the spinning libgomp could initialize that flag and 
> check
> it from time to time (say every few hundred or thousand iterations) whether it
> has lost the CPU.

Without a kernel API like that, you can achieve a similar effect by issuing the
rdtsc instruction (or its equivalents for non-x86 archs) and seeing if the
cycle counter changes unexpectedly (say, by 1000 or more for a single loop
iteration), which would indicate that there was a context switch.  For an
arch-independent implementation, you could also use a syscall such as times(2)
or gettimeofday(2), but then you'd need to do it very infrequently (e.g., maybe
just to see if there's a context switch between 10k to 20k spins).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43706



[Bug fortran/45384] [OOP] double free with SELECT TYPE

2010-08-24 Thread sfilippone at uniroma2 dot it


--- Comment #5 from sfilippone at uniroma2 dot it  2010-08-24 12:50 ---
(In reply to comment #3)
> Reduced test case:
> 
> program bug20
> 
>   type :: d_base_sparse_mat
> integer :: v(10) = 0.
>   end type d_base_sparse_mat
> 
>   class(d_base_sparse_mat),allocatable :: a
> 
>   allocate (d_base_sparse_mat :: a)
> 
>   select type(aa => a)
>   type is (d_base_sparse_mat)
> write(0,*) 'NV = ',size(aa%v)
>   class default 
> write(0,*) 'Not implemented yet '
>   end select
> 
> end program bug20
> 
> 
> Note: The double free only happens when an associate-name is used.
> 
Changing the original example as follows: 
  subroutine doit(a)
type(d_sparse_mat), intent(in) :: a
integer :: i , nv
call doselect(a%a)
  end subroutine doit

  subroutine doselect(aa)
class(base_sparse_mat) :: aa
select type(aa)
type is (d_base_sparse_mat)
  nv = size(aa%v)
  write(0,*) 'NV = ',nv
class default 
  write(0,*) 'Not implemented yet '
end select
  end subroutine doselect

makes it work. 
However, when the same change is applied to the original library, a double free
pops up in another place, unrelated to this issue; this would indicate that
there are other instances of some sort of flaw in the cleanup of temporaries. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45384



[Bug fortran/45384] [OOP] double free with SELECT TYPE

2010-08-24 Thread janus at gcc dot gnu dot org


--- Comment #6 from janus at gcc dot gnu dot org  2010-08-24 12:57 ---
(In reply to comment #5)
> However, when the same change is applied to the original library, a double 
> free
> pops up in another place, unrelated to this issue; this would indicate that
> there are other instances of some sort of flaw in the cleanup of temporaries. 

Cf. PR 44047 (which is similar to this, except that the polymorphic selector
itself is allocatable).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45384



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread hubicka at gcc dot gnu dot org


--- Comment #5 from hubicka at gcc dot gnu dot org  2010-08-24 13:01 ---
Hmm, the problem seems to be that partitioning puts mumble into one partition,
while in first partition it uses local (IP) relative way to access it:
movl_mumble-L001$pb(%ebx), %eax
and assembler refuse it.  What is proper way to access hidden symbol from other
.s file?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug fortran/45384] [OOP] double free with SELECT TYPE

2010-08-24 Thread sfilippone at uniroma2 dot it


--- Comment #7 from sfilippone at uniroma2 dot it  2010-08-24 13:05 ---
(In reply to comment #6)

> 
> Cf. PR 44047 (which is similar to this, except that the polymorphic selector
> itself is allocatable).
> 
Yes, there indeed is a family air to this problem.it's probably one and the
same issue: correct cleanup of the temporary. From its description, I would
expect a solution to fix bot PRs. 
Eagerly waiting for one such fix (to test against the full application)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45384



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-24 Thread bernds at gcc dot gnu dot org


--- Comment #77 from bernds at gcc dot gnu dot org  2010-08-24 13:13 ---
We might also want to throttle back the change in function.c so that it's only
enabled when extending from a memory location.  But it still would be good to
know and fix what exactly is going wrong in fwprop.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44970



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2010-08-24 13:17 ---
The same errors appear on powerpc-apple-darwin9 with both -m32 and -m64 (see
http://gcc.gnu.org/ml/gcc-testresults/2010-08/msg00777.html ).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug tree-optimization/45397] New: [4.5/4.6 Regression] Issues with integer narrowing conversions

2010-08-24 Thread jakub at gcc dot gnu dot org
In http://gcc.gnu.org/ml/gcc/2010-08/msg00326.html
Revital complained about MAX_EXPR no longer being recognized in:
int foo (const unsigned char *tmp, int i, int val)
{
  return (unsigned char)(((tmp[i] + val)>0xFF)?0xFF:(((tmp[i] +
val)<0)?0:(tmp[i] + val)));
}
It is still recognized when using:
int bar (const unsigned char *tmp, int i, int val)
{
  int x = (((tmp[i] + val)>0xFF)?0xFF:(((tmp[i] + val)<0)?0:(tmp[i] + val)));
  return (unsigned char)x;
}
The regression is caused by folding being delayed in the C FE, while before
the inner COND_EXPR has been optimized by fold_ternary* into MAX_EXPR, now it
isn't immediately, thus convert_to_integer on the narrowing conversion
propagates the (unsigned char) narrowing casts down into the operands and when
fold_ternary* is actually called, it is too late, as the operands aren't
considered equal.

Perhaps it would be nice for -O2 to consider for e.g. int a and b
that (unsigned char) (a + b) is the same as (unsigned char) a + (unsigned char)
b during VN.


-- 
   Summary: [4.5/4.6 Regression] Issues with integer narrowing
conversions
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45397



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2010-08-24 13:25 
---
Subject: Bug 45379

Author: rguenth
Date: Tue Aug 24 13:25:25 2010
New Revision: 163519

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163519
Log:
2010-08-24  Richard Guenther  

PR middle-end/45379
* tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
if addr->index is NULL or zero.
* tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
TARGET_MEM_REF more properly.
(indirect_ref_may_alias_decl_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
* alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more
properly.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/alias.c
trunk/gcc/emit-rtl.c
trunk/gcc/tree-ssa-address.c
trunk/gcc/tree-ssa-alias.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug tree-optimization/45397] [4.5/4.6 Regression] Issues with integer narrowing conversions

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2010-08-24 13:35 ---
On the C FE side, perhaps these optimizations should be moved over from
convert_to_integer to e.g. c_fully_fold_internal, where the operand would be
folded first and only afterwards the narrowing conversion optimization would be
applied.  That would solve this testcase too, but wouldn't help the case where
the narrowing conversion is done by the user already.

int foo (const unsigned char *a, int b, int c)
{
  int x = (unsigned char) (a[b] + c);
  int y = a[b] + c;
  int z = (unsigned char) y;
  return x == z;
}

is another testcase which isn't currently optimized at the tree level (the RTL
level can figure this out though).


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jsm28 at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45397



[Bug tree-optimization/45397] [4.5/4.6 Regression] Issues with integer narrowing conversions

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-08-24 13:41 ---
Created an attachment (id=21556)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21556&action=view)
minmax.patch

I've also noticed that the folder only recognizes the inner MAX_EXPR, but
doesn't recognize the outer MIN_EXPR.  Apparently (when convert_to_integer
doesn't harm it, i.e. the bar testcase instead of foo) phiopt1 later on figures
this out.  The attached (untested) patch handles that case early, but not sure
it is worth it.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45397



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread howarth at nitro dot med dot uc dot edu


--- Comment #7 from howarth at nitro dot med dot uc dot edu  2010-08-24 
13:44 ---
(In reply to comment #5)
> Hmm, the problem seems to be that partitioning puts mumble into one partition,
> while in first partition it uses local (IP) relative way to access it:
> movl_mumble-L001$pb(%ebx), %eax
> and assembler refuse it.  What is proper way to access hidden symbol from 
> other
> .s file?
> 

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729#c33
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729#c37
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729#c42


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-24 Thread bonzini at gnu dot org


--- Comment #78 from bonzini at gnu dot org  2010-08-24 13:44 ---
My plan for fwprop is to replace the whole update_df machinery with a call to
df_uses_record.  The use-def links can be kept up to date by looking at the
original uses of both the propagated-from and propagated-into instructions.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44970



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread hubicka at gcc dot gnu dot org


--- Comment #8 from hubicka at gcc dot gnu dot org  2010-08-24 13:44 ---
the following testcase:
__attribute__((visibility ("hidden"))) extern int mumble;
extern void abort (void);
extern void exit (int);

int
main ()
{
  if (++mumble != 42)
abort ();
  exit (0);
}

should compile to pretty much the same as the partition. We get:
call___i686.get_pc_thunk.bx
L001$pb:
subl$24, %esp
LCFI1:
movlL_mumble$non_lazy_ptr-L001$pb(%ebx), %edx
movl(%edx), %eax
addl$1, %eax
cmpl$42, %eax
movl%eax, (%edx)
je  L2
call_abort

and later
L_mumble$non_lazy_ptr:
.long   _mumble

while in the partitoin we get:
CFI1:  
movl_mumble-L001$pb(%ebx), %eax
addl$1, %eax
cmpl$42, %eax
movl%eax, _mumble-L001$pb(%ebx)
je  L2
call_abort
L2:
movl$0, (%esp)
call_exit
LFE0:   

and no later mention of it...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread iains at gcc dot gnu dot org


--- Comment #9 from iains at gcc dot gnu dot org  2010-08-24 13:47 ---
(In reply to comment #5)
> Hmm, the problem seems to be that partitioning puts mumble into one partition,
> while in first partition it uses local (IP) relative way to access it:
> movl_mumble-L001$pb(%ebx), %eax
> and assembler refuse it.  What is proper way to access hidden symbol from 
> other
> .s file?

Take a look at the output of compilation without lto .. 
.. the symbol is indirected - since it cannot be guaranteed to be within reach
otherwise;

so (by convention) 
_mumble-L001$pb   => L__mumble$non_lazy_ptr-L001$pb

..

.non_lazy_symbol_pointer
L_mumble$non_lazy_ptr:
.indirect_symbol _mumble
.long   0


-- 

iains at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||iains at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug middle-end/45393] [4.5/4.6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2135

2010-08-24 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2010-08-24 13:58 ---
For gcc 4.3 and 4.4, I got

pr45393.cc:20: error: BB 4 can not throw but has EH edges
pr45393.cc:20: error: BB 5 can not throw but has EH edges
pr45393.cc:20: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

when checking is enabled.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45393



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread iains at gcc dot gnu dot org


--- Comment #10 from iains at gcc dot gnu dot org  2010-08-24 14:11 ---
(In reply to comment #9)
> (In reply to comment #5)
> > Hmm, the problem seems to be that partitioning puts mumble into one 
> > partition,
> > while in first partition it uses local (IP) relative way to access it:
> > movl_mumble-L001$pb(%ebx), %eax
> > and assembler refuse it.  What is proper way to access hidden symbol from 
> > other
> > .s file?
> 
> Take a look at the output of compilation without lto .. 
> .. the symbol is indirected - since it cannot be guaranteed to be within reach
> otherwise;
>

which you already posted,
I don't think the hidden attribute is relevant, looking at other fails.

local symbols need to be registered with machopic_define_symbol() 
(see config/darwin.h ASM_DECLARE_OBJECT_NAME).

they are processed via machopic_finish() called from darwin_file_end ()
[config/darwin.c] 
which , I assume is still called in the lto case?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug tree-optimization/45397] [4.5/4.6 Regression] Issues with integer narrowing conversions

2010-08-24 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-24 14:13 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 14:13:05
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45397



[Bug c++/45398] New: Missing atomic<_Tp*>::store definition

2010-08-24 Thread takenori dot sato at gmail dot com
Hi, 

I get "undefined reference to `std::atomic::store(Foo*,
std::memory_order) volatile'" error, and am wondering if the definition of
atomic<_Tp*>::store is missing. 

My version is: 
gcc version 4.4.0 20090514 (Red Hat 4.4.0-6) (GCC) 

I see no definition in the header file, cstdatomic. 

Also, compare_swap is not declared. Instead, compare_exchange_weak(strong)
exist. It is not a bug, but is not consistent with the document. 
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html

Thanks,
Takenori


-- 
   Summary: Missing atomic<_Tp*>::store definition
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: takenori dot sato at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45398



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread dominiq at lps dot ens dot fr


--- Comment #11 from dominiq at lps dot ens dot fr  2010-08-24 14:33 ---
Assembly for the inner loop

  do i = 1, n
 b(i,j) = b(i,j)-temp(i)*c
  end do

with -Ofast


r163277

L38:
movsd   (%rsi,%rax), %xmm0
addl$1, %ecx
movhpd  8(%rsi,%rax), %xmm0
movapd  %xmm0, %xmm1
movapd  (%rdi,%rax), %xmm0
mulpd   %xmm3, %xmm1
subpd   %xmm1, %xmm0
movapd  %xmm0, (%rdi,%rax)
addq$16, %rax
cmpl$249, %ecx
jbe L38

r163519

L38:
movsd   (%rdi,%rax), %xmm5
addl$1, %esi
movhpd  8(%rdi,%rax), %xmm5
movapd  %xmm5, %xmm1
movsd   (%rcx,%rax), %xmm5
mulpd   %xmm3, %xmm1
movhpd  8(%rcx,%rax), %xmm5
movapd  %xmm5, %xmm0
subpd   %xmm1, %xmm0
movlpd  %xmm0, (%rcx,%rax)
movhpd  %xmm0, 8(%rcx,%rax)
addq$16, %rax
cmpl$249, %esi
jbe L38


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread iains at gcc dot gnu dot org


--- Comment #11 from iains at gcc dot gnu dot org  2010-08-24 14:37 ---
essentially to turn the last comment around:

IIUC, if whopr changes a symbol from "external" to "local"  then it needs to
register that symbol with machopic_define_symbol () -- and ensure that  (*
targetm.encode_section_info) (DECL, DECL_RTL (DECL), false); gets called too.. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug fortran/41209] Add full ATTRIBUTE support to gfortran (ALIGN, (WEAK)ALIAS, ...)

2010-08-24 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2010-08-24 14:38 ---
This feature is also useful for the test suite, e.g. to force no inlining.

TODO 3:
Some attributes need to be moved out of c-family/c-common.c to be available for
Fortran.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41209



Re: [Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread Jan Hubicka
Hmm, actually the symbol is not changed, since it is externally visible symbol.
I guess the problem would be that the symbol is used by 2 units, so both of
them gets the declaration, but both of them gets the declaration with
initializer (not extern).  To avoid duplicate definitions, varpool.c is testing
in_other_partition and prevents calling assemble_variable on them. This works
just fine on ELF since extern vars don't need to be announced.  Here we
apparently need to get it assembled, but it is not getting via
assemble_external.

Rebuilding the decl to DECL_EXTERN is probably possible, but somewhat hackish.

Honza


[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread hubicka at ucw dot cz


--- Comment #12 from hubicka at ucw dot cz  2010-08-24 15:04 ---
Subject: Re:  m32 lto produces non-relocatable subtraction
expression errors

Hmm, actually the symbol is not changed, since it is externally visible symbol.
I guess the problem would be that the symbol is used by 2 units, so both of
them gets the declaration, but both of them gets the declaration with
initializer (not extern).  To avoid duplicate definitions, varpool.c is testing
in_other_partition and prevents calling assemble_variable on them. This works
just fine on ELF since extern vars don't need to be announced.  Here we
apparently need to get it assembled, but it is not getting via
assemble_external.

Rebuilding the decl to DECL_EXTERN is probably possible, but somewhat hackish.

Honza


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug middle-end/45388] [4.6 Regression] Global constructor not found

2010-08-24 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #3 from dave at hiauly1 dot hia dot nrc dot ca  2010-08-24 
15:06 ---
Subject: Re:  [4.6 Regression] Global constructor not found

> Is there another consturctor calling this one? (or can you attach complette .s
> file?) Perhaps it is result of my constructor merging patch.

Unfortunately, the .s is gone for the moment.  What I showed contained
all the references to the constructor.  There is no `.EXPORT' statement,
so the constructor is local.

I believe it was caused by your constructor merging patch, but I haven't
explicitly verified this.

Collect2 builds a table of constructors to call at startup.  This startup
file is then linked into the final executable.  This only works if the
constructors are global symbols.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45388



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread iains at gcc dot gnu dot org


--- Comment #13 from iains at gcc dot gnu dot org  2010-08-24 15:17 ---
(In reply to comment #12)
> Subject: Re:  m32 lto produces non-relocatable subtraction
> expression errors
> 
> Hmm, actually the symbol is not changed, since it is externally visible 
> symbol.

ah, OK.

> assemble_external ().

is a no-op on darwin (unless the symbol is weak).
since we don't declare ASM_OUTPUT_EXTERNAL.

There might be some trick with marking the symbols weak/weak_import but I know
nothing of the internals of lto to comment further.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug c++/45398] Missing atomic<_Tp*>::store definition

2010-08-24 Thread redi at gcc dot gnu dot org


--- Comment #1 from redi at gcc dot gnu dot org  2010-08-24 15:36 ---
(In reply to comment #0)
> Also, compare_swap is not declared. Instead, compare_exchange_weak(strong)
> exist. It is not a bug, but is not consistent with the document. 
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html

n2427 is ancient, the implementation in libstdc++ is based on a working draft
of the standard (maybe n3000, I don't recall exactly which one) not an early
proposal


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45398



[Bug libstdc++/45398] [C++0x] Missing atomic<_Tp*>::store definition

2010-08-24 Thread redi at gcc dot gnu dot org


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
  Component|c++ |libstdc++
Summary|Missing atomic<_Tp*>::store |[C++0x] Missing
   |definition  |atomic<_Tp*>::store
   ||definition


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45398



[Bug middle-end/45393] [4.5/4.6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2135

2010-08-24 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2010-08-24 15:38 ---
Revision 146776:

http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg01418.html

turns

pr45393.cc:20: error: BB 4 can not throw but has EH edges
pr45393.cc:20: error: BB 5 can not throw but has EH edges
pr45393.cc:20: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

into

pr45393.cc:20: internal compiler error: in redirect_eh_edge, at tree-eh.c:2042
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45393



[Bug lto/44812] m32 lto produces non-relocatable subtraction expression errors

2010-08-24 Thread howarth at nitro dot med dot uc dot edu


--- Comment #14 from howarth at nitro dot med dot uc dot edu  2010-08-24 
15:40 ---
What about Mike's suggestions from Comment 33 of PR43729 ...

"If one bundles all the code into the wpa file, one can preserve
_good_ codegen, which is the other way to fix this."


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812



[Bug middle-end/45273] [4.4/4.5/4.6 Regression] The compiler depends on the host double (-fprofile-corection only)

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-08-24 15:42 ---
Well, we don't have sreal_sqrt, and the approximation mcf_sqrt uses is quite
tied to the float representation, while it isn't impossible to convert it, I'd
say it isn't trivial either.  Perhaps we could use mpfr instead.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45273



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2010-08-24 15:48 
---
Try

Index: emit-rtl.c
===
--- emit-rtl.c  (revision 163519)
+++ emit-rtl.c  (working copy)
@@ -1615,6 +1615,11 @@ set_mem_attributes_minus_bitpos (rtx ref
align = MAX (align, TYPE_ALIGN (type));
 }

+  else if (TREE_CODE (t) == TARGET_MEM_REF)
+/* ??? This isn't fully correct, we can't set the alignment from the
+   type in all cases.  */
+align = MAX (align, TYPE_ALIGN (type));
+
   else if (TREE_CODE (t) == MISALIGNED_INDIRECT_REF)
 {
   if (integer_zerop (TREE_OPERAND (t, 1)))


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug libstdc++/45398] [C++0x] Missing atomic<_Tp*>::store definition

2010-08-24 Thread redi at gcc dot gnu dot org


--- Comment #2 from redi at gcc dot gnu dot org  2010-08-24 15:49 ---
confirmed, for 4.5 and 4.6 the relevant header is  not 


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 15:49:04
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45398



[Bug middle-end/45379] [4.6 Regression] ~10% slowdown on test_fpu at revision 163278

2010-08-24 Thread dominiq at lps dot ens dot fr


--- Comment #13 from dominiq at lps dot ens dot fr  2010-08-24 16:19 ---
With the patch in comment #12 I get

[macbook] lin/test% gfc -Ofast -funroll-loops test_fpu.f90
[macbook] lin/test% time a.out
  Benchmark running, hopefully as only ACTIVE task
  0.99755959009261719 
Test1 - Gauss 2000 (101x101) inverts  2.0 sec  Err= 0.006
Test2 - Crout 2000 (101x101) inverts  2.9 sec  Err= 0.014
Test3 - Crout  2 (1001x1001) inverts  3.4 sec  Err= 0.043
Test4 - Lapack 2 (1001x1001) inverts  2.6 sec  Err= 0.250
 total = 10.9 sec

11.103u 0.098s 0:11.21 99.8%0+0k 0+0io 0pf+0w

compared to

[macbook] lin/test% gfcp -Ofast -funroll-loops test_fpu.f90
[macbook] lin/test% time a.out
  Benchmark running, hopefully as only ACTIVE task
  0.99755959009261719 
Test1 - Gauss 2000 (101x101) inverts  2.0 sec  Err= 0.006
Test2 - Crout 2000 (101x101) inverts  2.9 sec  Err= 0.014
Test3 - Crout  2 (1001x1001) inverts  3.4 sec  Err= 0.043
Test4 - Lapack 2 (1001x1001) inverts  2.6 sec  Err= 0.250
 total = 10.9 sec

11.114u 0.101s 0:11.22 99.9%0+0k 0+0io 0pf+0w

So it fixes the slow down. Thanks for the patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45379



[Bug c++/45399] New: Warning for \0 in C++0x raw strings

2010-08-24 Thread kayhayen at gmx dot de
I am using C++ raw strings of the form: R"raw(^@)raw" (the ^@ is a 0 character
in the file) and get the following:

warning: null character(s) preserved in literal

This is not helpful. I have a lot of these, and didn't find out how to disable
this warning by other means than to disable all warnings. Any suggestion?

Also please consider it a bug. What else is the purpose of raw strings other
than to contain binary blobs?

Best regards,
Kay Hayen


-- 
   Summary: Warning for \0 in C++0x raw strings
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kayhayen at gmx dot de
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: 86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45399



[Bug tree-optimization/45059] [4.6 Regression] error: invalid operands in binary operation, leads to ICE: verify_stmts failed

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2010-08-24 17:26 ---
Created an attachment (id=21557)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21557&action=view)
gcc46-pr45059.patch

Untested fix.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

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


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45059



[Bug c++/45400] New: XBMC AudioEngine Compilation C++ Internal Compiler Error /w Optimization

2010-08-24 Thread Zeqadious at gmail dot com
When compiling XBMC from the AudioEngine Branch I get an internal compiler
error.

Error:
g++ -MD -c -O2 -fPIC -DPIC -D_REENTRANT -D__STDC_LIMIT_MACROS
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -fPIC -DPIC
-D_REENTRANT -D__STDC_LIMIT_MACROS -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-g -D_DEBUG -Wall -fPIC -DPIC -D_REENTRANT -D__STDC_LIMIT_MACROS
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -D_LINUX
-D_FILE_DEFINED -D__STDC_CONSTANT_MACROS -DBIN_INSTALL_PATH="\"/usr/lib/xbmc\""
-DINSTALL_PATH="\"/usr/share/xbmc\"" -D'SVN_REV="33081.AE-ZeQ"' -DHAVE_CONFIG_H
 -I. -I../../ -I../../linux -I../../../guilib -I../../utils -I../dvdplayer
-I../dvdplayer/Codecs/ffmpeg -I.. -DDBUS_API_SUBJECT_TO_CHANGE -D_GNU_SOURCE=1
-D_REENTRANT -I/arch/sources/community/SVN_xbmc/src/XBMC-AE-r33081
-I/usr/include/ -I/usr/include/SDL -I/usr/include/alsa -I/usr/include/dbus-1.0
-I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/glib-2.0
-I/usr/include/hal -I/usr/include/libpng14 -I/usr/include/lzo
-I/usr/include/mysql -I/usr/lib/dbus-1.0/include -I/usr/lib/glib-2.0/include
AEConvert.cpp -save-temps -o AEConvert.o
AEConvert.cpp: In static member function 'static unsigned int
CAEConvert::Float_S16BE(float*, unsigned int, uint8_t*)':
AEConvert.cpp:425:1: internal compiler error: in trunc_int_for_mode, at
explow.c:56
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.


-- 
   Summary: XBMC AudioEngine Compilation C++ Internal Compiler Error
/w Optimization
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Zeqadious at gmail dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45400



[Bug c++/45400] XBMC AudioEngine Compilation C++ Internal Compiler Error /w Optimization

2010-08-24 Thread Zeqadious at gmail dot com


--- Comment #1 from Zeqadious at gmail dot com  2010-08-24 18:42 ---
the preprocessed file was too big to attach so here is a link to its location:
ftp://nauseamedialis.org/zeqadious/GCC_Bug/AEConvert.prep

I don't know C, or C++, so lets hope this is enough information for helping
track this bug down.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45400



[Bug c++/45400] XBMC AudioEngine Compilation C++ Internal Compiler Error /w Optimization

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-08-24 18:56 ---
#0  fancy_abort (file=0xf0ff20 "../../gcc/explow.c", line=56, function=0xf101e0
"trunc_int_for_mode") at ../../gcc/diagnostic.c:763
#1  0x006c4c17 in trunc_int_for_mode (c=255, mode=V4HImode) at
../../gcc/explow.c:56
#2  0x006b1ff0 in gen_int_mode (c=255, mode=V4HImode) at
../../gcc/emit-rtl.c:459
#3  0x00d9c3c8 in simplify_and_const_int (x=0x0, mode=V4HImode,
varop=0x7fffee342060, constop=255) at ../../gcc/combine.c:8989
#4  0x00d9e82d in simplify_shift_const_1 (code=LSHIFTRT,
result_mode=SImode, varop=0x7fffee325020, orig_count=24)
at ../../gcc/combine.c:10024
#5  0x00d9e9e7 in simplify_shift_const (x=0x0, code=LSHIFTRT,
result_mode=SImode, varop=0x7fffee342048, count=24)
at ../../gcc/combine.c:10073
#6  0x00d95ade in expand_compound_operation (x=0x7fffee33d3e0) at
../../gcc/combine.c:6468
#7  0x00d92ae7 in combine_simplify_rtx (x=0x7fffee33d3e0,
op0_mode=DImode, in_dest=0) at ../../gcc/combine.c:5486

debug_rtx (0x7fffee33d3e0)
(zero_extract:SI (subreg:DI (reg:V4HI 264) 0)
(const_int 8 [0x8])
(const_int 8 [0x8]))

Doesn't ICE on the trunk (though, could be latent there).  Trying to distill
smaller testcase...


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 18:56:25
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45400



[Bug target/45359] poor -march=native choices for VIA C7 Esther processors

2010-08-24 Thread opod at nic-nac-project dot org


--- Comment #2 from opod at nic-nac-project dot org  2010-08-24 18:58 
---
(In reply to comment #1)
The processor clearly supports SSE3 so perhaps -march=prescott would be better
instead of -march=pentium-m. I also assumed that -march=pentium-m implies
-mfpmath=387 but it does not seem to apply (or matter). Finally, -march=native
on my laptop picks up L1 and L2 cache sizes as --params which does not happen
for the VIA C7. Just for reference, it is reported as 

Cache info
 L1 Instruction cache: 64KB, 4-way associative, 1 lines per tag, line size=64
bytes.
 L1 Data cache: 64KB 4-way associative, 1 lines per tag, line size=64 bytes.
 L2 (on CPU) cache: 128KB 10-way associative, 1 lines per tag, line size=64
bytes.

HTH


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45359



[Bug target/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2010-08-24 19:12 ---
Note a patch was posted at
http://gcc.gnu.org/ml/gcc-patches/2010-08/msg01753.html.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376



[Bug middle-end/45393] [4.5/4.6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2135

2010-08-24 Thread hjl dot tools at gmail dot com


--- Comment #7 from hjl dot tools at gmail dot com  2010-08-24 19:16 ---
(In reply to comment #5)
> For gcc 4.3 and 4.4, I got
> 
> pr45393.cc:20: error: BB 4 can not throw but has EH edges
> pr45393.cc:20: error: BB 5 can not throw but has EH edges
> pr45393.cc:20: internal compiler error: verify_flow_info failed
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See  for instructions.
> 
> when checking is enabled.
> 

This bug is triggered by revision 121052:

http://gcc.gnu.org/ml/gcc-cvs/2007-01/msg00757.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45393



[Bug c++/45400] XBMC AudioEngine Compilation C++ Internal Compiler Error /w Optimization

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2010-08-24 19:57 ---
Reduced testcase:

typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
typedef int __v2si __attribute__ ((__vector_size__ (8)));
typedef float __v4sf __attribute__ ((__vector_size__ (16)));

static __inline__ unsigned short bar (unsigned short x)
{
  return ((x << 8) | (x >> 8));
}

unsigned int
foo (float *x, short *y)
{
  __v4sf b = (__v4sf){ 32767.5f, 32767.5f, 32767.5f, 32767.5f };
  __v4sf c = __builtin_ia32_mulps (*(__v4sf *) x, b);
  __v4sf d = __builtin_ia32_movhlps (c, c);
  __v2si e = __builtin_ia32_cvtps2pi (c);
  __v2si f = __builtin_ia32_cvtps2pi (d);
  __m64 g = (__m64) __builtin_ia32_packssdw (e, f);
  __builtin_memcpy (y, &g, sizeof (short) * 4);
  y[0] = bar (y[0]);
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45400



[Bug c++/45401] New: [C++0x] reference collapsing and reference qualifiers

2010-08-24 Thread hstong at ca dot ibm dot com
Based on the wording in FCD 14882 (WG21 N3092), reference collapsing preserves
the target type in the case where an attempt is made to create an rvalue
reference to a reference. The standard does not include reference qualifiers--
such as __restrict__ or (for the SPU port) __ea--however.

In the following code, rvrefToRestrictLvref should have the same type as
restrictLvref based on 8.3.2 [dcl.ref] paragraph 6:

   If a typedef (7.1.3), a type template-parameter (14.3.1), or a decltype-
   specifier (7.1.6.2) denotes a type TR that is a reference to a type T, an
   attempt to create the type "lvalue reference to cv TR" creates the type
   "lvalue reference to T", while an attempt to create the type "rvalue
   reference to cv TR" creates the type TR.

The following test case demonstrates that GCC is finding the type to be
'int &'; that is, the __restrict is gone and the two typedefs fail to denote
the same type.

The test case is meant to compile clean.


### Self-contained source (dataa.cpp):
typedef int &__restrict restrictLvref;
typedef restrictLvref &&rvrefToRestrictLvref;
typedef restrictLvref rvrefToRestrictLvref;


### Command to reproduce:
g++ -std=gnu++0x -c dataa.cpp


### Compiler output:
dataa.cpp:3:23: error: conflicting declaration 'typedef int& __restrict__
rvrefToRestrictLvref'
dataa.cpp:2:25: error: 'rvrefToRestrictLvref' has a previous declaration as
'typedef int& rvrefToRestrictLvref'


### g++ -v output:
Using built-in specs.
Target: powerpc64-unknown-linux-gnu
Configured with: ../gcc-4.5.0/configure --prefix=/data/gcc
--program-suffix=-4.5.0 --disable-libssp --disable-libgcj
--enable-version-specific-runtime-libs --with-cpu=default32 --enable-secureplt
--with-long-double-128 --enable-shared --enable-__cxa_atexit
--enable-threads=posix --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.5.0 (GCC)


-- 
   Summary: [C++0x] reference collapsing and reference qualifiers
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hstong at ca dot ibm dot com
  GCC host triplet: powerpc64-unknown-linux-gnu
GCC target triplet: powerpc64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45401



[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
  Component|target  |bootstrap
   Last reconfirmed|2010-08-23 21:42:35 |2010-08-24 21:06:41
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376



[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread rth at gcc dot gnu dot org


--- Comment #7 from rth at gcc dot gnu dot org  2010-08-24 21:08 ---
Subject: Bug 45376

Author: rth
Date: Tue Aug 24 21:08:05 2010
New Revision: 163528

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163528
Log:
PR bootstrap/45376
* configure.ac (HAVE_SSE4): New check.
* configure, config.in: Rebuild.
* lex.c (search_line_sse42): Omit if !HAVE_SSE4.

Modified:
trunk/libcpp/ChangeLog
trunk/libcpp/config.in
trunk/libcpp/configure
trunk/libcpp/configure.ac
trunk/libcpp/lex.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376



[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'

2010-08-24 Thread rth at gcc dot gnu dot org


--- Comment #8 from rth at gcc dot gnu dot org  2010-08-24 21:08 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376



[Bug c++/45400] XBMC AudioEngine Compilation C++ Internal Compiler Error /w Optimization

2010-08-24 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-08-24 21:12 ---
On the trunk r163189 "fixes" this, so I guess it just went latent.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-08-24 18:56:25 |2010-08-24 21:12:52
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45400



[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function

2010-08-24 Thread rth at gcc dot gnu dot org


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-24 21:16:50
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45381



[Bug tree-optimization/45392] ICE floop-* flto

2010-08-24 Thread t66667 at gmail dot com


--- Comment #5 from t7 at gmail dot com  2010-08-24 21:43 ---
Why nobody is attending my ticket ???


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45392



[Bug tree-optimization/45392] ICE floop-* flto

2010-08-24 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2010-08-24 21:46 ---
(In reply to comment #5)
> Why nobody is attending my ticket ???

GCC is mostly volunteer work and some folks have other priorities right now. 
Not to mention you compressed the preprocessed source with some non"standard"
format (gzip or zip is preferable) and you did not provide the output of 'gcc
-v'.  Not to mention I still think this is a dup of that other bug.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Version|lto |unknown


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45392



[Bug rtl-optimization/40838] gcc shouldn't assume that the stack is aligned

2010-08-24 Thread jasmin at revisionfx dot com


--- Comment #83 from jasmin at revisionfx dot com  2010-08-24 22:09 ---
(In reply to comment #82)
> -mstackrealign is available from gcc 4.5.0. 

So 1) you are right that somehow - mpreferred-stack-boundary=2 does not always
work - I found a case where I crash 
2) so I compiled gcc 4.5.1 and recompiled and same (with or without
-mstackrealign) 
I am noting there might be a new bug. When (I am a shared library) I call back
the host(an exec I run in as a plugin) to check abort I now have a problem with
throw.  My throw is in a try/catch but somehow seems going into host space by
calling it back makes the throw pass through and the host terminates / abort as
it gets a throw it does not know anything about. 
-- I am not equiped right now to test more 32b linux gcc as I don't have a
proper host side way of testing this right now. Just raising a flag.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838



[Bug target/45391] CPU2006 482.sphinx3: gcc4.6 5% regression from prefetching of vectorized loop

2010-08-24 Thread changpeng dot fang at amd dot com


--- Comment #5 from changpeng dot fang at amd dot com  2010-08-24 22:13 
---
For the test case in comment #2, if we don't vectorize the loop, the
unroll_factor is incorrectly determined as 1, and insns-to-prefetch ratio
(4) will then prevent prefetching, and thus no performance regression.

If we vectorize the loop, the prefetch_mod will be smaller than the 
upper_bound, then the unroll_factor is determined as 4. At this time, 
insns-to-prefetch ratio is big enough to allow prefetches. Thus  (5%)
regression for 482.sphinx3.

This regression should have occurred for no-tree-vectorize also if 
the unroll factor is correctly set. The actual problem is 
the unrolling itself. There is no regression if I just insert
the prefetch and do not unroll the loop at all.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45391



[Bug tree-optimization/45392] ICE floop-* flto

2010-08-24 Thread t66667 at gmail dot com


--- Comment #7 from t7 at gmail dot com  2010-08-24 22:47 ---
(From update of attachment 21551)
gz format requested.


-- 

t7 at gmail dot com changed:

   What|Removed |Added

  Attachment #21551|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45392



[Bug tree-optimization/45392] ICE floop-* flto

2010-08-24 Thread t66667 at gmail dot com


--- Comment #8 from t7 at gmail dot com  2010-08-24 22:47 ---
Created an attachment (id=21558)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21558&action=view)
testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45392



[Bug tree-optimization/45392] ICE floop-* flto

2010-08-24 Thread t66667 at gmail dot com


--- Comment #9 from t7 at gmail dot com  2010-08-24 22:50 ---
(In reply to comment #6)
> (In reply to comment #5)
> > Why nobody is attending my ticket ???
> 
> GCC is mostly volunteer work and some folks have other priorities right now. 
> Not to mention you compressed the preprocessed source with some non"standard"
> format (gzip or zip is preferable) and you did not provide the output of 'gcc
> -v'.  Not to mention I still think this is a dup of that other bug.
> 
Ok re-uploaded in requested format.
You think its a dup??

What exactly do you need gcc -v for ?
The .i produced an ICE.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45392



[Bug tree-optimization/45392] ICE floop-* flto

2010-08-24 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2010-08-24 22:51 
---
The output of "gcc -v" will provide with the exact version of GCC that you
used.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45392



[Bug tree-optimization/45392] ICE floop-* flto

2010-08-24 Thread t66667 at gmail dot com


--- Comment #11 from t7 at gmail dot com  2010-08-24 22:56 ---
(In reply to comment #10)
> The output of "gcc -v" will provide with the exact version of GCC that you
> used.
> 
gcc version 4.6.0 20100823 (experimental)
163469


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45392



  1   2   >