[Bug target/45261] Doesn't indicate failure status when it doesn't support (attiny2313A)

2010-12-14 Thread atstivalet at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45261

ats  changed:

   What|Removed |Added

 CC||atstivalet at gmail dot com

--- Comment #9 from ats  2010-12-15 06:21:55 UTC 
---
I can confirm Ian's patch works. Thanks guys.


[Bug c++/46930] [C++0x] ICE with static constexpr data member

2010-12-14 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46930

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #4 from Paolo Carlini  2010-12-15 
06:05:21 UTC ---
I think we can close it as fixed now


[Bug c++/46930] [C++0x] ICE with static constexpr data member

2010-12-14 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46930

--- Comment #3 from Paolo Carlini  2010-12-15 
06:03:45 UTC ---
Many thanks!


[Bug bootstrap/40894] [4.4/4.5/4.6 Regression] bootstrap4-lean failed crtfastmath.o comparision

2010-12-14 Thread htl10 at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40894

Hin-Tak Leung  changed:

   What|Removed |Added

  Known to work||
  Known to fail||4.4.5

--- Comment #8 from Hin-Tak Leung  
2010-12-15 05:17:11 UTC ---
Just try with 4.4.5, still fails at the same place:

make[2]: Entering directory `/home/htl10/tmp-build/gcc-445-obj'
make[3]: Entering directory `/home/htl10/tmp-build/gcc-445-obj'
rm -f stage_current
make[3]: Leaving directory `/home/htl10/tmp-build/gcc-445-obj'
Comparing stages 3 and 4
Bootstrap comparison failure!
./crtfastmath.o differs
make[2]: *** [compare3] Error 1
make[2]: Leaving directory `/home/htl10/tmp-build/gcc-445-obj'
make[1]: *** [stage4-bubble] Error 2
make[1]: Leaving directory `/home/htl10/tmp-build/gcc-445-obj'
make: *** [bootstrap4-lean] Error 2
bash-2.05a#  
bash-2.05a# objdump -Dxzs stage3-gcc/crtfastmath.o > stage3-dump
bash-2.05a# objdump -Dxzs stage4-gcc/crtfastmath.o > stage4-dump
bash-2.05a# diff -u  stage3-dump stage4-dump
--- stage3-dump2010-12-15 05:03:03.0 +
+++ stage4-dump2010-12-15 05:03:18.0 +
@@ -1,6 +1,6 @@

-stage3-gcc/crtfastmath.o: file format ecoff-littlealpha
-stage3-gcc/crtfastmath.o
+stage4-gcc/crtfastmath.o: file format ecoff-littlealpha
+stage4-gcc/crtfastmath.o
 architecture: alpha, flags 0x0035:
 HAS_RELOC, HAS_LINENO, HAS_SYMS, HAS_LOCALS
 start address 0x
@@ -70,7 +70,7 @@
  0010 00301f22 10807da7 00405b6b 0100ba27  .0.".@[k...'
  0020 2480bd23 5ea7 1000de23 0180fa6b  $..#..^#...k
 Contents of section .xdata:
- 0030 3100 02000204    1...
+ 0030 0100 02000204    
 Contents of section .pdata:
  0040  ecff
 Contents of section .lita:
@@ -100,7 +100,7 @@
 Disassembly of section .xdata:

 0030 <.xdata>:
-  30:31 00 00 00 call_pal0x31
+  30:01 00 00 00 call_pal0x1
   34:02 00 02 04 .long 0x4020002
   38:00 00 00 00 halt
   3c:00 00 00 00 halt
bash-2.05a#


[Bug middle-end/46845] -fgraphite-identity causes ICE in gcc.dg/pr43300.c at -m32/-m64

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46845

Sebastian Pop  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from Sebastian Pop  2010-12-15 05:08:57 
UTC ---
Fixed.


[Bug tree-optimization/45948] [4.6 Regression] ICE: SIGSEGV in find_uses_to_rename_use (tree-ssa-loop-manip.c:1242) with -O -fstrict-overflow -ftree-loop-distribution

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45948

Sebastian Pop  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Sebastian Pop  2010-12-15 05:07:53 
UTC ---
Fixed.


[Bug tree-optimization/46928] data dependence analysis fails on constant array accesses

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46928

Sebastian Pop  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from Sebastian Pop  2010-12-15 05:07:27 
UTC ---
Fixed.


[Bug tree-optimization/45948] [4.6 Regression] ICE: SIGSEGV in find_uses_to_rename_use (tree-ssa-loop-manip.c:1242) with -O -fstrict-overflow -ftree-loop-distribution

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45948

--- Comment #7 from Sebastian Pop  2010-12-15 05:04:34 
UTC ---
Author: spop
Date: Wed Dec 15 05:04:30 2010
New Revision: 167842

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167842
Log:
Fix PR45948: add ssa defs from builtin partitions to the last partition.

2010-12-14  Sebastian Pop  

PR tree-optimization/45948
* tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
(stmt_has_scalar_dependences_outside_loop): New.
(stmt_generated_in_another_partition): New.
(add_scalar_computations_to_partition): New.
(rdg_build_partitions): Call add_scalar_computations_to_partition.

* gcc.dg/tree-ssa/ldist-pr45948.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ldist-pr45948.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-loop-distribution.c


[Bug middle-end/46845] -fgraphite-identity causes ICE in gcc.dg/pr43300.c at -m32/-m64

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46845

--- Comment #6 from Sebastian Pop  2010-12-15 05:04:52 
UTC ---
Author: spop
Date: Wed Dec 15 05:04:50 2010
New Revision: 167844

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167844
Log:
Fix PR46845: handle scop parameters before scev analysis.

2010-12-14  Sebastian Pop  

PR tree-optimization/46845
* sese.c (scalar_evolution_in_region): Handle scop parameters
before scev analysis.

* gcc.dg/graphite/id-pr46845.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/graphite/id-pr46845.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/sese.c
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/46928] data dependence analysis fails on constant array accesses

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46928

--- Comment #6 from Sebastian Pop  2010-12-15 05:04:43 
UTC ---
Author: spop
Date: Wed Dec 15 05:04:40 2010
New Revision: 167843

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167843
Log:
Fix PR46928: handle "A[p] == A[p]" in data dep analysis with p a parameter of
the loop.

2010-12-14  Sebastian Pop  

PR tree-optimization/46928
* tree-data-ref.c (analyze_overlapping_iterations): Handle "A[p] == A[p]"
in data dependence analysis with p a parameter of the loop.

* gcc.dg/tree-ssa/ldist-17.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ldist-17.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-data-ref.c


[Bug other/46954] New: FDEs possibly left unsorted in unwind-dw2-fde.c

2010-12-14 Thread jvoung at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46954

   Summary: FDEs possibly left unsorted in unwind-dw2-fde.c
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jvo...@google.com


Not completely sure if this is a bug in GCC or my toolchain, but I have been
able to trigger a situation where _Unwind_Find_FDE is unable to find an FDE. In
my case, the reason is that the FDEs are only partially sorted even though
"ob->s.b.sorted = 1", so the binary search (binary_search_mixed_encoded_fdes in
particular) fails.

By patching end_fde_sort() with:

--- a/llvm-gcc-4.2/gcc/unwind-dw2-fde.c
+++ b/llvm-gcc-4.2/gcc/unwind-dw2-fde.c
@@ -588,6 +588,11 @@
   fde_split (ob, fde_compare, accu->linear, accu->erratic);
   gcc_assert (accu->linear->count + accu->erratic->count == count);
   frame_heapsort (ob, fde_compare, accu->erratic);
+  frame_heapsort (ob, fde_compare, accu->linear);
   fde_merge (ob, fde_compare, accu->linear, accu->erratic);
   free (accu->erratic);
 }

The FDEs are fully sorted and binary search succeeds.

I don't know the code well at all, but is the patch correct, or should
accu->linear already be sorted? In the else-branch, the code does a heap sort
on accu->linear, which leads me to believe that it accu->linear may be unsorted
(and so should be sorted as well).


[Bug c++/46862] ICE on std::decimal::decimal32 without any fields

2010-12-14 Thread janis at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46862

Janis Johnson  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.12.15 04:00:43
 Ever Confirmed|0   |1

--- Comment #5 from Janis Johnson  2010-12-15 
04:00:43 UTC ---
I'm working on a fix.


[Bug middle-end/46924] [4.6 Regression] ICE: SIGSEGV in rewrite_commutative_reductions_out_of_ssa_loop (graphite-poly.h:450) with -fgraphite-identity -ffast-math -fno-tree-loop-im

2010-12-14 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46924

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.12.15 03:49:16
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1

--- Comment #1 from H.J. Lu  2010-12-15 03:49:16 
UTC ---
It is caused by revision 167348:

http://gcc.gnu.org/ml/gcc-cvs/2010-12/msg00029.html


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #53 from Jack Howarth  2010-12-15 
03:19:51 UTC ---
(In reply to comment #51)
> > which I assume should have be a change to...
> > 
> > !   base_section = darwin_text_section (weak);
> 
> Ah, yes. Sorry for the typo.  Does it make any difference?
> 
> Honza

Honza,
This correction added to the attached reduced patch passes both...

make -k check RUNTESTFLAGS="tree-prof.exp --target_board=unix'{-m32,-m64}'"

and

make -k check RUNTESTFLAGS="stackalign.exp --target_board=unix'{-m32,-m64}'"

Running a complete regtest now but this patch still generates code with -g that
confuses dsymutil.


[Bug bootstrap/46953] New: [4.6 Regression] profiledbootstrap failed

2010-12-14 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46953

   Summary: [4.6 Regression] profiledbootstrap failed
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com


On Linux/x86-64, revision 167838 failed to profiledbootstrap:

http://gcc.gnu.org/ml/gcc-regression/2010-12/msg00145.html

Revision 167820 is OK.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #52 from Jack Howarth  2010-12-15 
03:14:56 UTC ---
Created attachment 22760
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22760
reduced patch


[Bug fortran/46952] New: Spurious "recursive call" error with type bound procedure

2010-12-14 Thread ian_harvey at bigpond dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46952

   Summary: Spurious "recursive call" error with type bound
procedure
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ian_har...@bigpond.com


Created attachment 22759
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22759
Example that generate the error

The attached, using a gfortran 4.6 from November 3 on i686-pc-mingw32,
generates the error "SUBROUTINE 'relay_proc' ... cannot be called recursively".
 But I don't think the call is recursive - relay_proc is just the interface for
what gets called, not the actual procedure.

But Intel Fortran 12.0.1.127 also complains, so maybe I'm wrong.


[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951

--- Comment #6 from Jonathan Wakely  2010-12-15 
02:08:44 UTC ---
should be ok now - I had configured with --enable-libstdcxx-time=rt which meant
I didn't need -pthread, so the tests passed for me


[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951

--- Comment #5 from Jonathan Wakely  2010-12-15 
02:07:11 UTC ---
Author: redi
Date: Wed Dec 15 02:07:07 2010
New Revision: 167839

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167839
Log:
2010-12-15  Jonathan Wakely  

PR libstdc++/46951
* testsuite/30_threads/future/members/45133.cc: Fix dg-options.
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
trunk/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc


[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951

--- Comment #4 from Jonathan Wakely  2010-12-15 
01:59:59 UTC ---
doh - I need to add -pthread to the dg-options - fix on the way...


[Bug bootstrap/44959] [4.5 Regression] bootstrap failed at Comparing stages 2 and 3

2010-12-14 Thread htl10 at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44959

Hin-Tak Leung  changed:

   What|Removed |Added

  Known to fail||4.5.0, 4.5.1

--- Comment #3 from Hin-Tak Leung  
2010-12-15 01:53:41 UTC ---
(In reply to comment #2)
> Please verify if 4.5.1 is still broken.

Still broken, and apparently still at the same place:

../gcc-4.5.1/configure && make bootstrap4-lean


make[2]: Entering directory `/home/htl10/tmp-build/gcc-obj'
make[3]: Entering directory `/home/htl10/tmp-build/gcc-obj'
rm -f stage_current
make[3]: Leaving directory `/home/htl10/tmp-build/gcc-obj'
Comparing stages 2 and 3
warning: gcc/cc1-checksum.o differs
warning: gcc/cc1plus-checksum.o differs
warning: gcc/cc1obj-checksum.o differs
Bootstrap comparison failure!
gcc/java/win32-host.o differs
gcc/build/min-insn-modes.o differs
gcc/dummy-checksum.o differs
gcc/insn-peep.o differs
gcc/graphite-blocking.o differs
gcc/graphite-clast-to-gimple.o differs
gcc/graphite-dependences.o differs
gcc/graphite-interchange.o differs
gcc/graphite-poly.o differs
gcc/graphite-ppl.o differs
gcc/graphite-scop-detection.o differs
gcc/graphite-sese-to-poly.o differs
gcc/loop-doloop.o differs
gcc/version.o differs
gcc/vmsdbgout.o differs
gcc/xcoffout.o differs
gcc/host-default.o differs
gcc/gcc-options.o differs
gcc/collect2-aix.o differs
intl/osdep.o differs
libiberty/safe-ctype.o differs
make[2]: *** [compare] Error 1
make[2]: Leaving directory `/home/htl10/tmp-build/gcc-obj'
make[1]: *** [stage3-bubble] Error 2
make[1]: Leaving directory `/home/htl10/tmp-build/gcc-obj'
make: *** [bootstrap4-lean] Error 2
bash-2.05a# pwd
/home/htl10/tmp-build/gcc-obj
--


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #51 from Jan Hubicka  2010-12-15 01:52:59 
UTC ---
> which I assume should have be a change to...
> 
> !   base_section = darwin_text_section (weak);

Ah, yes. Sorry for the typo.  Does it make any difference?

Honza


[Bug tree-optimization/44897] -fwhopr + ipa-sra misoptimize sqlite

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44897

Jan Hubicka  changed:

   What|Removed |Added

   Last reconfirmed|2010-10-02 20:21:12 |2010-12-14 20:21:12

--- Comment #7 from Jan Hubicka  2010-12-15 
01:51:12 UTC ---
still fails.


[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed

2010-12-14 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951

--- Comment #3 from H.J. Lu  2010-12-15 01:41:21 
UTC ---
(In reply to comment #2)
> it only seems to fail on i686, this run failed too:
> http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01246.html

I got this on Fedora 14/x86-64 with gcc configured

CC="gcc -m32" CXX="g++ -m32" ../src-trunk/configure \
 --enable-clocale=gnu --with-system-zlib --enable-shared
--with-demangler-in-ld i686-linux --with-fpmath=sse
--enable-languages=c,c++,fortran,java,lto,objc

Setting LD_LIBRARY_PATH to
:/export/gnu/import/svn/gcc-test/bld/gcc:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/../libgomp/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/src/.libs::/export/gnu/import/svn/gcc-test/bld/gcc:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/../libgomp/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/src/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libstdc++-v3/src/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libmudflap/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libssp/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libgomp/.libs:/export/gnu/import/svn/gcc-test/bld/./gcc:/export/gnu/import/svn/gcc-test/bld/./prev-gcc
spawn [open ...]^M
terminate called after throwing an instance of 'std::system_error'
  what():  Unknown error 4294967295
FAIL: 30_threads/future/members/45133.cc execution test


[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951

--- Comment #2 from Jonathan Wakely  2010-12-15 
01:37:50 UTC ---
it only seems to fail on i686, this run failed too:
http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01246.html


[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.12.15 01:35:27
 AssignedTo|unassigned at gcc dot   |redi at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Jonathan Wakely  2010-12-15 
01:35:27 UTC ---
I don't see it here, could you send me the libstdc++.log file? at least the
details of that failing test


[Bug libstdc++/46951] New: 30_threads/future/members/45133.cc failed

2010-12-14 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951

   Summary: 30_threads/future/members/45133.cc failed
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: jwakely@gmail.com


On Linux/ia32, revision 167827 gave:

FAIL: 30_threads/future/members/45133.cc execution test


[Bug debug/46893] [4.5/4.6 Regression] ICE: in trunc_int_for_mode, at explow.c:56 with -O -g

2010-12-14 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46893

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.12.15 01:24:18
 CC||aoliva at gcc dot gnu.org
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1

--- Comment #1 from H.J. Lu  2010-12-15 01:24:18 
UTC ---
It is caused by revision 151362:

http://gcc.gnu.org/ml/gcc-cvs/2009-09/msg00108.html


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #50 from Jack Howarth  2010-12-15 
01:18:18 UTC ---
I noticed that the proposed patch at
http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html also seems to have an
error here...

*** machopic_select_section (tree decl,
*** 1276,1282 
node->only_called_at_startup,
node->only_called_at_exit);
  if (!base_section)
!   base_section = darwin_text_section (reloc, weak);
}
break;

--- 1271,1277 
node->only_called_at_startup,
node->only_called_at_exit);
  if (!base_section)
!   base_section = darwin_text_section (reloc);
}
break;


which I assume should have be a change to...

!   base_section = darwin_text_section (weak);


[Bug ada/46950] New: Stage 3 ada bootstrap error on i686-apple-darwin9

2010-12-14 Thread danglin at gcc dot gnu.org
"L011$pb"
:541:symbol: "L_system__soft_links__get_current_excep$non_lazy_ptr" can't be
und
efined in a subtraction expression
{standard input}:2691:non-relocatable subtraction expression,
"L_system__soft_li
nks__get_current_excep$non_lazy_ptr" minus "L010$pb"
{standard input}:2691:symbol:
"L_system__soft_links__get_current_excep$non_lazy_
ptr" can't be undefined in a subtraction expression
{standard input}:2041:non-relocatable subtraction expression,
"L_system__soft_li
nks__traceback_decorator_wrapper$non_lazy_ptr" minus "L008$pb"
{standard input}:2041:symbol:
"L_system__soft_links__traceback_decorator_wrapper
$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:2013:non-relocatable subtraction expression,
"L_system__standar
d_library__local_partition_id$non_lazy_ptr" minus "L007$pb"
{standard input}:2013:symbol:
"L_system__standard_library__local_partition_id$no
n_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:1982:non-relocatable subtraction expression,
"L_system__soft_li
nks__get_current_excep$non_lazy_ptr" minus "L007$pb"
{standard input}:1982:symbol:
"L_system__soft_links__get_current_excep$non_lazy_
ptr" can't be undefined in a subtraction expression
{standard input}:1844:non-relocatable subtraction expression,
"L_system__standar
d_library__local_partition_id$non_lazy_ptr" minus "L006$pb"
{standard input}:1844:symbol:
"L_system__standard_library__local_partition_id$no
n_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:1826:non-relocatable subtraction expression,
"L_system__soft_li
nks__get_current_excep$non_lazy_ptr" minus "L006$pb"
{standard input}:1826:symbol:
"L_system__soft_links__get_current_excep$non_lazy_
ptr" can't be undefined in a subtraction expression
{standard input}:343:non-relocatable subtraction expression, "_h.3287" minus
"L0
01$pb"
{standard input}:343:symbol: "_h.3287" can't be undefined in a subtraction
expre
ssion
:unknown:Undefined local symbol
L_system__soft_links__get_current_excep$non_lazy
_ptr
:unknown:Undefined local symbol
L_system__standard_library__local_partition_id$n
on_lazy_ptr
:unknown:Undefined local symbol
L_system__soft_links__traceback_decorator_wrappe
r$non_lazy_ptr
:unknown:Undefined local symbol
L_system__standard_library__exception_trace$non_
lazy_ptr
:unknown:Undefined local symbol L_system__soft_links__lock_task$non_lazy_ptr
:unknown:Undefined local symbol L_system__soft_links__unlock_task$non_lazy_ptr
:unknown:Undefined local symbol
L_system__soft_links__task_termination_handler$n
on_lazy_ptr
:unknown:Undefined local symbol L_program_error$non_lazy_ptr
:unknown:Undefined local symbol L___gl_exception_tracebacks$non_lazy_ptr
:unknown:Undefined local symbol L_constraint_error$non_lazy_ptr
:unknown:Undefined local symbol L_system__soft_links__abort_defer$non_lazy_ptr
make[6]: *** [a-except.o] Error 1
make[5]: *** [gnatlib] Error 2
make[4]: *** [gnatlib-shared-darwin] Error 2
make[3]: *** [gnatlib-shared] Error 2
make[2]: *** [gnatlib-shared] Error 2
libtool: compile:  /Users/dave/gnu/gcc/objdir/./gcc/xgcc
-B/Users/dave/gnu/gcc/o
bjdir/./gcc/ -B/opt/gnu/gcc/gcc-4.6.0/i686-apple-darwin9/bin/
-B/opt/gnu/gcc/gcc
-4.6.0/i686-apple-darwin9/lib/ -isystem
/opt/gnu/gcc/gcc-4.6.0/i686-apple-darwin
9/include -isystem /opt/gnu/gcc/gcc-4.6.0/i686-apple-darwin9/sys-include -m64
-D
HAVE_CONFIG_H -I. -I../../../../gcc/libquadmath -g -O2 -m64 -MT math/frexpq.lo
-
MD -MP -MF math/.deps/frexpq.Tpo -c ../../../../gcc/libquadmath/math/frexpq.c 
-
fno-common -DPIC -o math/.libs/frexpq.o
make[1]: *** [all-target-libada] Error 2
make[1]: *** Waiting for unfinished jobs

d...@macpro-xp:~/gnu/gcc/objdir/prev-gcc$ ./xgcc -B./ -v
Reading specs from ./specs
COLLECT_GCC=./xgcc
COLLECT_LTO_WRAPPER=./lto-wrapper
Target: i686-apple-darwin9
Configured with: ../gcc/configure --build=i686-apple-darwin9
--host=i686-apple-darwin9 --target=i686-apple-darwin9 --with-tune=generic
--prefix=/opt/gnu/gcc/gcc-4.6.0 --with-gmp=/opt/gnu/gcc/gcc-4.6.0
--enable-debug=no --disable-nls
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-threads=posix
--enable-__cxa_atexit --enable-java-gc=boehm
Thread model: posix
gcc version 4.6.0 20101214 (experimental) [trunk revision 167825] (GCC)


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #19 from Jan Hubicka  2010-12-15 
00:44:25 UTC ---
Filled in the GNU LD bug as
http://sourceware.org/bugzilla/show_bug.cgi?id=12323


[Bug target/31403] wrong branch instructions generated with -m2a on sh-elf

2010-12-14 Thread kkojima at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31403

--- Comment #9 from Kazumoto Kojima  2010-12-15 
00:36:39 UTC ---
(In reply to comment #8)
> I am getting the same error using gcc 4.4.5 20101112 (Red Hat 4.4.5-2),
> with Fedora 13 on an 64 bit machine/OS.

Which version of gcc do you use for source?  gcc 4.4.5 20101112
(Red Hat 4.4.5-2) looks your host compiler.
If you use gcc-4.4.5 as a source for sh-elf cross compiler, it has
the fix in #6.  In that case, even you've got the strictly same
error messages in the original report against newlib's vfprintf.c,
it would be a different problem.


[Bug c++/46930] [C++0x] ICE with static constexpr data member

2010-12-14 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46930

--- Comment #2 from Jason Merrill  2010-12-15 
00:35:20 UTC ---
Author: jason
Date: Wed Dec 15 00:35:17 2010
New Revision: 167834

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167834
Log:
PR c++/46930
* decl.c (grokdeclarator): Reject uninitialized constexpr
static data member.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-decl.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-ex1.C
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-static5.C


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #49 from Iain Sandoe  2010-12-15 00:28:04 
UTC ---
(In reply to comment #48)
> Uh, this is getting confusing.  We are really tracking 3 problems iteracting
> with each other (and prevosly hidding each other)

indeed.

> 1) darwin_text_section returns unlikely_text section that leads to infinite
> recursion after the patch preventing darwin_function_section to partition
> functions with -fno-partition-functions
> 
> This is preferably fixed by making darwin_function_section to return only the
> default section, but we do have alternative fix adding unlikely function as
> predefined section.

well, I think we can consider that variant withdrawn - replaced by...

> We also have alternative patch here that scratch the
> USE_SELECT_SECTION_FOR_FUNCTIONS hack. That one should test independently with
> only problem demonstrated by 2).

... OK, at the moment I have it combined (I thought that was the suggestion @
comment 19 ;-))

> 2) -freorder-blocks-and-partition does not imply -freorder-functions. This
> means that -O0 we do not actual partition, since hot and cold section is 
> forced
> by be same by my change to function_section that triggered the PR
> 
> This demonstrate as the partition failure and should be solved by the hunk
> enabling reorder functions when -freorder-blocks-and-partition is given.
> 
> I had typo in the original change I pasted here that it enabled
> -freorder-blocks instead.  Just scratch that vairant.

The patch @44 has the correct variant... 

> 3) the fact that we produce wrong assembly with 2 instead of missing
> optimization actually uncovers bigger problem that we seem to screw up when
> function partition is enabled but we do not really partition the given
> function. In this case we do most of the code pesimization and worse yet, we
> tend to mess up EH.

we get a lot of "warning: no debug symbols in executable" messages from
dsymutil -- that might indicate bad debug info -- or be a latent bug in
dsymutil (not clear at the moment).


> This should be fixed by the patch I sent to PR but for some reason it breaks
> stackalign.  Do we have any idea why?

I don't think it breaks stackalign on i686-darwin9.

> I guess we ought to be able to solve 1) and 2) in parallel and 3)
> incrementally.

I have no more time today --  tomorrow I'll remove the
USE_SELECT_SECTION_FOR_FUNCTIONS change.

= result from c44  (modified as per 46) i686-darwin9

Running target unix/-m32
[for some reason the prune fails here... ]
FAIL: g++.dg/bprob/g++-bprob-2.C compilation,  -g  -fprofile-use
UNRESOLVED: g++.dg/bprob/g++-bprob-2.C execution,-g  -fprofile-use
FAIL: g++.dg/bprob/g++-bprob-2.C compilation,  -O3 -g  -fprofile-use
UNRESOLVED: g++.dg/bprob/g++-bprob-2.C execution,-O3 -g  -fprofile-use
 ++ warning: no debug symbols in executable (-arch i386) 

FAIL: g++.dg/debug/dwarf2/pubnames-1.C scan-assembler-times
"main.0"[^\\n]*external name 1

FAIL: g++.dg/other/pr22003.C (test for excess errors)

as per Comment #28/30:
FAIL: g++.dg/pch/system-1.C  -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 assembly comparison
FAIL: g++.dg/pch/system-2.C  -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 assembly comparison

+ PR46904

Running target unix/-m64
FAIL: g++.dg/debug/dwarf2/pubnames-1.C scan-assembler-times
"main.0"[^\\n]*external name 1

FAIL: g++.dg/other/pr22003.C (test for excess errors)

as per Comment #28/30
FAIL: g++.dg/pch/system-1.C  -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 assembly comparison
FAIL: g++.dg/pch/system-2.C  -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 assembly comparison


+ PR46904


[Bug lto/46820] Undefined reference errors with LTO

2010-12-14 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46820

--- Comment #12 from Dmitry Gorbachev  
2010-12-15 00:15:24 UTC ---
It's weak, alias("...").

"At present, a declaration to which weakref is attached can only be static."


[Bug tree-optimization/45791] Missed devirtualization

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791

--- Comment #13 from Jan Hubicka  2010-12-15 
00:12:54 UTC ---
... but obviously the problem still is that we don't devirtualize this early
enough for inlining.  The low level code should be able to do so if FRE+CCP was
added as early pass or FRE was also extended to fold the OBJ_TYEP_REF calls
away and added as early pass.

Now when Richi fixed it, it should even be possible. However, can't this be
also handled by type based code?


[Bug tree-optimization/45791] Missed devirtualization

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791

--- Comment #12 from Jan Hubicka  2010-12-15 
00:10:45 UTC ---
No, this is different, since OBJ_TYPE_REF is sitting here and it imply type
conversion in the way we implement it right now.
There is no type mismatch in between the original address and the call
argument, just the intermediate pointer is of wrong type.  VRP should do the
same as CCP, see the code I added into CCP.


[Bug middle-end/46949] New: ICE when weakref is used on a definition (internal compiler error: in function_and_variable_visibility, at ipa.c:904)

2010-12-14 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46949

   Summary: ICE when weakref is used on a definition (internal
compiler error: in function_and_variable_visibility,
at ipa.c:904)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: trivial
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: d.g.gorbac...@gmail.com


static void __attribute__((weakref("bar"))) foo(void) { }


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #48 from Jan Hubicka  2010-12-15 
00:06:12 UTC ---
Uh, this is getting confusing.  We are really tracking 3 problems iteracting
with each other (and prevosly hidding each other)

1) darwin_text_section returns unlikely_text section that leads to infinite
recursion after the patch preventing darwin_function_section to partition
functions with -fno-partition-functions

This is preferably fixed by making darwin_function_section to return only the
default section, but we do have alternative fix adding unlikely function as
predefined section.

We also have alternative patch here that scratch the
USE_SELECT_SECTION_FOR_FUNCTIONS hack. That one should test independently with
only problem demonstrated by 2).

2) -freorder-blocks-and-partition does not imply -freorder-functions. This
means that -O0 we do not actual partition, since hot and cold section is forced
by be same by my change to function_section that triggered the PR

This demonstrate as the partition failure and should be solved by the hunk
enabling reorder functions when -freorder-blocks-and-partition is given.

I had typo in the original change I pasted here that it enabled
-freorder-blocks instead.  Just scratch that vairant.

3) the fact that we produce wrong assembly with 2 instead of missing
optimization actually uncovers bigger problem that we seem to screw up when
function partition is enabled but we do not really partition the given
function. In this case we do most of the code pesimization and worse yet, we
tend to mess up EH.

This should be fixed by the patch I sent to PR but for some reason it breaks
stackalign.  Do we have any idea why?

I guess we ought to be able to solve 1) and 2) in parallel and 3)
incrementally.


[Bug middle-end/45631] devirtualization with profile feedback does not work for function pointers

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45631

--- Comment #2 from Jan Hubicka  2010-12-14 
23:52:45 UTC ---
I guess it is the simple algorithm we use to work out most common value.
We end up with 
Trying transformations on stmt p_1(D) ();
Indirect call value:12 match:48 all:90.

The most common value profiler is implemented at:
/* Tries to determine the most common value among its inputs.  Checks if the
   value stored in COUNTERS[0] matches VALUE.  If this is the case, COUNTERS[1]
   is incremented.  If this is not the case and COUNTERS[1] is not zero,
   COUNTERS[1] is decremented.  Otherwise COUNTERS[1] is set to one and
   VALUE is stored to COUNTERS[0].  This algorithm guarantees that if this
   function is called more than 50% of the time with one value, this value
   will be in COUNTERS[0] in the end.

   In any case, COUNTERS[2] is incremented.  */

static inline void
__gcov_one_value_profiler_body (gcov_type *counters, gcov_type value)
{
  if (value == counters[0])
counters[1]++;
  else if (counters[1] == 0)
{
  counters[1] = 1;
  counters[0] = value;
}
  else
counters[1]--;
  counters[2]++;
}

So it stores value to counters[0] and then increases counters each time it sees
if.  When we get to 0, we try the new value.
So the match is actually number of matches minus number of times it was
different.
It matches 3/4, it was different 1/4 of time and we get to 1/2 and that is not
enough for transformation to trigger.

Finally we require
  if (4 * count <= 3 * all)
return false;
that is 4/3 > 1/2.  I guess we can lower the threshold...


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #47 from Dominique d'Humieres  
2010-12-14 23:51:20 UTC ---
(In reply to comment #39)
> The patch I had in mind
> http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html

With this patch applied on top of revision 167812 without any of the above
patches I have a lot of failures of the kind:

FAIL: gcc.dg/torture/stackalign/alloca-1.c  -O0  execution test


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #46 from Iain Sandoe  2010-12-14 23:44:20 
UTC ---
a better prune

Index: gcc/testsuite/lib/prune.exp
===
--- gcc/testsuite/lib/prune.exp(revision 167813)
+++ gcc/testsuite/lib/prune.exp(working copy)
@@ -56,6 +56,7 @@ proc prune_gcc_output { text } {
 regsub -all "(^|\n)\[^\n\]*ld: warning: can't add line info to anonymous
symbol\[^\n\]*" $text "" text
 regsub -all "(^|\n)\[^\n\]*warning:
DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*"
$text "" text
 regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*TAG_variable: 
AT_location\[^\n\]*didn't have valid function low pc\[^\n\]*" $text "" text
+regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*no debug symbols in executable
.-arch .\[^\n8\]*86.\[^\n\]*" $text "" text

 #send_user "After:$text\n"


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #45 from Iain Sandoe  2010-12-14 23:43:04 
UTC ---
the majority of fails are now:

warning: no debug symbols in executable (-arch x)

which is probably not good news .. 
(but possibly a dsymutil issue)...


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #44 from Iain Sandoe  2010-12-14 23:39:34 
UTC ---
Created attachment 22758
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22758
merge between Honza's and Iain's patches

combined patch.


[Bug tree-optimization/45791] Missed devirtualization

2010-12-14 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791

--- Comment #11 from Martin Jambor  2010-12-14 
23:35:29 UTC ---
I believe Richi's comment #14 in PR 46076 applies here as well.


[Bug lto/44966] weak aliases LTO with gold causes ICE in lto_symtab_merge_decls_1

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44966

Jan Hubicka  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #16 from Jan Hubicka  2010-12-14 
23:34:47 UTC ---
Fixed. Sorry for the delay.  The patch turned out to be almost correct except
for not seeting the alias flag.


[Bug libstdc++/45133] [c++0x] std::future will crash with NULL deref if get() is called twice

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45133

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #7 from Jonathan Wakely  2010-12-14 
23:33:17 UTC ---
fixed for 4.6.0 by throwing as per the new note in the latest draft


[Bug libstdc++/45133] [c++0x] std::future will crash with NULL deref if get() is called twice

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45133

--- Comment #6 from Jonathan Wakely  2010-12-14 
23:27:20 UTC ---
Author: redi
Date: Tue Dec 14 23:27:17 2010
New Revision: 167823

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167823
Log:
2010-12-14  Jonathan Wakely  

PR libstdc++/45133
* include/std/future (__basic_future::wait): Throw if not valid.
(__basic_future::wait_for): Likewise.
(__basic_future::wait_until): Likewise.
(__basic_future::_M_get_result): Likewise.
* testsuite/30_threads/future/members/45133.cc: New.
* testsuite/30_threads/shared_future/members/45133.cc: New.

Added:
trunk/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
trunk/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/future


[Bug lto/44463] whopr does not work with weak functions

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44463

--- Comment #6 from Jan Hubicka  2010-12-14 
23:24:20 UTC ---
Note that the fix solves the problem just partly.  We now have duplicate
definition of the symbol with -fno-use-linker-plugin -flto-partition=1to1
This is because the problem in can_prevail predicate mentioned in the mail.
For this reason I left out the testcase from final commit (didn't noticed the
problem earlier since I tested it with plugin enabled only)


[Bug lto/46940] asm aliases with linker plugin segfaults

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46940

Jan Hubicka  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Jan Hubicka  2010-12-14 
23:23:11 UTC ---
Fixed.


[Bug lto/44463] whopr does not work with weak functions

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44463

--- Comment #5 from Jan Hubicka  2010-12-14 
23:22:27 UTC ---
Author: hubicka
Date: Tue Dec 14 23:22:23 2010
New Revision: 167822

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167822
Log:
PR lto/46940
PR lto/44463
* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
for aliases when they are used.

* gcc.dg/lto/pr46940_0.c: New testcase.
* gcc.dg/lto/pr46940_1.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/lto/pr46940_0.c
trunk/gcc/testsuite/gcc.dg/lto/pr46940_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-symtab.c
trunk/gcc/testsuite/ChangeLog


[Bug lto/46940] asm aliases with linker plugin segfaults

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46940

--- Comment #2 from Jan Hubicka  2010-12-14 
23:22:27 UTC ---
Author: hubicka
Date: Tue Dec 14 23:22:23 2010
New Revision: 167822

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167822
Log:
PR lto/46940
PR lto/44463
* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
for aliases when they are used.

* gcc.dg/lto/pr46940_0.c: New testcase.
* gcc.dg/lto/pr46940_1.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/lto/pr46940_0.c
trunk/gcc/testsuite/gcc.dg/lto/pr46940_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-symtab.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #43 from Jack Howarth  2010-12-14 
23:21:35 UTC ---
(In reply to comment #39)
> The patch I had in mind
> http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html
> 
> The hunk
> Index: gcc/opts.c
> ===
> --- gcc/opts.c(revision 167793)
> +++ gcc/opts.c(working copy)
> @@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g
>opts->x_flag_reorder_blocks = 1;
>  }
> 
> +  if (opts->x_flag_reorder_blocks_and_partition)
> +opts->x_flag_reorder_blocks = 1;
> +
>/* If user requested unwind info, then turn off the partitioning
>   optimization.  */
> 
> should be
> Index: gcc/opts.c
> ===
> --- gcc/opts.c(revision 167793)
> +++ gcc/opts.c(working copy)
> @@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g
>opts->x_flag_reorder_blocks = 1;
>  }
> 
> +  if (opts->x_flag_reorder_blocks_and_partition)
> +opts->x_flag_reorder_functions = 1;
> +
>/* If user requested unwind info, then turn off the partitioning
>   optimization.  */
> 
> sorry for typo.

The cited patch doesn't have any such change in that particular context. Was
this entire hunk missing from the posted patch?


[Bug tree-optimization/45791] Missed devirtualization

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791

--- Comment #10 from Jan Hubicka  2010-12-14 
23:17:13 UTC ---
Eh,
wanted to paste:
  D.2236_10 = (int (*__vtbl_ptr_type) (void)) f;
  OBJ_TYPE_REF(D.2236_10;D.2215_3->2) (D.2215_3);
I told ccp should IMO optimize it, but doesn't. I guess it is because VRP1
works out the constant but then it doesn't know about OBJ_TYPE_REF folding.


[Bug tree-optimization/45791] Missed devirtualization

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791

--- Comment #9 from Jan Hubicka  2010-12-14 
23:15:16 UTC ---
OK, main() code seems to optimize out that is an imrovement. Is it optimized
away with your patch pre-IPA too? 

Derived() is also devirtualizable:

Derived::Derived() (struct Derived * const this)
{
  int (*__vtbl_ptr_type) (void) * D.2237;
  int (*__vtbl_ptr_type) (void) D.2236;
  struct Base * D.2215;

:
  D.2215_2 = &this_1(D)->D.2115;
  D.2215_2->_vptr.Base = &_ZTV4Base[2];
  this_1(D)->D.2115._vptr.Base = &_ZTV7Derived[2];
  D.2215_3 = &this_1(D)->D.2115;
  D.2237_9 = D.2215_3->_vptr.Base;
  D.2236_10 = MEM[(int (*__vtbl_ptr_type) (void) *)D.2237_9 + 16B];
  OBJ_TYPE_REF(D.2236_10;D.2215_3->2) (D.2215_3);

We fail to devirtualize pre-IPA.  After IPA we compile into:

:
  MEM[(struct Base *)this_1(D)]._vptr.Base = &_ZTV4Base[2];
  this_1(D)->D.2115._vptr.Base = &_ZTV7Derived[2];
  D.2215_3 = &this_1(D)->D.2115;
  D.2236_10 = (int (*__vtbl_ptr_type) (void)) f;

a type mismatch?


[Bug lto/46948] New: [4.6 Regression] Undefined reference errors, LTO, and visibility

2010-12-14 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46948

   Summary: [4.6 Regression] Undefined reference errors, LTO, and
visibility
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: d.g.gorbac...@gmail.com


Created attachment 22757
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22757
Testcase


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #42 from Dominique d'Humieres  
2010-12-14 22:55:06 UTC ---
I have reverted any of the above patches and updated to revision 167812. First,
I now see the failures in comment #28 (they are probably a different PR).
Second, any of the patches caused the failures in comment #12 by enabling the
tests to be run. Without patch, I get 

[macbook] build_w/gcc% make -k check-g++
RUNTESTFLAGS="tree-prof.exp=partition2.C
--target_board=unix'{-m32/-g,-m64/-g}'"
...

=== g++ tests ===

Schedule of variations:
unix/-m32/-g
unix/-m64/-g

Running target unix/-m32/-g
Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/work/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ...

=== g++ Summary for unix/-m32/-g ===

# of unsupported tests1
Running target unix/-m64/-g
Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/work/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ...

=== g++ Summary for unix/-m64/-g ===

# of unsupported tests1

=== g++ Summary ===

# of unsupported tests2
/opt/gcc/build_w/gcc/testsuite/g++/../../g++  version 4.6.0 20101214
(experimental) [trunk revision 167812p3] (GCC) 

I'll apply the Honza's patch and regtest during the night.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #41 from Jan Hubicka  2010-12-14 22:46:09 
UTC ---
> well, unless some interaction from the typo.. (possible) .. AFAICT most of the
> fallout is multiple definitions of .eh symbols... 
Actually forcing hot&cold sections to coincide might result in multiple
definition of eh symbol.
The typo should fix it for -freorder-blocks-and-partition compilations and the
patch I posed to ML
might solve other cases by disabling the partitioning logic when we don't
really partition the function
(that was point of the patch)

Honza


[Bug c++/46947] Segmentation Fault compiling templates with function pointers

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46947

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #1 from Jonathan Wakely  2010-12-14 
22:18:38 UTC ---
GCC 4.2 is no longer maintained, you need to report it to Apple or use a more
recent, official FSF release.

4.4.5 gives

main.cpp: In function ‘int main(int, char* const*)’:
main.cpp:17: sorry, unimplemented: mangling template_id_expr

and 4.5.2 compiles it successfully


[Bug libstdc++/46910] std::shared_ptr requires public destructor for a class with friend deleter

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46910

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #6 from Jonathan Wakely  2010-12-14 
22:14:15 UTC ---
fixed for 4.6.0


[Bug libstdc++/46910] std::shared_ptr requires public destructor for a class with friend deleter

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46910

--- Comment #5 from Jonathan Wakely  2010-12-14 
22:13:31 UTC ---
Author: redi
Date: Tue Dec 14 22:13:26 2010
New Revision: 167819

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167819
Log:
2010-12-14  Jonathan Wakely  

PR libstdc++/46910
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Do not
derive from _Sp_counted_ptr.
* testsuite/20_util/shared_ptr/cons/46910.cc: New.
* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.


Added:
trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/shared_ptr_base.h
trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc
trunk/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc


[Bug c++/46947] New: Segmentation Fault compiling templates with function pointers

2010-12-14 Thread cacoyi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46947

   Summary: Segmentation Fault compiling templates with function
pointers
   Product: gcc
   Version: 4.2.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: cac...@gmail.com


Created attachment 22756
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22756
Files needed to reproduce and report the bug.

When the source in the attached archive is compiled with:
g++ -save-temps main.cpp

the output is:
main.cpp: In member function ‘FTemplate<_Binary >
FTemplate::operator|(const FTemplate&) const [with int (*
FuncB)() = _Nullary, int (* FuncA)() = _Nullary]’:
main.cpp:11: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://developer.apple.com/bugreporter> for instructions.

Admittedly this problem might be Apple specific, but it is probably worth
checking, as I understand it is the same code base and I'm not sure how
forthcoming Apple is with bugs.

g++ -v:
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-checking
--enable-werror --prefix=/usr
--mandir=/share/man --enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.2/
--with-slibdir=/usr/lib --build=i686-apple-darwin10
--program-prefix=i686-apple-darwin10---host=x86_64-apple-darwin10
--target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)


[Bug testsuite/46912] [4.6 Regression] Test failures for g++.dg/plugin/*plugin*.C on powerpc-apple-darwin9

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46912

Iain Sandoe  changed:

   What|Removed |Added

 CC||mrs at gcc dot gnu.org

--- Comment #2 from Iain Sandoe  2010-12-14 21:45:13 
UTC ---
it's all fall-out from the different assumed sizes of Bool (see also 46902).

I think (subject to Mike's agreement) that, since Darwin's  does not
set bool to int for GCC > 3 ... that we should default to one byte bools on PPC
darwin (there is no effect on x86).

Index: gcc/config/darwin.opt
===
--- gcc/config/darwin.opt   (revision 167812)
+++ gcc/config/darwin.opt   (working copy)
@@ -166,7 +166,7 @@ Target Joined Report Var(darwin_macosx_version_min
 The earliest MacOS X version on which this program will run

 mone-byte-bool
-Target RejectNegative Report Var(darwin_one_byte_bool)
+Target RejectNegative Report Var(darwin_one_byte_bool) Init(1)
 Set sizeof(bool) to 1

 fapple-kext


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #40 from Iain Sandoe  2010-12-14 21:37:53 
UTC ---
(In reply to comment #38)
> I posted the fixes, but it should not affect 
> -fno-reorder-blocks-and-partition.
> Any idea what is going wrong here?

well, unless some interaction from the typo.. (possible) .. AFAICT most of the
fallout is multiple definitions of .eh symbols... 

I was just looking in the debugger .. 
...  wondering if I can intercept the cold ones and give them different names. 
;-)


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #39 from Jan Hubicka  2010-12-14 
21:32:15 UTC ---
The patch I had in mind
http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html

The hunk
Index: gcc/opts.c
===
--- gcc/opts.c(revision 167793)
+++ gcc/opts.c(working copy)
@@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g
   opts->x_flag_reorder_blocks = 1;
 }

+  if (opts->x_flag_reorder_blocks_and_partition)
+opts->x_flag_reorder_blocks = 1;
+
   /* If user requested unwind info, then turn off the partitioning
  optimization.  */

should be
Index: gcc/opts.c
===
--- gcc/opts.c(revision 167793)
+++ gcc/opts.c(working copy)
@@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g
   opts->x_flag_reorder_blocks = 1;
 }

+  if (opts->x_flag_reorder_blocks_and_partition)
+opts->x_flag_reorder_functions = 1;
+
   /* If user requested unwind info, then turn off the partitioning
  optimization.  */

sorry for typo.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #38 from Jan Hubicka  2010-12-14 
21:28:12 UTC ---
I posted the fixes, but it should not affect -fno-reorder-blocks-and-partition.
Any idea what is going wrong here?


[Bug fortran/46945] [4.6 Regression] gfortran.dg/unpack_zerosize_1.f90 FAILs with -ftree-vrp -fno-tree-ccp -fno-tree-fre

2010-12-14 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46945

Tobias Burnus  changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org,
   ||jb at gcc dot gnu.org
   Target Milestone|--- |4.6.0


[Bug c/46946] New: contradiction in docs for -Ofast and -ffast-math

2010-12-14 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46946

   Summary: contradiction in docs for -Ofast and -ffast-math
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org


-ffast-math and its constituent options still claim "This option is not turned
on
by any -O option" but they're turned on by -Ofast


[Bug c++/45330] Suggest likely nested-name-specifiers for undeclared identifiers.

2010-12-14 Thread froydnj at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45330

--- Comment #3 from Nathan Froyd  2010-12-14 
20:31:30 UTC ---
Author: froydnj
Date: Tue Dec 14 20:31:22 2010
New Revision: 167814

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167814
Log:
gcc/cp/
PR c++/45330
* cp-tree.h (suggest_alternatives_for): Add location_t parameter.
* name-lookup.c (suggest_alternatives_for): Likewise.  Adjust.
* lex.c (unqualified_name_lookup_error): Adjust call to it.
* semantics.c (qualified_name_lookup_error): Move to...
* error.c (qualified_name_lookup_error): ...here.  Call.
suggest_alternatives_for.

gcc/testsuite/
PR c++/45330
* g++.dg/lookup/suggestions1.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/lookup/suggestions1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/error.c
trunk/gcc/cp/lex.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/46520] [4.6 Regression] libquadmath: fails at link test on bare irons

2010-12-14 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46520

Tobias Burnus  changed:

   What|Removed |Added

Summary|[4.6 Regression]|[4.6 Regression]
   |libquadmath: Build also |libquadmath: fails at link
   |with --enable-languages=c;  |test on bare irons
   |fails with some cross   |
   |targets |

--- Comment #6 from Tobias Burnus  2010-12-14 
20:19:20 UTC ---
Current result for picochip-unknown-none:

checking how to run the C preprocessor... [...]
checking for sqrtl in -lm... configure: error: Link tests are not allowed after
GCC_NO_EXECUTABLES.
make[2]: *** [configure-target-libquadmath] Error 1

Draft patch - might be insufficient:

--- a/libquadmath/configure.ac
+++ b/libquadmath/configure.ac
@@ -109,8 +109,10 @@ esac
 AC_SUBST(toolexecdir)
 AC_SUBST(toolexeclibdir)

-AC_CHECK_LIB([m],[sqrtl],[AC_DEFINE([HAVE_SQRTL],[1],[libm includes sqrtl])])
-AC_CHECK_LIB([m],[cbrtl],[AC_DEFINE([HAVE_CBRTL],[1],[libm includes cbrtl])])
+if test x$gcc_no_link != xyes; then
+  AC_CHECK_LIB([m],[sqrtl],[AC_DEFINE([HAVE_SQRTL],[1],[libm includes
sqrtl])])
+  AC_CHECK_LIB([m],[cbrtl],[AC_DEFINE([HAVE_CBRTL],[1],[libm includes
cbrtl])])
+fi

 # Check for symbol versioning (copied from libssp).
 AC_MSG_CHECKING([whether symbol versioning is supported])


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

Iain Sandoe  changed:

   What|Removed |Added

 Target|x86_64-apple-darwin10   |*-apple-darwin{9,10}
   Host|x86_64-apple-darwin10   |*-apple-darwin{9,10}
  Build|x86_64-apple-darwin10   |*-apple-darwin{9,10}

--- Comment #37 from Iain Sandoe  2010-12-14 20:17:41 
UTC ---
(In reply to comment #36)
> > fails in 28, 29 and 31 are still present.
> 
> On which platform do you see the failures in 28? I don't see them on
> x86_64-apple-darwin10.5.0 when doing a full test of g++.

on i686-darwin9 @m32 and m64.

(adjusting the target/host/build triplets - the overall bug also affects
powerpc)

FAIL: g++.dg/other/pr22003.C (test for excess errors)
FAIL: g++.dg/pch/system-1.C  -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 assembly comparison
FAIL: g++.dg/pch/system-2.C  -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 assembly comparison

+ partition{1,2}.C  *  -fprofile-use


[Bug target/46891] Can't build libquadmath for i386-elf target

2010-12-14 Thread rwild at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46891

Ralf Wildenhues  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2010.12.14 20:08:17
 Ever Confirmed|0   |1
   Severity|blocker |normal

--- Comment #3 from Ralf Wildenhues  2010-12-14 
20:08:17 UTC ---
Marking as waiting, reducing severity as long as the PR lacks any details.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #36 from Dominique d'Humieres  
2010-12-14 20:05:43 UTC ---
> fails in 28, 29 and 31 are still present.

On which platform do you see the failures in 28? I don't see them on
x86_64-apple-darwin10.5.0 when doing a full test of g++.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #35 from Iain Sandoe  2010-12-14 19:53:34 
UTC ---
(In reply to comment #34)
> If I did not make any mistake, the updated patch in comment #32 does not fix
> the failures in comments #29 and #31.

no, you are correct - I think we now have to wait for Honza's "additional
fixes" as per comment #33

fails in 28, 29 and 31 are still present.


[Bug target/31403] wrong branch instructions generated with -m2a on sh-elf

2010-12-14 Thread Stephen.Bartlett at opentv dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31403

--- Comment #8 from Stephen.Bartlett at opentv dot com 2010-12-14 19:48:20 UTC 
---
I am getting the same error using gcc 4.4.5 20101112 (Red Hat 4.4.5-2),
with Fedora 13 on an 64 bit machine/OS.



Are you aware of a solution, or any limitations using a 64-bit OS ?
Thanks


[Bug fortran/46945] New: [4.6 Regression] gfortran.dg/unpack_zerosize_1.f90 FAILs with -ftree-vrp -fno-tree-ccp -fno-tree-fre

2010-12-14 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46945

   Summary: [4.6 Regression] gfortran.dg/unpack_zerosize_1.f90
FAILs with -ftree-vrp -fno-tree-ccp -fno-tree-fre
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zso...@seznam.cz


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

Output:
$ gfortran -O -ftree-vrp -fno-tree-ccp -fno-tree-fre testcase.f90
$ ./a.out 
Fortran runtime error: Integer overflow when calculating the amount of memory
to allocate

In the testcase.f90.067t.vrp1 dump, there is unconditional call to
_gfortran_runtime_error().

Maybe will be fixed by http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01026.html

Tested revisions:
r167770 - fail
r167643 - fail
r165699 - OK
4.5 r166509 - OK


[Bug lto/46944] New: gcc should accept -fuse-linker-plugin only if linker handles -plugin

2010-12-14 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46944

   Summary: gcc should accept -fuse-linker-plugin only if linker
handles -plugin
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
CC: da...@gcc.gnu.org, ccout...@google.com
  Host: *-*-solaris2.*
Target: *-*-solaris2.*
 Build: *-*-solaris2.*


While the new gcc.dg/pr43157.c testcase didn't contain

/* { dg-require-linker-plugin "" } */

it failed on Solaris 11/x86 using the Sun linker like this, but only with -m64:

FAIL: gcc.dg/pr43157.c (test for excess errors)
Excess errors:
ld: fatal: file /usr/lib/amd64/crt1.o: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to pr43157.exe

The problem is that ld is ultimately invoked as

/usr/ccs/bin/ld -plugin liblto_plugin.so ... -o pr43157.exe
 /usr/lib/amd64/crt1.o ...

Since the compiler (and thus liblto_plugin.so) are 32-bit objects, crt1.o and
all
other input objects are 64-bit, yielding the error message above.

While Sun ld doesn't understand -plugin proper, it does accept -p auditlib, as
described in the manpage:

 -p auditlib

 Identifies  an  audit  library,  auditlib.  This   audit
 library  is  used  to  audit the object being created at
 runtime. A shared object identified as requiring  audit-
 ing  with  the -p option, has this requirement inherited
 by any object that specifies  the  shared  object  as  a
 dependency. See the -P option. See Runtime Linker Audit-
 ing Interface in Linker and Libraries Guide.

So, the invocation above is parsed as -p lugin liblto_plugin.so, i.e. try to
load an auditlib named lugin and pass liblto_plugin.so as regular input file.

I think it's obvious that the gcc configury should verify that the linker used
really understands -plugin and not only happens to have some other option
that something completely different.  Only if this has been verified should
-plugin be passed to the linker when -fuse-linker-plugin is given, otherwise
the option should be rejected with a proper error message.


[Bug tree-optimization/45552] [graphite] ICE in sese_loop_depth, at sese.h:172

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45552

--- Comment #4 from Sebastian Pop  2010-12-14 19:18:56 
UTC ---
Reduced testcase:

typedef struct
{
  double z;
} Vector;
typedef struct
{
  float *vertex;
  float *normal;
} VertexArray;
typedef struct
{
  Vector *vertex;
  int num_vertex;
} ObjectSmooth;
typedef struct
{
  int num_cells;
} State;
static void *array_from_ObjectSmooth( ObjectSmooth *obj )
{
  int i, j;
  VertexArray *array = (VertexArray *) malloc( sizeof( VertexArray ) );
  array->vertex = (float *) malloc( 3*sizeof(float)*obj->num_vertex );
  array->normal = (float *) malloc( 3*sizeof(float)*obj->num_vertex );
  for (i=0, j=0; inum_vertex; ++i) {
array->normal[j++] = 9;
array->vertex[j] = obj->vertex[i].z;
array->normal[j++] = 1;
  }
}
static void draw_cell( void )
{
  glCallList( array_from_ObjectSmooth( (ObjectSmooth *) malloc(10) ));
}
static int render( State *st)
{
  int b;
  for (b=0; bnum_cells; ++b) {
draw_cell();
draw_cell();
  }
}
reshape_glcells( int width, int height )
{
  render( 0 );
}


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #34 from Dominique d'Humieres  
2010-12-14 19:00:43 UTC ---
If I did not make any mistake, the updated patch in comment #32 does not fix
the failures in comments #29 and #31.


[Bug libstdc++/44952] #include implies global constructor.

2010-12-14 Thread ccoutant at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44952

Cary Coutant  changed:

   What|Removed |Added

 CC||ccoutant at gcc dot gnu.org

--- Comment #15 from Cary Coutant  2010-12-14 
18:50:11 UTC ---
(In reply to comment #13)
> So reopening for this enhancement...
> 
> Another alternative would be some .init.first array or something similar which
> would contain pointers to functions to be run as early constructors and linker
> would remove duplicates in it and put it at the beginning of .init_array
> section.

For ELF targets, this is what DT_PREINIT_ARRAY is for.

http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#init_fini

-cary


[Bug fortran/46849] [OOP] MODULE PROCEDURE resolution does not work in BLOCK or SELECT TYPE

2010-12-14 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46849

--- Comment #7 from janus at gcc dot gnu.org 2010-12-14 18:30:48 UTC ---
(In reply to comment #6)
> I agree that this is better, though it still causes some regressions. I will
> now test the following variant:
> 
> Index: gcc/fortran/resolve.c
> ===
> --- gcc/fortran/resolve.c   (revision 167790)
> +++ gcc/fortran/resolve.c   (working copy)
> @@ -11784,7 +11784,7 @@ resolve_symbol (gfc_symbol *sym)
>for (ns = gfc_current_ns->parent; ns; ns = ns->parent)
> {
>   symtree = gfc_find_symtree (ns->sym_root, sym->name);
> - if (symtree && symtree->n.sym->generic)
> + if (symtree && symtree->n.sym->attr.flavor == FL_PROCEDURE)
> {
>   this_symtree = gfc_find_symtree (gfc_current_ns->sym_root,
>sym->name);


Unfortunately this also triggers a few regressions, but the following regtests
cleanly:

Index: gcc/fortran/resolve.c
===
--- gcc/fortran/resolve.c   (revision 167790)
+++ gcc/fortran/resolve.c   (working copy)
@@ -11784,7 +11784,9 @@ resolve_symbol (gfc_symbol *sym)
   for (ns = gfc_current_ns->parent; ns; ns = ns->parent)
{
  symtree = gfc_find_symtree (ns->sym_root, sym->name);
- if (symtree && symtree->n.sym->generic)
+ if (symtree && (symtree->n.sym->generic ||
+ (symtree->n.sym->attr.flavor == FL_PROCEDURE
+  && sym->ns->construct_entities)))
{
  this_symtree = gfc_find_symtree (gfc_current_ns->sym_root,
   sym->name);


[Bug tree-optimization/45791] Missed devirtualization

2010-12-14 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791

Martin Jambor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2010.12.14 17:45:52
 Ever Confirmed|0   |1

--- Comment #8 from Martin Jambor  2010-12-14 
17:45:52 UTC ---
I've just confirmed that main of the testcase from the initial bug
description is optimized to nothing even by just the early optimizers
on trunk.  My dynamic-type change detection patches postpone that a
little bit, unfortunately (and inevitably) but the final result is the
same.  I believe we have testcases already for this.

As far as the testcase from comment #5 is concerned, that is quite
another matter because the object is dynamically allocated there.  If
the constructor is inlined, we may do this with improved folding of
O_T_R according to its first parameter.  If it is not, we would need
to be able to track the object interprocedurally to verify nothing bad
happens to it (like a call to a destructor followed by a call to
placement new).  And of course we would have to solve the "operator
new is not malloc" problem.


[Bug ada/46943] New: Unnecessary ZERO_EXTEND

2010-12-14 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46943

   Summary: Unnecessary ZERO_EXTEND
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org
Target: x86_64-linux


In http://blog.regehr.org/archives/320 Example 4
unsigned long long v;
unsigned short
foo (signed char x, unsigned short y)
{
  v = (unsigned long long) y;
  return (unsigned short) ((int) y / 3);
}
we emit a redundant zero-extension:
movzwl  %si, %eax
movq%rax, v(%rip)
movzwl  %si, %eax
imull   $43691, %eax, %eax
shrl$17, %eax
ret
The reason why the second movzwl %si, %eax wasn't CSEd with the first one is
because the first one is (set (reg:DI reg1) (zero_extend:DI (reg:HI reg2))
while the second one is (set (reg:SI reg3) (zero_extend:SI (reg:HI reg2))
Wonder if we can't teach CSE to optimize it (say that reg3 is actually
(subreg:SI (reg:DI reg1) 0), or if e.g. one of the zee/see passes (implicit-zee
e.g.) couldn't handle such cases.  Combiner can't do anything here, as there is
no data dependency, so try_combine won't see them together.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #33 from Jan Hubicka  2010-12-14 17:32:16 
UTC ---
> minor update (this removes a test for reorder & partition + exceptions that is
> carried out too early)
This seem sane to me.  I've also posted more fixed to function partitioning
that
should handle named functions and other side cases.

Thanks for looking into this,
Honza


[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2010-12-14 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942

--- Comment #2 from joseph at codesourcery dot com  2010-12-14 17:26:11 UTC ---
If the conclusion is that the callee can rely on the caller having done 
the extension then you need to watch out for security issues in the kernel 
syscall ABI when building with a compiler that generates code relying on 
this.

http://lkml.org/lkml/2007/6/4/376
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0029

If there were target-specific aspects to the fix to that security issue, 
they may not have included x86_64 changes.


[Bug tree-optimization/45552] [graphite] ICE in sese_loop_depth, at sese.h:172

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45552

--- Comment #3 from Sebastian Pop  2010-12-14 17:24:39 
UTC ---
I can see a different error than what reported:
glcells.c:846:12: internal compiler error: in chrec_component_in_loop_num, at
tree-chrec.c:758

I'm reducing the testcase using delta.


[Bug tree-optimization/45552] [graphite] ICE in sese_loop_depth, at sese.h:172

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45552

Sebastian Pop  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2010.12.14 17:17:49
 AssignedTo|unassigned at gcc dot   |spop at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #2 from Sebastian Pop  2010-12-14 17:17:49 
UTC ---
Mine.
I can see this ICE on the 4.5 branch.
On trunk this has been fixed.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #32 from Iain Sandoe  2010-12-14 17:16:39 
UTC ---
minor update (this removes a test for reorder & partition + exceptions that is
carried out too early)

Tests for reorder + exceptions and reorder + unwind are carried out in opts.c
now.



Index: gcc/opts.c
===
--- gcc/opts.c(revision 167793)
+++ gcc/opts.c(working copy)
@@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g
   opts->x_flag_reorder_blocks = 1;
 }

+  if (opts->x_flag_reorder_blocks_and_partition)
+opts->x_flag_reorder_blocks = 1;
+
   /* If user requested unwind info, then turn off the partitioning
  optimization.  */

Index: gcc/config/darwin.c
===
--- gcc/config/darwin.c(revision 167793)
+++ gcc/config/darwin.c(working copy)
@@ -1145,19 +1145,6 @@ darwin_mark_decl_preserved (const char *name)
 }

 static section *
-darwin_text_section (int reloc, int weak)
-{
-  if (reloc)
-return (weak
-? darwin_sections[text_unlikely_coal_section]
-: unlikely_text_section ());
-  else
-return (weak
-? darwin_sections[text_coal_section]
-: text_section);
-}
-
-static section *
 darwin_rodata_section (int weak, bool zsize)
 {
   return (weak
@@ -1267,17 +1254,7 @@ machopic_select_section (tree decl,
   switch (categorize_decl_for_section (decl, reloc))
 {
 case SECCAT_TEXT:
-  {
-struct cgraph_node *node;
-if (decl && TREE_CODE (decl) == FUNCTION_DECL
-&& (node = cgraph_get_node (decl)) != NULL)
-  base_section = darwin_function_section (decl,
-  node->frequency,
-  node->only_called_at_startup,
-  node->only_called_at_exit);
-if (!base_section)
-  base_section = darwin_text_section (reloc, weak);
-  }
+  gcc_unreachable ();
   break;

 case SECCAT_RODATA:
@@ -2559,17 +2536,6 @@ darwin_override_options (void)
   if (!global_options_set.x_dwarf_strict) 
 dwarf_strict = 1;

-  /* Disable -freorder-blocks-and-partition for darwin_emit_unwind_label.  */
-  if (flag_reorder_blocks_and_partition 
-  && (targetm.asm_out.emit_unwind_label == darwin_emit_unwind_label))
-{
-  inform (input_location,
-  "-freorder-blocks-and-partition does not work with exceptions "
-  "on this architecture");
-  flag_reorder_blocks_and_partition = 0;
-  flag_reorder_blocks = 1;
-}
-
   if (flag_mkernel || flag_apple_kext)
 {
   /* -mkernel implies -fapple-kext for C++ */
@@ -2969,7 +2935,10 @@ darwin_function_section (tree decl, enum node_freq
   bool startup, bool exit)
 {
   if (!flag_reorder_functions)
-return NULL;
+return (DECL_WEAK (decl)
+? darwin_sections[text_coal_section]
+: text_section);
+
   /* Startup code should go to startup subsection unless it is
  unlikely executed (this happens especially with function splitting
  where we can split away unnecesary parts of static constructors.  */
@@ -2994,7 +2963,9 @@ darwin_function_section (tree decl, enum node_freq
 return get_named_text_section
  (decl, "__TEXT,__hot,regular,pure_instructions", "_hot");
   default:
-return NULL;
+return (DECL_WEAK (decl)
+? darwin_sections[text_coal_section]
+: text_section);
 }
 }

Index: gcc/config/darwin.h
===
--- gcc/config/darwin.h(revision 167793)
+++ gcc/config/darwin.h(working copy)
@@ -664,7 +664,7 @@ extern GTY(()) section * darwin_sections[NUM_DARWI

 #undefTARGET_ASM_SELECT_SECTION
 #define TARGET_ASM_SELECT_SECTION machopic_select_section
-#define USE_SELECT_SECTION_FOR_FUNCTIONS
+
 #undefTARGET_ASM_FUNCTION_SECTION
 #define TARGET_ASM_FUNCTION_SECTION darwin_function_section


[Bug fortran/46937] [4.6 Regression] gfortran.dg/pointer_intent_1.f90 FAILs with -fno-inline

2010-12-14 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46937

Tobias Burnus  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #3 from Tobias Burnus  2010-12-14 
17:13:17 UTC ---
FIXED on the trunk (4.6). Thanks again for the bug report!


[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2010-12-14 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942

--- Comment #1 from Jakub Jelinek  2010-12-14 
17:13:19 UTC ---
__attribute__((noinline, noclone))
unsigned long f1 (unsigned int a, int b, unsigned short c, short d, unsigned
char e, signed char f)
{
  return (unsigned long) a + b + c + d + e + f;
}

unsigned long l;

unsigned long f2 (void)
{
  return f1 (l + 41, l + 41, l + 41, l + 41, l + 41, l + 41) + 1;
}

unsigned long f3 (unsigned int a, int b, unsigned short c, short d, unsigned
char e, signed char f)
{
  return f1 (a, b, c, d, e, f);
}

unsigned long f4 (int a, unsigned int b, short c, unsigned short d, signed char
e, unsigned char f)
{
  return f1 (a, b, c, d, e, f);
}

at -O2 shows in f4 that we can't trust that the sign/zero extension is done on
the caller side, at least we can't trust that it is sign/zero extended into
64-bits.


[Bug c++/45544] ICE: in sese_adjust_liveout_phis, at sese.c:633

2010-12-14 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45544

Sebastian Pop  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #5 from Sebastian Pop  2010-12-14 17:12:02 
UTC ---
Fixed.
Both trunk and the 4.5 branch are not ICE-ing on this testcase.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #31 from Jack Howarth  2010-12-14 
17:09:47 UTC ---
With the patch from comment 21 applied on x86_64-apple-darwin10, I am seeing...

FAIL: gcc.dg/darwin-weakimport-3.c scan-assembler-not coalesced
FAIL: gcc.dg/pr25376.c scan-assembler my_named_section


[Bug fortran/46937] [4.6 Regression] gfortran.dg/pointer_intent_1.f90 FAILs with -fno-inline

2010-12-14 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46937

--- Comment #2 from Tobias Burnus  2010-12-14 
17:09:50 UTC ---
Author: burnus
Date: Tue Dec 14 17:09:33 2010
New Revision: 167806

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167806
Log:
2010-12-14  Tobias Burnus  

PR fortran/46937
* trans-types.c (create_fn_spec): "."-annotate derived types
with (proc-)pointer components.

2010-12-14  Tobias Burnus  

PR fortran/46937
* gfortran.dg/pointer_intent_4.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/pointer_intent_4.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-types.c
trunk/gcc/testsuite/ChangeLog


[Bug target/46942] New: x86_64 parameter passing unnecessary sign/zero extends

2010-12-14 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942

   Summary: x86_64 parameter passing unnecessary sign/zero extends
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org
CC: hubi...@gcc.gnu.org
Target: x86_64-linux


It seems we zero/sign extend < 64-bit integral parameters into 64-bit registers
both on the caller and callee side on x86_64, one of those should be redundant.
In http://blog.regehr.org/archives/320 Example 4 it seems that LLVM probably
only zero/sign extends in the caller, not callee, not sure what ICC does.

__attribute__((noinline, noclone))
unsigned long f1 (unsigned int a, int b, unsigned short c, short d, unsigned
char e, signed char f)
{
  return (unsigned long) a + b + c + d + e + f;
}

unsigned long l;

unsigned long f2 (void)
{
  return f1 (l + 41, l + 41, l + 41, l + 41, l + 41, l + 41);
}

unsigned long f3 (unsigned int a, int b, unsigned short c, short d, unsigned
char e, signed char f)
{
  return foo (a, b, c, d, e, f);
}


[Bug rtl-optimization/46920] suboptimal register allocation with local register variables

2010-12-14 Thread bonzini at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46920

--- Comment #4 from Paolo Bonzini  2010-12-14 16:48:20 
UTC ---
Yes, I agree that excessive peppering of the code with register asm causes
worse performance.  The interpreter is only placing the very hot ip and sp
registers in hard-coded registers.

I can take a look at the optimization but it may take some time.


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #30 from Iain Sandoe  2010-12-14 16:46:19 
UTC ---
PASS: g++.dg/pch/system-1.C  -O2 -g -I. (test for excess errors)
line #35
<
__GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C:
> __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5:
line #72
<   .long  
__GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C
>   .long   
> __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5
line #251
<
__GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C.eh:
> __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5.eh:
line #1373
<   .ascii
"_GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C\0"
>   .ascii 
> "_GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5\0"
FAIL: g++.dg/pch/system-1.C  -O2 -g assembly comparison


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #29 from Dominique d'Humieres  
2010-12-14 16:44:09 UTC ---
Partial tests (x86_64-apple-darwin10.5.0) with the patch in comment #21 (with
the one in comment #7 reverted) show that the pr is fixed, but it introduces at
least one regression for both -m32/64:

FAIL: g++.dg/other/pr22003.C (test for excess errors)

[macbook] f90/bug% g++46 -O2 -fno-exceptions -freorder-blocks-and-partition
/opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C
/opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C: In destructor 'virtual
c3::~c3()':
/opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C:17:8: error: virtual
c3::~c3() causes a section type conflict
/opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C:17:8: error: virtual
c3::~c3() causes a section type conflict
/opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C:17:8: error: virtual
c3::~c3() causes a section type conflict


[Bug c++/46654] [trans-mem] "volatile" objects must not be allowed in a safe statement

2010-12-14 Thread aldyh at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46654

Aldy Hernandez  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2010.12.14 16:41:22
 Ever Confirmed|0   |1

--- Comment #2 from Aldy Hernandez  2010-12-14 
16:41:22 UTC ---
Fixed and awaiting approval:
http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01103.html


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #28 from Iain Sandoe  2010-12-14 16:41:02 
UTC ---
more of a problem is:

FAIL: g++.dg/pch/system-1.C  -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-1.C  -O2 assembly comparison
FAIL: g++.dg/pch/system-2.C  -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 -g assembly comparison
FAIL: g++.dg/pch/system-2.C  -O2 assembly comparison


[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

2010-12-14 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

--- Comment #27 from Iain Sandoe  2010-12-14 16:39:29 
UTC ---
(In reply to comment #23)
> (In reply to comment #22)

> > Running /opt/gcc/work/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ...
> > FAIL: g++.dg/tree-prof/partition1.C compilation,  -fprofile-use
> > FAIL: g++.dg/tree-prof/partition2.C compilation,  -fprofile-use

hm.  AFAIU, these should not work because exceptions code is incompatible with
reordering - or has this changed?


  1   2   >