[Bug fortran/45715] New: [ABI cleanup] Move runtime parsing of I/O control list to front end
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
--- 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
-- 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
/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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
-- 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
--- 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
-- 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()
--- 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
-- 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
--- 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()
--- 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()
--- 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()
--- 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
--- 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
--- 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
--- 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
--- 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
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
--- 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()
--- 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
--- 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
-- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
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
--- 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
--- 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
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
--- 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
--- 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()
--- 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
--- 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
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
--- 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
--- 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
--- 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
--- 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
-- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
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)
-- 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
--- 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)
--- 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
-- 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
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
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
-- 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
--- 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
--- 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
--- 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
--- 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)
--- 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
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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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)
--- 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
--- 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
--- 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
--- 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
--- 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
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
--- 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