[Bug c++/43863] New: C++ without exceptions is deficient
You can use the configure option --enable-cxx-flags=-fno-exceptions to create a C++ compiler without exceptions for the standard C++ library and the built in new/delete operators. In some cases you want this to save code space. Unfortunately this goal cannot be achieved. In guard.cc the class __gnu_cxx::recursive_init_error is defined which pulls in pure.cc via std::exception which depends on the IO libary. -- Summary: C++ without exceptions is deficient Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sebastian dot huber at embedded-brains dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863
[Bug c++/43863] C++ without exceptions is deficient
--- Comment #1 from sebastian dot huber at embedded-brains dot de 2010-04-23 06:55 --- Created an attachment (id=20468) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20468action=view) Proposed changes. An alternative is to define this class in a separate file. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863
[Bug tree-optimization/43833] false warning: array subscript is above array bounds with -O3
--- Comment #2 from jiez at gcc dot gnu dot org 2010-04-23 07:23 --- Updated patch http://gcc.gnu.org/ml/gcc-patches/2010-04/msg01386.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43833
[Bug middle-end/43864] New: Same basic blocks should be merged
Following is a simple example: #include stdio.h void foo (char*, FILE*); char* hprofStartupp(char *outputFileName, char *ctx) { char fileName[1000]; FILE *fp; sprintf(fileName, outputFileName); if (access(fileName, 1) == 0) { free(ctx); //A return 0;//A } fp = fopen(fileName, 0); if (fp == 0) { free(ctx); //B return 0;//B } foo(outputFileName, fp); return ctx; } Basic block A and basic block B are exact same. They do some cleanup work and exit the function. This pattern is quite common in large software. GCC failed to merge them in this test case. With options -march=armv7-a -mthumb -Os, gcc generates: ... bl access mov r7, r0 cbnzr0, .L2 mov r0, r4//C mov r4, r7//C bl free //C b .L3 //C .L2: mov r0, sp movsr1, #0 bl fopen mov r5, r0 cbnzr0, .L4 mov r0, r4//D mov r4, r5//D bl free //D b .L3 //D .L4: ... Here basic block C corresponds to basic block A, and basic block D corresponds basic block B. They can be merged as following: ... bl access mov r5, r0 cbz r0, .L9 .L2: mov r0, sp movsr1, #0 bl fopen mov r5, r0 cbnzr0, .L4 .L9: mov r0, r4 mov r4, r5 bl free b .L3 .L4: ... The rtl cfg optimization can do some merge optimization. But it often fails due to difference of register numbers. We may need to do this at tree level. -- Summary: Same basic blocks should be merged Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: carrot at google dot com GCC build triplet: i686-linux GCC host triplet: i686-linux GCC target triplet: arm-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43864
[Bug middle-end/43864] Same basic blocks should be merged
--- Comment #1 from carrot at google dot com 2010-04-23 07:28 --- Created an attachment (id=20469) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20469action=view) test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43864
[Bug middle-end/43864] Same basic blocks should be merged
--- Comment #2 from steven at gcc dot gnu dot org 2010-04-23 07:38 --- *** This bug has been marked as a duplicate of 20070 *** -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43864
[Bug rtl-optimization/20070] If-conversion can't match equivalent code, and cross-jumping only works for literal matches
--- Comment #33 from steven at gcc dot gnu dot org 2010-04-23 07:38 --- *** Bug 43864 has been marked as a duplicate of this bug. *** -- steven at gcc dot gnu dot org changed: What|Removed |Added CC||carrot at google dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20070
[Bug fortran/43841] Missing temporary for ELEMENTAL function call
--- Comment #7 from pault at gcc dot gnu dot org 2010-04-23 08:12 --- I posted a fix this morning. Paul -- pault at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Keywords||wrong-code Last reconfirmed|2010-04-22 08:28:12 |2010-04-23 08:12:46 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43841
[Bug libstdc++/43863] C++ without exceptions is deficient
--- Comment #2 from redi at gcc dot gnu dot org 2010-04-23 09:09 --- In Bug 43852 I thought you meant building with -fno-exceptions fails, but it works for me ... do you just mean the resulting library is not as small as it could be? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863
[Bug c++/43865] New: C++ in freestanding environment
You can disable the requirement of a hosted environment for C++ and use the freestanding environment via a configure option: --disable-hosted-libstdcxx This leads to build errors. The configure command line was: $source_dir/configure \ --prefix=/opt/rtems-4.10 \ --target=arm-rtems4.10 \ --verbose \ --enable-serial-configure \ --with-gnu-as \ --with-gnu-ld \ --with-newlib \ --disable-libstdcxx-pch \ --disable-nls \ --without-included-gettext \ --disable-win32-registry \ --enable-version-specific-runtime-libs \ --enable-threads \ --enable-newlib-io-c99-formats \ --enable-languages=c,c++ \ --disable-hosted-libstdcxx The first observation is that the build looked successful (no errors from make), but a $ find -name libstdc++.a reveals that no such library exists in the build tree. Now lets try this $ cd arm-rtems4.10/libstdc++-v3/src $ make and we have a compile error. Output from $ make -i follows. -- Summary: C++ in freestanding environment Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sebastian dot huber at embedded-brains dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43865
[Bug middle-end/43866] New: wrong code with -O3 -fbounds-check
compiling the testcase below with gfortran -O3 -fbounds-check yields under 'valgrind --tool=memcheck ./a.out' ==23130== ==23130== Conditional jump or move depends on uninitialised value(s) ==23130==at 0x4008BD: __m1_MOD_cp_fm_upper_to_full (in /data03/vondele/bugs/ttt/a.out) ==23130==by 0x400FD7: MAIN__ (in /data03/vondele/bugs/ttt/a.out) ==23130==by 0x401059: main (fmain.c:21) ==23130== ==23130== ERROR SUMMARY: 16 errors from 1 contexts (suppressed: 3 from 1) the valgrind error is absent if '-O2 -fbounds-check' is being employed. This happens with trunk as well as older versions. Testcase: MODULE M1 INTEGER, PARAMETER :: sp=4, dp=8 TYPE cp_fm_type REAL(KIND=sp), DIMENSION(:,:), POINTER :: local_data_sp REAL(KIND=dp), DIMENSION(:,:), POINTER :: local_data INTEGER :: nrow_global,ncol_global LOGICAL :: use_sp END TYPE CONTAINS SUBROUTINE cp_fm_upper_to_full(matrix,work) TYPE(cp_fm_type), POINTER :: matrix,work INTEGER :: irow_global, ncol_global, nrow_global REAL(KIND = dp), DIMENSION(:,:), POINTER :: a REAL(KIND = sp), DIMENSION(:,:), POINTER :: a_sp nrow_global=matrix%nrow_global ncol_global=matrix%ncol_global a = matrix%local_data a_sp = matrix%local_data_sp DO irow_global=1,nrow_global DO icol_global=irow_global+1,ncol_global IF(matrix%use_sp) THEN a_sp(icol_global,irow_global)=a_sp(irow_global,icol_global) ELSE a(icol_global,irow_global)=a(irow_global,icol_global) ENDIF ENDDO ENDDO END SUBROUTINE cp_fm_upper_to_full END MODULE M1 USE M1 TYPE(cp_fm_type), POINTER :: a,b INTEGER :: N N=17 ALLOCATE(a,b) ALLOCATE(a%local_data(N,N),b%local_data(N,N)) a%nrow_global=N a%ncol_global=N b%nrow_global=N b%ncol_global=N a%use_sp=.FALSE. b%use_sp=.FALSE. a%local_data=0 CALL cp_fm_upper_to_full(a,b) END -- Summary: wrong code with -O3 -fbounds-check Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43866
[Bug c++/43865] C++ in freestanding environment
--- Comment #1 from sebastian dot huber at embedded-brains dot de 2010-04-23 09:14 --- Created an attachment (id=20470) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20470action=view) Compile errors from above $ make -i. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43865
[Bug libstdc++/43852] Embedded systems friendly libstdc++
--- Comment #4 from sebastian dot huber at embedded-brains dot de 2010-04-23 09:16 --- Bug report for 1. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863. Bug report for 2. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43865 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43852
[Bug libstdc++/43852] Embedded systems friendly libstdc++
--- Comment #5 from sebastian dot huber at embedded-brains dot de 2010-04-23 09:20 --- Created an attachment (id=20471) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20471action=view) Lets call it quiet. Configure option may be --enable-quiet-cxx. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43852
[Bug middle-end/43866] wrong code with -fbounds-check -funswitch-loops
--- Comment #1 from jv244 at cam dot ac dot uk 2010-04-23 09:21 --- The error also appears with: gfortran -fbounds-check -O1 -funswitch-loops test.f90 -- jv244 at cam dot ac dot uk changed: What|Removed |Added Summary|wrong code with -O3 - |wrong code with -fbounds- |fbounds-check |check -funswitch-loops http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43866
[Bug middle-end/43866] wrong code with -fbounds-check -funswitch-loops
--- Comment #2 from jv244 at cam dot ac dot uk 2010-04-23 09:25 --- reduced testcase: IMPLICIT NONE INTEGER, PARAMETER :: sp=4, dp=8 TYPE cp_fm_type REAL(KIND=sp), DIMENSION(:,:), POINTER :: local_data_sp REAL(KIND=dp), DIMENSION(:,:), POINTER :: local_data INTEGER :: nrow_global,ncol_global LOGICAL :: use_sp END TYPE TYPE(cp_fm_type), POINTER :: amat INTEGER :: N INTEGER :: irow_global, ncol_global, nrow_global, icol_global REAL(KIND = dp), DIMENSION(:,:), POINTER :: a REAL(KIND = sp), DIMENSION(:,:), POINTER :: a_sp N=17 ALLOCATE(amat) ALLOCATE(amat%local_data(N,N)) amat%nrow_global=N amat%ncol_global=N amat%use_sp=.FALSE. amat%local_data=0 nrow_global=amat%nrow_global ncol_global=amat%ncol_global a = amat%local_data a_sp = amat%local_data_sp DO irow_global=1,nrow_global DO icol_global=irow_global+1,ncol_global IF(amat%use_sp) THEN a_sp(icol_global,irow_global)=a_sp(irow_global,icol_global) ELSE a(icol_global,irow_global)=a(irow_global,icol_global) ENDIF ENDDO ENDDO END -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43866
[Bug libstdc++/43863] C++ without exceptions is deficient
--- Comment #3 from sebastian dot huber at embedded-brains dot de 2010-04-23 09:28 --- (In reply to comment #2) In Bug 43852 I thought you meant building with -fno-exceptions fails, but it works for me ... do you just mean the resulting library is not as small as it could be? Sorry for the misunderstanding. The build works fine, but the library is not as small as it could be. This is due to the inclusion of the unused __gnu_cxx::recursive_init_error class. For small target systems this is dramatic. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863
[Bug libstdc++/43865] C++ in freestanding environment
-- redi at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Component|c++ |libstdc++ Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-23 09:34:19 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43865
[Bug libstdc++/43863] Unused recursive_init_error class defined with -fno-exceptions
--- Comment #4 from redi at gcc dot gnu dot org 2010-04-23 09:36 --- confirmed as an enhancement request -- redi at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-23 09:36:22 date|| Summary|C++ without exceptions is |Unused recursive_init_error |deficient |class defined with -fno- ||exceptions http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863
[Bug libstdc++/43852] Embedded systems friendly libstdc++
--- Comment #6 from redi at gcc dot gnu dot org 2010-04-23 09:37 --- thanks for filing the other two bugs confirmed as an enhancement -- redi at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-23 09:37:15 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43852
[Bug libstdc++/43863] Unused recursive_init_error class defined with -fno-exceptions
--- Comment #5 from redi at gcc dot gnu dot org 2010-04-23 10:02 --- Simply removing this class now would break the ABI, which is not acceptable. If Bug 43852 was resolved by adding a quiet mode, would that make this enhancement unnecessary? That mode would also change the ABI, but would have to be explicitly requested by users, and would be documented as changing the ABI. Am I right in thinking that putting recursive_init_error in a separate file would only help when using static linking? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863
[Bug rtl-optimization/43804] [4.5/4.6 regression] ICE in reload_cse_simplify_operands
--- Comment #10 from mkuvyrkov at gcc dot gnu dot org 2010-04-23 10:20 --- The problem seems to be in Richard's patch (http://article.gmane.org/gmane.comp.gcc.patches/130602) checked in r120961. All and all, it seems that revision 120961 should be reverted to enable 'T' constraint for (flag_pic !TARGET_PCREL). The 's' constraint is defined as == case 's': if (CONST_INT_P (op) || (GET_CODE (op) == CONST_DOUBLE GET_MODE (op) == VOIDmode)) break; case 'i': if (CONSTANT_P (op)) win = 1; break; == So, unless I'm missing something, the statement ... 's' doesn't accept anything if flag_pic is just wrong. FYI, the story behind 'T' constraint is described in comment in r27576: + In parallel with these new predicates, two new constraint letters + were defined: 'S' and 'T'. 'S' is the -mpcrel analog of 'm'. + 'T' replaces 's' in the non-pcrel case. It is a no-op in the pcrel case. + In the pcrel case 's' is only valid in combination with 'a' registers. + See addsi3, subsi3, cmpsi, and movsi patterns for a better understanding + of how these constraints are used. + ... + All of the ugliness with predicates and constraints is due to the + simple fact that the m68k does not allow a pc-relative addressing + mode as a destination. gcc does not distinguish between source and + destination addresses. Hence, if we claim that pc-relative address + modes are valid, e.g. GO_IF_LEGITIMATE_ADDRESS accepts them, then we + end up with invalid code. To get around this problem, we left + pc-relative modes as invalid addresses, and then added special + predicates and constraints to accept them. -- mkuvyrkov at gcc dot gnu dot org changed: What|Removed |Added CC||rdsandiford at googlemail ||dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43804
[Bug libstdc++/43865] C++ in freestanding environment
--- Comment #2 from redi at gcc dot gnu dot org 2010-04-23 10:27 --- building 4.6.0 with --disable-hosted-libstdcxx I get In file included from ../../../../gcc-4.x/libstdc++-v3/libsupc++/eh_call.cc:27:0: /home/redi/src/gcc/buildfree/x86_64-unknown-linux-gnu/libstdc++-v3/include/cstdlib:60:40: error: expected initializer before _GLIBC_NORETURN /home/redi/src/gcc/buildfree/x86_64-unknown-linux-gnu/libstdc++-v3/include/cstdlib:62:38: error: expected initializer before _GLIBC_NORETURN In file included from ../../../../gcc-4.x/libstdc++-v3/libsupc++/eh_call.cc:33:0: /home/redi/src/gcc/gcc-4.x/libstdc++-v3/../gcc/unwind-pe.h: In function unsigned int size_of_encoded_value(unsigned char): /home/redi/src/gcc/gcc-4.x/libstdc++-v3/../gcc/unwind-pe.h:88:3: error: abort is not a member of std /home/redi/src/gcc/gcc-4.x/libstdc++-v3/../gcc/unwind-pe.h: In function _Unwind_Ptr base_of_encoded_value(unsigned char, _Unwind_Context*): /home/redi/src/gcc/gcc-4.x/libstdc++-v3/../gcc/unwind-pe.h:120:3: error: abort is not a member of std /home/redi/src/gcc/gcc-4.x/libstdc++-v3/../gcc/unwind-pe.h: In function const unsigned char* read_encoded_value_with_base(unsigned char, _Unwind_Ptr, const unsigned char*, _Unwind_Ptr*): /home/redi/src/gcc/gcc-4.x/libstdc++-v3/../gcc/unwind-pe.h:257:4: error: abort is not a member of std make[4]: *** [eh_call.lo] Error 1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43865
[Bug middle-end/43866] wrong code with -fbounds-check -funswitch-loops
--- Comment #3 from jv244 at cam dot ac dot uk 2010-04-23 10:30 --- It looks like in the .optimized dump these: a_sp$offset = amat-local_data_sp.offset; a_sp$dim$1$stride = amat-local_data_sp.dim[1].stride; a_sp$dim$1$ubound = amat-local_data_sp.dim[1].ubound; a_sp$dim$1$lbound = amat-local_data_sp.dim[1].lbound; are indeed accessing fields of local_data_sp even though it never got allocated. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43866
[Bug libstdc++/43863] Unused recursive_init_error class defined with -fno-exceptions
--- Comment #6 from sebastian dot huber at embedded-brains dot de 2010-04-23 10:59 --- (In reply to comment #5) Simply removing this class now would break the ABI, which is not acceptable. If Bug 43852 was resolved by adding a quiet mode, would that make this enhancement unnecessary? That mode would also change the ABI, but would have to be explicitly requested by users, and would be documented as changing the ABI. Am I right in thinking that putting recursive_init_error in a separate file would only help when using static linking? Yes, it helps only if you use static linking. From my point of view moving this class implementation into a separate compilation unit would help in case size really matters. In these situations you likely use static linking, because otherwise you need a runtime infrastructure for dynamic linking which is also not that trivial. If you suppose that users who care about size always choose the quiet mode then this change is virtually unnecessary, but not optimal. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43863
[Bug middle-end/43866] wrong code with -fbounds-check -funswitch-loops
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-04-23 12:29 --- Hm, I can't reproduce this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43866
[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43858
[Bug lto/43857] -fresolution causes an ICE
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-04-23 12:35 --- -fresolution is an internal option. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43857
[Bug middle-end/43853] [4.6 Regression] FAIL: gcc.dg/lto/20090126-1 c_lto_20090126-1_0.o-c_lto_20090126-1_0.o
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43853
[Bug inline-asm/43518] ARM register constraint for ldrd and strd instructions
--- Comment #3 from rearnsha at gcc dot gnu dot org 2010-04-23 12:44 --- EABI configurations will guarantee that 64-bit sized objects will be in even/odd register pairs. It's best not to use LDRD on the old ABI because in general the ABI can't guarantee the alignment requirements for memory either. Plus, the old ABI is heading for obsolescence. So not planning to fix. -- rearnsha at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43518
[Bug lto/42653] ICE with -g and -flto (requires both flags to crash)
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-04-23 12:55 --- I have a patch. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2010-01-08 11:54:31 |2010-04-23 12:55:13 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42653
[Bug lto/43377] lto decreases C++ stacktrace readability (debuginfo pubnames).
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-04-23 13:23 --- (In reply to comment #2) Because we drop DECL_CONTEXT. Rather because lang_hooks.dwarf_name returns what lang_hooks.decl_printable_name returns which in turn returns DECL_NAME. We can either save what the langhook produces in DECL_NAME during fld or for example use the assembler name (which is mangled). Of course the langhook has a variant to request a name with or without the scope ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43377
[Bug middle-end/43866] wrong code with -fbounds-check -funswitch-loops
--- Comment #5 from jv244 at cam dot ac dot uk 2010-04-23 13:32 --- (In reply to comment #4) Hm, I can't reproduce this. I see, the reduced testcase (comment #2) indeed doesn't fail with trunk anymore, but the original does (but only at -O3 -fbounds-check). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43866
[Bug lto/43455] ICE in fold_convert_loc, at fold-const.c:2670 with -O2 -flto
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-04-23 13:39 --- I am testing a patch to tree_can_inline_p instead. That doesn't work with WPA as we do not have the call_stmt available there - Honza, any idea where to re-apply the check? -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43455
[Bug tree-optimization/43845] [4.4 Regression] Segfault when using __attribute__((const)), versions 4.4.3 and 4.6
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-04-23 14:07 --- Subject: Bug 43845 Author: rguenth Date: Fri Apr 23 14:07:38 2010 New Revision: 158665 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158665 Log: 2010-04-23 Richard Guenther rguent...@suse.de Backport from mainline 2010-04-22 Richard Guenther rguent...@suse.de PR tree-optimization/43845 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly lookup the CALL_EXPR function and arguments. * gcc.c-torture/compile/pr43845.c: New testcase. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/compile/pr43845.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/testsuite/ChangeLog branches/gcc-4_5-branch/gcc/tree-ssa-pre.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43845
[Bug libgomp/43706] scheduling two threads on one core leads to starvation
--- Comment #13 from singler at kit dot edu 2010-04-23 14:17 --- The default spin count is not 2,000,000 cycles, but even 20,000,000. As commented in libgomp/env.c, this is supposed to correspond to 200ms. The timings we see here are even larger, but the number of cycles is just a rough estimation. Throttling the spincount in the awareness of too many threads is a good idea, but it is just a heuristic. If there are other processes, the cores might be loaded anyway, and libgomp has little chances to figure that out. This gets even more difficult when having multiple programs using libgomp at the same time. So I would like the non-throttling value to be chosen more conservative, better balancing worst case behavior in difficult situations and best case behavior on an unloaded machine. There are algorithms in libstdc++ parallel mode that show speedups for as little as less than 1ms of sequential running time (when taking threads from the pool), so users will accept a parallelization overhead for such small computing times. However, if they are then hit by a 200ms penalty, this results in catastrophic slowdowns. Calling such short-lived parallel regions several times will make this very noticeable, although it need not be. So IMHO, by default, the spinning should take about as long as rescheduling a thread takes (that was already migrated on another core), by that making things at most twice as bad as in the best case. From my experience, this is a matter of a few milliseconds, so I propose to lower the default spincount to something like 10,000, at most 100,000. I think that spinning for even longer than a usual time slice like now is questionable anyway. Are nested threads taken into account when deciding on whether to throttle or not? -- singler at kit dot edu changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|FIXED | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43706
[Bug lto/42653] ICE with -g and -flto (requires both flags to crash)
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-04-23 14:21 --- Subject: Bug 42653 Author: rguenth Date: Fri Apr 23 14:20:59 2010 New Revision: 158666 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158666 Log: 2010-04-23 Richard Guenther rguent...@suse.de PR lto/42653 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT of FUNCTION_DECLs. * g++.dg/lto/20100423-1_0.C: New testcase. Added: trunk/gcc/testsuite/g++.dg/lto/20100423-1_0.C Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42653
[Bug bootstrap/39023] lto-plugin.c uses mkdtemp unconditionally
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-04-23 14:33 --- This was fixed by 2009-11-05 Rafael Avila de Espindola espind...@google.com * lto-plugin.c (temp_obj_dir_name): Remove. (arguments_file_name): New. (free_2): Free arguments_file_name instead of temp_obj_dir_name. (exec_lto_wrapper): Create arguments file with make_temp_file. (cleanup_handler): Don't remove the temporary directory. Remove the arguments file. (onload): Don't create the temporary directory. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39023
[Bug lto/40702] lto-elf.c fails to compile on Solaris
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-04-23 14:34 --- What's the status of this bug? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40702
[Bug middle-end/43835] [4.5 Regression] IPA-SRA doesn't rewrite attributes
--- Comment #5 from jamborm at gcc dot gnu dot org 2010-04-23 14:43 --- Subject: Bug 43835 Author: jamborm Date: Fri Apr 23 14:43:10 2010 New Revision: 158667 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158667 Log: 2010-04-23 Martin Jambor mjam...@suse.cz PR middle-end/43835 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the function does not have type attributes. * testsuite/gcc.c-torture/execute/pr43835.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/execute/pr43835.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-sra.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43835
[Bug c++/43818] internal compiler error: Segmentation fault
--- Comment #18 from oberlaender at fzi dot de 2010-04-23 14:52 --- (In reply to comment #17) (In reply to comment #16) This has been fixed on the 4.4 branch, I can reproduce it with 4.4.3. OK, thanks for the information. I'm currently compiling gcc from the 4.4 branch in svn to verify. Just tested against the current SVN gcc-4_4-branch, which works fine. Thanks for your help! -- oberlaender at fzi dot de changed: What|Removed |Added Status|RESOLVED|VERIFIED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43818
[Bug tree-optimization/43846] [4.5 Regression] array vs members, total scalarization issues
--- Comment #5 from jamborm at gcc dot gnu dot org 2010-04-23 14:52 --- Subject: Bug 43846 Author: jamborm Date: Fri Apr 23 14:52:06 2010 New Revision: 158668 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158668 Log: 2010-04-23 Martin Jambor mjam...@suse.cz PR tree-optimization/43846 * tree-sra.c (struct access): New flag grp_assignment_read. (build_accesses_from_assign): Set grp_assignment_read. (sort_and_splice_var_accesses): Propagate grp_assignment_read. (enum mark_read_status): New type. (analyze_access_subtree): Propagate grp_assignment_read, create accesses also if both direct_read and root-grp_assignment_read. * testsuite/gcc.dg/tree-ssa/sra-10.c: New test. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/sra-10.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-sra.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43846
[Bug lto/41550] Fix security and portability issues in lto-plugin
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-04-23 15:05 --- I have patches. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|espindola at google dot com |rguenth at gcc dot gnu dot ||org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-23 15:05:28 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41550
[Bug lto/43455] ICE in fold_convert_loc, at fold-const.c:2670 with -O2 -flto
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-04-23 15:18 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to fail||4.5.0 Resolution||FIXED Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43455
[Bug lto/43455] ICE in fold_convert_loc, at fold-const.c:2670 with -O2 -flto
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-04-23 15:18 --- Subject: Bug 43455 Author: rguenth Date: Fri Apr 23 15:18:24 2010 New Revision: 158669 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158669 Log: 2010-04-23 Richard Guenther rguent...@suse.de PR lto/43455 * tree-inline.c (tree_can_inline_p): Also check compatibility of return types. * gcc.dg/lto/20100423-1_0.c: New testcase. * gcc.dg/lto/20100423-1_1.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/lto/20100423-1_0.c trunk/gcc/testsuite/gcc.dg/lto/20100423-1_1.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-inline.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43455
[Bug lto/41588] LTO bugs to be addressed before release
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-04-23 15:26 --- WONTFIX - we didn't fix this meta-bug before the release. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX Summary|[4.5 Regression] LTO bugs to|LTO bugs to be addressed |be addressed before release |before release http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41588
[Bug middle-end/41734] ICE in cgraph_mark_functions_to_output, at cgraphunit.c:1137 with -fwhopr
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-04-23 15:32 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Known to fail||4.5.0 Resolution||FIXED Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41734
[Bug middle-end/41734] ICE in cgraph_mark_functions_to_output, at cgraphunit.c:1137 with -fwhopr
--- Comment #7 from rguenth at gcc dot gnu dot org 2010-04-23 15:32 --- Subject: Bug 41734 Author: rguenth Date: Fri Apr 23 15:32:22 2010 New Revision: 158670 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158670 Log: 2010-04-23 Richard Guenther rguent...@suse.de PR lto/41734 * gcc.dg/lto/20100423-2_0.c: New testcase. * gcc.dg/lto/20100423-2_0.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/lto/20100423-2_0.c trunk/gcc/testsuite/gcc.dg/lto/20100423-2_1.c Modified: trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41734
[Bug tree-optimization/41835] ICE with -flto -O3 (BB N can not throw but has an EH edge)
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-04-23 15:38 --- Seems to work for me, even with the 4.5.0 release. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41835
[Bug lto/41902] Compile error in gcc/lto/lto-elf.c (SHN_XINDEX undeclared)
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-04-23 15:39 --- Not a gcc bug. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41902
[Bug middle-end/41925] ICE in get_alias_set, at alias.c:710
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-04-23 15:44 --- The testcase no longer fails :/ -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41925
[Bug tree-optimization/43572] [4.5 Regression] FAIL: gfortran.dg/PR19872.f execution test; formatted read - wrong numbers
--- Comment #31 from rguenth at gcc dot gnu dot org 2010-04-23 15:46 --- Subject: Bug 43572 Author: rguenth Date: Fri Apr 23 15:46:23 2010 New Revision: 158671 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158671 Log: 2010-04-23 Richard Guenther rguent...@suse.de PR tree-optimization/43572 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-tailcall.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43572
[Bug tree-optimization/43572] [4.5 Regression] FAIL: gfortran.dg/PR19872.f execution test; formatted read - wrong numbers
--- Comment #32 from rguenth at gcc dot gnu dot org 2010-04-23 15:48 --- Subject: Bug 43572 Author: rguenth Date: Fri Apr 23 15:47:44 2010 New Revision: 158672 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158672 Log: 2010-04-23 Richard Guenther rguent...@suse.de PR tree-optimization/43572 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/tree-tailcall.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43572
[Bug lto/41550] Fix security and portability issues in lto-plugin
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-04-23 15:49 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Known to fail||4.5.0 Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41550
[Bug lto/41550] Fix security and portability issues in lto-plugin
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-04-23 15:49 --- Subject: Bug 41550 Author: rguenth Date: Fri Apr 23 15:49:10 2010 New Revision: 158673 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158673 Log: 2010-04-23 Richard Guenther rguent...@suse.de PR lto/41550 * lto-plugin.c (parse_table_entry): Use xstrdup and xrealloc. (translate): Likewise. (all_symbols_read_handler): Likewise. (claim_file_handler): Likewise. (process_option): Likewise. (add_output_files): Likewise. Remove filename length limit. Modified: trunk/lto-plugin/ChangeLog trunk/lto-plugin/lto-plugin.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41550
[Bug lto/41550] Fix security and portability issues in lto-plugin
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-04-23 15:49 --- , -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41550
[Bug tree-optimization/42341] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:228
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-04-23 15:51 --- *** This bug has been marked as a duplicate of 41159 *** -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42341
[Bug lto/41159] [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225
--- Comment #7 from rguenth at gcc dot gnu dot org 2010-04-23 15:51 --- *** Bug 42341 has been marked as a duplicate of this bug. *** -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||ubizjak at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41159
[Bug regression/43867] New: ICE on valid with PGO and -fwhole-program options on small example (istringstream) with gcc 4.5.0 only
The following little program: #include sstream int main(int argc, char *argv[]) { int nn; return (argc != 2) || !(std::istringstream(argv[1]) nn); } when compiled with gcc 4.5.0 with both -fwhole-program and -fprofile-use options generate an ICE. Note that this doesn't happen with gcc 4.4.3 or if I don't use -fwhole-program option. There is no problem when compiling and running the above little program with gcc 4.5.0 with -fwhole-program and -fprogram-generate options. The ICE happens when trying to use the feedback information. For example, the command (the small program is in a file named mv.cpp): rm -f mv.gcda g++ -Wall -fwhole-program -fprofile-generate mv.cpp ./a.out 1000 g++ -Wall -fwhole-program -fprofile-use mv.cpp Produce the following output during the second compilation (profile-use): mv.cpp:8:1: internal compiler error: in ipcp_iterate_stage, at ipa-cp.c:760 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. Now here are some information about my gcc and my system: [au...@mc1 experiences]$ gcc --version gcc (GCC) 4.5.0 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Note my gcc version is identical to the official except it include the following patch (r158484) to fix the problem 43771 I submited last week: --- trunk/gcc/tree-vect-slp.c 2010/04/18 10:52:26 158483 +++ trunk/gcc/tree-vect-slp.c 2010/04/18 12:20:34 158484 @@ -844,7 +844,11 @@ SET_BIT (load_index, prev); } - + + for (j = 0; j group_size; j++) +if (!TEST_BIT (load_index, j)) + return false; + sbitmap_free (load_index); if (supported i == group_size * group_size [au...@mc1 experiences]$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/home/publique/gcc45/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.5.0/configure --prefix=/usr/local/gcc45 --enable-shared --enable-threads=posix --with-system-zlib --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1 --with-ppl=/usr/local/ppl-0.10.2 --with-cloog=/usr/local/cloog-ppl-0.15.9 --with-libelf=/usr/local/libelf-0.8.12 --enable-__cxa_atexit --enable-languages=c,c++,fortran Thread model: posix gcc version 4.5.0 (GCC) [au...@mc1 experiences]$ uname -a Linux mc1 2.6.22.9-91.fc7 #1 SMP Thu Jun 18 16:01:22 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux [au...@mc1 experiences]$ As you can see my system uses Fedora Linux 7 distribution. gcc was compiled and tested (make -k check) on this machine. Only a small fraction of the tests failled. Regards, Martin Audet -- Summary: ICE on valid with PGO and -fwhole-program options on small example (istringstream) with gcc 4.5.0 only Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: regression AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: martin dot audet at imi dot cnrc-nrc dot gc dot ca http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43867
[Bug debug/42425] ICE declaring local class
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-04-23 15:58 --- Testing a patch. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2009-12-19 12:15:48 |2010-04-23 15:58:28 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42425
[Bug regression/43867] ICE on valid with PGO and -fwhole-program options on small example (istringstream) with gcc 4.5.0 only
--- Comment #1 from martin dot audet at imi dot cnrc-nrc dot gc dot ca 2010-04-23 15:58 --- Oups ! In the bug description when I said option -fprogram-generate, I meant -fprofile-generate. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43867
[Bug c++/15218] [DR 421] rvalue.field is not an lvalue
--- Comment #4 from wb at fnal dot gov 2010-04-23 16:00 --- Created an attachment (id=20472) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20472action=view) test case; incorrectly compiles -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15218
[Bug lto/42441] lto segfaults
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-04-23 16:01 --- No response from reporter. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42441
[Bug lto/42451] 'warning: type of array does not match original declaration' with -flto/-fwhopr
--- Comment #7 from rguenth at gcc dot gnu dot org 2010-04-23 16:03 --- Confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-23 16:03:35 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42451
[Bug fortran/43829] Scalarization of reductions
--- Comment #7 from rguenth at gcc dot gnu dot org 2010-04-23 16:09 --- Mine. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2010-04-21 12:51:53 |2010-04-23 16:09:17 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43829
[Bug lto/42776] LTO doesn't work on non-ELF platforms.
--- Comment #42 from rguenth at gcc dot gnu dot org 2010-04-23 16:10 --- Fixed? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42776
[Bug lto/42826] lto1: ICE in ipcp_iterate_stage, at ipa-cp.c:759
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-04-23 16:10 --- No response from reporter. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42826
[Bug other/42903] Compare-debug fails on files compiled with -flto
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42903
[Bug lto/42928] crash when compiling scummvm on Ubuntu 9.10/amd64 with -flto and -fuse-linker-plugin
--- Comment #1 from rguenth at gcc dot gnu dot org 2010-04-23 16:12 --- We need a testcase. There also were dups like this which were fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42928
[Bug lto/42776] LTO doesn't work on non-ELF platforms.
--- Comment #43 from davek at gcc dot gnu dot org 2010-04-23 16:13 --- (In reply to comment #42) Fixed? Still awaiting build system maintainer approval as per your request. Ten days is just on the lower margin of the range that I let a patch wait before pinging it; I'll do so shortly. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42776
[Bug lto/43038] DECL_PRESERVE_P static globals not completely preserved with -flto
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-04-23 16:14 --- Honza, you might want to have a look here. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org Last reconfirmed|2010-02-11 16:42:09 |2010-04-23 16:14:36 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43038
[Bug c++/43859] transparent_union mishandled
--- Comment #4 from bergner at gcc dot gnu dot org 2010-04-23 16:15 --- Interesting, using: union __attribute__ ((transparent_union)) q { unsigned n; unsigned get_n () const { return n; } }; does seem to cure it. However, is the attribute location really incorrect? It seems the gcc docs on variable attributes have several examples where an attribute is located at the end of the declaration. And the attribute syntax documention has this tidbit: An attribute specifier list may appear as part of a struct, union or enum specifier. It may go either immediately after the struct, union or enum keyword, or after the closing brace. The former syntax is preferred. Where attribute specifiers follow the closing brace, they are considered to relate to the structure, union or enumerated type defined, not to any enclosing declaration the type specifier appears in, and the type defined is not complete until after the attribute specifiers. So it looks to me like it should work where I have it, doesn't it? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43859
[Bug middle-end/43835] [4.5 Regression] IPA-SRA doesn't rewrite attributes
--- Comment #6 from jamborm at gcc dot gnu dot org 2010-04-23 16:16 --- Subject: Bug 43835 Author: jamborm Date: Fri Apr 23 16:15:39 2010 New Revision: 158674 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158674 Log: 2010-04-23 Martin Jambor mjam...@suse.cz PR middle-end/43835 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the function does not have type attributes. * testsuite/gcc.c-torture/execute/pr43835.c: New test. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/execute/pr43835.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/testsuite/ChangeLog branches/gcc-4_5-branch/gcc/tree-sra.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43835
[Bug middle-end/43835] [4.5 Regression] IPA-SRA doesn't rewrite attributes
--- Comment #7 from jamborm at gcc dot gnu dot org 2010-04-23 16:19 --- Fixed. -- jamborm at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43835
[Bug c++/43080] ICE with anonymous union and -flto
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-04-23 16:22 --- I have a fix. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-23 16:22:45 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43080
[Bug c++/43859] transparent_union mishandled
--- Comment #5 from bergner at gcc dot gnu dot org 2010-04-23 16:24 --- Sorry, I meant type attribute where I mentioned variable attribute. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43859
[Bug lto/43212] [LTO] error: control flow in the middle of basic block
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-04-23 16:25 --- Honza, you might want to have a look here. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org Last reconfirmed|2010-03-01 10:43:50 |2010-04-23 16:25:03 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43212
[Bug c++/43868] New: ICE with -g
g++ -c code.i works, g++ -c -g code.i gives tmp/code.i: In instantiation of 'Foo_implint (Bar::*)()const::Helper': tmp/code.i:19:27: instantiated from 'void Foo_implR (O::*)()const::do_something() [with R = int, O = Bar]' tmp/code.i:34:1: instantiated from here tmp/code.i:13:5: internal compiler error: Segmentation fault This is a regression against g++ 4.4.x. Replacing Some_type by int works. An empty body for do_something() works as well. g++ -v: Using built-in specs. COLLECT_GCC=/some/prefix/gcc-4.5.0/x86_64-unknown-linux-gnu/bin/g++ COLLECT_LTO_WRAPPER=/some/prefix/gcc-4.5.0/x86_64-unknown-linux-gnu/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/some/prefix/gcc-4.5.0 --exec-prefix=/some/prefix/gcc-4.5.0/x86_64-unknown-linux-gnu --enable-version-specific-runtime-libs --enable-stage1-checking --disable-nls --with-system-zlib --enable-multilib --enable-languages=c,c++,objc --with-gmp-include=/some/prefix/gmp-4.2.2/x86_64-unknown-linux-gnu/include --with-gmp-lib=/some/prefix/gmp-4.2.2/x86_64-unknown-linux-gnu/lib --with-mpfr-include=/some/prefix/mpfr-2.4.2/include --with-mpfr-lib=/some/prefix/mpfr-2.4.2/x86_64-unknown-linux-gnu/lib --with-mpc-include=/some/prefix/mpc-0.8.1/include --with-mpc-lib=/some/prefix/mpc-0.8.1/x86_64-unknown-linux-gnu/lib --with-gnu-as --with-as=/some/prefix/binutils-2.20.1/x86_64-unknown-linux-gnu/bin/as --with-gnu-ld --with-ld=/some/prefix/binutils-2.20.1/x86_64-unknown-linux-gnu/bin/ld Thread model: posix gcc version 4.5.0 (GCC) -- Summary: ICE with -g Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: joachim dot reichel at gmx dot de GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43868
[Bug c++/43868] ICE with -g
--- Comment #1 from joachim dot reichel at gmx dot de 2010-04-23 16:31 --- Created an attachment (id=20473) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20473action=view) test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43868
[Bug c++/43868] [4.5/4.6 Regression] ICE with -g
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-04-23 16:35 --- Confirmed. Program received signal SIGSEGV, Segmentation fault. 0x007541dd in pp_cxx_unqualified_id (pp=0x18e1280, t=0x0) at /space/rguenther/src/svn/trunk/gcc/cp/cxx-pretty-print.c:150 150 enum tree_code code = TREE_CODE (t); (gdb) bt #0 0x007541dd in pp_cxx_unqualified_id (pp=0x18e1280, t=0x0) at /space/rguenther/src/svn/trunk/gcc/cp/cxx-pretty-print.c:150 #1 0x00754634 in pp_cxx_unqualified_id (pp=0x18e1280, t=0x75b48a80) at /space/rguenther/src/svn/trunk/gcc/cp/cxx-pretty-print.c:202 #2 0x0075602d in pp_cxx_qualified_id (pp=0x18e1280, t=0x75b48a80) at /space/rguenther/src/svn/trunk/gcc/cp/cxx-pretty-print.c:319 #3 0x0075ac83 in pp_cxx_simple_type_specifier (pp=0x18e1280, t=0x75b48a80) at /space/rguenther/src/svn/trunk/gcc/cp/cxx-pretty-print.c:1220 #4 0x007c1f5c in pp_c_specifier_qualifier_list (pp=0x18e1280, t=0x75b48a80) at /space/rguenther/src/svn/trunk/gcc/c-pretty-print.c:471 ... #18 0x0061a524 in dump_type (t=0x75b5abd0, flags=0) at /space/rguenther/src/svn/trunk/gcc/cp/error.c:383 #19 0x00623f9f in dump_function_name (t=0x75b53400, flags=0) at /space/rguenther/src/svn/trunk/gcc/cp/error.c:1430 #20 0x0062b382 in lang_decl_name (decl=0x75b53400, v=0, translate=0 '\000') at /space/rguenther/src/svn/trunk/gcc/cp/error.c:2361 #21 0x006fa0e7 in cxx_printable_name_internal (decl=0x75b53400, v=0, translate=0 '\000') at /space/rguenther/src/svn/trunk/gcc/cp/tree.c:1406 #22 0x006fa3db in cxx_printable_name (decl=0x75b53400, v=0) at /space/rguenther/src/svn/trunk/gcc/cp/tree.c:1443 #23 0x004a0e5e in cxx_dwarf_name (t=0x75b53400, verbosity=0) at /space/rguenther/src/svn/trunk/gcc/cp/cp-lang.c:148 #24 0x008d3838 in dwarf2_name (decl=0x75b53400, scope=0) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:10848 #25 0x008e5570 in add_name_and_src_coords_attributes ( die=0x75b57e70, decl=0x75b53400) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:16802 #26 0x008e9483 in gen_subprogram_die (decl=0x75b53400, context_die=0x75b57dc0) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:17960 #27 0x008efcd7 in gen_decl_die (decl=0x75b53400, -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||ice-on-valid-code Last reconfirmed|-00-00 00:00:00 |2010-04-23 16:35:42 date|| Summary|ICE with -g |[4.5/4.6 Regression] ICE ||with -g Target Milestone|--- |4.5.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43868
[Bug middle-end/43866] [4.3/4.4/4.5/4.6 Regression] wrong code with -fbounds-check -funswitch-loops
--- Comment #6 from jv244 at cam dot ac dot uk 2010-04-23 17:29 --- both testcases work with 4.1.2. I've also checked various versions of valgrind, which all report consistent results. Also 4.5 only fails on the original testcase. for reference, -v gives: gcc-4.5/bin/gfortran-4.5 -O3 -fbounds-check -g -static -v t.f90 Driving: gcc-4.5/bin/gfortran-4.5 -O3 -fbounds-check -g -static -v t.f90 -lgfortran -lm Using built-in specs. COLLECT_GCC=gcc-4.5/bin/gfortran-4.5 COLLECT_LTO_WRAPPER=/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /lustre/ESPFS/scratch/pci/vondele/gcc-4.5/gcc-4.5.0/configure --prefix=/home/pci/vondele/gcc-4.5 --enable-languages=c,c++,fortran --program-suffix=-4.5 --disable-multilib --with-gmp=/home/pci/vondele/gcc-4.5 --with-mpfr=/home/pci/vondele/gcc-4.5 --with-mpc=/home/pci/vondele/gcc-4.5 Thread model: posix gcc version 4.5.0 (GCC) COLLECT_GCC_OPTIONS='-O3' '-fbounds-check' '-g' '-static' '-v' '-mtune=generic' '-march=x86-64' /panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/f951 t.f90 -quiet -dumpbase t.f90 -mtune=generic -march=x86-64 -auxbase t -g -O3 -version -fbounds-check -fintrinsic-modules-path /panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/finclude -o /tmp/cc4wFHAz.s GNU Fortran (GCC) version 4.5.0 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0, GMP version 4.2.4, MPFR version 2.4.1, MPC version 0.8 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU Fortran (GCC) version 4.5.0 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0, GMP version 4.2.4, MPFR version 2.4.1, MPC version 0.8 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 COLLECT_GCC_OPTIONS='-O3' '-fbounds-check' '-g' '-static' '-v' '-mtune=generic' '-march=x86-64' as -V -Qy --64 -o /tmp/ccvIH9et.o /tmp/cc4wFHAz.s GNU assembler version 2.16.91.0.5 (x86_64-suse-linux) using BFD version 2.16.91.0.5 20051219 (SUSE Linux) COMPILER_PATH=/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/:/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../libexec/gcc/ LIBRARY_PATH=/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/:/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/:/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-O3' '-fbounds-check' '-g' '-static' '-v' '-mtune=generic' '-march=x86-64' /panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/collect2 -m elf_x86_64 -static /usr/lib/../lib64/crt1.o /usr/lib/../lib64/crti.o /panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/crtbeginT.o -L/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0 -L/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc -L/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../.. /tmp/ccvIH9et.o -lgfortran -lm --start-group -lgcc -lgcc_eh -lc --end-group /panfs/panfs0.ften.es.hpcn.uzh.ch/es/home/pci/vondele/gcc-4.5/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/crtend.o /usr/lib/../lib64/crtn.o -- jv244 at cam dot ac dot uk changed: What|Removed |Added Known to fail|4.3.1 4.4.0 4.6.0 |4.3.1 4.4.0 4.5.0 4.6.0 Known to work||4.1.2 Summary|wrong code with -fbounds- |[4.3/4.4/4.5/4.6 Regression] |check -funswitch-loops |wrong code with -fbounds- ||check -funswitch-loops Target Milestone|--- |4.3.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43866
[Bug lto/40702] lto-elf.c fails to compile on Solaris
--- Comment #6 from ebotcazou at gcc dot gnu dot org 2010-04-23 18:08 --- This at least works for me on SPARC/Solaris 8, 9 and 10. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added CC||ebotcazou at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40702
[Bug libfortran/43844] open(unit, status=scratch) fails to create tempporary file
--- Comment #9 from jvdelisle at gcc dot gnu dot org 2010-04-23 18:19 --- I discussed with Kai on IRC today and have approved Kai to commit the patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43844
[Bug c/43869] New: ms_abi - sysv_abi passing float arguments incorrectly
Float arguments are passed incorrectly from a ms_abi function to a sysv function, as can be witnessed by a simple testcase, which fails on all optimizations. I don't think this is a regression, as wine always failed on that testcase. -- Summary: ms_abi - sysv_abi passing float arguments incorrectly Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: m dot b dot lankhorst at gmail dot com GCC build triplet: x86_64-linux-gnu GCC host triplet: x86_64-linux-gnu GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43869
[Bug c/43869] ms_abi - sysv_abi passing float arguments incorrectly
--- Comment #1 from m dot b dot lankhorst at gmail dot com 2010-04-23 18:38 --- Created an attachment (id=20474) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20474action=view) testcase testcase that fails -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43869
[Bug target/43869] ms_abi - sysv_abi passing float arguments incorrectly
--- Comment #2 from pinskia at gcc dot gnu dot org 2010-04-23 18:40 --- This works with: GNU C (GCC) version 4.6.0 20100422 (experimental) [trunk revision 158652] (x86_64-unknown-linux-gnu) -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Component|c |target http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43869
[Bug target/43869] ms_abi - sysv_abi passing float arguments incorrectly
--- Comment #3 from pinskia at gcc dot gnu dot org 2010-04-23 18:44 --- (In reply to comment #2) This works with: GNU C (GCC) version 4.6.0 20100422 (experimental) [trunk revision 158652] (x86_64-unknown-linux-gnu) I take that back, it still fails, for some reason I thought the testcase was using abort to test for a failure rather than the return value. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43869
[Bug target/42868] [4.4 regression] ICE in change_address_1 at -O -fPIC -mcpu=ultrasparc
--- Comment #3 from ebotcazou at gcc dot gnu dot org 2010-04-23 18:55 --- Too delicate to fix on release branches. Reopen if it pops up elsewhere. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||4.3.4 4.5.0 Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42868
[Bug bootstrap/43870] New: ICE in gcc/config/soft-fp/divtf3.c
Bootstrapping 4.5.0 fails with ICE in stage1. Env/tools: LD_LIBRARY_PATH=/opt/csw/lib gcc 4.3.4 gas 2.19.1 mpfr 2.4.2 gmp 5.0.1 mpc 0.8.1 Build was configured as: $ ~/source/gcc-4.5.0/configure --prefix=/usr/tgcware/gcc-4.5.0 --with-local-prefix=/usr/tgcware/gcc-4.5.0 --with-gnu-as --with-as=/opt/csw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-threads=posix --enable-shared --with-gmp=/opt/csw --with-mpfr=/opt/csw --with-mpc=/opt/csw --disable-nsl --with-x --enable-java-awt=xlib --with-system-zlib --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ Build failure: /export/home/tgc/build/gcc450_all_native/./gcc/xgcc -B/export/home/tgc/build/gcc450_all_native/./gcc/ -B/usr/tgcware/gcc-4.5.0/i386-pc-solaris2.8 /bin/ -B/usr/tgcware/gcc-4.5.0/i386-pc-solaris2.8/lib/ -isystem /usr/tgcware/gcc-4.5.0/i386-pc-solaris2.8/include -isystem /usr/tgcware/gcc-4.5.0 /i386-pc-solaris2.8/sys-include-g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -W old-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I/export/ho me/tgc/source/gcc-4.5.0/libgcc -I/export/home/tgc/source/gcc-4.5.0/libgcc/. -I/export/home/tgc/source/gcc-4.5.0/libgcc/../gcc -I/export/home/tgc/ source/gcc-4.5.0/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -Wno-missing-prototypes -Wno-type-limits -o divtf3.o -MT divtf3.o -MD -MP -MF divt f3.dep -fexceptions -c /export/home/tgc/source/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c /export/home/tgc/source/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c: In function '__divtf3': /export/home/tgc/source/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c:38:1: warning: 'R_e' may be used uninitialized in this function /export/home/tgc/source/gcc-4.5.0/libgcc/../gcc/config/soft-fp/divtf3.c:49:1: internal compiler error: Segmentation Fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. gmake[3]: *** [divtf3.o] Error 1 gmake[3]: Leaving directory `/export/home/tgc/build/gcc450_all_native/i386-pc-solaris2.8/libgcc' gmake[2]: *** [all-stage1-target-libgcc] Error 2 gmake[2]: Leaving directory `/export/home/tgc/build/gcc450_all_native' gmake[1]: *** [stage1-bubble] Error 2 gmake[1]: Leaving directory `/export/home/tgc/build/gcc450_all_native' gmake: *** [bootstrap] Error 2 -- Summary: ICE in gcc/config/soft-fp/divtf3.c Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc-tgc at jupiterrise dot com GCC build triplet: i386-pc-solaris2.8 GCC host triplet: i386-pc-solaris2.8 GCC target triplet: i386-pc-solaris2.8 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43870
[Bug bootstrap/43870] ICE in gcc/config/soft-fp/divtf3.c
--- Comment #1 from gcc-tgc at jupiterrise dot com 2010-04-23 18:58 --- Created an attachment (id=20475) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20475action=view) Preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43870
[Bug target/43871] New: -mcpu=power4 -mtune=cell emits power7/cell-only opcodes
my kernel does not boot anymore on a ppc970 (powermac g5) due to an illegal instruction caused by gcc 4.5 research showed that the DI bswap64 operation is optimized to ldbrx even on power4, but causes an sigill there. gcc -m64 -c -O2 -mcpu=power4 -mtune=cell gcc/testsuite/gcc.target/powerpc/optimize-bswapdi-3.c ; objdump -d optimize-bswapdi-3.o .swap64_load: 0: 7c 00 1c 28 .long 0x7c001c28 4: 7c 03 03 78 mr r3,r0 8: 4e 80 00 20 blr while: gcc -m64 -c -O2 -mcpu=power4 gcc/testsuite/gcc.target/powerpc/optimize-bswapdi-3.c ; objdump -d optimize-bswapdi-3.o .swap64_load: 0: 39 20 00 04 li r9,4 4: 7c 00 1c 2c lwbrx r0,0,r3 8: 7d 69 1c 2c lwbrx r11,r9,r3 c: 79 6a 07 c6 rldicr r10,r11,32,31 10: 7d 4a 03 78 or r10,r10,r0 14: 7d 43 53 78 mr r3,r10 18: 4e 80 00 20 blr -mcpu=power4 -mtune=cell should not start to emit opcodes invalid on power4. I think the bswap64 emitter logic in config/rs6000/rs6000.md is incorrect -- Summary: -mcpu=power4 -mtune=cell emits power7/cell-only opcodes Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: marcus at jet dot franken dot de GCC build triplet: powerpc-unknown-linux-gnu GCC host triplet: powerpc-unknown-linux-gnu GCC target triplet: powerpc-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43871
[Bug target/43871] -mcpu=power4 -mtune=cell emits power7/cell-only opcodes
--- Comment #1 from pinskia at gcc dot gnu dot org 2010-04-23 19:04 --- This was my fault to some extend; when I added =cell support I asked about if we should emit the cell instructions for -mtune= and the answer was that using -mtune=cell is most likely not going to be used. In fact -mtune=cell most likely produce much slower code on most other processors because of the non use of the dot instructions (and other stuff). -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43871
[Bug target/43871] -mcpu=power4 -mtune=cell emits power7/cell-only opcodes
--- Comment #2 from marcus at jet dot franken dot de 2010-04-23 19:12 --- well, the kernel now does easier ... in arch/powerpc/Makefile: ifeq ($(CONFIG_TUNE_CELL),y) KBUILD_CFLAGS += $(call cc-option,-mtune=cell) endif -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43871
[Bug target/43872] New: VLAs are not aligned correctly on ARM
This test case is derived from gcc.c-torture/execute/920929-1.c. It creates a VLA of doubles and fills it with zeros: cat bad-vla-align.c unsigned long mask = sizeof(double) - 1; unsigned int __attribute__((noinline)) f(int n) { double v[n]; while (n 0) v[--n] = 0; return (unsigned long)v mask; } int main(void) { if (f(100) != 0) __builtin_abort(); return 0; } With -march=armv5te -O2 gcc uses STRD instructions to write 8 bytes at a time. STRD requires an 8-byte aligned address, but gcc fails to align the VLA to 8 bytes, resulting in misaligned accesses at runtime. Depending on hardware and kernel configuration, this may result in abnormal termination or slow but correct execution. On my Marvell Kirkwood machine, it results in EXTREMELY slow execution due to the high overhead of kernel fixups for alignment traps. The reason for the misalignment can be seen in the assembly code: cat bad-vla-align.s .arch armv5te ... f: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 @ link register save eliminated. str fp, [sp, #-4]! sp is 8-byte aligned on entry but not after the prologue. mov r1, r0, asl #3 add r3, r1, #8 Both these offsets are multiples of 8. add fp, sp, #0 cmp r0, #0 sub sp, sp, r3 Now sp == v[0] is not 8-byte aligned. mov ip, sp ble .L2 add r1, sp, r1 r1 == v[n] is not 8-byte aligned. mov r2, #0 mov r3, #0 .L3: subsr0, r0, #1 strdr2, [r1, #-8]! r1 == v[--n] is not 8-byte aligned so strd fails. ... I can reproduce this failure with 4.6.0 (r158675) and the 4.5.0 and 4.4.3 releases. 4.3.4 and 4.2.4 appear to work, but I don't know if that is by design or by accident (different register allocation resulting in different frame layouts and prologues). A version of the test case tried to perform the alignment check inside the f function, but gcc optimized it away completely, apparently knowing that the array address was a multiple of 8. Still another version tried to pass the array address to a separate checking function, but that changed f's prologue enough to mask the error. -- Summary: VLAs are not aligned correctly on ARM Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mikpe at it dot uu dot se GCC target triplet: armv5tel-unknown-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43872
[Bug target/43872] VLAs are not aligned correctly on ARM
--- Comment #1 from mikpe at it dot uu dot se 2010-04-23 19:14 --- Created an attachment (id=20476) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20476action=view) test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43872
[Bug target/43872] VLAs are not aligned correctly on ARM
--- Comment #2 from mikpe at it dot uu dot se 2010-04-23 19:15 --- Created an attachment (id=20477) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20477action=view) gcc-4.6.0 -O2 -march=armv5te -S output -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43872
[Bug c/43873] New: Bootstrap compiler segfault while configuring libgcc
Trying to build GCC 4.3.4, 4.4.3 and 4.4.4RC using gcc 3.4.6 as a system compiler fails: configure:2590: checking for suffix of object files configure:2611: /x/./gcc/xgcc -B/x/./gcc/ -B/y/bfin-unknown-elf/bin/ -B/y/bfin-unknown-elf/lib/ -isystem /y/bfin-unknown-elf/include -isystem /y/bfin-unknown-elf/sys-include -c -g -Osconftest.c 5 conftest.c:1: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. configure:2614: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME GNU C Runtime Library | #define PACKAGE_TARNAME libgcc | #define PACKAGE_VERSION 1.0 | #define PACKAGE_STRING GNU C Runtime Library 1.0 | #define PACKAGE_BUGREPORT | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:2627: error: in `/x/bfin-unknown-elf/libgcc': configure:2630: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. gdb tells a bit more on the location of the failure: Program received signal SIGSEGV, Segmentation fault. 0x37bf in ?? () (gdb) bt #0 0x37bf in ?? () #1 0x0816af3d in emit_move_insn () #2 0x080f8457 in init_set_costs () #3 0x083063e7 in lang_dependent_init_target () #4 0x0830646d in lang_dependent_init () #5 0x08306655 in do_compile () #6 0x083066c8 in toplev_main () #7 0x080b3b2a in main () Bootstrap compiler: ./xgcc -v Using built-in specs. Target: bfin-unknown-elf Configured with: /z/gcc-4.4.4-RC-20100422/configure --build=i486-build_pc-linux-gnu --host=i486-build_pc-linux-gnu --target=bfin-unknown-elf --prefix=/y --with-local-prefix=/y/bfin-unknown-elf/bfin-unknown-elf//sys-root --disable-multilib --with-sysroot=/y/bfin-unknown-elf//sys-root --with-newlib --enable-threads=no --enable-shared --with-pkgversion=naa --disable-decimal-float --disable-__cxa_atexit --with-gmp=/o/targets/bfin-unknown-elf/build/static --with-mpfr=/o/targets/bfin-unknown-elf/build/static --disable-nls --enable-symvers=gnu --enable-languages=c,c++ --enable-target-optspace Thread model: single gcc version 4.4.4 20100422 (prerelease) (naa) System compiler: # i486-pc-linux-gnu-gcc -v Reading specs from /a/i486-pc-linux-gnu-gcc3.4.6/bin/../lib/gcc/i486-pc-linux-gnu/3.4.6/specs Configured with: /s/gcc-3.4.6/configure --build=i486-build_pc-linux-gnu --host=i486-build_pc-linux-gnu --target=i486-pc-linux-gnu --prefix=/y/i486-pc-linux-gnu --with-sysroot=/y/i486-pc-linux-gnu/i486-pc-linux-gnu//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=i486 --enable-__cxa_atexit --enable-threads=posix --with-local-prefix=/y/i486-pc-linux-gnu/i486-pc-linux-gnu//sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace Thread model: posix gcc version 3.4.6 note: gcc 4.2.4 build successfully in the same environment. -- Summary: Bootstrap compiler segfault while configuring libgcc Product: gcc Version: 4.4.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lacombar at gmail dot com GCC build triplet: i486-pc-linux-gnu GCC host triplet: i486-pc-linux-gnu GCC target triplet: bfin-unknown-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43873
[Bug java/42143] [4.3/4.4/4.5/4.6 Regression] gcj creates dummy variables
--- Comment #6 from kurt at roeckx dot be 2010-04-23 19:49 --- So can someone please comment on this? -- kurt at roeckx dot be changed: What|Removed |Added Status|WAITING |UNCONFIRMED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143
[Bug fortran/40994] ICE with BIND(C)
--- Comment #5 from jv244 at cam dot ac dot uk 2010-04-23 20:17 --- as per comment #4, and reconfirmed for trunk -- jv244 at cam dot ac dot uk changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-04-23 20:17:34 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40994
[Bug tree-optimization/43629] [4.3 Regression] Struct to register optimization fails
--- Comment #17 from julien dot etienne at gmail dot com 2010-04-23 21:12 --- Thank you very much for the fix. Everything now works as expected. Best Regards, Julien -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43629