[Bug fortran/45715] New: [ABI cleanup] Move runtime parsing of I/O control list to front end

2010-09-18 Thread tkoenig at gcc dot gnu dot org
Currently, for code like

WRITE (*,ADVANCE=NO)

we compare the ADVANCE string in the library.  This is wasteful
in the vast majority of cases, where the corresponding strings
are constant.

We should do the string comparison in the front end, where it
can be folded, and pass a bit field to the library.

Something for the ABI cleanup, when it happens in 4.7.


-- 
   Summary: [ABI cleanup] Move runtime parsing of I/O control list
to front end
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org


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



[Bug tree-optimization/45714] Vectorization of double pow function causes a segmentation fault

2010-09-18 Thread Joost dot VandeVondele at pci dot uzh dot ch


--- Comment #2 from Joost dot VandeVondele at pci dot uzh dot ch  
2010-09-18 07:48 ---
reduced testcase:

 cat bug.f90
  integer index(18),i,j,k,l,ipiv(18),info,ichange,neq,lda,ldb,
   nrhs,iplas
  real*8 ep0(6),al10(18),al20(18),dg0(18),ep(6),al1(18),
   al2(18),dg(18),ddg(18),xm(6,18),h(18,18),ck(18),cn(18),
   c(18),d(18),phi(18),delta(18),r0(18),q(18),b(18),cphi(18),
   q1(18),q2(18),stri(6),htri(18),sg(18),r(42),xmc(6,18),aux(18),
   t(42),gl(18,18),gr(18,18),ee(6),c,c1122,c1212,dd,
   skl(3,3),xmtran(3,3),ddsdde(6,6),xx(6,18)
  do
 do i=1,18
htri(i)=dabs(sg(i))-r0(i)-ck(i)*(dg(i)/dtime)**(1.d0/cn(i))
do j=1,18
enddo
 enddo
 do
  if(i.ne.j) then
  gr(index(i),1)=htri(i)
   endif
call dgesv(neq,nrhs,gl,lda,ipiv,gr,ldb,info)
 enddo
  enddo
  end


with slightly different bt:
#0  0x009aeb56 in vect_transform_stmt (stmt=0x7f588feacb28,
gsi=0x7fffceb29b40, strided_store=0x7fffceb29b7f ,
slp_node=0x0, slp_node_instance=value optimized out) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-vectorizer.h:315
#1  0x009b5dd5 in vect_transform_loop (loop_vinfo=0x14570b0) at
/data03/vondele/gcc_trunk/gcc/gcc/tree-vect-loop.c:4797
#2  0x009c9275 in vectorize_loops () at
/data03/vondele/gcc_trunk/gcc/gcc/tree-vectorizer.c:225
#3  0x007bb69f in execute_one_pass (pass=0x128d680) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1573
#4  0x007bb995 in execute_pass_list (pass=0x128d680) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1628
#5  0x007bb9ad in execute_pass_list (pass=0x128d4a0) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1629
#6  0x007bb9ad in execute_pass_list (pass=0x128cae0) at
/data03/vondele/gcc_trunk/gcc/gcc/passes.c:1629
#7  0x008bfd06 in tree_rest_of_compilation (fndecl=0x7f588ff95d00)
at /data03/vondele/gcc_trunk/gcc/gcc/tree-optimize.c:452
#8  0x00a6c0b9 in cgraph_expand_function (node=0x7f588fda4000) at
/data03/vondele/gcc_trunk/gcc/gcc/cgraphunit.c:1469
#9  0x00a6fe99 in cgraph_optimize () at
/data03/vondele/gcc_trunk/gcc/gcc/cgraphunit.c:1548
#10 0x00a7027d in cgraph_finalize_compilation_unit () at
/data03/vondele/gcc_trunk/gcc/gcc/cgraphunit.c:1012
#11 0x0077b5af in write_global_declarations () at
/data03/vondele/gcc_trunk/gcc/gcc/langhooks.c:310
#12 0x008631d3 in toplev_main (argc=22, argv=0x7fffceb29e98) at
/data03/vondele/gcc_trunk/gcc/gcc/toplev.c:984
#13 0x7f5890738436 in __libc_start_main () from /lib64/libc.so.6


-- 


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



[Bug tree-optimization/45714] Vectorization of double pow function causes a segmentation fault

2010-09-18 Thread Joost dot VandeVondele at pci dot uzh dot ch


-- 

Joost dot VandeVondele at pci dot uzh dot ch changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-18 07:48:50
   date||


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



[Bug tree-optimization/45716] New: [4.6 regression] ICE: segmentation fault at gcc/tree-ssa-ccp.c:1347

2010-09-18 Thread jojelino at gmail dot com
/usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -fpreprocessed h264_cabac.i
-march=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param
l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 -quiet -dumpbase
h264_cabac.i -march=core2 -mfpmath=sse -auxbase h264_cabac -g -O4 -std=gnu99
-version -ffast-math -fomit-frame-pointer -fno-common -o tmp.s

(gdb) set args -fpreprocessed h264_cabac.i -march=core2 -mcx16 -msahf -msse4.1
--param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=20
48 -mtune=core2 -quiet -dumpbase h264_cabac.i -march=core2 -mfpmath=sse -auxbas
e h264_cabac -g -O4 -std=gnu99 -version -ffast-math -fomit-frame-pointer -fno-c
ommon -o tmp.s -v
(gdb) r
Starting program: /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -fpreprocessed
h
264_cabac.i -march=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32
--param
 l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 -quiet -dumpbase
h264_cabac.i -march=core2 -mfpmath=sse -auxbase h264_cabac -g -O4 -std=gnu99
-ve
rsion -ffast-math -fomit-frame-pointer -fno-common -o tmp.s -v
[New Thread 6004.0xc50]
warning: the debug information found in /cygdrive/d/cygwin/bin/cygwin1.dbg
doe
s not match /cygdrive/d/cygwin/bin/cygwin1.dll (CRC mismatch).

[New Thread 6004.0x112c]
GNU C (GCC) version 4.6.0 20100918 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.6.0 20100918 (experimental), GMP version
5.0
.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
[New Thread 6004.0x4ec]
ignoring duplicate directory /usr/include
#include ... search starts here:
#include ... search starts here:
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include
 /usr/local/include
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include-fixed
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/include
End of search list.
GNU C (GCC) version 4.6.0 20100918 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.6.0 20100918 (experimental), GMP version
5.0
.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 37b591552c4af58bc2f535240f94baa1

Program received signal SIGSEGV, Segmentation fault.
0x00a241fa in get_base_constructor (base=0x7fa6e1c0,
offset=value optimized out) at ../.././gcc/tree-ssa-ccp.c:1347
1347   !varpool_get_node (base)-const_value_known))
(gdb) bt
#0  0x00a241fa in get_base_constructor (base=0x7fa6e1c0,
offset=value optimized out) at ../.././gcc/tree-ssa-ccp.c:1347
#1  0x00a2029b in fold_const_aggregate_ref (t=0x7f9451b8)
at ../.././gcc/tree-ssa-ccp.c:1396
#2  0x00a24248 in get_base_constructor (base=0x7f9451b8,
offset=value optimized out) at ../.././gcc/tree-ssa-ccp.c:1361
#3  0x00a2029b in fold_const_aggregate_ref (t=0x7f945190)
at ../.././gcc/tree-ssa-ccp.c:1396
#4  0x008d0448 in maybe_fold_reference (expr=0x7f945190, is_lhs=0x0)
at ../.././gcc/gimple-fold.c:480
#5  0x008d4125 in fold_stmt_1 (gsi=0x4a5c820, inplace=0x0)
at ../.././gcc/gimple-fold.c:1559
#6  0x009b9882 in optimize_stmt (bb=0x7fa781f0, si=...)
at ../.././gcc/tree-ssa-dom.c:2120
#7  0x009bac00 in dom_opt_enter_block (walk_data=0x4a5c930, bb=0x7fa781f0)
at ../.././gcc/tree-ssa-dom.c:1671
#8  0x00b26025 in walk_dominator_tree (walk_data=0x4a5c930, bb=0x7fa781f0)
at ../.././gcc/domwalk.c:188
#9  0x009b928b in tree_ssa_dominator_optimize ()
at ../.././gcc/tree-ssa-dom.c:698
#10 0x0065182d in execute_one_pass (pass=0xc4c0e0)
at ../.././gcc/passes.c:1573
#11 execute_one_pass (pass=0xc4c0e0) at ../.././gcc/passes.c:1516
#12 0x00651ac5 in execute_pass_list (pass=0xc4c0e0)
---Type return to continue, or q return to quit---
at ../.././gcc/passes.c:1628
#13 0x00651ad8 in execute_pass_list (pass=0xc4b520)
at ../.././gcc/passes.c:1629
#14 0x0078d30b in tree_rest_of_compilation (fndecl=0x7fc05600)
at ../.././gcc/tree-optimize.c:452
#15 0x0065404c in cgraph_expand_function (node=0x7fa5f618)
at ../.././gcc/cgraphunit.c:1469
#16 0x00656e15 in cgraph_expand_all_functions ()
at ../.././gcc/cgraphunit.c:1548
#17 cgraph_optimize () at ../.././gcc/cgraphunit.c:1804
#18 0x006573fa in cgraph_finalize_compilation_unit ()
at ../.././gcc/cgraphunit.c:1012
#19 0x0041c0a8 in c_write_global_declarations () at ../.././gcc/c-decl.c:9732
#20 0x006606d2 in compile_file (argc=0x1f, argv=0x4e9a208)
at ../.././gcc/toplev.c:967
#21 do_compile (argc=0x1f, argv=0x4e9a208) at ../.././gcc/toplev.c:2394
#22 toplev_main (argc=0x1f, argv=0x4e9a208) at ../.././gcc/toplev.c:2435
#23 0x004a62a0 in main (argc=0x1f, argv=0x4e9a208) at ../.././gcc/main.c:36
(gdb)
(gdb)


-- 
   Summary: [4.6 regression] ICE: segmentation fault at gcc/tree-
ssa-ccp.c:1347
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization

[Bug tree-optimization/45716] [4.6 regression] ICE: segmentation fault at gcc/tree-ssa-ccp.c:1347

2010-09-18 Thread jojelino at gmail dot com


--- Comment #1 from jojelino at gmail dot com  2010-09-18 07:57 ---
Created an attachment (id=21827)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21827action=view)
preprocessed source


-- 


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



[Bug libstdc++/45711] Building with --enable-libstdcxx-debug fails during install

2010-09-18 Thread paolo dot carlini at oracle dot com


--- Comment #8 from paolo dot carlini at oracle dot com  2010-09-18 08:39 
---
Thanks Ralf, I was sure you would have something sensible to say here. And,
please, feel free to self assign ;)


-- 


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



[Bug target/43297] [4.4 regression] -O2 -fPIC breaks htmlnorm.c

2010-09-18 Thread ebotcazou at gcc dot gnu dot org


--- Comment #5 from ebotcazou at gcc dot gnu dot org  2010-09-18 08:48 
---
Investigating.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|ebotcazou at gcc dot gnu dot|
   |org |
 AssignedTo|unassigned at gcc dot gnu   |ebotcazou at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-07-09 10:25:26 |2010-09-18 08:48:04
   date||


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



[Bug testsuite/42843] --enable-build-with-cxx plugin tests fail

2010-09-18 Thread ebotcazou at gcc dot gnu dot org


--- Comment #25 from ebotcazou at gcc dot gnu dot org  2010-09-18 08:53 
---
Tentatively.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|ebotcazou at gcc dot gnu dot|
   |org |
 Status|REOPENED|RESOLVED
  Known to fail|4.5.0 4.6.0 |4.5.0
  Known to work||4.6.0
 Resolution||FIXED
   Target Milestone|--- |4.6.0


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



[Bug ada/35194] floating point truncation error on intel platform

2010-09-18 Thread ebotcazou at gcc dot gnu dot org


--- Comment #12 from ebotcazou at gcc dot gnu dot org  2010-09-18 09:06 
---
Not a GCC bug.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||WONTFIX


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



[Bug tree-optimization/45716] [4.6 regression] ICE: segmentation fault at gcc/tree-ssa-ccp.c:1347

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-09-18 09:26 ---
Honza.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-18 09:26:32
   date||
   Target Milestone|--- |4.6.0


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



[Bug tree-optimization/45714] [4.6 Regression] Vectorization of double pow function causes a segmentation fault

2010-09-18 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Vectorization of double pow |[4.6 Regression]
   |function causes a   |Vectorization of double pow
   |segmentation fault  |function causes a
   ||segmentation fault
   Target Milestone|--- |4.6.0


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



[Bug middle-end/45712] [4.6 Regression] Segmentation violation when compiling spec source on either x86 or ppc with debugging

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-09-18 09:28 ---
It should never return NULL for global vars.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-18 09:28:21
   date||
Summary|Segmentation violation when |[4.6 Regression]
   |compiling spec source on|Segmentation violation when
   |either x86 or ppc with  |compiling spec source on
   |debugging   |either x86 or ppc with
   ||debugging
   Target Milestone|--- |4.6.0


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



[Bug c++/45709] [4.3/4.4/4.5/4.6 regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-09-17 20:25:35 |2010-09-18 09:28:41
   date||
   Target Milestone|--- |4.3.6


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



[Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-09-18 09:32 ---
(In reply to comment #4)
 The problem is a big one.  In short, placement new operator changes
 the type of an object to another, which re-sets up the VMT. Then there
 is call of a virtual method of the latter type.  CCP however happily
 propagates the initial declaration (of a type with no virtual methods)
 to the OBJ_TYPE_REF and attempts to fold it.  The folding function
 naturally expect to see some virtual methods in BINFOs but there are
 none and we dereference a NULL pointer.

I don't quite understand from the description what is going on.
Did you manage to produce a smaller testcase?


-- 


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



[Bug middle-end/45706] [4.6 regression] gcc.dg/vect/vect-114.c

2010-09-18 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=45706



[Bug c++/45709] [4.3/4.4/4.5/4.6 regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-09-18 09:53 ---
We run into

  /* With return slot optimization we can end up with
 non-gimple (foo *)this-m, fix that here.  */
  if (TREE_CODE (new_arg) != SSA_NAME
   TREE_CODE (new_arg) != FUNCTION_DECL
   !is_gimple_val (new_arg))
{
  gimple_seq stmts = NULL;
  new_arg = force_gimple_operand (new_arg, stmts, true, NULL);
  gsi_insert_seq_on_edge_immediate (new_edge, stmts);

but inserting on an edge that needs splitting, which wrecks new_edge.

Index: tree-inline.c
===
--- tree-inline.c   (revision 164388)
+++ tree-inline.c   (working copy)
@@ -2021,8 +2021,11 @@ copy_phis_for_bb (basic_block bb, copy_b
   !is_gimple_val (new_arg))
{
  gimple_seq stmts = NULL;
+ basic_block tem;
  new_arg = force_gimple_operand (new_arg, stmts, true, NULL);
- gsi_insert_seq_on_edge_immediate (new_edge, stmts);
+ tem = gsi_insert_seq_on_edge_immediate (new_edge, stmts);
+ if (tem)
+   new_edge = find_edge (tem, new_bb);
}
  add_phi_arg (new_phi, new_arg, new_edge,
   gimple_phi_arg_location_from_edge (phi, old_edge));

fixes that.


-- 


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



[Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-09-18 10:02 ---
autoreducing.


-- 


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



[Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()

2010-09-18 Thread aanisimov at inbox dot ru


--- Comment #7 from aanisimov at inbox dot ru  2010-09-18 10:11 ---
(In reply to comment #6)
 autoreducing.
 

Is this I reduce it myself or I have some tool reduce it for me? If the
latter is the case, then what is the tool for automatic testcase reduction?


-- 


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



[Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-09-18 10:15 ---
(In reply to comment #7)
 (In reply to comment #6)
  autoreducing.
  
 
 Is this I reduce it myself or I have some tool reduce it for me? If the
 latter is the case, then what is the tool for automatic testcase reduction?

I have some tool.  See http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction


-- 


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



[Bug c++/45709] [4.3/4.4/4.5/4.6 regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2010-09-18 11:38 ---
Subject: Bug 45709

Author: rguenth
Date: Sat Sep 18 11:38:25 2010
New Revision: 164390

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164390
Log:
2010-09-18  Richard Guenther  rguent...@suse.de

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Fixup new_edge when
we splitted it.

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

Added:
trunk/gcc/testsuite/g++.dg/torture/pr45709.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-inline.c


-- 


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



[Bug c++/45709] [4.3/4.4/4.5/4.6 regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2010-09-18 11:39 
---
Subject: Bug 45709

Author: rguenth
Date: Sat Sep 18 11:39:44 2010
New Revision: 164391

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164391
Log:
2010-09-18  Richard Guenther  rguent...@suse.de

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Fixup new_edge when
we splitted it.

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

Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr45709.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/tree-inline.c


-- 


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



[Bug c++/45709] [4.3/4.4 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2010-09-18 12:30 
---
Stopping here for now - I guess doing immediate insertion still can break
things as if there is another PHI node we'll iterate over the edges
again (but now including split ones) and find_edge (new_edge-src-aux, bb)
will break as new_edge-src is the newly inserted block.

I suppose delaying edge insert commits until after at least this block
is finished is better.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work||4.5.2 4.6.0
Summary|[4.3/4.4/4.5/4.6 regression]|[4.3/4.4 Regression]
   |internal compiler error: in |internal compiler error: in
   |add_phi_arg, at tree-   |add_phi_arg, at tree-
   |phinodes.c:395  |phinodes.c:395


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



[Bug c++/45709] [4.3/4.4 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2010-09-18 12:42 
---
Yep - testcase that still ICEs (now w/ a segfault):

struct Region {
int storage[4];
int count;
};
static inline Region subtract(int lhs)
{
  Region reg;
  int* storage = reg.storage;
  int* storage2 = reg.storage;
  if (lhs  0)
storage++, storage2--;
  reg.count = storage - reg.storage + storage2 - reg.storage;
  return reg;
}
void bar(int a)
{
  const Region copyBack(subtract(a));
}


-- 


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



[Bug debug/45717] New: regression in debug info on simple C++ code

2010-09-18 Thread charlet at gcc dot gnu dot org
Given the following simple code snippet, tested on x86_64-pc-linux-gnu,
i686-pc-linux-gnu, and i686-pc-mingw32:


struct Elem {
   int data;
   struct Elem* next;
};

int main () {
   struct Elem* list;
   return 0;
}


Compile with:
g++ main.cc -o main

run under gdb:
gdb main
ptype Elem

yields:
type = struct Elem {
int data;
void *next;
}

instead of (with e.g. g++ 4.4.3):
type = struct Elem {
int data;
Elem *next;
}


-- 
   Summary: regression in debug info on simple C++ code
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Keywords: wrong-debug
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: charlet at gcc dot gnu dot org


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



[Bug debug/45717] regression in debug info on simple C++ code

2010-09-18 Thread charlet at gcc dot gnu dot org


--- Comment #1 from charlet at gcc dot gnu dot org  2010-09-18 12:51 ---
Note that this works fine on mainline and 4.3.x, 4.4.x


-- 

charlet at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work|4.4.3   |4.3.6 4.4.3 4.4.5 4.6.0


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



[Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2010-09-18 12:54 ---
Created an attachment (id=21828)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21828action=view)
reduced testcase


-- 


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



[Bug c++/45709] [4.3/4.4 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2010-09-18 12:54 
---
new patch in testing.


-- 


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



[Bug debug/45717] [4.5 Regression] regression in debug info on simple C++ code

2010-09-18 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|regression in debug info on |[4.5 Regression] regression
   |simple C++ code |in debug info on simple C++
   ||code
   Target Milestone|--- |4.5.2


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



[Bug debug/45717] [4.5 Regression] regression in debug info on simple C++ code

2010-09-18 Thread redi at gcc dot gnu dot org


--- Comment #2 from redi at gcc dot gnu dot org  2010-09-18 13:20 ---


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


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug debug/44645] [4.5 Regression] missing debug info for pointer types

2010-09-18 Thread redi at gcc dot gnu dot org


--- Comment #8 from redi at gcc dot gnu dot org  2010-09-18 13:20 ---
*** Bug 45717 has been marked as a duplicate of this bug. ***


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||charlet at gcc dot gnu dot
   ||org


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



[Bug debug/44645] [4.5 Regression] missing debug info for pointer types

2010-09-18 Thread hjl dot tools at gmail dot com


--- Comment #9 from hjl dot tools at gmail dot com  2010-09-18 13:26 ---
This is caused by revision 154354:

http://gcc.gnu.org/ml/gcc-cvs/2009-11/msg00575.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||jason at redhat dot com


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



[Bug debug/43628] [4.5/4.6 Regression] in-class func-ptr type parameter has unspecified DW_AT_type

2010-09-18 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2010-09-18 14:13 ---
*** Bug 44645 has been marked as a duplicate of this bug. ***


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||redi at gcc dot gnu dot org


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



[Bug debug/44645] [4.5 Regression] missing debug info for pointer types

2010-09-18 Thread hjl dot tools at gmail dot com


--- Comment #10 from hjl dot tools at gmail dot com  2010-09-18 14:13 
---


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


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug debug/43628] [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type

2010-09-18 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2010-09-18 14:13 ---
4.5 isn't fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |
Summary|[4.5/4.6 Regression] in-|[4.5 Regression] in-class
   |class func-ptr type |func-ptr type parameter has
   |parameter has unspecified   |unspecified DW_AT_type
   |DW_AT_type  |
   Target Milestone|4.6.0   |4.5.2


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



[Bug inline-asm/45718] New: unresolved reference to __builtin_ia32_loadaps

2010-09-18 Thread jengelh at medozas dot de
Compilation of this sample fails, despite loadaps being mentioned in the
gcc.info documentation.

#include xmmintrin.h

int main(void)
{
float q;
__builtin_ia32_loadaps(q);
return 0;
}


Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.5/lto-wrapper
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.5
--enable-ssp --disable-libssp --disable-plugin
--with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux'
--disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.5
--enable-linux-futex --without-system-libunwind --enable-gold
--with-plugin-ld=/usr/bin/gold --with-arch-32=i586 --with-tune=generic
--build=x86_64-suse-linux
Thread model: posix
gcc version 4.5.0 20100604 [gcc-4_5-branch revision 160292] (SUSE Linux)


-- 
   Summary: unresolved reference to __builtin_ia32_loadaps
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jengelh at medozas dot de
 GCC build triplet: x86_64-suse-linux-gnu
  GCC host triplet: x86_64-suse-linux-gnu
GCC target triplet: x86_64-suse-linux-gnu


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



[Bug debug/43628] [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type

2010-09-18 Thread hjl at gcc dot gnu dot org


--- Comment #7 from hjl at gcc dot gnu dot org  2010-09-18 14:48 ---
Subject: Bug 43628

Author: hjl
Date: Sat Sep 18 14:48:36 2010
New Revision: 164392

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164392
Log:
Fix missing C++ debug info for pointer types.

gcc/

2010-09-18  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-04-07  Dodji Seketeli  do...@redhat.com

PR debug/43628
* dwarf2out.c (modified_type_die): Ignore artificial typedefs.

gcc/testsuite

2010-09-18  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-04-07  Dodji Seketeli  do...@redhat.com

PR debug/43628
* g++.dg/debug/dwarf2/typedef2.C: New test.

Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/debug/dwarf2/typedef2.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/dwarf2out.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug debug/43628] [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type

2010-09-18 Thread hjl dot tools at gmail dot com


--- Comment #8 from hjl dot tools at gmail dot com  2010-09-18 14:49 ---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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



[Bug c/45719] New: gcc.target/i386/pad-3.c scan-assembler-not nop fails at -m32 for-fPIC

2010-09-18 Thread howarth at nitro dot med dot uc dot edu
On x86_64-apple-darwin10, the new testcase failure...

FAIL: gcc.target/i386/pad-3.c scan-assembler-not nop

appears at -m32. The failure is suppressed if the testcase is compiled with
-fno-PIC.


-- 
   Summary: gcc.target/i386/pad-3.c scan-assembler-not nop fails at
-m32 for-fPIC
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: howarth at nitro dot med dot uc dot edu
 GCC build triplet: x86_64-apple-darwin10
  GCC host triplet: x86_64-apple-darwin10
GCC target triplet: x86_64-apple-darwin10


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



[Bug c/45719] gcc.target/i386/pad-3.c scan-assembler-not nop fails at -m32 for-fPIC

2010-09-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2010-09-18 
15:01 ---
Created an attachment (id=21829)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21829action=view)
assembly file for /gcc.target/i386/pad-3.c at -m32 on x86_64-apple-darwin10

Assembly file generated with...

/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc46-4.6.0-1000/darwin_objdir/gcc/
/sw/src/fink.build/gcc46-4.6.0-1000/gcc-4.6-20100918/gcc/testsuite/gcc.target/i386/pad-3.c
-O2 -fomit-frame-pointer -march=atom -S -S -m32 --save-temps -o pad-3.s


-- 


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



[Bug c/45719] gcc.target/i386/pad-3.c scan-assembler-not nop fails at -m32 for-fPIC

2010-09-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #2 from howarth at nitro dot med dot uc dot edu  2010-09-18 
15:02 ---
Created an attachment (id=21830)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21830action=view)
preprocessed source file for /gcc.target/i386/pad-3.c at -m32 on
x86_64-apple-darwin10


-- 


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



[Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2010-09-18 15:06 
---
Well - I think the point is that if the dynamic type of storage differs from
its static type (as it happens with placement new) you cannot rely on
TYPE_BINFO to be correct at all.

Which means that instead of ICEing you can get wrong code easily as well.

I think you need to dump using TYPE_BINFO completely and instead rely on
the function pointer only.


-- 


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



[Bug c/45719] gcc.target/i386/pad-3.c scan-assembler-not nop fails at -m32 for-fPIC

2010-09-18 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2010-09-18 15:11 ---
Does adding -fno-pic work on Darwin?


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug middle-end/45720] New: [4.6 regression] Revision 164367 miscompiled SPEC CPU 2K

2010-09-18 Thread hjl dot tools at gmail dot com
Revision 164367:

http://gcc.gnu.org/ml/gcc-cvs/2010-09/msg00661.html

miscompiled SPEC CPU 2K at -O3.

On Linux/x86-64, I got

  Running 186.crafty ref peak lnx32e-gcc default
*** Miscompare of crafty.out, see
/export/gnu/import/svn/gcc-test/spec/2000/x86_
64/spec/benchspec/CINT2000/186.crafty/run/0004/crafty.out.mis
...
  Running 200.sixtrack ref peak lnx32e-gcc default
*** Miscompare of inp.out, see
/export/gnu/import/svn/gcc-test/spec/2000/x86_64/
spec/benchspec/CFP2000/200.sixtrack/run/0004/inp.out.mis

with -O3 -funroll-loops -ffast-math.

On Linux/ia32, I got

  Running 254.gap ref peak lnx32-gcc default
*** Miscompare of ref.out, see
/export/gnu/import/svn/gcc-test/spec/2000/i686/sp
ec/benchspec/CINT2000/254.gap/run/0004/ref.out.mis

with -O3 -funroll-loops -msse2 -mfpmath=sse -ffast-math.


-- 
   Summary: [4.6 regression] Revision 164367 miscompiled SPEC CPU 2K
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug fortran/45689] [F2003] Missing transformational intrinsic in the trans_func_f2003 list

2010-09-18 Thread dfranke at gcc dot gnu dot org


--- Comment #4 from dfranke at gcc dot gnu dot org  2010-09-18 15:58 ---
(In reply to comment #3)
 Am I correct to understand that the current situation (i.e. the error message)
 is a temporary fix for some missing gfc_simplify_*?

If the error message you refer to is

 Error: transformational intrinsic 'cshift' at (1) is not permitted in an
 initialization expression

then yes.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dfranke at gcc dot gnu dot
   ||org


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



[Bug c/45719] gcc.target/i386/pad-3.c scan-assembler-not nop fails at -m32 for-fPIC

2010-09-18 Thread howarth at nitro dot med dot uc dot edu


--- Comment #4 from howarth at nitro dot med dot uc dot edu  2010-09-18 
16:12 ---
(In reply to comment #3)
 Does adding -fno-pic work on Darwin?
 

Yes, -fno-pic also suppresses the nop's in the testcase.


-- 


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



[Bug c/45719] gcc.target/i386/pad-3.c scan-assembler-not nop fails at -m32 for-fPIC

2010-09-18 Thread hjl at gcc dot gnu dot org


--- Comment #5 from hjl at gcc dot gnu dot org  2010-09-18 16:25 ---
Subject: Bug 45719

Author: hjl
Date: Sat Sep 18 16:24:50 2010
New Revision: 164395

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164395
Log:
Pass -fno-pic to gcc.target/i386/pad-3.c.

2010-09-18  H.J. Lu  hongjiu...@intel.com

PR testsuite/45719
* gcc.target/i386/pad-3.c: Pass -fno-pic.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/pad-3.c


-- 


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



[Bug testsuite/45719] gcc.target/i386/pad-3.c scan-assembler-not nop fails at -m32 for-fPIC

2010-09-18 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2010-09-18 16:27 ---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
  Component|c   |testsuite
 Resolution||FIXED
   Target Milestone|--- |4.6.0


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



[Bug middle-end/45720] [4.6 regression] Revision 164367 miscompiled SPEC CPU 2K

2010-09-18 Thread hjl dot tools at gmail dot com


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug fortran/45710] WRITE of NAMELIST group to internal file contains newline characters

2010-09-18 Thread urbanjost at comcast dot net


--- Comment #2 from urbanjost at comcast dot net  2010-09-18 16:35 ---
Subject: Re:  WRITE of NAMELIST group to internal file contains newline
characters

The irony in that question is that the obscurity of the example is a direct 
result of the unexpected
behavior of write of a NAMELIST into an internal file. The original question 
I was asked was
reduced to a much simpler test case, and the question why does the 
following program start to
fail when the variable E is added to the NAMELIST group?.

PROGRAM NMIF
INTEGER :: A=1,B=2,C=3,D=4,E=5
!NAMELIST /NL1/ A,B,C,D ! works in gfortran
NAMELIST /NL1/ A,B,C,D,E   ! End of record error in gfortran
CHARACTER(LEN=80) :: OUT(10)
OUT=' '
WRITE(OUT,NL1)
WRITE(*,'(A)')OUT
END PROGRAM NMIF

The code then mutated during an e-mail-only conversion,  where
it ended up that filling OUT with an @ character and numbering the lines 
made it much clearer what
was truly an output record and what was not; and just how several people had 
become convinced that
the output from the NAMELIST output was in the form of one variable per 
line.  So what was
required to clarify an issue for a number of people ended up confusing you. 
Also note that every
compiler tried (XL, ifort, g95, gfortran)  had different results, which was 
only clear when OUT was
filled with a non-white-space character and annotated.  Looking back on it I 
see that what we
thought was a trivial example program could confuse someone not privy to the 
discussions that lead
from the above example code to what was entered in bugzilla.

So obscurity lead to obscurity.




- Original Message - 
From: kargl at gcc dot gnu dot org gcc-bugzi...@gcc.gnu.org
To: urbanj...@comcast.net
Sent: Friday, September 17, 2010 5:53 PM
Subject: [Bug fortran/45710] WRITE of NAMELIST group to internal file 
contains newline characters




 --- Comment #1 from kargl at gcc dot gnu dot org  2010-09-17 
 21:53 ---
 Could you format your bug report any more poorly?


 -- 


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

 --- You are receiving this mail because: ---
 You reported the bug, or are watching the reporter. 


-- 


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



[Bug fortran/45710] WRITE of NAMELIST group to internal file contains newline characters

2010-09-18 Thread kargl at gcc dot gnu dot org


--- Comment #3 from kargl at gcc dot gnu dot org  2010-09-18 17:11 ---
(In reply to comment #2)

 So what was
 required to clarify an issue for a number of people ended up confusing you. 
 Also note that every
 compiler tried (XL, ifort, g95, gfortran)  had different results, which was 
 only clear when OUT was
 filled with a non-white-space character and annotated.  Looking back on it I 
 see that what we
 thought was a trivial example program could confuse someone not privy to the 
 discussions that lead
 from the above example code to what was entered in bugzilla.

Please go to http://gcc.gnu.org/buzilla/show_bug.cgi?id=45710

My original comment was directed at how *extremely difficult*
it is to read your
bug report because of the poorly formatted narrative.  Long lines get wrapped
in bugzilla,
which means that the large comment in the posted code is broken
into different lines that
are no longer comments.  So one cannot simply cut-n-paste the original
code into
a program that one can easily compile to demonstrate the problem.  Oh, and
yes, you 
should have included the original simple program
because that program 
is a good candidate for the dejagnu testsuite; whereas the large code
may be
more difficult to add the dg directives and possibly a final scan
pass
of an intermediate file.

For the sarcasm impaired, the above was purposely written
with poor line breaks to hopefully demonstrate the problem.


-- 


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



[Bug c++/45709] [4.3/4.4 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2010-09-18 17:13 
---
Subject: Bug 45709

Author: rguenth
Date: Sat Sep 18 17:13:04 2010
New Revision: 164397

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164397
Log:
2010-09-18  Richard Guenther  rguent...@suse.de

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Delay commit of edge
insertions until after all PHI nodes of the block are processed.

* g++.dg/torture/pr45709-2.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr45709-2.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-inline.c


-- 


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



[Bug c++/45709] [4.3/4.4 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #15 from rguenth at gcc dot gnu dot org  2010-09-18 17:16 
---
Subject: Bug 45709

Author: rguenth
Date: Sat Sep 18 17:16:42 2010
New Revision: 164398

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164398
Log:
2010-09-18  Richard Guenther  rguent...@suse.de

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Delay commit of edge
insertions until after all PHI nodes of the block are processed.

* g++.dg/torture/pr45709-2.C: New testcase.

Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr45709-2.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/tree-inline.c


-- 


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



[Bug c++/45709] [4.3/4.4 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #16 from rguenth at gcc dot gnu dot org  2010-09-18 17:23 
---
Subject: Bug 45709

Author: rguenth
Date: Sat Sep 18 17:23:20 2010
New Revision: 164399

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164399
Log:
2010-09-18  Richard Guenther  rguent...@suse.de

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Delay commit of edge
insertions until after all PHI nodes of the block are processed.

* g++.dg/torture/pr45709.C: New testcase.
* g++.dg/torture/pr45709-2.C: Likewise.

Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr45709-2.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr45709.C
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/gcc/tree-inline.c


-- 


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



[Bug tree-optimization/45709] [4.3 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #17 from rguenth at gcc dot gnu dot org  2010-09-18 17:24 
---
Backport for 4.3 pending testing.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |tree-optimization
  Known to work|4.5.2 4.6.0 |4.4.5 4.5.2 4.6.0
Summary|[4.3/4.4 Regression]|[4.3 Regression] internal
   |internal compiler error: in |compiler error: in
   |add_phi_arg, at tree-   |add_phi_arg, at tree-
   |phinodes.c:395  |phinodes.c:395


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



[Bug lto/45721] New: [4.6 Regression] ICE: in function_and_variable_visibility, at ipa.c:673 with -flto

2010-09-18 Thread zsojka at seznam dot cz
Compiler output:
$ gcc -flto -r -nostdlib file[12].c
lto1: internal compiler error: in function_and_variable_visibility, at
ipa.c:673
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper:
/mnt/svn/gcc-trunk/binary-164287-lto-fortran-checking-yes-rtl-df/bin/gcc
returned 1 exit status
collect2: lto-wrapper returned 1 exit status

-- file1.c --
extern void baz(void);
void *y = (void *)baz;
-
-- file2.c --
static void bar(void) __attribute__ ((__weakref__(baz)));
void *x = (void *)bar;
-

I don't know if this is valid, but originally those were valid C and C++ files
including only system libraries.

Tested revisions:
r164287 - crash
r163636 - crash
r161659 - OK
r159696 - OK
r153685 - OK
4.5 r163761 - OK


-- 
   Summary: [4.6 Regression] ICE: in
function_and_variable_visibility, at ipa.c:673 with -
flto
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug tree-optimization/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)

2010-09-18 Thread danglin at gcc dot gnu dot org


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
  Component|testsuite   |tree-optimization
   Last reconfirmed|2010-05-02 15:26:05 |2010-09-18 18:10:02
   date||


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



[Bug fortran/45710] WRITE of NAMELIST group to internal file contains newline characters

2010-09-18 Thread jvdelisle at gcc dot gnu dot org


--- Comment #4 from jvdelisle at gcc dot gnu dot org  2010-09-18 18:18 
---
This issue, line ending for namelist to character arrays, has come up before. 
I don't remember the outcome of that previous discussion.  I will research a
little.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-18 18:18:59
   date||


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



[Bug tree-optimization/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #14 from rguenth at gcc dot gnu dot org  2010-09-18 18:25 
---
You have way more non-SSA variables - possibly due to callee-copy of args
(again).

I suppose some optimizations end up being disabled for some reason by that,
but likely nobody will be interested to fixup missed optimizations for
this target :/

So - if you are interested (heh ...) I'd start comparing dumps to i?86 dumps
and see where they start to diverge badly.  Also try and see why you end up
with

  complex double cd.1;
  complex long double cld.0;

not in SSA form:

  REALPART_EXPR cld.0 = cld$real_19;
  IMAGPART_EXPR cld.0 = cld$imag_20;
  REALPART_EXPR cd.1 = cd$real_10;
  IMAGPART_EXPR cd.1 = cd$imag_11;
  REALPART_EXPR cd.1 =  Inf;

on i?86 I never even start having partial definitions of these on the lhs ...
(but I also do not have the callee-copy, so you might check if SRA makes
those partial defs from them by trying with -fno-tree-sra).

If you're not interested I suggest to XFAIL the testcase for the failing
platforms.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug lto/45721] [4.6 Regression] ICE: in function_and_variable_visibility, at ipa.c:673 with -flto

2010-09-18 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
   Keywords||lto
   Target Milestone|--- |4.6.0


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



[Bug middle-end/45722] New: FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

2010-09-18 Thread danglin at gcc dot gnu dot org
FAIL: gcc.c-torture/execute/20040709-2.c execution,  -O1
FAIL: gcc.c-torture/execute/20040709-2.c execution,  -Os 

(gdb) r
Starting program:
/home/dave/gnu/gcc-4.6/objdir/gcc/testsuite/gcc/20040709-2.x1g 

Program received signal SIGABRT, Aborted.
0x40a9787c in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67
67  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0  0x40a9787c in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67
#1  0x40a9c228 in abort () at abort.c:92
#2  0x0001670c in testW ()
at
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20040709-2.c:113
#3  0x000175a4 in main ()
at
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20040709-2.c:143

First seen in revision 164235.  Revision 164202 was ok.


-- 
   Summary: FAIL: gcc.c-torture/execute/20040709-2.c execution at -
O1 and -Os
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa*-*-* (32-bit)
  GCC host triplet: hppa*-*-* (32-bit)
GCC target triplet: hppa*-*-* (32-bit)


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



[Bug libfortran/45723] New: opening /dev/null for appending writes

2010-09-18 Thread Joost dot VandeVondele at pci dot uzh dot ch
I'm wondering if the following open statement should really fail. I have no
strong opinion, but it would be convenient if it 'just' worked, like you can
open an non-existing file and 'append'.

I guess it is related to the fact that /dev/null can't be seeked.

 cat test.f90
 OPEN(UNIT=7,FILE=/dev/null,FORM=FORMATTED,POSITION=APPEND,IOSTAT=istat)
 IF (istat.NE.0) STOP 1
 END


-- 
   Summary: opening /dev/null for appending writes
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Joost dot VandeVondele at pci dot uzh dot ch


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



[Bug libfortran/45723] opening /dev/null for appending writes

2010-09-18 Thread Joost dot VandeVondele at pci dot uzh dot ch


-- 

Joost dot VandeVondele at pci dot uzh dot ch changed:

   What|Removed |Added

   Severity|normal  |enhancement


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



[Bug middle-end/45722] [4.6 Regression] FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-09-18 18:43 ---
Can you please reduce preprocessed source?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|FAIL: gcc.c-|[4.6 Regression] FAIL:
   |torture/execute/20040709-2.c|gcc.c-
   |execution at -O1 and -Os|torture/execute/20040709-2.c
   ||execution at -O1 and -Os
   Target Milestone|--- |4.6.0


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



[Bug middle-end/45720] [4.6 regression] Revision 164367 miscompiled SPEC CPU 2K

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-09-18 18:45 ---
I also see 450.soplex and 481.wrf fail.


-- 


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



[Bug tree-optimization/45709] [4.3 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #18 from rguenth at gcc dot gnu dot org  2010-09-18 18:54 
---
Subject: Bug 45709

Author: rguenth
Date: Sat Sep 18 18:53:53 2010
New Revision: 164400

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164400
Log:
2010-09-18  Richard Guenther  rguent...@suse.de

PR tree-optimization/45709
* tree-inline.c (copy_phis_for_bb): Delay commit of edge
insertions until after all PHI nodes of the block are processed.

* g++.dg/torture/pr45709.C: New testcase.
* g++.dg/torture/pr45709-2.C: Likewise.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/torture/pr45709-2.C
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/torture/pr45709.C
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
branches/gcc-4_3-branch/gcc/tree-inline.c


-- 


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



[Bug tree-optimization/45709] [4.3 Regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395

2010-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #19 from rguenth at gcc dot gnu dot org  2010-09-18 18:54 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to fail||4.3.5
 Resolution||FIXED


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



[Bug tree-optimization/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)

2010-09-18 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #15 from dave at hiauly1 dot hia dot nrc dot ca  2010-09-18 
18:59 ---
Subject: Re:  [4.6 Regression] FAIL:
gcc.dg/torture/builtin-cproj-1.c  -O1  (test for excess errors)

On Sat, 18 Sep 2010, rguenth at gcc dot gnu dot org wrote:

 
 
 --- Comment #14 from rguenth at gcc dot gnu dot org  2010-09-18 18:25 
 ---
 You have way more non-SSA variables - possibly due to callee-copy of args
 (again).
 
 I suppose some optimizations end up being disabled for some reason by that,
 but likely nobody will be interested to fixup missed optimizations for
 this target :/
 
 So - if you are interested (heh ...) I'd start comparing dumps to i?86 dumps
 and see where they start to diverge badly.  Also try and see why you end up
 with

I already did compare dumps with i?86.  cplxlower is where major differences
started to appear, although there are some differences before that.

   complex double cd.1;
   complex long double cld.0;
 
 not in SSA form:
 
   REALPART_EXPR cld.0 = cld$real_19;
   IMAGPART_EXPR cld.0 = cld$imag_20;
   REALPART_EXPR cd.1 = cd$real_10;
   IMAGPART_EXPR cd.1 = cd$imag_11;
   REALPART_EXPR cd.1 =  Inf;

The problem has something to do with precision.  The problem doesn't occur
for complex float.  For example, this code doesn't appear for float:

CR.11_40 = REALPART_EXPR D.1935_9;
CI.12_41 = IMAGPART_EXPR D.1935_9;
D.1966_42 = CR.11_40  1.79769313486231570814527423731704356798070567526e+308;
D.1967_43 = !D.1966_42;
D.1968_44 = CI.12_41 != 0.0;
D.1969_45 = D.1967_43 || D.1968_44;
if (D.1969_45 == 1)
  goto bb 6;
else
goto bb 5;

 on i?86 I never even start having partial definitions of these on the lhs ...
 (but I also do not have the callee-copy, so you might check if SRA makes
 those partial defs from them by trying with -fno-tree-sra).

Thanks for the suggestion.  I'll give it a try.

 If you're not interested I suggest to XFAIL the testcase for the failing
 platforms.

It's really a question of time.  I only have some evenings and weekends
to investigate GCC bugs.

Dave


-- 


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



[Bug fortran/45724] New: segmentation fault occurs when printing string if -malign-double option is used

2010-09-18 Thread kamaraju at gmail dot com
J.P. Malhado originally reported this bug in Debian BTS as
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518642.

debian_chroot:sid:kusumanchi:/home/518642# cat string.f90 
write(6,*) 'string1'
write(6,'(A)') 'string2'
end

debian_chroot:sid:kusumanchi:/home/518642# /usr/lib/gcc-snapshot/bin/gfortran
-g -malign-double string.f90 

debian_chroot:sid:kusumanchi:/home/518642# ./a.out 
 string1
Segmentation fault (core dumped)

The segmentation fault does not occur if the -malign-double option is not used.

It is reproducible in gfortran 4.3.2, 4.3.5, 4.4.4, 4.5.1 and 4.6.0.


debian_chroot:sid:kusumanchi:/home/518642# /usr/lib/gcc-snapshot/bin/gfortran
-v
Using built-in specs.   
COLLECT_GCC=/usr/lib/gcc-snapshot/bin/gfortran  
COLLECT_LTO_WRAPPER=/usr/lib/gcc-snapshot/libexec/gcc/i486-linux-gnu/4.6.0/lto-wrapper
 
Target: i486-linux-gnu  
Configured with: ../src/configure -v --with-pkgversion='Debian 20100828-1'
--with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs
--enable-languages=c,ada,c++,fortran,objc,obj-c++
--prefix=/usr/lib/gcc-snapshot --enable-shared --enable-multiarch
--enable-linker-build-id --with-system-zlib --disable-nls --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin
--enable-gold --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all
--with-arch-32=i586 --with-tune=generic --disable-werror --enable-checking=yes
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix 
gcc version 4.6.0 20100828 (experimental) [trunk revision 163616] (Debian
20100828-1)

debian_chroot:sid:kusumanchi:/home/518642# gdb -q ./a.out   
Reading symbols from /home/518642/a.out...done. 
(gdb) r 
Starting program: /home/518642/a.out
 string1

Program received signal SIGSEGV, Segmentation fault.
format_hash (dtp=0xbb50) at ../../../src/libgfortran/io/format.c:152
152 ../../../src/libgfortran/io/format.c: No such file or directory.
in ../../../src/libgfortran/io/format.c 
(gdb)bt 
#0  format_hash (dtp=0xbb50) at ../../../src/libgfortran/io/format.c:152
#1  find_parsed_format (dtp=0xbb50) at
../../../src/libgfortran/io/format.c:189  
#2  parse_format (dtp=0xbb50) at ../../../src/libgfortran/io/format.c:1228  
#3  0x400c3610 in data_transfer_init (dtp=0xbb50, read_flag=0)  
at ../../../src/libgfortran/io/transfer.c:2227  
#4  0x08048619 in MAIN__ () at string.f90:2


thanks
raju


-- 
   Summary: segmentation fault occurs when printing string if -
malign-double option is used
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kamaraju at gmail dot com


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



[Bug middle-end/45722] [4.6 Regression] FAIL: gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

2010-09-18 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #2 from dave at hiauly1 dot hia dot nrc dot ca  2010-09-18 
19:39 ---
Subject: Re:  [4.6 Regression] FAIL:
gcc.c-torture/execute/20040709-2.c execution at -O1 and -Os

On Sat, 18 Sep 2010, rguenth at gcc dot gnu dot org wrote:

 Can you please reduce preprocessed source?

Attached.


--- Comment #3 from dave at hiauly1 dot hia dot nrc dot ca  2010-09-18 
19:39 ---
Created an attachment (id=21831)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21831action=view)


-- 


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



[Bug fortran/45724] segmentation fault occurs when printing string if -malign-double option is used

2010-09-18 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2010-09-18 19:47 ---
`-malign-double'
`-mno-align-double'
 Control whether GCC aligns `double', `long double', and `long
 long' variables on a two word boundary or a one word boundary.
 Aligning `double' variables on a two word boundary will produce
 code that runs somewhat faster on a `Pentium' at the expense of
 more memory.

 On x86-64, `-malign-double' is enabled by default.

 *Warning:* if you use the `-malign-double' switch, structures
 containing the above types will be aligned differently than the
 published application binary interface specifications for the 386
 and will not be binary compatible with structures in code compiled
 without that switch.


-- 


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



[Bug fortran/45724] segmentation fault occurs when printing string if -malign-double option is used

2010-09-18 Thread kamaraju at gmail dot com


--- Comment #2 from kamaraju at gmail dot com  2010-09-18 20:29 ---
@Uros Bizjak

I dont understand your point in copy pasting the manual on -malign-double.

Are you saying that segmentation fault is an acceptable/expected behavior in
this case and this bug will not be fixed?


-- 


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



[Bug rtl-optimization/45678] [4.4/4.5/4.6 Regression] crash on vector code with -m32 -msse

2010-09-18 Thread sezeroz at gmail dot com


--- Comment #27 from sezeroz at gmail dot com  2010-09-18 20:51 ---
Are 4.4 and 4.5 going to be fixed?


-- 


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



[Bug middle-end/45234] [4.4/4.5/4.6 Regression] ICE in expand_call, at calls.c:2845 when passing aligned function argument from unaligned stack after alloca

2010-09-18 Thread sezeroz at gmail dot com


--- Comment #18 from sezeroz at gmail dot com  2010-09-18 20:51 ---
Are 4.4 and 4.5 going to be fixed?


-- 


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



[Bug c++/45605] Missed devirtualization

2010-09-18 Thread hubicka at gcc dot gnu dot org


--- Comment #19 from hubicka at gcc dot gnu dot org  2010-09-18 21:25 
---
Subject: Bug 45605

Author: hubicka
Date: Sat Sep 18 21:25:29 2010
New Revision: 164402

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

PR tree-optimization/45605
* cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
* gimple-fold.c (static_object_in_other_unit_p): New function.
(canonicalize_constructor_val): Use it.
(get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
returning NULL.
(gimple_fold_obj_type_ref_known_binfo): Use
static_object_in_other_unit_p.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraphunit.c
trunk/gcc/gimple-fold.c


-- 


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



[Bug fortran/45724] segmentation fault occurs when printing string if -malign-double option is used

2010-09-18 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2010-09-18 21:43 ---
(In reply to comment #2)

 I dont understand your point in copy pasting the manual on -malign-double.
 
 Are you saying that segmentation fault is an acceptable/expected behavior in
 this case and this bug will not be fixed?

-malign-double is an ABI changing option, it means that source, compiled with
this option, violates the convention on how variables are passed and/or
accessed in the memory. So, when you use -malign-double, you should link your
program with libraries that are also compiled with -malign-double. This
includes ALL libraries, including system libraries.

This is not a bug.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)

2010-09-18 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #16 from dave at hiauly1 dot hia dot nrc dot ca  2010-09-18 
22:14 ---
Subject: Re:  [4.6 Regression] FAIL:
gcc.dg/torture/builtin-cproj-1.c  -O1  (test for excess errors)

On Sat, 18 Sep 2010, rguenth at gcc dot gnu dot org wrote:

 --- Comment #14 from rguenth at gcc dot gnu dot org  2010-09-18 18:25 
 ---
 You have way more non-SSA variables - possibly due to callee-copy of args
 (again).

I think you are correct about this being a callee-copy problem.  Complex
float is passed by value, so a copy is not made.  In the 087t.dce2 pass,
the float code is simplified to

  if (x_32(D) != 0)
goto bb 4;
  else
goto bb 3;

bb 3:

bb 4:
Invalid sum of incoming frequencies 1, should be 5000
  # cf$imag_13 = PHI 4.0e+0(2), 5.0e+0(3)
  cf_36 = COMPLEX_EXPR  Inf, cf$imag_13;  D.2130_37 = __builtin_cprojf
(cf_36);
  D.2133_152 = IMAGPART_EXPR D.2130_37;
  D.2134_41 = __builtin_copysignf (1.0e+0, D.2133_152);
  if (D.2134_41 != 1.0e+0)
goto bb 5;
  else
goto bb 6;

bb 5:
Invalid sum of incoming frequencies 2500, should be 6450
  link_error (160);

whereas for double we still have

bb 6:
Invalid sum of incoming frequencies 8950, should be 1
  REALPART_EXPR cd.1 =  Inf;
  if (x_32(D) != 0)
goto bb 8;
  else
goto bb 7;

bb 7:

bb 8:
  # iftmp.4_14 = PHI 4.0e+0(6), 5.0e+0(7)
  D.2321_122 = REALPART_EXPR cd.1;
  cd.5_44 = COMPLEX_EXPR D.2321_122, iftmp.4_14;
  D.2142_45 = __builtin_cproj (cd.5_44); [return slot optimization]
  CR.26_84 = REALPART_EXPR D.2142_45;
  D.2145_85 = IMAGPART_EXPR D.2142_45;
  D.2325_75 = CR.26_84 
1.79769313486231570814527423731704356798070567526e+308;
  D.2326_76 = !D.2325_75;
  D.2327_67 = D.2145_85 != 0.0;
  D.2328_60 = D.2327_67 || D.2326_76;
  if (D.2328_60 == 1)
goto bb 10;
  else
goto bb 9;

bb 9:
  D.2146_49 = (float) D.2145_85;
  D.2147_50 = __builtin_copysignf (1.0e+0, D.2146_49);
  if (D.2147_50 != 1.0e+0)
goto bb 10;
  else
goto bb 11;

bb 10:
  link_error (160);

In the previous 086t.reassoc1 pass, we still had the non SSA stuff:

bb 2:
  cld$real_188 = REALPART_EXPR cld_25(D);
  cld$imag_189 = IMAGPART_EXPR cld_25(D);
  cd$real_177 = REALPART_EXPR cd_26(D);
  cd$imag_178 = IMAGPART_EXPR cd_26(D);
  cf$real_167 = REALPART_EXPR cf_29(D);
  cf$imag_158 = IMAGPART_EXPR cf_29(D);
  REALPART_EXPR cld.0 = cld$real_188;
  IMAGPART_EXPR cld.0 = cld$imag_189;
  REALPART_EXPR cd.1 = cd$real_177;
  IMAGPART_EXPR cd.1 = cd$imag_178;
  if (x_32(D) != 0)
goto bb 4;
  else
goto bb 3;

-fno-tree-sra didn't help.

080t.cplxlower makes these partial defintions:

  REALPART_EXPR cld.0 = cld$real_188;
  IMAGPART_EXPR cld.0 = cld$imag_189;
  REALPART_EXPR cd.1 = cd$real_177;
  IMAGPART_EXPR cd.1 = cd$imag_178;  

# grep real_188 builtin-cproj-1.c.*
builtin-cproj-1.c.080t.cplxlower:  cld$real_188 = REALPART_EXPR cld_25(D);
builtin-cproj-1.c.080t.cplxlower:  REALPART_EXPR cld.0 = cld$real_188;
builtin-cproj-1.c.082t.copyrename3:  cld$real_188 = REALPART_EXPR cld_25(D);
builtin-cproj-1.c.082t.copyrename3:  REALPART_EXPR cld.0 = cld$real_188;
builtin-cproj-1.c.083t.dom1:  cld$real_188 = REALPART_EXPR cld_25(D);
builtin-cproj-1.c.083t.dom1:  REALPART_EXPR cld.0 = cld$real_188;
builtin-cproj-1.c.084t.phicprop1:  cld$real_188 = REALPART_EXPR cld_25(D);
builtin-cproj-1.c.084t.phicprop1:  REALPART_EXPR cld.0 = cld$real_188;
builtin-cproj-1.c.085t.dse1:  cld$real_188 = REALPART_EXPR cld_25(D);
builtin-cproj-1.c.085t.dse1:  REALPART_EXPR cld.0 = cld$real_188;
builtin-cproj-1.c.086t.reassoc1:  cld$real_188 = REALPART_EXPR cld_25(D);
builtin-cproj-1.c.086t.reassoc1:  REALPART_EXPR cld.0 = cld$real_188;

004t.gimple makes 

  REALPART_EXPR cd.1 =  Inf;

# grep REALPART_EXPR cd.1 builtin-cproj-1.c.*
builtin-cproj-1.c.004t.gimple:  REALPART_EXPR cd.1 =  Inf;
builtin-cproj-1.c.004t.gimple:  REALPART_EXPR cd.1 =  -Inf;
builtin-cproj-1.c.004t.gimple:REALPART_EXPR cd.1 =  Inf;
builtin-cproj-1.c.004t.gimple:REALPART_EXPR cd.1 =  -Inf;
builtin-cproj-1.c.009t.omplower:  REALPART_EXPR cd.1 =  Inf;
builtin-cproj-1.c.009t.omplower:  REALPART_EXPR cd.1 =  -Inf;
builtin-cproj-1.c.009t.omplower:REALPART_EXPR cd.1 =  Inf;
builtin-cproj-1.c.009t.omplower:REALPART_EXPR cd.1 =  -Inf;
...


-- 


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



[Bug fortran/45724] segmentation fault occurs when printing string if -malign-double option is used

2010-09-18 Thread kamaraju at gmail dot com


--- Comment #4 from kamaraju at gmail dot com  2010-09-18 22:26 ---
Ok. Thanks for the explanation. I appreciate it.


-- 


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



[Bug tree-optimization/45453] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer set for noninline callers with -O2 -fno-early-inlining

2010-09-18 Thread hubicka at gcc dot gnu dot org


--- Comment #5 from hubicka at gcc dot gnu dot org  2010-09-18 23:13 ---
Subject: Bug 45453

Author: hubicka
Date: Sat Sep 18 23:13:17 2010
New Revision: 164405

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

PR tree-optimization/45453
* cgraphunit.c (cgraph_finalize_function): Consider comdat  external
virtual functions are reachable.
* ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
* ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
when modifying function.

* g++.dg/tree-ssa/pr45453.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/tree-ssa/pr45453.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraphunit.c
trunk/gcc/ipa-inline.c
trunk/gcc/ipa-prop.c
trunk/gcc/ipa.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/45453] [4.6 Regression] ICE: verify_cgraph_node failed: inlined_to pointer set for noninline callers with -O2 -fno-early-inlining

2010-09-18 Thread hubicka at gcc dot gnu dot org


--- Comment #6 from hubicka at gcc dot gnu dot org  2010-09-18 23:13 ---
Fixed.


-- 

hubicka at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug objc/23710] objc front-end should not abort after erroring out about method definition not in class context

2010-09-18 Thread nicola at gcc dot gnu dot org


--- Comment #2 from nicola at gcc dot gnu dot org  2010-09-18 23:52 ---
I submitted a patch to fix this.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |nicola at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-03-05 03:54:26 |2010-09-18 23:52:59
   date||


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



[Bug libstdc++/45725] New: streambuf_iterator compares equal when it should not

2010-09-18 Thread jklowden at schemamania dot org
bool std::operator==( std::istreambuf_iterator, std::istreambuf_iterator )
returns TRUE if both iterators are EOF or both are not.  That means two
iterators at different places in the streambuf -- which, when dereferenced
produce different characters -- nevertheless compare as equal.  This is
inconsistent with how other iterators work, and inconsistent with the pointer
model of iterators.  

streambuf iterators are constructed from a stream, and could use the stream's
tellg/tellp to determine equality. (Two streams both at EOF should of course
continue to be equal to permit canonical use in e.g. std::copy.) 


In the program below, two istreambuf_iterator objects repeatedly compare as
true even though one is incremented.  I would expect no output, but the program
produces:

45 4c 46 01 01 01 00 00 00 00 

IOW, two such iterators are always equal!  Or, acutally, looking at the
operator==() code:

 return (__thiseof  __beof || (!__thiseof  !__beof));

their equality is a function of their EOF status only.  

== snip == 
#include string

#include iostream
#include fstream
#include iomanip

using namespace std;

int
main( int argc, char *argv[] )
{
string name(argv[0]);

ifstream input( name.c_str() );

istreambuf_iteratorchar begin(input);
istreambuf_iteratorchar end(input);

for( int i=0; i  10; i++ ) {
if( begin == ++end ) {
int data = *end;
cout  setw(2)  setfill('0') 
  hex  data  ' ';
}
}

return 0;
}
== pins ==

Unless two streambuf_iterators can be compared for equality within the stream,
it's impossible to use standard algorithms with them to process part of a file:
to work, one iterator must always be EOF.


-- 
   Summary: streambuf_iterator compares equal when it should not
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jklowden at schemamania dot org
 GCC build triplet: i386--netbsdelf
  GCC host triplet: i386--netbsdelf
GCC target triplet: i386--netbsdelf


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



[Bug objc/25965] [4.3/4.4/4.5/4.6 Regression] Allows duplicate member names in objc subclasses

2010-09-18 Thread nicola at gcc dot gnu dot org


--- Comment #9 from nicola at gcc dot gnu dot org  2010-09-19 02:04 ---
I submitted a patch that fixes this.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|ayers at gcc dot gnu dot org|nicola at gcc dot gnu dot
   ||org


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