[Bug libstdc++/33128] std::tr1::uniform_int returns value out of range
--- Comment #3 from paolo at gcc dot gnu dot org 2007-08-28 08:49 --- Subject: Bug 33128 Author: paolo Date: Tue Aug 28 08:48:54 2007 New Revision: 127850 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127850 Log: 2007-08-28 Paolo Carlini [EMAIL PROTECTED] PR libstdc++/33128 * include/tr1_impl/random (uniform_int::_M_call): Deal with __urng() returning negative values. * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc: New. Added: branches/gcc-4_2-branch/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc Modified: branches/gcc-4_2-branch/libstdc++-v3/ChangeLog branches/gcc-4_2-branch/libstdc++-v3/include/tr1/random -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33128
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #12 from rguenth at gcc dot gnu dot org 2007-08-28 08:52 --- Note I think it is perfectly reasonable and wanted that we can inline template_Lock_policy _Lp inline void __enable_shared_from_this_helper(const __shared_count_Lp, ...) { } and thus eliminate the call. We should figure out why we miscompile things if we do so though (and only if using -g, which is even more embarrassing). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug libstdc++/33128] std::tr1::uniform_int returns value out of range
--- Comment #2 from paolo at gcc dot gnu dot org 2007-08-28 08:48 --- Subject: Bug 33128 Author: paolo Date: Tue Aug 28 08:48:24 2007 New Revision: 127849 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127849 Log: 2007-08-28 Paolo Carlini [EMAIL PROTECTED] PR libstdc++/33128 * include/tr1_impl/random (uniform_int::_M_call): Deal with __urng() returning negative values. * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc: New. Added: trunk/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/tr1_impl/random -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33128
[Bug c++/33205] optimization bug: unsigned bitfield expands with non-zero padding bits
--- Comment #1 from xk-corpse at hotmail dot com 2007-08-28 08:45 --- i'm sorry, i forgot to say that bug appears with any optimization level enabled (-O1, -O2, -O3) and does not appear with optimization disabled (-O0) -- xk-corpse at hotmail dot com changed: What|Removed |Added Summary|bitfield optimizations |optimization bug: unsigned |causes corrupt bitfield |bitfield expands with non- |expansion at runtime|zero padding bits http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33205
[Bug libstdc++/33128] std::tr1::uniform_int returns value out of range
--- Comment #4 from pcarlini at suse dot de 2007-08-28 08:52 --- Fixed. By the way, in C++0x things will be rather different and more work on random facilities properly belong there. -- pcarlini at suse dot de changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.2.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33128
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #13 from pcarlini at suse dot de 2007-08-28 08:56 --- (In reply to comment #12) Totally agreed. In any case, I think we all agree that: 1- Miscompilations are always very bad; 2- It is legal C++; 3- Any user, not just library authors, can write such kind of code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug fortran/33215] New: Bind(C): Accepts multiple entites with same (empty) binding name
The following program should give an error message as NAG f95 does: Error: a.f90, line 4: Only one entity allowed with BIND(C,NAME=...) gfortran currently happily accepts this. module m use iso_c_binding implicit none integer(c_int), bind(C, name=) :: a,b end module m -- Summary: Bind(C): Accepts multiple entites with same (empty) binding name Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org OtherBugsDependingO 32630 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33215
[Bug target/33205] optimization bug: unsigned bitfield expands with non-zero padding bits
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-08-28 09:39 --- This works for me on a x86_64 target. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Component|c++ |target Keywords||wrong-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33205
[Bug rtl-optimization/33148] [4.2/4.3 Regresion] ICE in trunc_int_for_mode, at explow.c:56 during combine
--- Comment #5 from jakub at gcc dot gnu dot org 2007-08-28 09:47 --- Subject: Bug 33148 Author: jakub Date: Tue Aug 28 09:47:32 2007 New Revision: 127855 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127855 Log: PR rtl-optimization/33148 * simplify-rtx.c (simplify_unary_operation_1): Only optimize (neg (lt X 0)) if X has scalar int mode. * gcc.c-torture/compile/20070827-1.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/20070827-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/simplify-rtx.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33148
[Bug middle-end/32370] [4.3 Regression] Segfault after rejecting bogus assembler
--- Comment #7 from jakub at gcc dot gnu dot org 2007-08-28 09:55 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32370
[Bug middle-end/33216] New: [4.1/4.2/4.3 Regression] ICE in named_section_real, at varasm.c:419
static void (*const __CTOR_LIST__[1]) (void) __attribute__ ((section(.ctors))) = { (void (*) (void)) -1 }; void __libc_global_ctors (void) { run_hooks (__CTOR_LIST__); } ICEs with 4.1 with -fprofile-arcs: gcc -S bug-292513.3.min.i -fprofile-arcs bug-292513.3.min.i: In function '_GLOBAL__I_0___libc_global_ctors': bug-292513.3.min.i:7: internal compiler error: in named_section_real, at varasm.c:419 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://bugs.opensuse.org for instructions. and is rejected with 4.2 and trunk with -fprofile-arcs bug-292513.3.min.i: In function '_GLOBAL__I_0___libc_global_ctors': bug-292513.3.min.i:1: error: __CTOR_LIST__ causes a section type conflict bug-292513.3.min.i: At top level: bug-292513.3.min.i:1: error: __CTOR_LIST__ causes a section type conflict this is both a regression to 4.0 which happily accepts the code with -fprofile-arcs. Possibly related to PR31490. -- Summary: [4.1/4.2/4.3 Regression] ICE in named_section_real, at varasm.c:419 Product: gcc Version: 4.1.3 Status: UNCONFIRMED Keywords: ice-on-valid-code, rejects-valid Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33216
[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args
--- Comment #10 from ubizjak at gmail dot com 2007-08-28 09:57 --- Fixed. -- ubizjak at gmail dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32661
[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args
-- ubizjak at gmail dot com changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32661
[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args
--- Comment #9 from uros at gcc dot gnu dot org 2007-08-28 09:52 --- Subject: Bug 32661 Author: uros Date: Tue Aug 28 09:52:06 2007 New Revision: 127857 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127857 Log: PR target/32661 * simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]: Simplify nested VEC_SELECT (with optional VEC_CONCAT operator as operand) when top VEC_SELECT extracts scalar element. * config/i386/sse.md (*vec_extract_v4si_mem): New. (*vec_extract_v4sf_mem): Ditto. testsuite/ChangeLog: PR target/32661 * gcc.target/i386/pr32661.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr32661.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/sse.md trunk/gcc/simplify-rtx.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32661
[Bug middle-end/32370] [4.3 Regression] Segfault after rejecting bogus assembler
--- Comment #6 from jakub at gcc dot gnu dot org 2007-08-28 09:50 --- Subject: Bug 32370 Author: jakub Date: Tue Aug 28 09:50:04 2007 New Revision: 127856 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127856 Log: PR middle-end/32370 * passes.c (init_optimization_passes): Move pass_df_finish after pass_postreload sublist. * gcc.dg/pr32370.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr32370.c Modified: trunk/gcc/ChangeLog trunk/gcc/passes.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32370
[Bug c++/30896] Broken diagnostic for complex template parameter
--- Comment #3 from pcarlini at suse dot de 2007-08-28 09:59 --- Fixed by: http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01906.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30896
[Bug fortran/33215] Bind(C): Bugs with empty name=: Creates wrong result and accepts invalid
--- Comment #1 from burnus at gcc dot gnu dot org 2007-08-28 10:04 --- The bug is actually worse as valid Fortran 2003 programs are rejected. The following program should print 5 -5. The two static global variables are not the same as their binding name is not a but something like __m_MOD_a and __n_MOD_a. Somehow the binding is treated wrongly and thus one gets the error: Error: Binding label 'a' at (1) collides with global entity 'a' at (2) With NAG f95 the desired 5 -5 is printed. The program below should behave identically for BIND(C,name=) and without. (Using the variable from C is difficult, but one could think of passing the variable as actual argument or - with TARGET attribute - a pointer to that variable.) module m use iso_c_binding implicit none integer(c_int), save, bind(C, name=) :: a = 5 ! integer(c_int), save :: a = 5 end module m module n use iso_c_binding implicit none integer(c_int), save, bind(C,name=) :: a = -5 ! integer(c_int), save :: a = -5 end module n program prog use m use n, b=a implicit none print *, a, b end program prog -- burnus at gcc dot gnu dot org changed: What|Removed |Added Keywords||rejects-valid Summary|Bind(C): Accepts multiple |Bind(C): Bugs with empty |entites with same (empty) |name=: Creates wrong |binding name|result and accepts invalid http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33215
[Bug target/24669] Loop index variable has offset of 1
--- Comment #7 from ubizjak at gmail dot com 2007-08-28 10:04 --- This is fixed in current mainline, gcc version 4.3.0 20070827 produces: foo: pushl %ebx movl8(%esp), %ebx xorl%edx, %edx movl12(%esp), %ecx .p2align 4,,7 .p2align 3 .L2: movl(%ebx,%edx,4), %eax movl%eax, (%ecx,%edx,4) addl$1, %edx cmpl$4, %edx jne .L2 popl%ebx ret -- ubizjak at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24669
[Bug c++/30896] Broken diagnostic for complex template parameter
-- pcarlini at suse dot de changed: What|Removed |Added AssignedTo|pcarlini at suse dot de |unassigned at gcc dot gnu ||dot org Status|ASSIGNED|NEW Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30896
[Bug debug/32914] [4.2/4.3 Regression] ICE in rtl_for_decl_init with -g option
--- Comment #2 from jakub at gcc dot gnu dot org 2007-08-28 09:45 --- Subject: Bug 32914 Author: jakub Date: Tue Aug 28 09:44:57 2007 New Revision: 127854 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127854 Log: PR debug/32914 * dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR initializer, use build_vector_from_ctor if possible to create VECTOR_CST out of it. If vector initializer is not VECTOR_CST even after this, return NULL. * d++.dg/debug/const3.C: New test. * d++.dg/debug/const4.C: New test. * d++.dg/debug/dwarf2/const1.C: New test. * d++.dg/debug/dwarf2/const2.C: New test. * d++.dg/debug/dwarf2/const2b.C: New test. Added: trunk/gcc/testsuite/g++.dg/debug/const3.C trunk/gcc/testsuite/g++.dg/debug/const4.C trunk/gcc/testsuite/g++.dg/debug/dwarf2/const1.C trunk/gcc/testsuite/g++.dg/debug/dwarf2/const2.C trunk/gcc/testsuite/g++.dg/debug/dwarf2/const2b.C Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32914
[Bug middle-end/33216] [4.1/4.2/4.3 Regression] ICE in named_section_real, at varasm.c:419
--- Comment #1 from rguenth at gcc dot gnu dot org 2007-08-28 10:21 --- The ICE/complain goes away if I remove either the section attribute or the const qualification of __CTOR_LIST__. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33216
[Bug target/24669] Loop index variable has offset of 1
--- Comment #8 from ubizjak at gmail dot com 2007-08-28 10:08 --- FIxed by http://gcc.gnu.org/ml/gcc-patches/2007-07/msg00354.html -- ubizjak at gmail dot com changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2007- ||07/msg00354.html Keywords||patch Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24669
[Bug target/30082] Expansion of lceil and lfloor could use if-conversion
--- Comment #3 from rguenth at gcc dot gnu dot org 2007-08-28 10:58 --- long foo(float x) { return __builtin_lfloorf(x); } generates foo: .LFB2: cvttss2siq %xmm0, %rax cvtsi2ssq %rax, %xmm1 leaq-1(%rax), %rdx comiss %xmm0, %xmm1 cmova %rdx, %rax ret the adc/sbb variants are no longer generated. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Keywords||missed-optimization Last reconfirmed|2006-12-09 22:52:53 |2007-08-28 10:58:39 date|| Summary|Expansion of ceil and floor |Expansion of lceil and |could use if-conversion |lfloor could use if- ||conversion http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30082
[Bug c++/33209] Broken diagnostic: 'template_type_parm' not supported by dump_expr
-- pcarlini at suse dot de changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pcarlini at suse dot de |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-28 10:54:28 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33209
[Bug target/33205] optimization bug: unsigned bitfield expands with non-zero padding bits
--- Comment #3 from xk-corpse at hotmail dot com 2007-08-28 11:25 --- (In reply to comment #2) This works for me on a x86_64 target. For me it works on i686-pc-linux (with cross-compiler, configured with the same method as above - crosstool-0.43 + glibc-2.3.2), works on i386-mingw32 (with cross-compiler linux-mingw32), but does not work on powerpc. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33205
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #14 from rguenth at gcc dot gnu dot org 2007-08-28 11:05 --- I'm reducing the testcase now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug middle-end/32758] [4.3 Regression] ecj1 hangs
--- Comment #14 from aph at gcc dot gnu dot org 2007-08-28 11:44 --- Is this with -fno-strict-aliasing? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
[Bug middle-end/32758] [4.3 Regression] ecj1 hangs
--- Comment #15 from rguenth at gcc dot gnu dot org 2007-08-28 12:16 --- -O1 doesn't enable -fstrict-aliasing, only -O2 does. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
[Bug rtl-optimization/31248] char adding (in loops) gives an extra move or two
--- Comment #3 from ubizjak at gmail dot com 2007-08-28 12:02 --- Current mainline [GCC: (GNU) 4.3.0 20070828] generates: test: .LFB2: xorl%eax, %eax xorl%edx, %edx .align 16 .L2: addbtable(%rdx), %al addq$1, %rdx cmpq$10, %rdx jne .L2 movsbl %al,%eax ret Now, there is an optimization problem in the intialization code in loop header. To omit one iteration, it should start with: .LFB2: movzbl table(%rip), %ecx movl$1, %edx .L2: ... BTW: By reversing the loop: for (i = 9; i; i--) val += table[i]; we could remove comparison from the loop, but instead we produce (x86_64): test: .LFB2: xorl%eax, %eax xorl%edx, %edx .align 16 .L2: addbtable+9(%rdx), %al subq$1, %rdx cmpq$-9, %rdx jne .L2 movsbl %al,%eax ret However, using -m32 we get: test: xorl%eax, %eax movl$9, %edx .align 16 .L2: addbtable(%edx), %al subl$1, %edx jne .L2 movsbl %al,%eax ret In reversed-loop case, we could generate: test: movl$9, %edx movzbl table(%edx), %eax .align 16 .L2: addbtable(%edx), %al subl$1, %edx jne .L2 movsbl %al,%eax ret -- ubizjak at gmail dot com changed: What|Removed |Added Summary|char adding gives an extra |char adding (in loops) gives |move or two |an extra move or two http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31248
[Bug c++/33091] [c++0x] ICE using remove_reference on variadic param pack
--- Comment #5 from chris dot fairles at gmail dot com 2007-08-28 12:32 --- The following code snippet also causes an ICE (g++43 (GCC) 4.3.0 20070828 (experimental) with -Wall, -g and -std=c++0x) test4.cpp: In instantiation of Aint: test4.cpp:11: instantiated from here test4.cpp:7: internal compiler error: tree check: expected tree_vec, have type_pack_expansion in tsubst_copy_and_build, at cp/pt.c:10434 #include type_traits template typename... T struct A { template typename... U typename std::enable_if(sizeof...(T) == sizeof...(U)),A::type operator=(AU... const) {} }; int main() { Aint a; Aint,double b; a = b; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33091
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #15 from rguenth at gcc dot gnu dot org 2007-08-28 13:54 --- The first difference (between -g and non--g build) is after DSE where for the -g build it doesn't delete a redundant store. Which is because we have different alias information with/without -g (in fact this effect looks like a dup of PR32624): - D.10781_25 = D.10780_24-D.10279; - # SMT.491_337 = VDEF SMT.491_331(ab) - D.10780_24-D.10279._vptr._Sp_counted_base = _ZTVNSt3tr116_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EEE[2]; - # SMT.491_339 = VDEF SMT.491_337 - D.10780_24-D.10279._M_use_count = 1; - # SMT.491_341 = VDEF SMT.491_339 - D.10780_24-D.10279._M_weak_count = 1; - # SMT.491_342 = VDEF SMT.491_341 - D.10780_24-D.10279._vptr._Sp_counted_base = _ZTVNSt3tr121_Sp_counted_base_implIP1BNS_11_Sp_deleterIS1_EELN9__gnu_cxx12_Lock_policyE1EEE[2]; - # SMT.491_343 = VDEF SMT.491_342 - D.10780_24-_M_ptr = D.9911_4; - # VUSE __d_335 - # SMT.491_344 = VDEF SMT.491_343 - D.10780_24-_M_del = __d; + D.10923_25 = D.10922_24-D.10280; + # SMT.487_370 = VDEF SMT.487_353(ab) + # SMT.488_360 = VDEF SMT.488_354(ab) + D.10922_24-D.10280._vptr._Sp_counted_base = _ZTVNSt3tr116_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EEE[2]; + # SMT.487_26 = VDEF SMT.487_370 + # SMT.488_361 = VDEF SMT.488_360 + D.10922_24-D.10280._M_use_count = 1; + # SMT.487_345 = VDEF SMT.487_26 + # SMT.488_362 = VDEF SMT.488_361 + D.10922_24-D.10280._M_weak_count = 1; + # SMT.487_363 = VDEF SMT.487_345 + # SMT.488_364 = VDEF SMT.488_362 + D.10922_24-D.10280._vptr._Sp_counted_base = _ZTVNSt3tr121_Sp_counted_base_implIP1BNS_11_Sp_deleterIS1_EELN9__gnu_cxx12_Lock_policyE1EEE[2]; + # SMT.487_365 = VDEF SMT.487_363 + # SMT.488_366 = VDEF SMT.488_364 + D.10922_24-_M_ptr = D.9912_4; + # VUSE __d_359 + # SMT.487_367 = VDEF SMT.487_365 + # SMT.488_368 = VDEF SMT.488_366 + D.10922_24-_M_del = __d; note how we have two SMTs per store for -g but only one without -g. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||dberlin at gcc dot gnu dot ||org, dnovillo at gcc dot gnu ||dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug c++/28558] [4.0/4.1/4.2/4.3 regression] Trouble with __attribute__ and non-PODs
--- Comment #7 from jason at gcc dot gnu dot org 2007-08-28 13:57 --- Subject: Bug 28558 Author: jason Date: Tue Aug 28 13:57:09 2007 New Revision: 127859 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127859 Log: PR c++/28558 * cp/decl.c (groktypename): Ignore attributes applied to class type. * testsuite/g++.dg/ext/attrib28.C: New test. Added: trunk/gcc/testsuite/g++.dg/ext/attrib28.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28558
[Bug fortran/33217] New: ICE in 20070827 version of gfortran when INQUIRE is in a module
When I compile the module listed below using the version of gfortran for Linux dated August 27 (downloaded from http://gcc.gnu.org/wiki/GFortranBinaries), I get the following error: p.f90: In function 'i': p.f90:5: internal compiler error: in make_decl_rtl, at varasm.c:1263 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. MODULE print_it CONTAINS SUBROUTINE i() LOGICAL :: qexist INQUIRE (UNIT=1, EXIST=qexist) END SUBROUTINE i END MODULE print_it -- Summary: ICE in 20070827 version of gfortran when INQUIRE is in a module Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: michael dot a dot richmond at nasa dot gov http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33217
[Bug c++/31337] [4.2/4.3 regression] ICE with statement expression
--- Comment #7 from jason at gcc dot gnu dot org 2007-08-28 14:00 --- Fixed in 4.2 and 4.3. -- jason at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31337
[Bug fortran/33217] [4.3 regression] ICE on INQUIRE in a module
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2007-08-28 14:41 --- This appeared at some point between 20070821 [rev 127667] and 20070827 [rev 127830]. Most likely culprit at this point is: 2007-08-26 Jerry DeLisle [EMAIL PROTECTED] PR fortran/33055 * trans-io.c (create_dummy_iostat): New function to create a unique dummy variable expression to use with IOSTAT. (gfc_trans_inquire): Use the new function to pass unit number error info to run-time library if a regular IOSTAT variable was not given. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added CC||jvdelisle at gcc dot gnu dot ||org, fxcoudert at gcc dot ||gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||ice-on-valid-code Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:41:18 date|| Summary|ICE in 20070827 version of |[4.3 regression] ICE on |gfortran when INQUIRE is in |INQUIRE in a module |a module| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33217
[Bug rtl-optimization/29950] Generated code changes after unrelated edits in source.
--- Comment #5 from vda dot linux at googlemail dot com 2007-08-28 14:49 --- Created an attachment (id=14125) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14125action=view) An example of code compiled differently by 4.2.1 It still exists in 4.2.1 testcase-421 contains preporcesses and slightly trimmed sources of less.c: less3.c originally lacked #include sys/poll.h, less4.c had that line. Nothing in these files actually use poll.h Function buffer_fill_and_print() is compiled differently: $ nm --size-sort less3.o less4.o | grep buffer_fill_and_print 0049 T buffer_fill_and_print 004c T buffer_fill_and_print More details are in README file. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29950
[Bug c/32575] [4.2/4.3 regression] With -ftree-vrp miscompiles a single line of code in SQLite
--- Comment #4 from jakub at gcc dot gnu dot org 2007-08-28 14:55 --- On the trunk I'm just seeing *** in database main *** Page 2 is never used That seems to be because of miscompiled sqlite3SelectNew function with -O2 -fstrict-aliasing, with -O2 -fno-strict-aliasing that works. Here is a reduced self-contained testcase for that: extern void abort (void); struct S { void *s1; unsigned char s2, s3, s4, s5, s6, s7; char s8; void *s9, *s10, *s11, *s12, *s13; struct S *s14, *s15; void *s16, *s17; int s18, s19, s20[3]; }; __attribute__((noinline)) void *foo (int x, int y) { static struct S s; if (x != sizeof (struct S) || y != 1) abort (); return s; } __attribute__((noinline)) void bar (struct S *p) { asm volatile ( : =m (*p) : m (*p)); } __attribute__((noinline)) void *baz1 (void *x, void *y,void *z) { if (y || z) abort (); return x; } __attribute__((noinline)) void *baz2 (int x, void *y, void *z, void *a) { if (x || y || z || a) abort (); return (void *) 0; } __attribute__((noinline)) struct S *test (void *a, void *b, void *c, void *d, void *e, void *f, int g, void *h, void *i) { struct S *p, q; p = foo (sizeof (*p), 1); if (p == 0) { p = q; __builtin_memset (p, 0, sizeof (*p)); } if (a == 0) a = baz1(0, baz2(107,0,0,0), 0); p-s1 = a; p-s9 = b; p-s10 = c; p-s11 = d; p-s12 = e; p-s13 = f; p-s3 = g; p-s2 = 110; p-s16 = h; p-s17 = i; p-s18 = -1; p-s19 = -1; p-s20[0] = -1; p-s20[1] = -1; p-s20[2] = -1; if (p == q) { bar(p); p = 0; } return p; } int main (void) { int a; int b; struct S *z = test ((void *) a, (void *) b, 0, 0, 0, 0, 0, 0, 0); if (z == 0) abort (); if (z-s1 != (void *) a || z-s2 != 110 || z-s3 || z-s4) abort (); if (z-s5 || z-s6 || z-s7 || z-s8) abort (); if (z-s9 != (void *) b || z-s10 || z-s11 || z-s12) abort (); if (z-s13 || z-s14 || z-s15 || z-s16) abort (); if (z-s17 || z-s18 != -1 || z-s19 != -1) abort (); if (z-s20[0] != -1 || z-s20[1] != -1 || z-s20[2] != -1) abort (); return 0; } -- jakub at gcc dot gnu dot org changed: What|Removed |Added Summary|GCC 4.2.0 with -ftree-vrp |[4.2/4.3 regression] With - |miscompiles a single line of|ftree-vrp miscompiles a |code in SQLite |single line of code in ||SQLite http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32575
[Bug fortran/33215] Bind(C): Bugs with empty name=: Creates wrong result and accepts invalid
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:30:09 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33215
[Bug fortran/33179] gfortran doesn't emit type information for allocatable arrays
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2007-08-28 14:45 --- I think the data member should have the type. If it doesn't, it's one of the many debug-info gfortran bugs :( We could really use a hand in that area. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added CC||fxcoudert at gcc dot gnu dot ||org OtherBugsDependingO||24546 nThis|| Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||wrong-debug Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:45:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33179
[Bug fortran/33197] Fortran 2008: gamma() and other small changes
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-28 14:46:00 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33197
[Bug java/33218] New: Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT
When creating process (Process p = ...) which do not respond to Ctrl+C then behavior of destroy or waitFor or both is incorrect. Process blocking/discarding signal sent by Ctrl+C is not killed by destroy(). (The Process.destroy() supposed (IMHO) to kill the child process forcibly.) After calling destroy() other method waitFor() returns immediately instead of waiting (survived after the signal) process completion forever. Such behavior looks to be such a discrepancy. Test case: I encounted the problem when used following command line rfcomm listen -i hci0 /dev/rfcomm0 6 rfcomm doesn't react to Ctrl+C till external connection is accepted. Program code: Process p =rfcomm ... p.destroy(); p.waitFor() System.out.println(waitFor completed); ps ax | grep rfcomm Workaround for application: kill such processes explicitly with kill -9 or kill subchildren of shell scripts by themselves using shell trap command. Not sure that the issue exists in 4.2.x, I haven't one to test with architectures I use. -- Summary: Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: cyberflex at mail dot ru GCC host triplet: arm_le, x86 - native compilation http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33218
[Bug c/32575] [4.2/4.3 regression] With -ftree-vrp miscompiles a single line of code in SQLite
--- Comment #5 from jakub at gcc dot gnu dot org 2007-08-28 15:16 --- Even more simplified testcase: extern void abort (void); struct S { void *s1, *s2; unsigned char s3, s4, s5; }; __attribute__((noinline)) void *foo (void) { static struct S s; return s; } __attribute__((noinline)) void *bar () { return (void *) 0; } __attribute__((noinline)) struct S *test (void *a, void *b) { struct S *p, q; p = foo (); if (p == 0) { p = q; __builtin_memset (p, 0, sizeof (*p)); } if (a == 0) a = bar (); p-s1 = a; p-s2 = b; if (p == q) p = 0; return p; } int main (void) { int a; int b; struct S *z = test ((void *) a, (void *) b); if (z == 0 || z-s1 != (void *) a || z-s2 != (void *) b || z-s3 || z-s4) abort (); return 0; } -- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||jakub at gcc dot gnu dot org Target Milestone|--- |4.2.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32575
[Bug c/33219] New: Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.
-- Summary: Error in compiling when there is a function with a char parameter called before its declaration with inline parameters. Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andreagrassi at sogeasoft dot com GCC host triplet: Linux Sles 10 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33219
[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.
--- Comment #1 from andreagrassi at sogeasoft dot com 2007-08-28 15:24 --- Created an attachment (id=14126) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14126action=view) Source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33219
[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.
--- Comment #2 from andreagrassi at sogeasoft dot com 2007-08-28 15:25 --- Created an attachment (id=14127) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14127action=view) preprocessed file -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33219
[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.
--- Comment #4 from pcarlini at suse dot de 2007-08-28 15:56 --- Out of curiosity, do you ever add -Wall to the command line? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33219
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #16 from rguenth at gcc dot gnu dot org 2007-08-28 15:56 --- The differences in alias info are due to different memory partitioning that happens (regardless of same IL, same number of referenced vars and same BB frequencies) as we have different Memory symbol references before partitioning: For example one difference is read frequency: 0, write frequency: 0, direct reads: 34, direct writes: 3, indirect reads:0, indirect writes: 26, symbol: SMT.486, tags: NIL vs. read frequency: 2, write frequency: 3, direct reads: 34, direct writes: 3, indirect reads:2, indirect writes: 29, symbol: SMT.487, tags: { SMT.486 } where the thing to investigate is why the tags: part is different (that part causes the number of indirect reads/writes to be different) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug c/32575] [4.2/4.3 regression] With -ftree-vrp miscompiles a single line of code in SQLite
--- Comment #6 from jakub at gcc dot gnu dot org 2007-08-28 15:58 --- if (a == 0) a = bar (); isn't necessary either. salias has: # BLOCK 2 freq:1 # PRED: ENTRY [100.0%] (fallthru,exec) # VUSE qD.2026_12(D), SMT.25D.2079_13(D) { qD.2026 SMT.25D.2079 } D.2027_3 = foo (); pD.2025_4 = (struct S *) D.2027_3; if (pD.2025_4 == 0B) goto bb 3; else goto bb 4; # SUCC: 3 [7.3%] (true,exec) 4 [92.7%] (false,exec) # BLOCK 3 freq:735 # PRED: 2 [7.3%] (true,exec) # qD.2026_15 = VDEF qD.2026_12(D) # SMT.25D.2079_16 = VDEF SMT.25D.2079_13(D) # SMT.26D.2080_17 = VDEF SMT.26D.2080_14(D) { qD.2026 SMT.25D.2079 SMT.26D.2080 } __builtin_memset (qD.2026, 0, 24); # SUCC: 4 [100.0%] (fallthru,exec) # BLOCK 4 freq:1 # PRED: 2 [92.7%] (false,exec) 3 [100.0%] (fallthru,exec) # qD.2026_11 = PHI qD.2026_12(D)(2), qD.2026_15(3) # pD.2025_1 = PHI pD.2025_4(2), qD.2026(3) # qD.2026_18 = VDEF qD.2026_11 { qD.2026 } pD.2025_1-s1D.2008 = aD.2021_6(D); # qD.2026_19 = VDEF qD.2026_18 { qD.2026 } pD.2025_1-s2D.2009 = bD.2022_7(D); Shouldn't the VDEFs be a PHI of some SMT and qD? pD.2025_1 can either be what foo returned, or it can point to the automatic variable q. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|4.2.2 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32575
[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.
--- Comment #3 from andreagrassi at sogeasoft dot com 2007-08-28 15:42 --- Sorry I confirmed for mistake ... Continue the bug report... The code is very simple and you can read it in the souce code a.c. Command line of the compile is simple too: gcc a.c. * Error message: a.c:7: error: conflicting types for 'a' a.c:7: note: an argument type that has a default promotion can't match an empty parameter name list declaration a.c:3: error: previous implicit declaration of 'a' was here a.c: In function 'a': a.c:8: warning: incompatible implicit declaration of built-in function 'printf' * Condition of the error: 1) Function with at least a parameter declared as char. 2) Function called before its declaration 3) Inline parameter list declaration (that is with the types declared inside the parenthesis. In fact, If one of the previous conditions miss, the source is compiled with success. If for example, the declaration was a(a) char a; { the compiling works, whereas if I write a(char a) it fails. -- andreagrassi at sogeasoft dot com changed: What|Removed |Added Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33219
[Bug java/33218] Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT
--- Comment #1 from daney at gcc dot gnu dot org 2007-08-28 15:59 --- Can you post a fully self contained test case? If I can easily reproduce it, I will try to fix it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33218
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #17 from rguenth at gcc dot gnu dot org 2007-08-28 16:24 --- Created an attachment (id=14128) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14128action=view) reduced testcase Reduced testcase. Note that even removing an unused class (struct counter) makes the testcase work. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug middle-end/31490] Compile error section type conflict
--- Comment #13 from dtemirbulatov at gmail dot com 2007-08-28 16:25 --- reviewed patch posted here http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01280.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31490
[Bug c++/32400] [4.3 Regression] ICE in expand_or_defer_fn, at cp/semantics.c:3220
--- Comment #10 from jakub at gcc dot gnu dot org 2007-08-28 16:09 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32400
[Bug c++/32596] [4.3 Regression] ICE with inline template specialization in anonymous namespace
--- Comment #4 from jakub at gcc dot gnu dot org 2007-08-28 16:08 --- Subject: Bug 32596 Author: jakub Date: Tue Aug 28 16:08:02 2007 New Revision: 127863 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127863 Log: PR c++/32596 PR c++/32400 * pt.c (check_explicit_specialization): Set DECL_INTERFACE_KNOWN and DECL_NOT_REALLY_EXTERN if tmpl_func is not public. * g++.dg/ext/visibility/anon5.C: New test. Added: trunk/gcc/testsuite/g++.dg/ext/visibility/anon5.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32596
[Bug c++/32400] [4.3 Regression] ICE in expand_or_defer_fn, at cp/semantics.c:3220
--- Comment #9 from jakub at gcc dot gnu dot org 2007-08-28 16:08 --- Subject: Bug 32400 Author: jakub Date: Tue Aug 28 16:08:02 2007 New Revision: 127863 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127863 Log: PR c++/32596 PR c++/32400 * pt.c (check_explicit_specialization): Set DECL_INTERFACE_KNOWN and DECL_NOT_REALLY_EXTERN if tmpl_func is not public. * g++.dg/ext/visibility/anon5.C: New test. Added: trunk/gcc/testsuite/g++.dg/ext/visibility/anon5.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32400
[Bug fortran/22244] dimension information is lost for multi-dimension array
--- Comment #7 from jakub at gcc dot gnu dot org 2007-08-28 16:09 --- Subject: Bug 22244 Author: jakub Date: Tue Aug 28 16:08:57 2007 New Revision: 127864 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127864 Log: PR fortran/22244 * Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H). * trans-types.c: Include flags.h. (gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with correct bounds and dimensions for packed arrays. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/Make-lang.in trunk/gcc/fortran/trans-types.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22244
[Bug c++/32596] [4.3 Regression] ICE with inline template specialization in anonymous namespace
--- Comment #5 from jakub at gcc dot gnu dot org 2007-08-28 16:10 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32596
[Bug c++/33214] [4.3 regression] Broken diagnostic: 'argument_pack_select' not supported by dump_expr
--- Comment #1 from jakub at gcc dot gnu dot org 2007-08-28 16:17 --- Isn't this a dup of PR33118 ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33214
[Bug java/33218] Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT
--- Comment #2 from cyberflex at mail dot ru 2007-08-28 16:43 --- (In reply to comment #1) Can you post a fully self contained test case? If I can easily reproduce it, I will try to fix it. Test case is to be following, but reproducing looks like to be a bit tricky :( gcj (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux) doesn't show such behaviour, I'll try (in a few days) this once more with my real scripts and real hardware platfrom that compiler. Then I'll post more detailed report to this bug. May be the problem is observed only when script is sleep in syscall only. Yet I could kill script manually, so it might not be a kernel issue. test.java import java.lang.*; public class test{ public static void main(String[] args) throws Exception{ String cmd = ./test.sh; Process p = Runtime.getRuntime().exec(cmd); p.destroy(); p.waitFor(); System.out.println(waitFor completed); while(1 == 1){ Thread.currentThread().sleep(3000); } } } test.sh: #!/bin/bash trap SIGINT trap SIGQUIT Thanks. -- cyberflex at mail dot ru changed: What|Removed |Added CC||cyberflex at mail dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33218
[Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters.
--- Comment #5 from andreagrassi at sogeasoft dot com 2007-08-28 16:50 --- Subject: R: Error in compiling when there is a function with a char parameter called before its declaration with inline parameters. Yes and the error remains. Nothing changes. I don't understand the error !! It's all so simple and I don't understand why the compile works if I write in the second form (not inline parameter declaration) !!! Le informazioni contenute in questo messaggio di posta elettronica sono di natura confidenziale; qualsiasi pubblicazione, utilizzo o diffusione anche parziale dello stesso non può essere effettuata senza autorizzazione e potrebbe costituire un illecito penale ai sensi del Decreto Legs.vo N° 196/2003 sulla Protezione dei Dati Personali e del Codice Penale, Art. 617-621-635 bis oltre che della legge 547/93. Qualora non siate tra i legittimi destinatari di questa e-mail Vi preghiamo cortesemente di cancellarla dal Vostro sistema dopo aver notificato al mittente, rispondendo alla comunicazione, l'errore da questi commesso. -Messaggio originale- Da: pcarlini at suse dot de [mailto:[EMAIL PROTECTED] Inviato: martedì 28 agosto 2007 17.57 A: [EMAIL PROTECTED] Oggetto: [Bug c/33219] Error in compiling when there is a function with a char parameter called before its declaration with inline parameters. --- Comment #4 from pcarlini at suse dot de 2007-08-28 15:56 --- Out of curiosity, do you ever add -Wall to the command line? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33219 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33219
[Bug java/33218] Process.waiFor() Process.destroy() misbehave for childs which are not reacting to Ctrl+C SIGQUIT
--- Comment #3 from daney at gcc dot gnu dot org 2007-08-28 16:56 --- Looking at the current code, it seems that we may have a problem if we destroy() a process that has already exited. The kill(2) man page suggests that ESRCH could result, in which case we would throw an InternalError. Must investigate... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33218
[Bug c++/29000] [4.2/4.3 regression] ICE on invalid use of template in statement-expr
--- Comment #4 from jason at gcc dot gnu dot org 2007-08-28 16:59 --- Subject: Bug 29000 Author: jason Date: Tue Aug 28 16:58:59 2007 New Revision: 127868 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127868 Log: PR c++/29000 * pt.c (build_non_dependent_expr, type_dependent_expression_p): Look inside STMT_EXPR. * semantics.c (stmt_expr_value_expr): New fn. * cp-tree.h: Declare it. * g++.dg/ext/stmtexpr12.C: New test. Added: trunk/gcc/testsuite/g++.dg/ext/stmtexpr12.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/pt.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29000
[Bug c++/33209] Broken diagnostic: 'template_type_parm' not supported by dump_expr
--- Comment #2 from pcarlini at suse dot de 2007-08-28 16:43 --- Fixed. -- pcarlini at suse dot de changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33209
[Bug c++/33209] Broken diagnostic: 'template_type_parm' not supported by dump_expr
--- Comment #1 from paolo at gcc dot gnu dot org 2007-08-28 16:42 --- Subject: Bug 33209 Author: paolo Date: Tue Aug 28 16:41:56 2007 New Revision: 127866 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127866 Log: /cp 2007-08-28 Paolo Carlini [EMAIL PROTECTED] PR c++/33209 * error.c (dump_expr): Deal with TEMPLATE_TYPE_PARM and BOUND_TEMPLATE_TEMPLATE_PARM. /testsuite 2007-08-28 Paolo Carlini [EMAIL PROTECTED] PR c++/33209 * g++.dg/template/error29.C: New. Added: trunk/gcc/testsuite/g++.dg/template/error29.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/error.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33209
[Bug c++/33210] [4.1/4.2/4.3 regression] Broken diagnostics: 'bound_template_template_parm' not supported by pp_cxx_unqualified_id/dump_decl
-- pcarlini at suse dot de changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pcarlini at suse dot de |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-28 17:15:28 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33210
[Bug c/33220] New: impossible constraint in �asm�
cc -O2 -dr -msoft-float -c f_powf.c f_powf.c: In function _f_powf: f_powf.c:49: error: impossible constraint in asm typedef unsigned int __uint32_t; typedef signed int __int32_t; typedef union { double value; struct { __uint32_t lsw; __uint32_t msw; } parts; } ieee_double_shape_type; typedef union { float value; __uint32_t word; } ieee_float_shape_type; extern float powf (float, float); __inline__ static int check_finite(double x) { __int32_t hx; do { ieee_double_shape_type gh_u; gh_u.value = (x); (hx) = gh_u.parts.msw; } while (0); return (int)((__uint32_t)((hx0x7fff)-0x7ff0)31); } __inline__ static int check_finitef(float x) { __int32_t ix; do { ieee_float_shape_type gf_u; gf_u.value = (x); (ix) = gf_u.word; } while (0); return (int)((__uint32_t)((ix0x7fff)-0x7f80)31); } float _f_powf (float x, float y) { if (x 0.0 check_finitef(y)) { float result; asm (flds 8(%%ebp); fyl2x; fld %%st; frndint; fsub %%st,%%st(1); fxch; fchs; f2xm1; fld1; faddp; fxch; fld1; fscale; fstp %%st(1); fmulp : =t (result) : 0 (y)); return result; } else return powf (x,y); } -- Summary: impossible constraint in asm Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: yakov at emc dot com GCC build triplet: gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux) GCC host triplet: i686-pc-linux-gnu GCC target triplet: x86 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33220
[Bug fortran/33221] New: IMPORTing of TYPE declarations without components fails
The following is a valid Fortran 2003 program, but if type t has no components, it cannot be imported: Error: Derived type 't' at (1) is being used before it is defined type t ! integer :: i end type t interface subroutine fff(a) import :: t type(t) :: a end subroutine fff end interface end -- Summary: IMPORTing of TYPE declarations without components fails Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33221
[Bug c++/33210] [4.1/4.2/4.3 Regression] Broken diagnostics: 'bound_template_template_parm' not supported by pp_cxx_unqualified_id/dump_decl
--- Comment #1 from pcarlini at suse dot de 2007-08-28 18:10 --- Oops.. -- pcarlini at suse dot de changed: What|Removed |Added AssignedTo|pcarlini at suse dot de |unassigned at gcc dot gnu ||dot org Status|ASSIGNED|NEW Summary|Broken diagnostics: |[4.1/4.2/4.3 Regression] |'bound_template_template_par|Broken diagnostics: |m' not supported by |'bound_template_template_par |pp_cxx_unqualified_id/dump_d|m' not supported by |ecl |pp_cxx_unqualified_id/dump_d ||ecl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33210
[Bug middle-end/31490] Compile error section type conflict
--- Comment #14 from janis at gcc dot gnu dot org 2007-08-28 18:15 --- The patch that I tried is the one attached for comment #10, not the one in comment #9. With that patch a bootstrap of all languages but Ada succeeded. The test results look reasonable, although I don't have results from the last few days with which to compare them. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31490
[Bug middle-end/32758] [4.3 Regression] ecj1 hangs
--- Comment #16 from andreast at gcc dot gnu dot org 2007-08-28 18:44 --- Volumes/development/gcc/head/objdir/./gcc/xgcc -B/Volumes/development/gcc/head/objdir/./gcc/ -B/Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/bin/ -B/Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/lib/ -isystem /Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/include -isystem /Volumes/development/gcc/head/testbin/powerpc-apple-darwin8.10.0/sys-include -DHAVE_CONFIG_H -I. -I/Volumes/development/gcc/head/gcc/libffi -I. -I. -I/Volumes/development/gcc/head/gcc/libffi/include -Iinclude -I/Volumes/development/gcc/head/gcc/libffi/src -Wall -g -fexceptions -O0 -g -O0 -MT src/java_raw_api.lo -MD -MP -MF src/.deps/java_raw_api.Tpo -c /Volumes/development/gcc/head/gcc/libffi/src/java_raw_api.c -fno-common -DPIC -o src/.libs/java_raw_api.o So no explicit -fstrict-aliasing. Iow, yes with -fno-strict-aliasing. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
[Bug rtl-optimization/10837] noreturn attribute causes no sibling calling optimization
--- Comment #4 from kauer at os dot inf dot tu-dresden dot de 2007-08-28 19:07 --- Some comments from the outside: (1) It should be possible to exchange the emmited call into a jmp, without adding the function epilog. (2) A proper backtrace is not generated on optimized sibling functions. (3) http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00180.html explains, that it is hard to implement -- kauer at os dot inf dot tu-dresden dot de changed: What|Removed |Added CC||kauer at os dot inf dot tu- ||dresden dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10837
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #18 from rguenth at gcc dot gnu dot org 2007-08-28 19:23 --- Just to add, the reduced testcase fails with r127848. I suppose the failure might vanish with the inliner change I put in after that. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-28 19:23:20 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug rtl-optimization/10837] noreturn attribute causes no sibling calling optimization
--- Comment #5 from kauer at os dot inf dot tu-dresden dot de 2007-08-28 19:27 --- (4) abort produce a proper backtrace, if it is not a noreturn function (5) this optimization could be configurable by something like -foptimize-noreturns -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10837
[Bug c++/28558] [4.0/4.1/4.2/4.3 regression] Trouble with __attribute__ and non-PODs
--- Comment #8 from jason at gcc dot gnu dot org 2007-08-28 19:32 --- Fixed for 4.3, not going to bother applying to other branches. -- jason at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28558
[Bug middle-end/32758] [4.3 Regression] ecj1 hangs
--- Comment #17 from jakub at gcc dot gnu dot org 2007-08-28 19:38 --- I can reproduce this on ppc32-linux, working on a self-contained reproducer. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
[Bug c++/29365] Unnecessary anonymous namespace warnings
--- Comment #34 from pluto at agmk dot net 2007-08-28 19:40 --- (In reply to comment #33) Fixed. one more testcase: $ cat X.hpp namespace { class Impl; } struct X { ~X(); Impl* pimpl_; }; $ cat X.cpp #include X.hpp X::~X() { } $ g++ -Wall -c X.cpp In file included from X.cpp:1: X.hpp:3: warning: 'X' has a field 'X::pimpl_' whose type uses the anonymous namespace gcc version 4.2.2 20070828 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365
[Bug c++/33118] [4.3 Regression] #'argument_pack_select' not supported by dump_expr#expression error
--- Comment #1 from reichelt at gcc dot gnu dot org 2007-08-28 20:06 --- *** Bug 33214 has been marked as a duplicate of this bug. *** -- reichelt at gcc dot gnu dot org changed: What|Removed |Added CC||reichelt at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33118
[Bug c++/33214] [4.3 regression] Broken diagnostic: 'argument_pack_select' not supported by dump_expr
--- Comment #2 from reichelt at gcc dot gnu dot org 2007-08-28 20:06 --- It's a duplicate, indeed. *** This bug has been marked as a duplicate of 33118 *** -- reichelt at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33214
[Bug c++/29003] operator name accepted in typedef
--- Comment #3 from reichelt at gcc dot gnu dot org 2007-08-28 20:16 --- The message confused by earlier errors, bailing out is nothing but a hidden ICE. In order not to bother the user with GCC's error recovery problems it replaces the usual ICE message on release branches, if a regular error message has been issued already. To see the underlying ICE you have to configure the compiler with --enable-checking. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29003
[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []
--- Comment #3 from dgregor at gcc dot gnu dot org 2007-08-28 20:26 --- Has anyone been able to reproduce this problem? I'm not able to trigger the failure with the preprocessed source. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185
[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []
--- Comment #4 from tbm at cyrius dot com 2007-08-28 20:32 --- (In reply to comment #3) Has anyone been able to reproduce this problem? I'm not able to trigger the failure with the preprocessed source. Well, I noted this problem already in my first message. I see the ICE when I compile the .cc file though rather than the preprocessed source. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185
[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)
-- dgregor at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |dgregor at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-28 20:34:54 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33194
Re: [Bug c++/29365] Unnecessary anonymous namespace warnings
On 28 Aug 2007 19:40:14 -, pluto at agmk dot net [EMAIL PROTECTED] wrote: --- Comment #34 from pluto at agmk dot net 2007-08-28 19:40 --- (In reply to comment #33) Fixed. one more testcase: $ cat X.hpp namespace { class Impl; } struct X { ~X(); Impl* pimpl_; }; $ cat X.cpp #include X.hpp X::~X() { } In this case, the warning is correct as Impl will be different in each Translation Unit so X can never be the same between two of them. -- Pinski
[Bug c++/29365] Unnecessary anonymous namespace warnings
--- Comment #35 from pinskia at gmail dot com 2007-08-28 20:48 --- Subject: Re: Unnecessary anonymous namespace warnings On 28 Aug 2007 19:40:14 -, pluto at agmk dot net [EMAIL PROTECTED] wrote: --- Comment #34 from pluto at agmk dot net 2007-08-28 19:40 --- (In reply to comment #33) Fixed. one more testcase: $ cat X.hpp namespace { class Impl; } struct X { ~X(); Impl* pimpl_; }; $ cat X.cpp #include X.hpp X::~X() { } In this case, the warning is correct as Impl will be different in each Translation Unit so X can never be the same between two of them. -- Pinski -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365
[Bug middle-end/32758] [4.3 Regression] ecj1 hangs
--- Comment #18 from andreast at gcc dot gnu dot org 2007-08-28 21:00 --- Adding -fno-dce at -O1/O2 helps passing the failing test cases mentioned in comment #8 on ppc-linux and ppc-darwin. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)
--- Comment #1 from dgregor at gcc dot gnu dot org 2007-08-28 21:12 --- Patch available here: http://gcc.gnu.org/ml/gcc-patches/2007-08/msg02013.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33194
[Bug c++/29365] Unnecessary anonymous namespace warnings
--- Comment #36 from bangerth at dealii dot org 2007-08-28 21:40 --- (In reply to comment #35) In this case, the warning is correct as Impl will be different in each Translation Unit so X can never be the same between two of them. That's what I thought too at first, but the request is valid anyway as long as you never use the pointer to the class from anywhere except the one implementation file in which the class is defined. Never using means not even passing around the pointer, i.e. the class better not has an inline function in the header file in which the pointer is used. However, as long as the entire handling of the pointer is inside a single TU, nothing is wrong with the code. Now, whether that's good style is clearly a different matter... W. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365
[Bug c++/29365] Unnecessary anonymous namespace warnings
--- Comment #37 from pinskia at gmail dot com 2007-08-28 22:11 --- Subject: Re: Unnecessary anonymous namespace warnings On 28 Aug 2007 21:41:05 -, bangerth at dealii dot org [EMAIL PROTECTED] wrote: That's what I thought too at first, but the request is valid anyway as long as you never use the pointer to the class from anywhere except the one implementation file in which the class is defined. No it is not, it is still violating One definition rule as struct X will have a different member type for pimpl_ in each TU (this violates the whole idea of types being exported). This is going to be true no matter what, even if you change the warning. Now you can use a void* to get around this issue and should solve the issue and not violate the C++ ODR. This warning is not about style, it is about warning when you are most likely going to violat C++'s One definition rule with anonymous namespaces and you do violate it here as explained above. Thanks, Andrew Pinski -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365
Re: [Bug c++/29365] Unnecessary anonymous namespace warnings
On 28 Aug 2007 21:41:05 -, bangerth at dealii dot org [EMAIL PROTECTED] wrote: That's what I thought too at first, but the request is valid anyway as long as you never use the pointer to the class from anywhere except the one implementation file in which the class is defined. No it is not, it is still violating One definition rule as struct X will have a different member type for pimpl_ in each TU (this violates the whole idea of types being exported). This is going to be true no matter what, even if you change the warning. Now you can use a void* to get around this issue and should solve the issue and not violate the C++ ODR. This warning is not about style, it is about warning when you are most likely going to violat C++'s One definition rule with anonymous namespaces and you do violate it here as explained above. Thanks, Andrew Pinski
[Bug rtl-optimization/33028] Missed optimizations in peephole2 pass
--- Comment #2 from eweddington at cso dot atmel dot com 2007-08-28 23:30 --- Confirmed bug, and verified patch fixes bug. -- eweddington at cso dot atmel dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-28 23:30:12 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33028
[Bug rtl-optimization/33028] Missed optimizations in peephole2 pass
--- Comment #3 from eweddington at cso dot atmel dot com 2007-08-28 23:31 --- (In reply to comment #2) Confirmed bug, and verified patch fixes bug. ... For the AVR port only. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33028
[Bug target/33133] [4.3 Regression] ICE in try_ready, at haifa-sched.c:2958 with -O3
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added Keywords||ice-on-valid-code Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33133
[Bug target/33138] [4.3 Regression] rejects valid? assembler, segfaults
--- Comment #3 from pinskia at gcc dot gnu dot org 2007-08-28 23:57 --- The seg fault was fixed by: 2007-08-28 Jakub Jelinek [EMAIL PROTECTED] PR middle-end/32370 * passes.c (init_optimization_passes): Move pass_df_finish after pass_postreload sublist. Also I don't think there is enough registers to do anything with this inline-asm. I count 10 r constraints (or +r). Plus 7 clobbers. That does not leave any registers for GCC to fill the 10 constraints. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33138
[Bug tree-optimization/33134] [4.3 Regression] ICE in set_value_range, at tree-vrp.c:325
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33134
[Bug bootstrap/33130] Configuration error prevents build
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-08-29 00:00 --- I just did a bootstrap and got past this point. Can you attach the config.log from your build directory for the libiberty? -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33130
[Bug tree-optimization/33154] [4.3 Regression] FAIL: gcc.c-torture/execute/20010119-1.c compilation, -Os
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added Summary|FAIL: gcc.c-|[4.3 Regression] FAIL: |torture/execute/20010119-1.c|gcc.c- |compilation, -Os |torture/execute/20010119-1.c ||compilation, -Os Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33154
[Bug c++/33176] strange diagnostic with if (a) b
--- Comment #1 from pinskia at gcc dot gnu dot org 2007-08-29 00:06 --- Not really since this is label which is valid GNU C++. So this is not really a bad diagnostic for GNU C++. if you add -pedantic, you get: t.cc:6: error: taking the address of a label is non-standard Which tells how GCC is parsing this. I will let others decide if this can be improved. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Keywords||diagnostic Summary|strange diagnostic |strange diagnostic with if ||(a) b http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33176
[Bug target/33184] [4.3 Regression] m32c: ostream.tcc:92: error: unable to find a register to spill in class 'A_REGS'
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33184
[Bug tree-optimization/33186] [4.3 Regression] ICE: tree check: expected function_type or method_type, have void_type in expand_call, at calls.c:2131
--- Comment #3 from pinskia at gcc dot gnu dot org 2007-08-29 00:06 --- Fixed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33186
[Bug bootstrap/33191] Install failure,recent CVS
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-08-29 00:12 --- /usr/home/mckelvey/software/gcc-obj/./gcc/cc1plus: relocation error: /usr/home/mckelvey/software/gcc-obj/./gcc/cc1plus: undefined symbol: __gmpz_import Sounds like you have two different versions of GMP installed and it is picking up the wrong version while doing a make install. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33191