[Bug c/41531] New: -O1 -fschedule-insns swscale error
x86_64-w64-mingw32-gcc -DHAVE_AV_CONFIG_H -I.. -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -O1 -fschedule-insns -MMD -MF swscale.d -MT swscale.o -save-temps -c -o swscale.o swscale.c Error on both 4_4-branch and trunk The error message of 4_4-branch is different: swscale.c: In function 'sws_scale': swscale.c:3199: error: unable to find a register to spill in class 'CREG' swscale.c:3199: error: this is the insn: (insn 446 466 432 53 swscale.c:3186 (parallel [ (set (reg:SI 39 r10 [254]) (ashiftrt:SI (reg:SI 39 r10 [orig:251 variable.dstH ] [251]) (subreg:QI (reg:SI 43 r14 [orig:255 variable.chrDstVSubSample ] [255]) 0))) (clobber (reg:CC 17 flags)) ]) 523 {*ashrsi3_1} (expr_list:REG_DEAD (reg:SI 43 r14 [orig:255 variable.chrDstVSubSample ] [255]) (expr_list:REG_DEAD (reg:SI 39 r10 [orig:251 variable.dstH ] [251]) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_EQUAL (ashiftrt:SI (mem/s/j:SI (plus:DI (reg/v/f:DI 3 bx [orig:103 c ] [103]) (const_int 24 [0x18])) [0 variable.dstH+0 S4 A64]) (subreg:QI (reg:SI 43 r14 [orig:255 variable.chrDstVSubSample ] [255]) 0)) (nil)) swscale.c:3199: confused by earlier errors, bailing out trunk: swscale.s: Assembler messages: swscale.s:19090: Error: suffix or operands invalid for `cmp' swscale.s:19151: Error: suffix or operands invalid for `cmp' swscale.s:19320: Error: suffix or operands invalid for `cmp' swscale.s:19355: Error: suffix or operands invalid for `cmp' -- Summary: -O1 -fschedule-insns swscale error Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: t7 at gmail dot com GCC build triplet: i486-slackware-linux GCC host triplet: x86_64-w64-mingw32 GCC target triplet: x86_64-w64-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41531
[Bug c/41531] -O1 -fschedule-insns swscale error
--- Comment #1 from t7 at gmail dot com 2009-10-01 06:50 --- Created an attachment (id=18684) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18684action=view) Preprocessed test case. gcc version 4.5.0 20090928 Revision 152257 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41531
[Bug rtl-optimization/24319] [4.3/4.4/4.5 regression] amd64 register spill error with -fschedule-insns
--- Comment #24 from pinskia at gcc dot gnu dot org 2009-10-01 06:55 --- *** Bug 41531 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||t7 at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24319
[Bug target/41531] -O1 -fschedule-insns swscale error
--- Comment #2 from pinskia at gcc dot gnu dot org 2009-10-01 06:55 --- x86_64 and x86 has issues with pre-RA scheduling pass because of register requirements of the target. *** This bug has been marked as a duplicate of 24319 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Component|c |target Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41531
[Bug c/41458] Inefficient write of 32 bit value to 16 bit volatile on ARM
--- Comment #1 from ramana at gcc dot gnu dot org 2009-10-01 07:03 --- confirmed with trunk. -- ramana at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-10-01 07:03:42 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41458
[Bug c++/41524] gcc generates invalid instructions when used with -m32 -fprofile-generate
-- ubizjak at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41524
[Bug libfortran/35862] [F2003] Implement new rounding modes for run time
--- Comment #10 from burnus at gcc dot gnu dot org 2009-10-01 07:35 --- (In reply to comment #9) Rounding modes are now implemented for formatted WRITE operations. I do not have a clear enough idea of what the rounding modes really mean for READ operations. For example: Rounding is done for all I/O, including input. For example, if you have: read (0.1, *, rounding=up) x read (0.1, *, rounding=down) y then you will have x == nearest(y, -1.) For REAL(8) I would expect for 0.1_8 with rounding up and down: 0.10001 9.99917E-002 or written as binary: 1110111001100110011001100110011001100110011001100110011010 (= 0.1 rnd up) 1110111001100110011001100110011001100110011001100110011001 (= 0.1 rnd down) Is this really what is meant by rounding up or down? I think so. The internal representation of .1 may already be rounded up or down from a binary representation that carried more bits in the conversion process. If we do not have access to more bits, how are we to know whether it is not already half way in between Well, the rounding has to be based on the string (= decimal) number; if you already have a binary number, it is too late. Similarly with nearest. Using nearest with -1. in this example only works if you know that read automatically rounds up for 0.1. * * * Handling this efficiently and reliably is presumably nontrivial. See for instance: http://netlib.org/fp/ (esp. http://netlib.org/fp/gdtoa.tgz) http://dx.doi.org/10.1145/989393.989430 http://www.informatik.uni-trier.de/Reports/TR-08-2004/rnc6_10_hack.pdf and references therein. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35862
[Bug target/41514] redundant compare instruction of consecutive conditional branches
--- Comment #3 from carrot at google dot com 2009-10-01 07:37 --- (In reply to comment #2) Where does it come from? (Remember: option -dAP, then look at .s file) The first several instructions and corresponding rtl patterns are: cmp r0, #63 beq .L3 cmp r0, #63 bhi .L4 (jump_insn 8 3 35 src/./test5.c:3 (set (pc) (if_then_else (eq (reg/v:SI 0 r0 [orig:135 ch ] [135]) (const_int 63 [0x3f])) (label_ref 18) (pc))) 201 {*cbranchsi4_insn} (expr_list:REG_BR_PROB (const_int 2900 [0xb54]) (nil)) - 18) (note 35 8 9 [bb 3] NOTE_INSN_BASIC_BLOCK) (jump_insn 9 35 36 src/./test5.c:3 (set (pc) (if_then_else (gtu (reg/v:SI 0 r0 [orig:135 ch ] [135]) (const_int 63 [0x3f])) (label_ref 14) (pc))) 201 {*cbranchsi4_insn} (expr_list:REG_BR_PROB (const_int 5000 [0x1388]) (nil)) - 14) In thumb's instruction patterns, compare and branch instructions can't be expressed separately. So we can't easily remove the second compare instruction in middle end. I just noticed the second conditional branch (larger than 63) is totally unnecessary if we compare the equality with 63, 45, 47, 99 one by one. This is another missed optimization exposed by this test case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41514
[Bug c++/41533] New: ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
This macro chooses the encoding of pointers embedded in the exception handling sections. It needed to generate correct .cfi_personality derective. Without it we always have TEXTREL in C++ shared libraries and PIE, if it compiled with exceptions. -- Summary: ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kirill at shutemov dot name GCC build triplet: arm-none-linux-gnueabi GCC host triplet: arm-none-linux-gnueabi GCC target triplet: arm-none-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
--- Comment #1 from kirill at shutemov dot name 2009-10-01 08:02 --- Created an attachment (id=18686) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18686action=view) Implement ASM_PREFERRED_EH_DATA_FORMAT macros for ARM This macro chooses the encoding of pointers embedded in the exception handling sections. It needed to generate correct .cfi_personality derective. Without it we always have TEXTREL in C++ shared libraries and PIE, if it compiled with exceptions. Signed-off-by: Kirill A. Shutemov kir...@shutemov.name -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
--- Comment #2 from ubizjak at gmail dot com 2009-10-01 08:21 --- Patches should be posted to gcc-patches mailing list. BTW: Where is the bug in your PR submission? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug target/40757] gcc 4.4.0 miscompiles mpfr-2.4.1
--- Comment #26 from david dot kirkby at onetel dot net 2009-10-01 08:34 --- I should have added this some time back, but Sun have confirmed this is a bug. I should have a IDR from Sun myself in a couple of weeks, and a patch will be on sunsolve some time after that. It will be fixed in Solaris 10 update 8. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40757
[Bug other/39888] TLS emutls not linked to automatically on Darwin
--- Comment #55 from developer at sandoe-acoustics dot co dot uk 2009-10-01 08:36 --- (In reply to comment #54) The new libgcc_s.dylib appears to be only of the native target architecture... it's best thought of not as new but different - it's the target for the Makefile libgcc_s$(SHLIB_EXT). In fact, we used to have intermediate targets (xxx.dylib.tmp) which you will see are no longer present. if you check the ***gcc directories, you will see that this intermediate file is not installed in the staging - nor is it installed by make install. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888
[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
--- Comment #3 from jakub at gcc dot gnu dot org 2009-10-01 08:37 --- AFAIK arm*-*-linux*eabi uses its own unwinding format, so it shouldn't be using .cfi_* directives at all. It should force -fno-dwarf2-cfi-asm... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
--- Comment #4 from ramana at gcc dot gnu dot org 2009-10-01 09:02 --- Is it correct to generate .eh_frame for the arm-linux-gnueabi target ? Shouldn't this rather be the ARM EABI exception handling tables instead ? -fno-dwarf2-cfi-asm might be a workaround. I've seen a couple of bug reports where this was the problem. cheers Ramana -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug c++/41503] function_parameter_expanded_from_pack_p segfaults when passed a PARM_DECL created by IPA-SRA
--- Comment #5 from jamborm at gcc dot gnu dot org 2009-10-01 09:31 --- Subject: Bug 41503 Author: jamborm Date: Thu Oct 1 09:31:08 2009 New Revision: 152365 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152365 Log: 2009-10-01 Martin Jambor mjam...@suse.cz PR c++/41503 * cp/pt.c (function_parameter_expanded_from_pack_p): Return false if DECL_ARTIFICIAL (param_decl) is true. Modified: trunk/gcc/ChangeLog trunk/gcc/cp/pt.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41503
[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
--- Comment #5 from kirill at shutemov dot name 2009-10-01 10:07 --- Ok. If .eh_frame should not be generated on ARM, we should to modify dwarf2out_do_cfi_asm() to always return false on ARM. Right? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
--- Comment #6 from ramana at gcc dot gnu dot org 2009-10-01 10:54 --- (In reply to comment #5) Ok. If .eh_frame should not be generated on ARM, we should to modify dwarf2out_do_cfi_asm() to always return false on ARM. Right? Look at this patch submitted here. Can you try this to see if it works for you ? http://gcc.gnu.org/ml/gcc-patches/2009-10/msg00022.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug c++/41533] ASM_PREFERRED_EH_DATA_FORMAT macros is not implemented for ARM
--- Comment #7 from kirill at shutemov dot name 2009-10-01 11:08 --- Looks ok for me. I'll test it, but it takes some time. I'll report results tomorrow. This patch also fixes #40521, I guess. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41533
[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap
--- Comment #44 from jamborm at gcc dot gnu dot org 2009-10-01 11:30 --- Subject: Bug 41395 Author: jamborm Date: Thu Oct 1 11:30:12 2009 New Revision: 152366 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152366 Log: 2009-10-01 Martin Jambor mjam...@suse.cz PR bootstrap/41395 * tree-sra.c (is_va_list_type): New function. (find_var_candidates): Call is_va_list_type. (find_param_candidates): Check that the type or the type pointed to are not va_list types. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-sra.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41395
[Bug c++/41534] New: C++ FE gives names to anonymous things
The C++ FE insists on giving TYPE_NAMEs to things like anonymous unions. This confuses type compatibility checks in LTO which now needs to workaround this duplicating the ANON_AGGRNAME_FORMAT logic from cp/cp-tree.h Maybe the C++ FE should free those names in the free_lang_data langhook. What does it need the names for? Mangling? -- Summary: C++ FE gives names to anonymous things Product: gcc Version: lto Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ 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=41534
[Bug middle-end/12392] very long optimized compile
--- Comment #29 from jamborm at gcc dot gnu dot org 2009-10-01 11:48 --- Subject: Bug 12392 Author: jamborm Date: Thu Oct 1 11:48:24 2009 New Revision: 152368 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152368 Log: 2009-10-01 Martin Jambor mjam...@suse.cz PR middle-end/12392 * tree-sra.c (convert_callers): Do not call compute_inline_parameters on one caller more than once. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-sra.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12392
[Bug target/41531] -O1 -fschedule-insns swscale error
--- Comment #3 from lucier at math dot purdue dot edu 2009-10-01 13:19 --- This is not the same problem as 24319. Vlad thinks he fixed 24319, and indeed the problem in this bug report from 4.4 is gone. The reported problem in 4.5 is different. Don't turn 234319 into a grab bag of any problem that arises when using -fschedule-insns. And, again, I can't reopen this bug. Brad -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41531
[Bug other/39888] TLS emutls not linked to automatically on Darwin
--- Comment #56 from howarth at nitro dot med dot uc dot edu 2009-10-01 13:59 --- Okay. So no problem. What do you think is the best way to default on libgcc-ext? Just using... Index: gcc/config/darwin.h === --- gcc/config/darwin.h (revision 152370) +++ gcc/config/darwin.h (working copy) @@ -388,14 +388,14 @@ If it is linked against, it has to be before -lgcc, because it may need symbols from -lgcc. */ #undef REAL_LIBGCC_SPEC -#define REAL_LIBGCC_SPEC \ - %{static-libgcc|static: -lgcc_eh -lgcc; \ - shared-libgcc|fexceptions|fgnu-runtime: \ - %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4) \ - %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ - -lgcc; \ - :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ - %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ +#define REAL_LIBGCC_SPEC \ + %{static-libgcc|static: -lgcc_eh -lgcc; \ + shared-libgcc|fexceptions|fgnu-runtime: \ + %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4 -lgcc_ext.10.4)\ + %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 -lgcc_ext.10.5)\ + -lgcc; \ + :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4 -lgcc_ext.10.4) \ + %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 -lgcc_ext.10.5)\ -lgcc} /* We specify crt0.o as -lcrt0.o so that ld will search the library path. ...perhaps? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888
[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap
--- Comment #45 from jamborm at gcc dot gnu dot org 2009-10-01 14:47 --- Right, so I belieive all problems that were reported here (and were indeed relevant to IPA-SRA) are now dealt with. x86_64 and i386 bootstraps and checks nicely with both yes and release checking, alpha bootstraps too and I also tested IA64. As far as I can tell, bootstrapped gcc has debug info in order. Thus I will ask Richi when to enable IPA-SRA by default at -O2. Thanks everyone for your cooperation and patience. -- jamborm at gcc dot gnu dot org changed: What|Removed |Added BugsThisDependsOn|41089, 41463| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41395
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #16 from howarth at nitro dot med dot uc dot edu 2009-10-01 15:41 --- It looks like this problem isn't strictly target specific (although we are the only target currently impacted). If TARGET_ASM_EMIT_UNWIND_LABEL as defined needs to support passing SECOND, both the default_emit_unwind_label() and darwin_emit_unwind_label() prototypes would have to be revised to support this additional variable as well as any place they are called from to properly support hot/cold partitioning. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug debug/40521] [4.4/4.5 Regression] -g causes GCC to generate .eh_frame
--- Comment #5 from jakub at gcc dot gnu dot org 2009-10-01 15:44 --- http://sources.redhat.com/ml/binutils/2009-10/msg00028.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40521
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #17 from howarth at nitro dot med dot uc dot edu 2009-10-01 15:55 --- (In reply to comment #15) Yeah, the patch in #11 is about the right for half the problem (darwin10), if it weren't for ld's warning message. I don't know quite why it is doing that, so guess we'll just have to nix that idea. So, the next best thing would be to just turn off hot/cold partitioning for darwin. In override_option in darwin.c, just do hot_cold = 0. Won't disabling hot/cold partitioning for darwin potentially degrade the code generation at -O3 or is this issue limited to -freorder-blocks-and-partition only? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug middle-end/41535] New: Broken var location info after scheduling
On s390x I see broken debug info generated for the attached C++ testcase (compile with -O2 -g -fPIC). The debug info contains a symbol reference with a @GOTENT modifier what should not happen (and is not accepted by gas): .LLST3: .8byte .LVL3-.Ltext0 .8byte .LVL4-.Ltext0 .2byte 0xa .byte 0x9e .uleb128 0x8 .8byte _ztist12future_er...@gotent .8byte 0x0 .8byte 0x0 The problem is that the sched2 pass breaks the variable location information by moving an insn setting r1 over a var_location debug insn describing a variable location as being r1. in 202.split4: 29: var_location r10 33: var_location r13 + 8 34: var_location r10 30: r1 = (A got entry) 31: r1 = [r1] 83: [r13] = r2 32: r1 = [r1] 35: var_location A = r1 -- problematic location information 36: [r13 + 8] = r10 37: [r13 + 16] = r1 79: r1 = (B got entry) 41: r3 = [r1] in 203.sched2: ... 32: r1 = [r1] 37: [r13 + 16] = r1 79: r1 = (B got entry) -- insn moved over 35 83: [r13] = r2 29: var_location r10 33: var_location r13 + 8 34: var_location r10 35: var_location r1 !!! the variable location gets corrupted since insn 79 has been moved over it 36: [r13 + 8] = r10 41: r3 = [r1] The variable locations are intended to stay right after the insn which does the relevant assignment by generating an ANTI dep between them but we also create deps between unrelated insns: sched-deps.c:2790 if (prev NONDEBUG_INSN_P (prev)) add_dependence (insn, prev, REG_DEP_ANTI); This code creates a dependency between 83 and 29 (although the assignment is unrelated). This together with the fact that all debug insns are always been kept from being moved over each other makes all the debug insns to get stuck after insn 83. Although in order to keep the information correct insn 35 has to stay after 32. -- Summary: Broken var location info after scheduling Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: krebbel at gcc dot gnu dot org GCC build triplet: s390x-ibm-linux GCC host triplet: s390x-ibm-linux GCC target triplet: s390x-ibm-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41535
[Bug middle-end/41535] Broken var location info after scheduling
--- Comment #1 from krebbel at gcc dot gnu dot org 2009-10-01 15:58 --- Created an attachment (id=18687) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18687action=view) Testcase Compile with -O2 -fPIC -g -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41535
[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines
--- Comment #4 from burnus at gcc dot gnu dot org 2009-10-01 16:06 --- Subject: Bug 41515 Author: burnus Date: Thu Oct 1 16:05:48 2009 New Revision: 152377 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152377 Log: 2009-10-01 Tobias Burnus bur...@net-b.de PR fortran/41515 * decl.c (do_parm): Call add_init_expr_to_sym. 2009-10-01 Tobias Burnus bur...@net-b.de PR fortran/41515 * gfortran.dg/parameter_array_init_5.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/decl.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41515
[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines
--- Comment #5 from burnus at gcc dot gnu dot org 2009-10-01 16:09 --- Subject: Bug 41515 Author: burnus Date: Thu Oct 1 16:09:13 2009 New Revision: 152378 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152378 Log: 2009-10-01 Tobias Burnus bur...@net-b.de PR fortran/41515 * decl.c (do_parm): Call add_init_expr_to_sym. 2009-10-01 Tobias Burnus bur...@net-b.de PR fortran/41515 * gfortran.dg/parameter_array_init_5.f90: New test. Added: branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90 Modified: branches/gcc-4_4-branch/gcc/fortran/ChangeLog branches/gcc-4_4-branch/gcc/fortran/decl.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41515
[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines
--- Comment #6 from burnus at gcc dot gnu dot org 2009-10-01 16:11 --- Subject: Bug 41515 Author: burnus Date: Thu Oct 1 16:10:49 2009 New Revision: 152379 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152379 Log: 2009-10-01 Tobias Burnus bur...@net-b.de PR fortran/41515 * decl.c (do_parm): Call add_init_expr_to_sym. 2009-10-01 Tobias Burnus bur...@net-b.de PR fortran/41515 * gfortran.dg/parameter_array_init_5.f90: New test. Added: branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/parameter_array_init_5.f90 Modified: branches/gcc-4_3-branch/gcc/fortran/ChangeLog branches/gcc-4_3-branch/gcc/fortran/decl.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41515
[Bug fortran/41515] [4.3/4.4/4.5 Regression] PARAMETER statement in module subroutines
--- Comment #7 from burnus at gcc dot gnu dot org 2009-10-01 16:12 --- FIXED for GCC 4.5 (trunk), 4.4 and 4.3. Thanks for the bugreport! -- 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=41515
[Bug c++/41536] New: always_inline does not work always with constructors
The following testcase fails: // { dg-do compile } struct f { inline f(void); inline void f1(void); int a; }; inline __attribute__((always_inline)) f::f(void) { a++; } inline __attribute__((always_inline)) void f::f1(void) { a++; } void g(void) { f a, b, c, d; a.f1(); } // f::f() should be inlined even at -O0 // { dg-final { scan-assembly-not _ZN1fC1Ev } } // Likewise for f::f1() // { dg-final { scan-assembly-not _ZN1f2f1Ev } } --- CUT --- _ZN1fC1Ev is being defined in the source still and not being inlined. -- Summary: always_inline does not work always with constructors Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41536
[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc
--- Comment #5 from armin76 at gentoo dot org 2009-10-01 16:22 --- (In reply to comment #4) ATM i'm trying this: -build gcc-4.4 using STAGE1_CFLAGS=-O2 with gcc-4.3, then build gcc-4.4 with newly-built gcc-4.4 with STAGE1_CFLAGS=-O Will let you know, i'll attach the full build log meanwhile Same result, will attach the build log now -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41500
[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc
--- Comment #6 from armin76 at gentoo dot org 2009-10-01 16:26 --- Created an attachment (id=18688) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18688action=view) config.log config.log from build/armv5tel-unknown-linux-gnueabi/libgcc -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41500
[Bug target/41531] -O1 -fschedule-insns swscale error
--- Comment #4 from ubizjak at gmail dot com 2009-10-01 16:28 --- (In reply to comment #3) This is not the same problem as 24319. Vlad thinks he fixed 24319, and indeed the problem in this bug report from 4.4 is gone. The reported problem in 4.5 is different. Don't turn 234319 into a grab bag of any problem that arises when using -fschedule-insns. And, again, I can't reopen this bug. OK, ok, lets' reopen this PR and leave to Vlad to decide. BTW: The test doesn't fail for x86_64-linux with or without -m32. Annoying. -- ubizjak at gmail dot com changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|DUPLICATE | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41531
[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc
--- Comment #7 from armin76 at gentoo dot org 2009-10-01 16:28 --- Created an attachment (id=18689) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18689action=view) config.log from buildir -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41500
[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc
--- Comment #8 from armin76 at gentoo dot org 2009-10-01 16:33 --- Created an attachment (id=18690) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18690action=view) build.log And the build log. So, i ran this: ../gcc-4.4.1/configure --enable-languages=c,c++,fortran --with-float=soft make LDFLAGS=-Wl,-O1 STAGE1_CFLAGS=-O LIBPATH=/usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.4.1 'BOOT_CFLAGS= -march=armv5te -pipe -O2' bootstrap-lean Next: Try with debian -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41500
[Bug target/41176] ICE in reload_cse_simplify_operands at postreload.c:396
--- Comment #3 from ubizjak at gmail dot com 2009-10-01 16:39 --- Can you check if this problem is a regression from 4.2+? Although ICEs are not welcomed, regression status would put more weight on the PR. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41176
[Bug fortran/41494] [4.5 Regression] temp and memcpy used when zeroing array
--- Comment #3 from burnus at gcc dot gnu dot org 2009-10-01 16:43 --- I wonder why it uses the extra temporary - that shouldn't be necessary. The big question is only: Are there cases where one needs to call gfc_evaluate_now? * * * For completeness, that part was added by the commits: http://gcc.gnu.org/viewcvs?view=revisionrevision=150817 2009-08-17 Richard Guenther rguent...@suse.de * trans-expr.c (gfc_trans_scalar_assign): Replace hack with more proper hack. URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=151576 2009-09-09 Richard Guenther rguent...@suse.de PR fortran/41297 * trans-expr.c (gfc_trans_scalar_assign): Correct typo that left 'tmp' unused in derived type assignment. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41494
[Bug target/41531] -O1 -fschedule-insns swscale error
--- Comment #5 from ubizjak at gmail dot com 2009-10-01 16:59 --- (In reply to comment #3) This is not the same problem as 24319. Vlad thinks he fixed 24319, and indeed the problem in this bug report from 4.4 is gone. The reported problem in 4.5 is different. Oh, I have noticed that 4.5 has different problem, involving assembler errors. From attached assembler: /APP # 912 swscale_template.c 1 lea 11*8+4*4*256(%rdi), %rdx stuff deleted ... cmp %r15d, %rax more stuff deleted ... jb 1b # 0 2 /NO_APP This simply means invalid asm constraints or operand prefixes in asm. Thus, WONTFIX for 4.4 and INVALID for 4.5. -- ubizjak at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41531
[Bug c++/41536] always_inline does not work always with constructors
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-10-01 17:04 --- Here is the fix I am working for: Index: optimize.c === --- optimize.c (revision 152380) +++ optimize.c (working copy) @@ -199,6 +199,7 @@ maybe_clone_body (tree fn) DECL_VISIBILITY (clone) = DECL_VISIBILITY (fn); DECL_VISIBILITY_SPECIFIED (clone) = DECL_VISIBILITY_SPECIFIED (fn); DECL_DLLIMPORT_P (clone) = DECL_DLLIMPORT_P (fn); + DECL_ATTRIBUTES (clone) = DECL_ATTRIBUTES (fn); /* Adjust the parameter names and locations. */ parm = DECL_ARGUMENTS (fn); -- pinskia at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-10-01 17:04:40 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41536
[Bug other/39888] TLS emutls not linked to automatically on Darwin
--- Comment #57 from developer at sandoe-acoustics dot co dot uk 2009-10-01 17:22 --- (In reply to comment #56) Okay. So no problem. What do you think is the best way to default on libgcc-ext? Just using... I'm reg-testing on powerpc-apple-d8, i686-apple-d9 and x86_64-apple-d10 with this: Index: gcc/config/darwin.h === --- gcc/config/darwin.h (revision 152363) +++ gcc/config/darwin.h (working copy) @@ -391,12 +391,16 @@ #define REAL_LIBGCC_SPEC \ %{static-libgcc|static: -lgcc_eh -lgcc; \ shared-libgcc|fexceptions|fgnu-runtime: \ - %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4) \ - %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ + %:version-compare(! 10.5 mmacosx-version-min= -lgcc_s.10.4 ) \ + %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 ) \ + %:version-compare(! 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ + %:version-compare(= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ -lgcc; \ - :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ - %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ - -lgcc} + :%:version-compare( 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4 ) \ + %:version-compare(= 10.5 mmacosx-version-min= -lgcc_s.10.5 ) \ + %:version-compare(! 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ + %:version-compare(= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ + -lgcc } /* We specify crt0.o as -lcrt0.o so that ld will search the library path. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888
[Bug target/41482] ICE in libgfortran arm thumb multilib compile
--- Comment #1 from kargl at gcc dot gnu dot org 2009-10-01 17:28 --- This looks like a middle-end or target specific problem. Changed component from libfortran to target. -- kargl at gcc dot gnu dot org changed: What|Removed |Added Component|libfortran |target http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41482
[Bug fortran/41408] Segmentation fault calling DGETRF from gfortran
--- Comment #4 from kargl at gcc dot gnu dot org 2009-10-01 17:30 --- (In reply to comment #2) Subject: Re: Segmentation fault calling DGETRF from gfortran Well, that's an embarrassing mistake. My apologies. For some reason the example code does run correctly for G95. In my (much larger) program I do call DGETRF correctly, and get a segmentation fault when using gfortran but not G95. I will continue to look at it. Obviously I have not isolated the problem. Sorry for the trouble. Have you made any progress on this issue? Trying compiling everything with -Wall and -fbounds-check -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41408
[Bug fortran/41459] Error not printed with -Werror and -fmax-errors=1
--- Comment #5 from kargl at gcc dot gnu dot org 2009-10-01 17:25 --- A backport to 4.4 revealed a problem within the dejagnu test framework. gfortran.dg/empty_label.f would fail for no apparent/reported reason. So, no backport from me. -- kargl at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41459
[Bug c++/41536] always_inline does not work always with constructors
--- Comment #2 from pinskia at gcc dot gnu dot org 2009-10-01 17:46 --- DECL_DISREGARD_INLINE_LIMITS (clone) = DECL_DISREGARD_INLINE_LIMITS (fn); needs to be done too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41536
[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc
--- Comment #9 from armin76 at gentoo dot org 2009-10-01 18:01 --- (In reply to comment #8) Next: Try with debian Ok, installed a squeeze chroot, installed gcc-4.4 with apt-get install gcc-4.4, built gcc-4.4.1 with the same configure line and stuff, and it also fails. Tell me if you need more info, i'll try to debug it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41500
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #18 from mrs at apple dot com 2009-10-01 19:14 --- Yes. If someone wants to propose a better solution, they will... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug other/39888] TLS emutls not linked to automatically on Darwin
--- Comment #58 from mrs at apple dot com 2009-10-01 19:18 --- Seems reasonable. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888
[Bug bootstrap/41500] [4.4 Regression] ARM: 4.4 compiler segfault when compiling gcc
--- Comment #10 from laurent at guerby dot net 2009-10-01 19:37 --- Starting with $ /tmp/gcc-4.4.1-install/bin/gcc -v Using built-in specs. Target: armv5tel-unknown-linux-gnueabi Configured with: /home/mikpe/gcc-4.4.1/configure --prefix=/tmp/gcc-4.4.1-install --with-arch=armv5te --with-tune=xscale --disable-nls --disable-shared --disable-libmudflap --enable-threads=posix --enable-checking=release --enable-languages=c,ada Thread model: posix gcc version 4.4.1 (GCC) I successfully bootstraped gcc-4.4.1: ../gcc-4.4.1/configure --prefix=/n/55/guerby/install-4.4.1 --enable-languages=c -enable-__cxa_atexit --disable-nls --enable-threads=posix --with-mpfr=/opt/cfarm/mpfr-2.4.1/ --disable-multilib --disable-libmudflap nohup make And with this new 4.4.1 installed in PATH, a new compilation of 4.4.1: ../gcc-4.4.1/configure --prefix=/n/55/guerby/install-4.4.1-bis --enable-languages=c -enable-__cxa_atexit --disable-nls --enable-threads=posix --with-mpfr=/opt/cfarm/mpfr-2.4.1/ --disable-multilib --disable-libmudflap nohup make b.log is in stage3 so likely to succeed. I use binutils GNU ld (GNU Binutils) 2.19.51.20090423 (from CVS at the time, just after relax patches went in). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41500
[Bug target/41176] ICE in reload_cse_simplify_operands at postreload.c:396
--- Comment #5 from lucier at math dot purdue dot edu 2009-10-01 19:43 --- No ICE with 4.3.3, either, but there is an ICE with Target: ppc64-redhat-linux gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41176
[Bug target/41176] [4.4/4.5 Regression] ICE in reload_cse_simplify_operands at postreload.c:396
--- Comment #6 from ubizjak at gmail dot com 2009-10-01 19:57 --- Confirmed, regression. -- ubizjak at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-10-01 19:57:34 date|| Summary|ICE in |[4.4/4.5 Regression] ICE in |reload_cse_simplify_operands|reload_cse_simplify_operands |at postreload.c:396 |at postreload.c:396 Target Milestone|--- |4.4.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41176
[Bug c/41537] A syntax error for function defination
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-10-01 20:04 --- This is a valid variable array definition in GNU C90. It creates an array that is zero sized called funcA. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41537
[Bug libfortran/35862] [F2003] Implement new rounding modes for run time
--- Comment #11 from dominiq at lps dot ens dot fr 2009-10-01 20:18 --- There is probably a bug with round to nearest for values below 1: print '(RN, 4F10.3)', 0.0625, 0.1875 print '(RN, 4F10.2)', 0.125, 0.375, 1.125, 1.375 print '(RN, 4F10.1)', 0.25, 0.75, 1.25, 1.75 print '(RN, 4F10.0)', 0.5, 1.5, 2.5, 3.5 end gives 0.063 0.188 0.13 0.38 1.12 1.38 0.3 0.8 1.2 1.8 1.2.2.4. ifort gives (what I was expecting): 0.062 0.188 0.12 0.38 1.12 1.38 0.2 0.8 1.2 1.8 0.2.2.4. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35862
[Bug rtl-optimization/9085] Unable to find register to spill when optimizing
--- Comment #11 from ubizjak at gmail dot com 2009-10-01 20:51 --- None of the testcases fail anymore with GCC: (GNU) 4.5.0 20091001 (experimental) [trunk revision 152374]. The testcase from #7 produces: foo: pushl %ebp movl%esp, %ebp pushl %ebx movl%eax, %ecx movl8(%ebp), %eax movl$3, %edx movl%edx, %ebx cltd idivl %ebx movl%edx, (%ecx) popl%ebx leave ret -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9085
[Bug inline-asm/41538] New: Mixing ARM/NEON intrinsic variables and inline assembly
Trying to peg C intrinsic variables (for ARM/NEON) to a specific 128-bit register (e.g. q0-q15) does not work at all. For example, register int16x8_t v0 asm (q0); // q0=d0-d1 register int16x8_t v1 asm (q1); // q1=d2-d3 is totally ignored yet compiles without warning. If I try the front door, int16x8x2_t v8; asm volatile ( vmulq.s16 q2, %1, %2\n\t vshrn.i16 %0, q2, #13\n\t : =r (v0) : r (v8.val[0]), r (v8.val[1]) : d4, d5, q2 ); it tries to use r registers. See the error: /tmp/ccmAG4Ya.s:321: Error: Neon double or quad precision register expected - `vmulq.s16 q2,r2,r8' /tmp/ccmAG4Ya.s:322: Error: bad instruction `vshln.i16 r2,q2,#1' This makes mixing C and inline assembly nearly impossible for NEON code. -- Summary: Mixing ARM/NEON intrinsic variables and inline assembly Product: gcc Version: unknown Status: UNCONFIRMED Severity: major Priority: P3 Component: inline-asm AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gmcgrath at yahoo dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41538
[Bug fortran/41478] Corrupted memory using PACK for derived-types with allocated components
--- Comment #8 from burnus at gcc dot gnu dot org 2009-10-01 21:21 --- Minimal test case: program main type :: container_t integer, allocatable :: entry end type container_t type(container_t), dimension(1) :: a1, a2 allocate (a1(1)%entry, a2(1)%entry) a2(1)%entry = 1 a1(1:1) = pack (a2(1:1), mask = [.true.]) end program main I think what happens is the following: In pack one copies (memcpy) the bytes from A2 to A1 - that whay A1 is a one-to-one copy of A2. At the end automatic deallocation happens. First one frees (and nullifies) A1. Then one moves on to A2, which is an exact copy of A1; thus A2%entry points to the same memory as A1%entry - but the memory was already freed. Thus we are obviously mishandling derived types with allocatable (or pointer) components. Adding print *, loc() before and after pack illustrates this: 6307888 ! loc(a2(1)%entry - before pack 6307856 ! loc(a1(1)%entry - before pack 6307888 ! loc(a2(1)%entry - after pack 6307888 ! loc(a1(1)%entry - after pack Actually, ifort shows the same result: 7020672 7020640 7020672 7020672 (and openf95 and pathf95 crash in pack). While both NAG 95, sunf95 and g95 seem to handle it correctly: 6722520 6722456 6722520 6722456 That those handle it correctly, can also be seen if one adds: a1(1)%entry = 2 print *, a2(1)%entry, a1(1)%entry It should print 1 2 (as with NAG f95, g95 and sunf95) but gfortran and ifort print 2 2. -- burnus at gcc dot gnu dot org changed: What|Removed |Added Summary|function pack causes |Corrupted memory using PACK |double free violation |for derived-types with ||allocated components http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41478
[Bug fortran/41539] New: Calling function which takes CLASS: Rank comparison does not work
The following program compiles with ifort and with NAG f95 but fails with gfortran with: call qsort(A,tmp) 1 Error: Rank mismatch in argument 'a' at (1) (0 and 1) ( The program was motivated by http://groups.google.com/group/comp.lang.fortran/msg/cde7f6104f6c29c7 ) module m_qsort implicit none type, abstract :: sort_t contains procedure(lt_cmp), deferred :: lt_cmp end type sort_t interface logical function lt_cmp(a,b) import class(sort_t), intent(in) :: a, b end function lt_cmp end interface contains subroutine qsort(a,tmp) class(sort_t), intent(inout) :: a(:),tmp ! Fixme: Replace tmp by a local var and allocate(tmp, source=a) end subroutine qsort end module m_qsort module test use m_qsort implicit none type, extends(sort_t) :: sort_int_t integer :: i contains procedure :: lt_cmp = lt_cmp_int end type contains logical function lt_cmp_int(a,b) result(cmp) class(sort_int_t), intent(in) :: a class(sort_t), intent(in) :: b select type(b) type is(sort_int_t) if (a%i b%i) then cmp = .true. else cmp = .false. end if class default stop 'Something went wrong' end select end function lt_cmp_int end module test program main use test type(sort_int_t) :: A(5), tmp A(:)%i = [1 , 4, 5, 2, 3] print *, A call qsort(A,tmp) print *, A end program main -- Summary: Calling function which takes CLASS: Rank comparison does not work Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: rejects-valid 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=41539
[Bug preprocessor/41540] New: -dM -E doesn't #define __FILE__
The documentation for the -dM -E option states that Instead of the normal output, generate a list of `#define' directives for all the macros defined during the execution of the preprocessor, including predefined macros. This gives you a way of finding out what is predefined in your version of the preprocessor. but the predefined standard macro __FILE__ does not appear in the output (and neither does __LINE__): $ echo t.c gcc -dM -E t.c | grep __FILE__ || echo __FILE__ not #defined __FILE__ not #defined $ I believe __FILE__ should always appear in the output. Since __LINE__ changes its value from line to line it should either be documented as not being output at all or, perhaps preferably, it should be output with the value of 0. -- Summary: -dM -E doesn't #define __FILE__ Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: msebor at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41540
[Bug middle-end/41535] [4.5 Regression] Broken var location info after scheduling
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Summary|Broken var location info|[4.5 Regression] Broken var |after scheduling|location info after ||scheduling Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41535
[Bug inline-asm/41538] Mixing ARM/NEON intrinsic variables and inline assembly
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-10-01 22:21 --- r is a constraint for a general register, you need to use a proper constraint here. Refer to the architecture specific constraint documentaiton. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41538
[Bug libstdc++/41530] [c++0x] Cannot move-construct std::tuple from a different type of std::tuple
--- Comment #2 from cfairles at gcc dot gnu dot org 2009-10-01 22:52 --- (In reply to comment #1) Thanks for the PR and the patch, which indeed makes sense to me (also regtests fine). Before committing the change, let's wait a bit in case Chris F has some comments... Looks good to me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41530
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #19 from howarth at nitro dot med dot uc dot edu 2009-10-01 23:54 --- I'm not sure that hot_cold=0 would work as a grep of gcc trunk doesn't show any thing matching hot_cold. I did find the original commit of the problematic code... http://gcc.gnu.org/ml/gcc/2004-02/msg00825.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug middle-end/41440] SEG FAULT in CSE.C caused by bad RTL expansion
--- Comment #9 from hutchinsonandy at gcc dot gnu dot org 2009-10-02 00:30 --- Checked earlier version. They all insert on edge before RTL is expanded. Making this 4.5 regression. -- hutchinsonandy at gcc dot gnu dot org changed: What|Removed |Added Component|c |middle-end Known to fail||4.5.0 Known to work||4.4.2 4.3.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41440
[Bug c++/41541] New: Conditional operator takes address of constant operands
When using the conditional operator (?:), it takes the address of its operands when they are constant values. Compilation Output: -- Start -- [r...@casper ~]# g++ -v -save-temps bug.cpp Using built-in specs. Target: i586-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i586 --build=i586-redhat-linux Thread model: posix gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=i586' /usr/libexec/gcc/i586-redhat-linux/4.4.1/cc1plus -E -quiet -v -D_GNU_SOURCE bug.cpp -mtune=generic -march=i586 -fpch-preprocess -o bug.ii ignoring nonexistent directory /usr/lib/gcc/i586-redhat-linux/4.4.1/include-fixed ignoring nonexistent directory /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../i586-redhat-linux/include #include ... search starts here: #include ... search starts here: /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1 /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/i586-redhat-linux /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/backward /usr/local/include /usr/lib/gcc/i586-redhat-linux/4.4.1/include /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=i586' /usr/libexec/gcc/i586-redhat-linux/4.4.1/cc1plus -fpreprocessed bug.ii -quiet -dumpbase bug.cpp -mtune=generic -march=i586 -auxbase bug -version -o bug.s GNU C++ (GCC) version 4.4.1 20090725 (Red Hat 4.4.1-2) (i586-redhat-linux) compiled by GNU C version 4.4.1 20090725 (Red Hat 4.4.1-2), GMP version 4.2.4, MPFR version 2.4.1. GGC heuristics: --param ggc-min-expand=61 --param ggc-min-heapsize=59733 Compiler executable checksum: e983968af33489f00d517096be08dea1 COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=i586' as -V -Qy -o bug.o bug.s GNU assembler version 2.19.51.0.14 (i586-redhat-linux) using BFD version version 2.19.51.0.14-1.fc11 20090722 COMPILER_PATH=/usr/libexec/gcc/i586-redhat-linux/4.4.1/:/usr/libexec/gcc/i586-redhat-linux/4.4.1/:/usr/libexec/gcc/i586-redhat-linux/:/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/:/usr/libexec/gcc/i586-redhat-linux/4.4.1/:/usr/libexec/gcc/i586-redhat-linux/:/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/4.4.1/:/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=i586' /usr/libexec/gcc/i586-redhat-linux/4.4.1/collect2 --eh-frame-hdr --build-id -m elf_i386 --hash-style=gnu -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../crt1.o /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../crti.o /usr/lib/gcc/i586-redhat-linux/4.4.1/crtbegin.o -L/usr/lib/gcc/i586-redhat-linux/4.4.1 -L/usr/lib/gcc/i586-redhat-linux/4.4.1 -L/usr/lib/gcc/i586-redhat-linux/4.4.1/../../.. bug.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i586-redhat-linux/4.4.1/crtend.o /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../crtn.o bug.o: In function `Test::Func(bool)': bug.cpp:(.text+0x13): undefined reference to `Test::A' bug.cpp:(.text+0x1a): undefined reference to `Test::B' collect2: ld returned 1 exit status -- End -- Contents of bug.ii: -- Start -- [r...@casper ~]# cat bug.ii # 1 bug.cpp # 1 built-in # 1 command-line # 1 bug.cpp class Test { public: static const unsigned A = 0; static const unsigned B = 1; unsigned Func(bool arg); }; unsigned Test::Func(bool arg) { return arg ? Test::A : Test::B; } int main(int argc, char **argv) { return 0; } -- End -- Disassembly of bug.o shows: [crop] _ZN4Test4FuncEb: 0: 55 push %ebp 1: 89 e5 mov%esp,%ebp 3: 83 ec 04sub$0x4,%esp 6: 8b 45 0cmov0xc(%ebp),%eax 9: 88 45 fcmov%al,-0x4(%ebp) c: 80 7d fc 00 cmpb $0x0,-0x4(%ebp) 10: 74 07 je 19 _ZN4Test4FuncEb+0x19 12: a1 00 00 00 00 mov0x0,%eax 17: eb 05 jmp1e _ZN4Test4FuncEb+0x1e 19: a1 00 00 00 00 mov0x0,%eax 1e: c9 leave 1f: c3 ret [crop] So at address 12 and 19 you can see
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #20 from mrs at apple dot com 2009-10-02 02:03 --- flag_reorder_blocks_and_partition was the complete name of the variable last I looked. If flag_unwind_tables is true and this variable is true, that's the bug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug libfortran/35862] [F2003] Implement new rounding modes for run time
--- Comment #12 from jvdelisle at gcc dot gnu dot org 2009-10-02 02:32 --- Reply to comment #10: Thanks for the input and references. The perspective of rounding before conversion to binary representation is interesting. I will think on that a bit. Reply to comment #11: Thanks for test case. I will try to fix this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35862
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #21 from howarth at nitro dot med dot uc dot edu 2009-10-02 02:36 --- We seemed to have changed the original code from gcc 4.2.1... /* If user requested unwind info, then turn off the partitioning optimization. */ if (flag_unwind_tables ! targetm.unwind_tables_default flag_reorder_blocks_and_partition) { inform (-freorder-blocks-and-partition does not support unwind info); flag_reorder_blocks_and_partition = 0; flag_reorder_blocks = 1; } in gcc/opts.c to... /* If the target requested unwind info, then turn off the partitioning optimization with a different message. Likewise, if the target does not support named sections. */ if (flag_reorder_blocks_and_partition (!targetm.have_named_sections || (flag_unwind_tables targetm.unwind_tables_default (USING_SJLJ_EXCEPTIONS #ifdef TARGET_UNWIND_INFO || 1 #endif { inform (input_location, -freorder-blocks-and-partition does not work on this architecture); flag_reorder_blocks_and_partition = 0; flag_reorder_blocks = 1; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #22 from howarth at nitro dot med dot uc dot edu 2009-10-02 02:44 --- This change came from... Author: jakub Date: Fri Aug 7 06:23:42 2009 New Revision: 150553 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=150553 Log: * dwarf2out.c (output_fde): When doing hot/cold partitioning, use fde-dw_fde_begin as begin label instead of hot/cold label. Use LLSDAC label instead of LLSDA for second section lsda. (dwarf2out_do_cfi_startproc): Add SECOND argument. Use LLSDAC label instead of LLSDA if it is true. (dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust callers. * except.c (add_call_site, dw2_size_of_call_site_table): Add SECTION argument. Use it as index into crtl-eh.call_site_record array. (dw2_output_call_site_table): Likewise. Add CS_FORMAT argument, use it to determine how to print table entries instead of using #ifdef HAVE_AS_LEB128. For SECTION 0 use hot resp. cold label instead of normal begin label as base. (sjlj_assign_call_site_values): Adjust add_call_site caller. (convert_to_eh_region_ranges): When doing hot/cold partitioning, ensure no EH range spans between sections and that landing pads are always in the corresponding section. (sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust for crtl-eh.call_site_record being an array rather than scalar. (output_one_function_exception_table): New function, copied from output_function_exception_table. Adjust dw2_size_of_call_site_table, dw2_output_call_site_table callers. For SECOND section use *C suffixed labels. (output_function_exception_table): Call output_one_function_exception_table and, when doing hot/cold partitioning, also another time for the second section. * opts.c: Include except.h. (decode_options): Allow -freorder-blocks-and-partition with exceptions, unless SJLJ or TARGET_UNWIND_INFO. * Makefile.in (opts.o): Depend on $(EXCEPT_H). * function.h (struct rtl_eh): Change call_site_record from scalar into array of 2 elements. * g++.dg/tree-prof/partition1.C: New test. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug c++/41541] Conditional operator takes address of constant operands
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-10-02 02:46 --- DR 696 is talking about a different case. The issue here is that you use Test::A / Test::B and define them. You use them in a non constant expression location so the compiler does not have to subsitute them at all. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41541
[Bug middle-end/41542] New: gcc.dg/tree-ssa/ipa-cp-1.c failed
On Linux/ia32, I got FAIL: gcc.dg/tree-ssa/ipa-cp-1.c (test for excess errors) FAIL: gcc.dg/tree-ssa/ipa-cp-1.c scan-tree-dump-times optimized very_long_function.clone.0 \(\) 3: dump file does not exist FAIL: gcc.dg/tree-ssa/ipa-cp-1.c scan-tree-dump-times optimized very_long_function.clone.0 \(\) 3: dump file does not exist FAIL: gcc.dg/tree-ssa/ipa-cp-1.c scan-tree-dump-times optimized very_long_function.clone.0 \(\) 3: dump file does not exist -- Summary: gcc.dg/tree-ssa/ipa-cp-1.c failed Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41542
[Bug fortran/33197] Fortran 2008: math functions
--- Comment #32 from ghazi at gcc dot gnu dot org 2009-10-02 03:52 --- Subject: Bug 33197 Author: ghazi Date: Fri Oct 2 03:52:05 2009 New Revision: 152394 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152394 Log: PR fortran/33197 * gfortran.h (HAVE_mpc_arc): Define. * simplify.c (gfc_simplify_acos): Handle complex acos. (gfc_simplify_acosh): Likewise for acosh. (gfc_simplify_asin): Likewise for asin. (gfc_simplify_asinh): Likewise for asinh. (gfc_simplify_atan): Likewise for atan. (gfc_simplify_atanh): Likewise for atanh. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/simplify.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33197
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #23 from howarth at nitro dot med dot uc dot edu 2009-10-02 05:00 --- Oddly... Index: config/darwin.c === --- config/darwin.c (revision 152389) +++ config/darwin.c (working copy) @@ -1697,6 +1697,9 @@ if (dwarf_strict 0) dwarf_strict = 1; + if (flag_unwind_tables) +flag_reorder_blocks_and_partition = 0; + if (flag_mkernel || flag_apple_kext) { /* -mkernel implies -fapple-kext for C++ */ doesn't solve the problem. However if I manually revert... --- /Users/howarth/gcc/gcc/opts.c 2009-09-28 19:33:18.0 -0400 +++ opts.c 2009-10-02 00:51:55.0 -0400 @@ -1054,12 +1054,7 @@ optimization. */ if (flag_unwind_tables ! targetm.unwind_tables_default - flag_reorder_blocks_and_partition - (USING_SJLJ_EXCEPTIONS -#ifdef TARGET_UNWIND_INFO - || 1 -#endif -)) + flag_reorder_blocks_and_partition) { inform (input_location, -freorder-blocks-and-partition does not support unwind info on this architecture); The failures are reduced down to just... FAIL: g++.dg/tree-prof/partition1.C compilation, -fprofile-use with the same error as before... /var/tmp//ccMjlW9T.s:620:FATAL:Symbol __Z3bari.eh already defined.compiler exited with status 1output is:/var/tmp//ccMjlW9T.s:620:FATAL:Symbol __Z3bari.eh already defined. Perhaps there is another instance of flag_reorder_blocks_and_partition being reset to 1 in the -fprofile-use case? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #24 from howarth at nitro dot med dot uc dot edu 2009-10-02 05:11 --- Oh, I didn't regress out all of the changes from... http://gcc.gnu.org/viewcvs/trunk/gcc/opts.c?r1=150553r2=150552view=patchpathrev=150553 when I do that, the tree-prof tests pass fine... Native configuration is x86_64-apple-darwin10.0.0 === g++ tests === Running target unix/-m32 === g++ Summary for unix/-m32 === # of expected passes12 # of unsupported tests 1 Running target unix/-m64 === g++ Summary for unix/-m64 === # of expected passes12 # of unsupported tests 1 === g++ Summary === # of expected passes24 # of unsupported tests 2 /sw/src/fink.build/gcc45-4.4.999-20090930/darwin_objdir/gcc/testsuite/g++/../../g++ version 4.5.0 20090930 (experimental) (GCC) Compiler version: 4.5.0 20090930 (experimental) (GCC) g++ Platform: x86_64-apple-darwin10.0.0 configure flags: --prefix=/sw --prefix=/sw/lib/gcc4.5 --mandir=/sw/share/man --infodir=/sw/share/info --enable-languages=c,c++,fortran,objc,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --disable-libjava-multilib -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #25 from howarth at nitro dot med dot uc dot edu 2009-10-02 05:34 --- The following change achieves the same test results as in Comment 24... --- /Users/howarth/gcc/gcc/opts.c 2009-09-28 19:33:18.0 -0400 +++ opts.c 2009-10-02 01:30:48.0 -0400 @@ -1038,11 +1038,14 @@ turn off the partitioning optimization. */ if (flag_exceptions flag_reorder_blocks_and_partition +#if !defined(__MACH__) (USING_SJLJ_EXCEPTIONS -#ifdef TARGET_UNWIND_INFO +#if defined(TARGET_UNWIND_INFO) || 1 #endif -)) +) +#endif +) { inform (input_location, -freorder-blocks-and-partition does not work with exceptions on this architecture); @@ -1055,11 +1058,14 @@ if (flag_unwind_tables ! targetm.unwind_tables_default flag_reorder_blocks_and_partition +#if !defined(__MACH__) (USING_SJLJ_EXCEPTIONS -#ifdef TARGET_UNWIND_INFO +#if defined(TARGET_UNWIND_INFO) || 1 #endif -)) +) +#endif + ) { inform (input_location, -freorder-blocks-and-partition does not support unwind info on this architecture); @@ -1074,11 +1080,14 @@ if (flag_reorder_blocks_and_partition (!targetm.have_named_sections || (flag_unwind_tables targetm.unwind_tables_default +#if !defined(__MACH__) (USING_SJLJ_EXCEPTIONS -#ifdef TARGET_UNWIND_INFO +#if defined(TARGET_UNWIND_INFO) || 1 #endif - + ) +#endif + ))) { inform (input_location, -freorder-blocks-and-partition does not work on this architecture); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #26 from howarth at nitro dot med dot uc dot edu 2009-10-02 05:40 --- I should note that if I don't wrapper the line ... (USING_SJLJ_EXCEPTIONS with the #if !defined(__MACH__), I get the following results... === g++ tests === Schedule of variations: unix/-m32 unix/-m64 Running target unix/-m32 Using /sw/share/dejagnu/baseboards/unix.exp as board description file for target. Using /sw/share/dejagnu/config/unix.exp as generic interface file for target. Using /sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ... FAIL: g++.dg/tree-prof/partition1.C compilation, -fprofile-use === g++ Summary for unix/-m32 === # of expected passes14 # of unexpected failures1 # of unresolved testcases 1 Running target unix/-m64 Using /sw/share/dejagnu/baseboards/unix.exp as board description file for target. Using /sw/share/dejagnu/config/unix.exp as generic interface file for target. Using /sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ... FAIL: g++.dg/tree-prof/partition1.C compilation, -fprofile-use === g++ Summary for unix/-m64 === # of expected passes14 # of unexpected failures1 # of unresolved testcases 1 === g++ Summary === # of expected passes28 # of unexpected failures2 # of unresolved testcases 2 /sw/src/fink.build/gcc45-4.4.999-20090930/darwin_objdir/prev-gcc/testsuite/g++/../../g++ version 4.5.0 20090930 (experimental) (GCC) so the entirety of the additional conditional added in r150553 needs to be wrappered on darwin. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313
[Bug c++/41313] g++.dg/tree-prof/partition1.C compilation and execution test failures on *-apple-darwin*
--- Comment #27 from howarth at nitro dot med dot uc dot edu 2009-10-02 05:44 --- I should note that with the proposed change in Comment 25, the 2 unsupported tests properly show up in g++.log as... cc1plus: note: -freorder-blocks-and-partition does not work with exceptions on this architecture output is: cc1plus: note: -freorder-blocks-and-partition does not work with exceptions on this architecture UNSUPPORTED: /sw/src/fink.build/gcc45-4.4.999-20090930/gcc-4.5-20090930/gcc/testsuite/g++.dg/tree-prof/partition1.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313