[Bug target/28629] [4.1] Segfault with --march=pentium-m -O2 when compiling faac
--- Comment #10 from dorit at gcc dot gnu dot org 2007-08-26 07:49 --- (In reply to comment #9) I've confirmed that the problem is caused by '-ftree-vectorize' passed to compile gcc. More precisely, a 'movdqa' instruction in constraint_operands() accessed an unaligned memory. since this is reported to work on 4.2 and 4.3, I wonder if it's related to the fix for PR25413 (which was committed to 4.2 and 4.3). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28629
[Bug target/28069] __m128 local variables don't get properly aligned.
--- Comment #5 from zuxy dot meng at gmail dot com 2007-08-26 07:58 --- *** This bug has been marked as a duplicate of 27537 *** -- zuxy dot meng at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28069
[Bug target/27537] XMM alignment fault when compiling for i386 with -Os
--- Comment #17 from zuxy dot meng at gmail dot com 2007-08-26 07:58 --- *** Bug 28069 has been marked as a duplicate of this bug. *** -- zuxy dot meng at gmail dot com changed: What|Removed |Added CC||zuxy dot meng at gmail dot ||com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27537
[Bug c++/32305] ICE in initialize_flags_in_bb with -O -fipa-pta
--- Comment #3 from tbm at cyrius dot com 2007-08-26 08:30 --- I get Richi's error with the alternative testcase below: (sid)26000:[EMAIL PROTECTED]: ~/delta/bin] /usr/lib/gcc-snapshot/bin/gcc -O -c -fipa-pta mini.c mini.c: In function 'TestMD2': mini.c:7: error: stmt (0x2b31b665e0c0) marked modified after optimization pass: return; mini.c:7: internal compiler error: verify_ssa failed Please submit a full bug report, /* Testcase by Martin Michlmayr [EMAIL PROTECTED] */ static const char *strings[] = { }; TestMD2 (void) { } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32305
[Bug c++/33194] New: [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)
[ Forwarded from http://bugs.debian.org/437939 ] Eugeniy Meshcheryakov reports the following ICE: (sid)26008:[EMAIL PROTECTED]: ~/src] /usr/lib/gcc-snapshot/bin/g++ -c 2.ii 2.ii: In member function 'void dwflpp::translate_location()': 2.ii:18: internal compiler error: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...) Please submit a full bug report, with preprocessed source if appropriate. His testcase: void c_translate_location ( void (*fail) ( const char *fmt, ...) __attribute__ ((noreturn, format (printf, 1, 2))) ); struct dwflpp { static void loc2c_error (const char *fmt, ...) { } void translate_location() { return c_translate_location (loc2c_error); } }; -- Summary: [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...) Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tbm at cyrius dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33194
Re: [Bug c/33192] New: __imag operator drops side effects in subexpr
On 26 Aug 2007 05:21:22 -, sabre at nondot dot org [EMAIL PROTECTED] wrote: to not call bar. The problem is in c-typeck.c (build_unary_op) (around line 2986). the code looks like: if (TREE_CODE (arg) == COMPLEX_CST) return TREE_IMAGPART (arg); else if (TREE_CODE (TREE_TYPE (arg)) == COMPLEX_TYPE) return fold_build1 (IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (arg)), arg); else return convert (TREE_TYPE (arg), integer_zero_node); So there is no check for TREE_SIDE_EFFECTS. Maybe it should use omit_one_operand or build a COMPOUND_EXPR. Either one will fix the bug. -- Pinski
[Bug c/33192] __imag operator drops side effects in subexpr
--- Comment #1 from pinskia at gmail dot com 2007-08-26 09:00 --- Subject: Re: New: __imag operator drops side effects in subexpr On 26 Aug 2007 05:21:22 -, sabre at nondot dot org [EMAIL PROTECTED] wrote: to not call bar. The problem is in c-typeck.c (build_unary_op) (around line 2986). the code looks like: if (TREE_CODE (arg) == COMPLEX_CST) return TREE_IMAGPART (arg); else if (TREE_CODE (TREE_TYPE (arg)) == COMPLEX_TYPE) return fold_build1 (IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (arg)), arg); else return convert (TREE_TYPE (arg), integer_zero_node); So there is no check for TREE_SIDE_EFFECTS. Maybe it should use omit_one_operand or build a COMPOUND_EXPR. Either one will fix the bug. -- Pinski -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33192
[Bug fortran/33180] Cannot IMPORT symbols later defined in the module
--- Comment #1 from burnus at gcc dot gnu dot org 2007-08-26 09:31 --- INVALID. I missed the prior in: The IMPORT statement specifies that the named entities from the host scoping unit are accessible in the interface body by host association. An entity that is imported in this manner and is defined in the host scoping unit shall be explicitly declared prior to the interface body. See also: http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/92f205ca6ba650f1/# -- burnus at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33180
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #4 from ubizjak at gmail dot com 2007-08-26 10:56 --- C testcase: --cut here-- extern void abort (void); enum Status { P_ON_LOWER = -4, P_ON_UPPER = -2, P_FREE = -1 }; void foo (enum Status *stat, double newUpper, double lower, double max) { if (newUpper = max) *stat = (lower = -max) ? P_FREE : P_ON_LOWER; else if (newUpper == lower) *stat = P_ON_LOWER; } int main () { enum Status stat = P_ON_UPPER; foo (stat, 5.0, -10.0, 10.0); if (stat != P_ON_UPPER) abort (); return 0; } --cut here-- For some reason, ifcvt converts (note 32 28 33 7 [bb 7] NOTE_INSN_BASIC_BLOCK) (insn 33 32 34 7 pr33181.c:15 (set (reg:CCFP 17 flags) (compare:CCFP (reg/v:DF 60 [ newUpper ]) (reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (expr_list:REG_DEAD (reg /v:DF 61 [ lower ]) (expr_list:REG_DEAD (reg/v:DF 60 [ newUpper ]) (nil (jump_insn 34 33 54 7 pr33181.c:15 (set (pc) (if_then_else (uneq (reg:CCFP 17 flags) (const_int 0 [0x0])) (label_ref:DI 54) (pc))) 563 {*jcc_1} (expr_list:REG_DEAD (reg:CCFP 17 flags) (expr_list:REG_BR_PROB (const_int 5400 [0x1518]) (nil ;; End of basic block 7 - ( 8 9) ;; Start of basic block ( 7) - 8 (code_label 54 34 38 8 10 [1 uses]) (insn 39 38 45 8 pr33181.c:16 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32]) (const_int -4 [0xfffc])) 47 {*movsi_1} (expr_list:REG_DEAD ( reg/v/f:DI 59 [ stat ]) (nil))) ;; End of basic block 8 - ( 9) into (insn 33 32 62 7 pr33181.c:15 (set (reg:CCFP 17 flags) (compare:CCFP (reg/v:DF 60 [ newUpper ]) (reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (expr_list:REG_DEAD (reg /v:DF 61 [ lower ]) (expr_list:REG_DEAD (reg/v:DF 60 [ newUpper ]) (nil (insn 62 33 61 7 pr33181.c:16 (set (reg:SI 66) (const_int -4 [0xfffc])) 47 {*movsi_1} (nil)) (insn 61 62 63 7 pr33181.c:16 (set (reg:CCFP 17 flags) (compare:CCFP (reg/v:DF 60 [ newUpper ]) (reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (nil)) (insn 63 61 64 7 pr33181.c:16 (set (reg:SI 65) (if_then_else:SI (ltgt (reg:CCFP 17 flags) (const_int 0 [0x0])) (reg:SI 58 [ iftmp.0 ]) (reg:SI 66))) 798 {*movsicc_noc} (nil)) (insn 64 63 45 7 pr33181.c:16 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32]) (reg:SI 65)) 47 {*movsi_1} (nil)) this conversionis wrong, beacuse iftmp.0 is uninitialized in this BB. To compensate this, df initializes iftmp.0 to zero, resulting in: .L11: movl$-4, %eax #, tmp66 movl$0, %edx#, iftmp.0 comisd %xmm1, %xmm0# lower, newUpper cmovne %edx, %eax # iftmp.0,, tmp66 movl%eax, (%rdi)# tmp66,* stat ret instead of: .L2: comisd %xmm1, %xmm0# lower, newUpper jne .L12#, movl$-4, (%rdi) #,* stat .L12: rep ; ret -- ubizjak at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-08-26 10:56:01 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug fortran/31711] was rhs array is changed while assiging to same lhs array
--- Comment #17 from tkoenig at gcc dot gnu dot org 2007-08-26 11:24 --- Changing severity to enhancement. -- tkoenig at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31711
[Bug fortran/33188] Fortran 2003: Type declarations without componends
--- Comment #1 from patchapp at dberlin dot org 2007-08-26 11:25 --- Subject: Bug number PR33188 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01735.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33188
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #5 from ubizjak at gmail dot com 2007-08-26 12:55 --- The problem is in the way ifcvt handles IFs without ELSE blocks. Compiling c testcase with -O2 -ffast-math (on x86_64 target), we hit check for else_bb in noce_process_if_block(). We continue into line 2196 of ifcvt.c, where we try to find a store before condition using: prev_insn = prev_nonnote_insn (if_info-cond_earliest); The problem is, that in gcc-4.3, we have: ;; Pred edge 5 [100.0%] (fallthru) ;; Pred edge 4 [100.0%] (fallthru) (code_label 26 25 27 6 5 [0 uses]) (note 27 26 28 6 [bb 6] NOTE_INSN_BASIC_BLOCK) (insn 28 27 32 6 pr33181.c:14 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32]) (reg:SI 58 [ iftmp.0 ])) 47 {*movsi_1} (expr_list:REG_DEAD (reg/v/f:DI 59 [ stat ]) (expr_list:REG_DEAD (reg:SI 58 [ iftmp.0 ]) (nil ;; End of basic block 6 - ( 9) ;; lr out 6 [bp] 7 [sp] 16 [argp] 20 [frame] ;; live out 6 [bp] 7 [sp] 16 [argp] 20 [frame] ;; Succ edge 9 [100.0%] (fallthru) ;; Start of basic block ( 2) - 7 ;; bb 7 artificial_defs: { } ;; bb 7 artificial_uses: { u35(6){ }u36(7){ }u37(16){ }u38(20){ }} ;; lr in6 [bp] 7 [sp] 16 [argp] 20 [frame] 59 60 61 ;; lr use 6 [bp] 7 [sp] 16 [argp] 20 [frame] 60 61 ;; lr def 17 [flags] ;; live in 6 [bp] 7 [sp] 16 [argp] 20 [frame] 59 60 61 ;; live gen 17 [flags] ;; live kill ;; Pred edge 2 [50.0%] (fallthru) (note 32 28 33 7 [bb 7] NOTE_INSN_BASIC_BLOCK) (insn 33 32 34 7 pr33181.c:15 (set (reg:CCFP 17 flags) (compare:CCFP (reg/v:DF 60 [ newUpper ]) (reg/v:DF 61 [ lower ]))) 35 {*cmpfp_i_sse} (expr_list:REG_DEAD (reg/v:DF 61 [ lower ]) (expr_list:REG_DEAD (reg/v:DF 60 [ newUpper ]) (nil So, previous non-note insn from (insn 33) is (insn 28)(!!) in a totally unrelated BB, leading to all sort of strange things. For comparison, in gcc-4.1 we have a lot cleaner sequence: --cut here-- ;; Start of basic block 5, registers live: (nil) (code_label 43 42 44 5 2 [1 uses]) (note 44 43 46 5 [bb 5] NOTE_INSN_BASIC_BLOCK) (insn 46 44 47 5 (set (reg:CCFP 17 flags) (compare:CCFP (reg/v:DF 60 [ newUpper ]) (reg/v:DF 61 [ lower ]))) 28 {*cmpfp_i_sse} (nil) (nil)) (jump_insn 47 46 52 5 (set (pc) (if_then_else (ltgt (reg:CCFP 17 flags) (const_int 0 [0x0])) (label_ref:DI 62) (pc))) 531 {*jcc_1} (nil) (expr_list:REG_BR_PROB (const_int 3300 [0xce4]) (nil))) ;; End of basic block 5, registers live: (nil) ;; Start of basic block 6, registers live: (nil) (note 52 47 54 6 [bb 6] NOTE_INSN_BASIC_BLOCK) (insn 54 52 57 6 (set (mem:SI (reg/v/f:DI 59 [ stat ]) [2 S4 A32]) (const_int -4 [0xfffc])) 40 {*movsi_1} (nil) (nil)) ;; End of basic block 6, registers live: (nil) (note 57 54 62 NOTE_INSN_FUNCTION_END) ;; Start of basic block 7, registers live: (nil) (code_label 62 57 71 7 12 [2 uses]) (note 71 62 0 7 [bb 7] NOTE_INSN_BASIC_BLOCK) ;; End of basic block 7, registers live: (nil) --cut here-- And previous non-note insn of the condition is (code label 43) that correctly blocks cmove conversion. Perhaps Jan has an advice on prev_nonnote_insn() usage in noce_process_if_block(). -- ubizjak at gmail dot com changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #6 from hjl at lucon dot org 2007-08-26 14:42 --- This patch 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 * ifcvt.c (noce_process_if_block): Don't move insn across basic block. --- gcc/ifcvt.c.cmov2007-08-24 06:02:57.0 -0700 +++ gcc/ifcvt.c 2007-08-26 07:35:50.0 -0700 @@ -2198,6 +2198,7 @@ noce_process_if_block (struct noce_if_in COND_EARLIEST to JUMP. Make sure the relevant data is still intact. */ if (! insn_b + || BLOCK_NUM (insn_b) != BLOCK_NUM (if_info-cond_earliest) || !NONJUMP_INSN_P (insn_b) || (set_b = single_set (insn_b)) == NULL_RTX || ! rtx_equal_p (x, SET_DEST (set_b)) works for me. Does it make senses? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #7 from rguenther at suse dot de 2007-08-26 14:43 --- Subject: Re: [4.3 Regression] Revision 127766 generates bad cmov On Sun, 26 Aug 2007, ubizjak at gmail dot com wrote: So, previous non-note insn from (insn 33) is (insn 28)(!!) in a totally unrelated BB, leading to all sort of strange things. Since ifcvt is now working in cfg-layout mode basically all uses of prev_nonnote_insn are busted. I guess you could check if the result is in the right BB, but ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #8 from rguenther at suse dot de 2007-08-26 14:46 --- Subject: Re: [4.3 Regression] Revision 127766 generates bad cmov On Sun, 26 Aug 2007, hjl at lucon dot org wrote: This patch 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 * ifcvt.c (noce_process_if_block): Don't move insn across basic block. --- gcc/ifcvt.c.cmov2007-08-24 06:02:57.0 -0700 +++ gcc/ifcvt.c 2007-08-26 07:35:50.0 -0700 @@ -2198,6 +2198,7 @@ noce_process_if_block (struct noce_if_in COND_EARLIEST to JUMP. Make sure the relevant data is still intact. */ if (! insn_b + || BLOCK_NUM (insn_b) != BLOCK_NUM (if_info-cond_earliest) || !NONJUMP_INSN_P (insn_b) || (set_b = single_set (insn_b)) == NULL_RTX || ! rtx_equal_p (x, SET_DEST (set_b)) works for me. Does it make senses? Yes. Or if we have domiantors available check if BB(insn_b) dominates BB(if_info-cond_earliest). Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug c/33192] __imag operator drops side effects in subexpr
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-08-26 14:56 --- Confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||rguenth at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||wrong-code Last reconfirmed|-00-00 00:00:00 |2007-08-26 14:56:26 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33192
[Bug c/33193] slopiness in __real/__imag
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-08-26 14:57 --- Confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||jsm28 at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||accepts-invalid Last reconfirmed|-00-00 00:00:00 |2007-08-26 14:57:20 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33193
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #9 from hjl at lucon dot org 2007-08-26 15:01 --- (In reply to comment #8) 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 * ifcvt.c (noce_process_if_block): Don't move insn across basic block. ... Yes. Or if we have domiantors available check if BB(insn_b) dominates BB(if_info-cond_earliest). Richard. A patch is posted at http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01737.html -- hjl at lucon dot org changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc- ||patches/2007- ||08/msg01737.html http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug c++/33195] New: ICE: calc_dfs_tree, at dominance.c:374
Trying to compile the attached file with 4.2.1 20070712 fails with -O2: -O works. vital_timing.cc: In function 'array_typelong long int L4ieee_Q12vital_timing_Y22vitalextendtofilldelay_i259(const array_typelong long int)': vital_timing.cc:1055: internal compiler error: in calc_dfs_tree, at dominance.c:374 Or, when using the properly pre-processed file: vital_timing.i: In function 'array_typelong long int L4ieee_Q12vital_timing_Y22vitalextendtofilldelay_i259(const array_typelong long int)': vital_timing.i:21623: internal compiler error: in calc_dfs_tree, at dominance.c:374 -- Summary: ICE: calc_dfs_tree, at dominance.c:374 Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mi at aldan dot algebra dot com GCC build triplet: x86_64-portbld-freebsd6.2 GCC host triplet: x86_64-portbld-freebsd6.2 GCC target triplet: x86_64-portbld-freebsd6.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33195
[Bug c++/33195] ICE: calc_dfs_tree, at dominance.c:374
--- Comment #1 from mi at aldan dot algebra dot com 2007-08-26 15:45 --- Created an attachment (id=14118) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14118action=view) The pre-processed vital_timing.cc -- the test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33195
[Bug target/33151] Invalid insn with pre_inc
--- Comment #8 from dje at gcc dot gnu dot org 2007-08-26 16:32 --- Subject: Bug 33151 Author: dje Date: Sun Aug 26 16:32:40 2007 New Revision: 127807 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127807 Log: PR target/33151 * config/rs6000/predicates.md (offsettable_mem_operand): Memory operand without auto-inc-dec. * config/rs6000/rs6000.md (floatsidf2_internal): Use offsettable_mem_operand. (floatunssidf2_internal): Same. (fix_truncdfsi2_internal): Same. (floatsidf_ppc64): Same. (floatunssidf_ppc64): Same. (fix_trunctfsi2_internal): Same. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/predicates.md trunk/gcc/config/rs6000/rs6000.md -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33151
[Bug fortran/33188] Fortran 2003: Type declarations without componends
--- Comment #2 from burnus at gcc dot gnu dot org 2007-08-26 17:59 --- Subject: Bug 33188 Author: burnus Date: Sun Aug 26 17:59:34 2007 New Revision: 127808 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127808 Log: 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/33188 * parse.c (parse_derived): Support empty derived type definitions for Fortran 2003. 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/33188 * gfortran.dg/used_types_18.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/used_types_18.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/parse.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33188
[Bug fortran/33188] Fortran 2003: Type declarations without componends
--- Comment #3 from burnus at gcc dot gnu dot org 2007-08-26 18:00 --- FIXED in 4.3.x/trunk. -- burnus 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=33188
[Bug fortran/33196] New: Generic name to non-standard procedure: Not diagnosed with -std=f95
gfortran.dg/gamma_2.f90 (of PR 32980) contains: +! { dg-options -std=f2003 -Wall } +rsp = gamma(rsp) ! FIXME: is not included in the selected standard +rdp = gamma(rdp) ! FIXME: is not included in the selected standard +rqp = gamma(rqp) ! FIXME: is not included in the selected standard +rdp = dgamma(rdp) ! { dg-error is not included in the selected standard } As one can see only for the specific name (dgamma) there is an error with -std=f2003 but not for the generic name. The definition contains the proper STD_GNU: add_sym_1 (gamma, [...] GFC_STD_GNU [...] add_sym_1 (dgamma, [...] GFC_STD_GNU [...] make_generic (gamma, GFC_ISYM_GAMMA, GFC_STD_GNU); -- Summary: Generic name to non-standard procedure: Not diagnosed with -std=f95 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: diagnostic 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=33196
[Bug fortran/32980] Vendor extension: Intrinsic functions (D)GAMMA, LGAMMA (ALGAMA/DLGAMA)
--- Comment #9 from burnus at gcc dot gnu dot org 2007-08-26 18:11 --- Subject: Bug 32980 Author: burnus Date: Sun Aug 26 18:11:42 2007 New Revision: 127809 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127809 Log: 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/32980 * intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma, gfc_resolve_gamma,gfc_resolve_lgamma): New function declations. * mathbuiltins.def: Define GAMMA and LGAMMA. * intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA and DLGAMA. * simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions. * iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions. * intrinsic.texi: Add documentation for GAMMA and LGAMMA. 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/32980 * gfortran.dg/gamma_1.f90: New. * gfortran.dg/gamma_2.f90: New. * gfortran.dg/gamma_3.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/gamma_1.f90 trunk/gcc/testsuite/gfortran.dg/gamma_2.f90 trunk/gcc/testsuite/gfortran.dg/gamma_3.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/intrinsic.c trunk/gcc/fortran/intrinsic.h trunk/gcc/fortran/intrinsic.texi trunk/gcc/fortran/iresolve.c trunk/gcc/fortran/mathbuiltins.def trunk/gcc/fortran/simplify.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32980
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #10 from hjl at gcc dot gnu dot org 2007-08-26 18:24 --- Subject: Bug 33181 Author: hjl Date: Sun Aug 26 18:24:19 2007 New Revision: 127810 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127810 Log: gcc/ 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 * ifcvt.c (noce_get_alt_condition): Make sure that the previous non NOTE insn doesn't cross basic block. (noce_try_abs): Likewise. (noce_process_if_block): Likewise. gcc/testsuite/ 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR middle-end/33181 * gcc.dg/ifelse-2.c: New. Added: trunk/gcc/testsuite/gcc.dg/ifelse-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/ifcvt.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug fortran/33197] New: Fortran 2008: gamma() and other small changes
Split of from PR32980 (collected by FX and me) Fortran 2008 status: http://www.nag.co.uk/sc22wg5/ ; time table: First working draft available 2007-12 WG5 review of working draft 2008-02 WG5 approval of draft CD 2008-04 First CD submitted for registration and approval 2008-05 First CD ballot initiated 2008-05 First CD ballot comments available2008-10 WG5 ballot resolution meeting 2008-11 WG5 review meeting2009-05 Final CD submitted for approval 2009-07 (The question is when we should start supporting Fortran 2008 (-std=f2008) / Fortran 2008 features (as -std=gnu).) Currently proposed additional intrinsic procedures: - ACOSH, ASINH, ATANH, ERF, ERF_C, GAMMA: Exist in gfortran (STD_GNU) - BESSEL_J0, _J1, _JN, _Y0, _Y1, _YN: Exist as BESJ0 etc. - log_gamma: Exists as lgamma - Not in gfortran: ERFC_SCALED (Exponentially scaled ERFC), HYPOT (= sqrt(x**2+y**2)), NORM2 (L_2 norm). (For erfc_scaled: Needs a library function; see e.g. http://www.netlib.org/specfun/erf) - The intrinsic function ATAN is extended so that ATAN (Y, X) is ATAN2 (Y,X). - -stf=f2008 needs to be supported - File extensions .f08 - Fortran 2008 allows CONTAINS with no procedures following in PROGRAM and MODULE. (Change STD_GNU to STD_F2008.) -- Summary: Fortran 2008: gamma() and other small changes Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: enhancement 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=33197
[Bug fortran/32980] Vendor extension: Intrinsic functions (D)GAMMA, LGAMMA (ALGAMA/DLGAMA)
--- Comment #10 from burnus at gcc dot gnu dot org 2007-08-26 18:25 --- FIXED for the trunk/GCC 4.3.0. The Fortran 2008 bits are tracked in PR 33197. -- burnus at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32980
[Bug fortran/32985] COMMON checking: TYPE with(out) SEQUENCE/bind(C), ALLOCATABLE
--- Comment #6 from burnus at gcc dot gnu dot org 2007-08-26 18:29 --- Subject: Bug 32985 Author: burnus Date: Sun Aug 26 18:29:45 2007 New Revision: 127811 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127811 Log: 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/32985 * match.c (gfc_match_common): Remove SEQUENCE diagnostics. * resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics; fix walking through the tree. 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/32985 * gfortran.dg/namelist_14.f90: Make test case valid. * gfortran.dg/common_10.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/common_10.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/match.c trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/namelist_14.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32985
[Bug fortran/33198] New: Derived type in common: Default initializer not rejected
Split off from PR 32985. gfortran does not reject derived types with default initializers in common. C589 (R558) If a common-block-object is of a derived type, it shall be a sequence type (4.5.1) or a type with the BIND attribute and it shall have no default initialization. The check should be added to resolve.c's resolve_common_blocks. Example: type a sequence integer :: i = 1 end type a type(a) :: t common /c/ t end -- Summary: Derived type in common: Default initializer not rejected 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33198
[Bug fortran/32985] COMMON checking: TYPE with(out) SEQUENCE/bind(C), ALLOCATABLE
--- Comment #7 from burnus at gcc dot gnu dot org 2007-08-26 18:34 --- Partially fixed. The remaining bits (default initializer) are tracked in PR33198. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32985
[Bug fortran/31298] F2003: use mod, operator(+) = operator(.userOp.) not supported
--- Comment #12 from burnus at gcc dot gnu dot org 2007-08-26 18:37 --- Subject: Bug 31298 Author: burnus Date: Sun Aug 26 18:37:23 2007 New Revision: 127812 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127812 Log: 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/31298 * module.c (mio_symbol_ref,mio_interface_rest): Return pointer_info. (load_operator_interfaces): Support multible loading of an operator. 2007-08-26 Tobias Burnus [EMAIL PROTECTED] PR fortran/31298 * gfortran.dg/use_10.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/use_10.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/module.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31298
[Bug fortran/32985] COMMON checking: TYPE with(out) SEQUENCE/bind(C), ALLOCATABLE
--- Comment #8 from burnus at gcc dot gnu dot org 2007-08-26 18:39 --- Mark as fixed. -- burnus at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32985
[Bug fortran/31298] F2003: use mod, operator(+) = operator(.userOp.) not supported
--- Comment #13 from burnus at gcc dot gnu dot org 2007-08-26 18:43 --- REMAINING: operator(generic opterator) = operator(user operator) e.g. operator(+) = operator(.myplus.) For obvious reasons the reversed is not allowed (MRC claims that also the former is invalid, but I think they err.) Starting point could be the attachment #13369 and something enhancement of the previous patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31298
[Bug target/32991] config/alpha/constraints.md is marked as mime-type
--- Comment #1 from hjl at gcc dot gnu dot org 2007-08-26 19:05 --- Subject: Bug 32991 Author: hjl Date: Sun Aug 26 19:04:09 2007 New Revision: 127815 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127815 Log: 2007-08-26 H.J. Lu [EMAIL PROTECTED] PR target/32991 * config/alpha/constraints.md: Delete svn:mime-type property with svn propdel svn:mime-type. Modified: trunk/gcc/ChangeLog trunk/gcc/config/alpha/constraints.md (props changed) Propchange: trunk/gcc/config/alpha/constraints.md ('svn:mime-type' removed) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32991
[Bug target/32991] config/alpha/constraints.md is marked as mime-type
--- Comment #2 from hjl at lucon dot org 2007-08-26 19:31 --- Fixed. -- hjl at lucon dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32991
[Bug middle-end/33181] [4.3 Regression] Revision 127766 generates bad cmov
--- Comment #11 from hjl at lucon dot org 2007-08-26 19:31 --- Fixed. -- hjl at lucon dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33181
[Bug middle-end/32758] [4.3 Regression] ecj1 hangs
--- Comment #11 from andreast at gcc dot gnu dot org 2007-08-26 21:28 --- compiling only java_raw_api.c with -O0 succeeds as well. So let us concentrate on this one. Speaking for darwin-ppc. Will retry tomorrow on ppc-linux. -- andreast at gcc dot gnu dot org changed: What|Removed |Added CC||andreast at gcc dot gnu dot ||org GCC target triplet|powerpc-darwin |powerpc-* Last reconfirmed|2007-08-06 20:34:34 |2007-08-26 21:28:27 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32758
[Bug middle-end/33199] New: [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
Revision 127763: http://gcc.gnu.org/ml/gcc-cvs/2007-08/msg00657.html caused FAIL: tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc execution test on Linux/i686. -- Summary: [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #1 from hjl at lucon dot org 2007-08-26 21:59 --- The patch is at http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01374.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug libfortran/33055] Runtime error in INQUIRE unit existance with -fdefault-integer-8
--- Comment #4 from jvdelisle at gcc dot gnu dot org 2007-08-26 22:05 --- Subject: Bug 33055 Author: jvdelisle Date: Sun Aug 26 22:04:48 2007 New Revision: 127817 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127817 Log: 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. PR libfortran/33055 * io/inquire.c (inquire_via_unit): If inquiring by unit, check for an error condition from the IOSTAT variable and set EXIST to false if there was a bad unit number. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-io.c trunk/libgfortran/ChangeLog trunk/libgfortran/io/inquire.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33055
[Bug target/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-08-26 22:12 --- I don't see the failure on i386-apple-darwin8.10 (with revision 127806) so this must be some target issue. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Component|middle-end |target Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug libfortran/33055] Runtime error in INQUIRE unit existance with -fdefault-integer-8
--- Comment #5 from jvdelisle at gcc dot gnu dot org 2007-08-26 22:19 --- Subject: Bug 33055 Author: jvdelisle Date: Sun Aug 26 22:19:18 2007 New Revision: 127819 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127819 Log: 2007-08-26 Jerry DeLisle [EMAIL PROTECTED] PR fortran/33055 * gfortran.dg/negative_unit.f: Add new check * gfortran.dg/negative_unit_int8.f: New. Same as above except use -fdefault-integer-8. Modified: trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33055
[Bug libfortran/33055] Runtime error in INQUIRE unit existance with -fdefault-integer-8
--- Comment #6 from jvdelisle at gcc dot gnu dot org 2007-08-26 22:24 --- Fixed on trunk. -- jvdelisle at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33055
[Bug testsuite/33153] FAIL: gcc.dg/pr32912-[12].c (test for excess errors)
--- Comment #4 from danglin at gcc dot gnu dot org 2007-08-26 23:20 --- The patch proposed here fixes the failures on hppa2.0w-hp-hpux11.11. However, I'm still left with the failure of pr32912-2.c on hppa64-hp-hpux*. The function foo is miscompiled: .align 8 L$C: .dword 0x .text .align 8 .globl foo .type foo, @function foo: .PROC .CALLINFO FRAME=0,NO_CALLS .ENTRY addil LT'L$C,%r27 ldd RT'L$C(%r1),%r31 ldd 0(%r31),%r28 bve (%r2) copy %r28,%r29 .EXIT .PROCEND This is foo after final_cleanup: ;; Function foo (foo) foo () { bb 2: return { 286331153, 572662306, 1145324612 }; } This is the RTL generated by expand: ;; ;; Full RTL generated for this function: ;; (note 1 0 4 NOTE_INSN_DELETED) ;; Start of basic block ( 0) - 2 ;; Pred edge ENTRY [100.0%] (fallthru) (note 4 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK) (insn 2 4 3 2 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (reg/f: DI 68) (reg/f:DI 61 virtual-incoming-args)) -1 (nil)) (note 3 2 5 2 NOTE_INSN_FUNCTION_BEG) ;; End of basic block 2 - ( 3) ;; Succ edge 3 [100.0%] (fallthru) ;; Start of basic block ( 2) - 3 ;; Pred edge 2 [100.0%] (fallthru) (note 5 3 6 3 [bb 3] NOTE_INSN_BASIC_BLOCK) (insn 6 5 7 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (reg:DI 71) (plus:DI (reg:DI 27 %r27) (high:DI (symbol_ref/u:DI (*L$C) [flags 0x2] -1 (nil)) (insn 7 6 8 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (reg/f: DI 70) (mem/u/c:DI (lo_sum:DI (reg:DI 71) (unspec:DI [ (symbol_ref/u:DI (*L$C) [flags 0x2]) ] 2)) [0 S8 A64])) -1 (expr_list:REG_EQUAL (symbol_ref/u:DI (*L$C) [flags 0x2]) (nil))) (insn 8 7 9 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (reg:DI 66 [ result ]) (mem/u/c/i:DI (reg/f:DI 70) [2 S8 A64])) -1 (expr_list:REG_EQUAL (const_ double 4919131751843889152 [0x] 1229782938533634594 [0x2 222] 0 [0x0] 0 [0x0]) (nil))) (insn 9 8 10 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (reg:D I 73) (plus:DI (reg:DI 27 %r27) (high:DI (symbol_ref/u:DI (*L$C) [flags 0x2] -1 (nil)) (insn 10 9 11 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (reg/ f:DI 72) (mem/u/c:DI (lo_sum:DI (reg:DI 73) (unspec:DI [ (symbol_ref/u:DI (*L$C) [flags 0x2]) ] 2)) [0 S8 A64])) -1 (expr_list:REG_EQUAL (symbol_ref/u:DI (*L$C) [flags 0x2]) (nil))) (insn 11 10 12 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (reg /f:DI 67 [ result+8 ]) (mem/u/c/i:DI (reg/f:DI 72) [2 S8 A64])) -1 (expr_list:REG_EQUAL (const_ double 4919131751843889152 [0x] 1229782938533634594 [0x2 222] 0 [0x0] 0 [0x0]) (nil))) (jump_insn 12 11 13 3 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:10 (set (pc) (label_ref 14)) -1 (nil)) ;; End of basic block 3 - ( 5) ;; Succ edge 5 [100.0%] (barrier 13 12 24) ;; Start of basic block () - 4 (note 24 13 17 4 [bb 4] NOTE_INSN_BASIC_BLOCK) (insn 17 24 18 4 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (clobber (reg:DI 28 %r28)) -1 (nil)) (insn 18 17 19 4 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (clobber (reg/f:DI 29 %r29)) -1 (nil)) (jump_insn 19 18 20 4 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (set (pc) (label_ref 21)) -1 (nil)) ;; End of basic block 4 - ( 6) ;; Succ edge 6 [100.0%] (barrier 20 19 14) ;; Start of basic block ( 3) - 5 ;; Pred edge 3 [100.0%] (code_label 14 20 25 5 1 [1 uses]) (note 25 14 15 5 [bb 5] NOTE_INSN_BASIC_BLOCK) (insn 15 25 16 5 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (set (reg :DI 28 %r28) (reg:DI 66 [ result ])) -1 (nil)) (insn 16 15 21 5 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (set (reg /f:DI 29 %r29) (reg/f:DI 67 [ result+8 ])) -1 (nil)) ;; End of basic block 5 - ( 6) ;; Succ edge 6 [100.0%] (fallthru) ;; Start of basic block ( 4 5) - 6 ;; Pred edge 4 [100.0%] ;; Pred edge 5 [100.0%] (fallthru) (code_label 21 16 26 6 2 [1 uses]) (note 26 21 22 6 [bb 6] NOTE_INSN_BASIC_BLOCK) (insn 22 26 23 6 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (use (reg :DI 28 %r28)) -1 (nil)) (insn 23 22 0 6 /test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr32912-2.c:13 (use (reg/ f:DI 29 %r29)) -1 (nil)) ;; End of basic block 6 - ( 1) ;; Succ edge EXIT [100.0%] (fallthru) There isn't any increment in the memory addressing for the two halves of the vector. I'm also concerned about using .dword for a 128 bit value. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33153
[Bug target/33184] [4.3 Regression] m32c: ostream.tcc:92: error: unable to find a register to spill in class 'A_REGS'
--- Comment #1 from patchapp at dberlin dot org 2007-08-27 00:15 --- Subject: Bug number PR target/33184 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01760.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33184
[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
--- Comment #3 from hjl at lucon dot org 2007-08-27 01:27 --- Revision 127763 removed varargs_function_p call for C++. I tried this patch: Index: tree-inline.c === --- tree-inline.c (revision 127763) +++ tree-inline.c (working copy) @@ -1843,6 +1843,18 @@ egress: return ret; } +/* Does FUNCTION use a variable-length argument list? */ + +static int +varargs_function_p (tree function) +{ + tree parm = TYPE_ARG_TYPES (TREE_TYPE (function)); + for (; parm; parm = TREE_CHAIN (parm)) +if (TREE_VALUE (parm) == void_type_node) + return 0; + return 1; +} + /* Returns nonzero if FN is a function that does not have any fundamental inline blocking properties. */ @@ -1881,6 +1893,9 @@ inlinable_function_p (tree fn) DECL_REPLACEABLE_P (fn)) inlinable = false; + else if (varargs_function_p (fn)) +inlinable = false; + else if (!function_attribute_inlinable_p (fn)) { if (do_warning) and it fixes the regression. -- hjl at lucon dot org changed: What|Removed |Added Component|target |middle-end http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199
[Bug other/33200] New: install fails when trying to install fix-header since fix-header wasn't built
fix-header doesn't appear to be built during a canadian cross, but the install phase tries to install it anyway. Build log excerpt: if [ xstmp-install-fixproto != x ] ; then \ /usr/bin/install -c /bin/sh /tmp/avr-gcc/src/gcc-4.1.2/gcc/../mkinstalldirs \ /tmp/avr-gcc/tmp/ppc/usr/local/avr/libexec/gcc/avr/4.1.2/install-tools/mkinstalldirs ; \ /usr/bin/install -c /tmp/avr-gcc/src/gcc-4.1.2/gcc/fixproto /tmp/avr-gcc/tmp/ppc/usr/local/avr/libexec/gcc/avr/4.1.2/install-tools/fixproto ; \ /usr/bin/install -c build/fix-header \ /tmp/avr-gcc/tmp/ppc/usr/local/avr/libexec/gcc/avr/4.1.2/install-tools/fix-header ; \ else :; fi usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 file2 install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 ... fileN directory install -d [-v] [-g group] [-m mode] [-o owner] directory ... install: build/fix-header: No such file or directory make[3]: *** [install-mkheaders] Error 71 make[2]: *** [install-gcc] Error 2 make[1]: *** [install] Error 2 make: *** [install] Error 2 -- Summary: install fails when trying to install fix-header since fix-header wasn't built Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kc8apf at kc8apf dot net GCC build triplet: i686-apple-darwin8 GCC host triplet: powerpc-apple-darwin8 GCC target triplet: avr-unknown-none http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33200
[Bug other/33200] install fails when trying to install fix-header since fix-header wasn't built
--- Comment #1 from kc8apf at kc8apf dot net 2007-08-27 02:40 --- Created an attachment (id=14119) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14119action=view) Full build log Attaching full build log. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33200