[Bug c/49622] New: Compiler segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622 Summary: Compiler segfault Product: gcc Version: 4.4.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: paul-gcc...@mineiro.com Created attachment 24665 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24665 small (minimal?) example that causes compiler segfault g++ -Wall -O3 -ffast-math -finline-functions -msse -mfpmath=sse -v -save-temps -I/home/pmineiro/include -I/usr/local/include -lm segfault.c -o segfault Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) COLLECT_GCC_OPTIONS='-Wall' '-O3' '-ffast-math' '-finline-functions' '-msse' '-mfpmath=sse' '-v' '-save-temps' '-I/home/pmineiro/include' '-I/usr/local/include' '-o' 'segfault' '-shared-libgcc' '-mtune=generic' /usr/lib/gcc/x86_64-linux-gnu/4.4.3/cc1plus -E -quiet -v -I/home/pmineiro/include -I/usr/local/include -D_GNU_SOURCE segfault.c -D_FORTIFY_SOURCE=2 -msse -mfpmath=sse -mtune=generic -Wall -ffast-math -finline-functions -O3 -fpch-preprocess -fstack-protector -o segfault.ii ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu ignoring nonexistent directory /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../x86_64-linux-gnu/include ignoring nonexistent directory /usr/include/x86_64-linux-gnu ignoring nonexistent directory /home/pmineiro/include ignoring duplicate directory /usr/local/include as it is a non-system directory that duplicates a system directory #include ... search starts here: #include ... search starts here: /usr/include/c++/4.4 /usr/include/c++/4.4/x86_64-linux-gnu /usr/include/c++/4.4/backward /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-Wall' '-O3' '-ffast-math' '-finline-functions' '-msse' '-mfpmath=sse' '-v' '-save-temps' '-I/home/pmineiro/include' '-I/usr/local/include' '-o' 'segfault' '-shared-libgcc' '-mtune=generic' /usr/lib/gcc/x86_64-linux-gnu/4.4.3/cc1plus -fpreprocessed segfault.ii -quiet -dumpbase segfault.c -msse -mfpmath=sse -mtune=generic -auxbase segfault -O3 -Wall -version -ffast-math -finline-functions -fstack-protector -o segfault.s GNU C++ (Ubuntu 4.4.3-4ubuntu5) version 4.4.3 (x86_64-linux-gnu) compiled by GNU C version 4.4.3, GMP version 4.3.2, MPFR version 2.4.2-p1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C++ (Ubuntu 4.4.3-4ubuntu5) version 4.4.3 (x86_64-linux-gnu) compiled by GNU C version 4.4.3, GMP version 4.3.2, MPFR version 2.4.2-p1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 88858f45841827736473e527a4e9ab10 segfault.c: In function 'int main()': segfault.c:11: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-4.4/README.Bugs for instructions. make: *** [segfault] Error 1
[Bug fortran/49623] New: Segfault of gfortran -L if no argument follows the -L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49623 Summary: Segfault of gfortran -L if no argument follows the -L Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: bur...@gcc.gnu.org While it works for the C driver: $ gcc foo.c -L gcc: error: missing argument to ‘-L’ the Fortran driver segfaults when there is no argument following the -L argument: $ gfortran foo.f90 -L Segmentation fault Valgrind shows: ==18481== Invalid read of size 1 ==18481==at 0x4A06D82: strlen (mc_replace_strmem.c:275) ==18481==by 0x40E8BE: lang_specific_driver (gfortranspec.c:95) ==18481==by 0x405EBF: process_command (gcc.c:3637) ==18481==by 0x40B455: main (gcc.c:6263) ==18481== Address 0x0 is not stack'd, malloc'd or (recently) free'd
[Bug bootstrap/49557] make chokes on various Makefile constructs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49557 --- Comment #12 from Arjen Markus arjen.markus895 at gmail dot com 2011-07-04 06:58:46 UTC --- Hello, well, I have re-read the installation instructions, put the sources for gmp, mpfr and mpc into the GCC source directory, reconfigured it (from a clean build directory) and got the following result: checking for /u/markus/tmp/gcc4.6.1/build-gcc/./gcc/xgcc -B/u/markus/tmp/gcc4.6.1/build-gcc/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-includeoption to accept ISO C89... none needed configure: updating cache ./config.cache configure: creating ./config.status config.status: creating Makefile make[2]: Entering directory `/u/markus/tmp/gcc4.6.1/build-gcc/gnattools' rm -rf ../gcc/ada/tools mkdir -p ../gcc/ada/tools (cd ../gcc/ada/tools; ln -s ../sdefault.adb ../snames.ads ../snames.adb .) rm -f ../gcc/ada/tools/mlib-tgt-specific.adb; ln -s /u/markus/tmp/gcc4.6.1/gcc-4.6.1-RC-20110620/gcc/ada/mlib-tgt-specific-linux.adb ../gcc/ada/tools/mlib-tgt-specific.adb; rm -f ../gcc/ada/tools/indepsw.adb; ln -s /u/markus/tmp/gcc4.6.1/gcc-4.6.1-RC-20110620/gcc/ada/indepsw-gnu.adb ../gcc/ada/tools/indepsw.adb; touch ../gcc/stamp-tools Cannot build gnattools while gnatlib is out of date or unbuilt make[2]: *** [../gcc/stamp-gnatlib-rts] Error 1 make[2]: Leaving directory `/u/markus/tmp/gcc4.6.1/build-gcc/gnattools' make[1]: *** [all-gnattools] Error 2 make[1]: Leaving directory `/u/markus/tmp/gcc4.6.1/build-gcc' make: *** [all] Error 2 Note: I called configure without any arguments. gcc -v gives the following output: Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --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.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux Thread model: posix gcc version 4.1.2 20080704 (Red Hat 4.1.2-44) I will try again without Ada. Regards, Arjen 2011/7/1 redi at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49557 --- Comment #11 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-01 12:50:06 UTC --- (In reply to comment #0) ../gcc-4.6.1-RC-20110620/configure --with-gmp-include=d:/gcc4.6.1.src/gmp-5.0.2 --with-gmp-lib=d:/gcc4.6.1.src/gmp-5.0.2/.libs --with-mpfr-include=d:/gcc4.6.1.src/mpfr-3.0.1 --with-mpfr-lib=d:/gcc4.6.1.src/mpfr-3.0.1/.libs --with-mpc-include=d:/gcc4.6.1.src/mpc-0.9/src --with-mpc-lib=d:/gcc4.6.1.src/mpc-0.9/src/.libs What on earth are you doing here? You have not installed gmp/mpc/mpfr, you seem to be trying to use compiled-but-not-installed versions, why? It's much easier to just put the gmp/mpfr/mpc sources into the gcc source tree and then everything just works See http://advogato.org/person/redi/diary/240.html -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You reported the bug.
[Bug fortran/49624] New: ICE with pointer-bound remapping
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49624 Summary: ICE with pointer-bound remapping Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: bur...@gcc.gnu.org Assume: integer, target :: A(100) integer,pointer :: P(:,:) p(10,1:) = A end Compiling the program with gfortran results in: test.f90:4:0: internal compiler error: in gfc_trans_pointer_assignment, at fortran/trans-expr.c:5081 While the following variant gives: p(1:10,1:) = A 1 Error: Either all or none of the upper bounds must be specified at (1) Also the valid p(1:10,1:10) = A works. I think the compiler is right about rejecting the code, one finds: R733 pointer-assignment-stmt is data-pointer-object [ (bounds-spec-list) ] = data-target or data-pointer-object (bounds-remapping-list ) = data-target [...] R735 bounds-spec is lower-bound-expr : R736 bounds-remapping is lower-bound-expr : upper-bound-expr C716 (R733) If bounds-spec-list is specified, the number of bounds-specs shall equal the rank of data-pointer-object. C717 (R733) If bounds-remapping-list is specified, the number of bounds-remappings shall equal the rank of data-pointer-object. C718 (R733) If bounds-remapping-list is not specified, the ranks of data-pointer-object and data-target shall be the same. Thus, for bounds remapping both lower and upper bounds are required.
[Bug c/49622] Compiler segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 07:05:18 UTC --- Can't reproduce, please report it to Ubuntu instead.
[Bug fortran/49623] Segfault of gfortran -L if no argument follows the -L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49623 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.07.04 07:22:23 AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 07:22:23 UTC --- Created attachment 24666 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24666 gcc47-pr49623.patch Untested fix. Unfortunately it is hard to create a dejagnu testcase for this, as lots of options are appended after dg-options.
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||ebotcazou at gcc dot ||gnu.org, jakub at gcc dot ||gnu.org, rsandifo at gcc ||dot gnu.org --- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 08:10:19 UTC --- I think the problem is either that the MEM has the MEM_NOTRAP_P flag set on it: (mem/f/i:SI (symbol_ref/i:SI (__dso_handle) var_decl 0x713ce320 __dso_handle) [0 S4 A32]) That makes ifcvt believe it can try to use a conditional move with that as an operand, and as there is no conditional move with MEM operand on this target, it is forced into register first. MEM_NOTRAP_P is set in set_mem_attributes_minus_bitpos: /* Note whether this expression can trap. */ MEM_NOTRAP_P (ref) = !tree_could_trap_p (t); where t is VAR_DECL for __dso_handle with DECL_WEAK. Or the problem might be that noce_try_cmove_arith should be using else if (may_trap_or_fault_p (a) || may_trap_or_fault_p (b)) return FALSE; instead of else if (may_trap_p (a) || may_trap_p (b)) return FALSE; Eric/Richard, what do you think? The comments seem to be fuzzy to me, some comments say that MEM_NOTRAP_P only apply to the position where the MEM is originally used (and in this case the __dso_handle var is read only guarded with if (__dso_handle != NULL), on the other side I wonder if we ever clear MEM_NOTRAP_P on unguarded DECL_WEAK var references.
[Bug debug/49496] [4.7 Regression] -fcompare-debug failure (length) with -O -ftree-vectorize
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49496 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 08:20:22 UTC --- Fixed.
[Bug libstdc++/49607] [4.7 Regression] FAIL: 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49607 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug debug/49522] Divide by zero in validate_subreg in emit-rtl.c:695
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49522 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 09:00:17 UTC --- Created attachment 24667 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24667 gcc47-pr49522.patch Untested fix.
[Bug c/49622] Compiler segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622 --- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:31:59 UTC --- Created attachment 24668 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24668 preprocessed source Confirmed. Preprocessed source attached - segfaults with any of 4.4.x with plain -O1.
[Bug target/49621] [4.5/4.6/4.7 regression] ICE in trunc_int_for_mode, at explow.c:57
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49621 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.5.4
[Bug tree-optimization/49622] [4.4 Regression] Compiler segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target||x86_64-*-* Status|UNCONFIRMED |NEW Last reconfirmed||2011.07.04 09:37:11 Component|c |tree-optimization Known to work||4.3.6, 4.5.0 Target Milestone|--- |4.4.7 Summary|Compiler segfault |[4.4 Regression] Compiler ||segfault Ever Confirmed|0 |1 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:37:11 UTC --- Checking enabled it ICEs at #2 0x009ffede in execute_todo (flags=7) at /space/rguenther/src/svn/gcc-4_4-branch/gcc/passes.c:1017 1017gcc_assert (flags TODO_update_ssa_any); after FRE: Inserted pretmp.47_13 = VIEW_CONVERT_EXPRv4si(D.6253); in predecessor 2 Replaced p.i with pretmp.47_13 in D.6236_2 = p.i; Replaced p.i with pretmp.47_13 in D.6236_5 = p.i; D.6253 should be an SSA name. I suppose a DECL_GIMPLE_REG_P setting is missing somewhere.
[Bug middle-end/49596] [4.7 Regression] FAIL: gcc.dg/torture/pr43879_1.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49596 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:37:46 UTC --- Fixed.
[Bug c/49620] piece of code from modification to dvblast but cant get it to compile and run correctly
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49620 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2011.07.04 09:41:57 Version|unknown |4.5.2 Ever Confirmed|0 |1 --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:41:57 UTC --- Please check if the bug still reproduces when you add -fno-inline to the commandline. It might be that in the caller you read the pointers via a different type and thus violate strict aliasing rules (does it work with -fno-inline?).
[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target||x86_64-*-* Status|UNCONFIRMED |NEW Last reconfirmed||2011.07.04 09:43:58 Target Milestone|--- |4.5.4 Summary|ICE in simplify_subreg, at |[4.5/4.6/4.7 Regression] |simplify-rtx.c:5362 |ICE in simplify_subreg, at ||simplify-rtx.c:5362 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:43:58 UTC --- Confirmed.
[Bug tree-optimization/49622] [4.4 Regression] Compiler segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49622 --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 09:44:18 UTC --- Ah sorry, I've been trying to reproduce it with cc1 instead of cc1plus.
[Bug c/49617] gcc misses uninititialized variables in contained functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49617 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||diagnostic Status|UNCONFIRMED |NEW Last reconfirmed||2011.07.04 09:48:32 Ever Confirmed|0 |1 Severity|normal |enhancement --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:48:32 UTC --- This is similar to other uninitialized reports in that it requires to track memory. OTOH it is a lot harder because it is an IPA uninitialized use.
[Bug c++/49615] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.07.04 09:57:07 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:57:07 UTC --- Confirmed and mine. forwprop makes the noreturn call direct via cfgcleanup: L1: # DEBUG obj = this_2(D) # DEBUG func$__pfn = g # DEBUG func$__delta = 0 # DEBUG func$__pfn = g # DEBUG func$__delta = 0 D.2159_33 = (long int) g; D.2156_45 = this_2(D); C::g (D.2156_45); # DEBUG b = D.2148_52(D) from L1: func$__pfn_5 = g; # DEBUG obj = this_2(D) # DEBUG func$__pfn = g # DEBUG func$__delta = 0 # DEBUG func$__pfn = g # DEBUG func$__delta = 0 D.2159_33 = (long int) g; D.2158_34 = D.2159_33 1; if (D.2158_34 != 0) goto bb 7; else goto bb 8; bb 7: ... DEAD ... bb 8: # func$__pfn_46 = PHI g(6), func$__pfn_43(7) D.2156_45 = this_2(D); func$__pfn_46 (D.2156_45); # DEBUG b = D.2148_52(D)
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Component|c++ |tree-optimization Known to work||4.5.3 Target Milestone|--- |4.6.2 Summary|internal compiler error:|[4.6 Regression] internal |verify_stmts failed / LHS |compiler error: |in noreturn call with |verify_stmts failed / LHS |pointer-to-never-returning- |in noreturn call with |member |pointer-to-never-returning- ||member --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 09:58:36 UTC --- Works on the 4.5 branch and on the trunk, but possibly latent on both.
[Bug c/49620] piece of code from modification to dvblast but cant get it to compile and run correctly
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49620 --- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-04 09:58:55 UTC --- (In reply to comment #4) So you want a buildable executable for a single line of bugged code. The source code you posted is not self-contained and the attachment is a compressed archive that I can't extract on this machine without installing additional software. See http://gcc.gnu.org/bugs/ *What we do not want* An attached archive (tar, zip, shar, whatever) containing all (or some :-) of the above.
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 --- Comment #4 from Jan Hubicka hubicka at ucw dot cz 2011-07-04 10:05:10 UTC --- split_bbs_on_noreturn_calls is supposed to handle this scenario... Honza
[Bug target/43052] Inline memcmp is *much* slower than glibc's
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 --- Comment #11 from Jan Hubicka hubicka at gcc dot gnu.org 2011-07-04 10:11:03 UTC --- H.J, if glibc implementation beats gcc even for size of 4, I guess we could just drop the pattern or enable at at -Os only. Or are there easy cases we want to inline, like we do for memcpy? Unlike memcpy, memcmp/strcmp is more difficult to handle because the amount of memory it will process is harder to estimate. I guess still with known alignment and/or small upper bound of object size, inline code would be a win.
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #10 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-04 10:14:40 UTC --- Eric/Richard, what do you think? The comments seem to be fuzzy to me, some comments say that MEM_NOTRAP_P only apply to the position where the MEM is originally used (and in this case the __dso_handle var is read only guarded with if (__dso_handle != NULL), on the other side I wonder if we ever clear MEM_NOTRAP_P on unguarded DECL_WEAK var references. I think that DECL_WEAK should always prevent MEM_NOTRAP_P from being set. This is a regression because of the change in set_mem_attributes_minus_bitpos, right? The code on the 4.5 branch reads: if (DECL_P (base)) { if (CODE_CONTAINS_STRUCT (TREE_CODE (base), TS_DECL_WITH_VIS)) MEM_NOTRAP_P (ref) = !DECL_WEAK (base); else MEM_NOTRAP_P (ref) = 1; } else MEM_NOTRAP_P (ref) = TREE_THIS_NOTRAP (base); Maybe the first part should be reinstated.
[Bug bootstrap/49625] New: GCC 4.6.* with Ada can't bootstrapped on MINGW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49625 Summary: GCC 4.6.* with Ada can't bootstrapped on MINGW Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: ivansavvat...@yandex.ru Fail to build GCC 4.6.* with Ada on MINGW: on Stage3 XGCC throws an error: g-socthi.adb:280:45: value not in range of type Interfaces.C.unsigned g-socthi.adb:280:45: static expression fails Constraint_Check
[Bug rtl-optimization/49472] [4.7 regression] Compiler segfault on valid code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49472 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 10:27:23 UTC --- Created attachment 24669 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24669 gcc47-pr49472.patch Untested fix.
[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 10:30:10 UTC --- Started with http://gcc.gnu.org/viewcvs?root=gccview=revrev=145494
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 --- Comment #5 from rguenther at suse dot de rguenther at suse dot de 2011-07-04 10:37:11 UTC --- On Mon, 4 Jul 2011, hubicka at ucw dot cz wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 --- Comment #4 from Jan Hubicka hubicka at ucw dot cz 2011-07-04 10:05:10 UTC --- split_bbs_on_noreturn_calls is supposed to handle this scenario... Yeah, but it contains a typo ... || bb-index = n_basic_blocks should be || bb-index = last_basic_block ... I have a fix.
[Bug target/43052] Inline memcmp is *much* slower than glibc's
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 --- Comment #12 from Jan Hubicka hubicka at gcc dot gnu.org 2011-07-04 10:49:18 UTC --- Created attachment 24670 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24670 memcpy/memset testing script HJ, can you please run the attached script with new glibc as sh test_stringop 64 64000 gcc -march=native | tee out In my quick testing on glibc2.11 and core i5 AMD machine, inline memcpy/memset is still win on I5 for all blocks sizes (our optimization table is however wrong since it is inherited from generic one). For blocks of 512b and above however the inline code is about as fast as glibc code and obviously longer. On AMD machine libcall is win for blocks of 1k to 8k. For large blocks inline seems to be win again, for whatever reason. Probably prefetch logic is wrong on the older glibc. If glibc stringops has been finally made sane, we ought to revisit the tables we generate inline versions from.
[Bug target/46261] avr-gcc: Segfaults when compiled with the -mint8 option
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46261 --- Comment #21 from joseph at codesourcery dot com joseph at codesourcery dot com 2011-07-04 10:58:14 UTC --- On Sat, 2 Jul 2011, gjl at gcc dot gnu.org wrote: Indeed, I simply made all bare-metal targets use newlib-stdint.h as a default, but since AVR has its own libc it seems more appropriate to put the defines in avr-stdint.h or avr.h and not use newlib-stdint.h. (And the point of having separate headers such as newlib-stdint.h is that there may not otherwise be a header shared between all relevant targets. If all AVR targets use avr-libc, putting the defines in avr.h makes sense, but if avr-rtems is using newlib like other RTEMS targets then you probably want a separate header only for AVR targets using avr-libc.) The extra header is not needed because of avr-libc; there is nothing special about avr-libc and it conforms to the standard (except when you explicitely Headers such as newlib-stdint.h tell GCC about the details of choices made by the libc implementation where more than one choice would conform to the standard. Thus, if avr-libc has made any choices relating to stdint.h different from the choices made by newlib, a separate header may be needed for that reason alone. (All the gcc.dg/c99-stdint-*.c tests should pass; if any fail, that suggests either a header bug or a requirement for GCC to change how these types are configured in GCC for AVR.)
[Bug fortran/49623] Segfault of gfortran -L if no argument follows the -L
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49623 --- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot com 2011-07-04 11:04:36 UTC --- On Mon, 4 Jul 2011, jakub at gcc dot gnu.org wrote: Created attachment 24666 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24666 gcc47-pr49623.patch Untested fix. Unfortunately it is hard to create a dejagnu testcase for this, as lots of options are appended after dg-options. I think it would be better to repeat the logic in the next loop (that avoids looking in detail at options with CL_ERR_MISSING_ARG set) before the switch statement in this loop, so that if any more options are added to this loop that involve looking at the arguments it isn't necessary for each to check individually for the case of a missing argument.
[Bug lto/48851] lto-plugin.c:224:7: error: missing sentinel in function call [-Werror=format]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48851 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |ASSIGNED URL||http://gcc.gnu.org/ml/gcc-p ||atches/2011-07/msg00171.htm ||l AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #19 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 11:05:23 UTC --- Patch posted.
[Bug tree-optimization/49518] [4.6/4.7 Regression] ICE in vect_enhance_data_refs_alignment, at tree-vect-data-refs.c:1555
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49518 --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 11:30:17 UTC --- I'll drop the assert (too many weird asserts in the vectorizer anyway).
[Bug c++/49626] New: Explicit conversion skipped when followed by conversion to a wider type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49626 Summary: Explicit conversion skipped when followed by conversion to a wider type Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: fn42...@fmi.uni-sofia.bg Hello. I think I've encountered a case regarding conversions between integral types. It is demonstrated by the attached file which, when compiled with -Wsign-conversion, makes g++ produce the following warning: sign-conversion-bug.cpp: In function 'long unsigned int f()': sign-conversion-bug.cpp:5: warning: conversion to 'long unsigned int' from 'short int' may change the sign of the result The source code requests two conversions: 1. an explicit one from 'short int' to 'unsigned int'; 2. an implicit one from 'unsigned int' to 'unsigned long int'. However, g++ only seems to attempt a single conversion -- an implicit one from 'short int' to 'unsigned long int'. Is this the intended behaviour? Output from g++ -v: Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.3.2 (Debian 4.3.2-1.1) I also tested with gcc versions 4.3.6 and 4.4.6, and I got the same results. Regards, Angel Tsankov
[Bug c++/49626] Explicit conversion skipped when followed by conversion to a wider type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49626 --- Comment #1 from Angel Tsankov fn42551 at fmi dot uni-sofia.bg 2011-07-04 11:37:47 UTC --- Created attachment 24671 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24671 Demonstrates the case
[Bug fortran/49627] New: NINT(x,16) doesn't work (at all, ever, I don't think)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49627 Summary: NINT(x,16) doesn't work (at all, ever, I don't think) Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: marcus.appl...@gmail.com Created attachment 24672 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24672 very short (5 line) program illlustrating problem I don't think there is much to say beyond the summary. I think that when you wrote the code for this function you never actually checked that it will produce kind 16 integers. I have attached a test program which produces a compiler error.
[Bug tree-optimization/49460] [4.5 Regression] g++: Internal error: Segmentation fault (program cc1plus) using -O2 or -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49460 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Known to work||4.4.6, 4.6.1 Target Milestone|--- |4.5.4 Summary|g++: Internal error:|[4.5 Regression] g++: |Segmentation fault (program |Internal error: |cc1plus) using -O2 or -O3 |Segmentation fault (program ||cc1plus) using -O2 or -O3 Known to fail||4.5.0, 4.5.3
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 12:06:22 UTC --- Author: rguenth Date: Mon Jul 4 12:06:17 2011 New Revision: 175803 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175803 Log: 2011-07-04 Richard Guenther rguent...@suse.de PR tree-optimization/49615 * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix basic-block index check. * g++.dg/torture/pr49615.C: New testcase. Added: trunk/gcc/testsuite/g++.dg/torture/pr49615.C Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-cfgcleanup.c
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 --- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 12:08:53 UTC --- Author: rguenth Date: Mon Jul 4 12:08:50 2011 New Revision: 175804 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175804 Log: 2011-07-04 Richard Guenther rguent...@suse.de PR tree-optimization/49615 * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix basic-block index check. * g++.dg/torture/pr49615.C: New testcase. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/torture/pr49615.C Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/gcc/tree-cfgcleanup.c
[Bug fortran/49627] NINT(x,16) doesn't work (at all, ever, I don't think)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49627 Tobias Burnus burnus at gcc dot gnu.org changed: What|Removed |Added Attachment #24672|application/octet-stream|text/plain mime type|| --- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-07-04 12:12:25 UTC --- Comment on attachment 24672 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24672 very short (5 line) program illlustrating problem Fails with: test14.f90:4:0: internal compiler error: in build_round_expr, at fortran/trans-intrinsic.c:393 388 if (resprec = LONG_TYPE_SIZE) 389 longlong = false; 390 else if (resprec = LONG_LONG_TYPE_SIZE) 391 longlong = true; 392 else 393 gcc_unreachable (); I think one needs to replace fn = builtin_decl_for_precision (BUILT_IN_LLROUND, argprec); by something like fn = gfc_builtin_decl_for_float_kind (BUILT_IN_LROUND, ...)
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #10 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 12:22:25 UTC --- Fixed.
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 --- Comment #9 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 12:21:48 UTC --- Author: rguenth Date: Mon Jul 4 12:21:45 2011 New Revision: 175808 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175808 Log: 2011-07-04 Richard Guenther rguent...@suse.de PR tree-optimization/49615 * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix basic-block index check. * g++.dg/torture/pr49615.C: New testcase. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr49615.C Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/tree-cfgcleanup.c
[Bug tree-optimization/49615] [4.6 Regression] internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615 --- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 12:18:29 UTC --- Author: rguenth Date: Mon Jul 4 12:18:22 2011 New Revision: 175805 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175805 Log: 2011-07-04 Richard Guenther rguent...@suse.de PR tree-optimization/49615 * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix basic-block index check. * g++.dg/torture/pr49615.C: New testcase. Added: branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr49615.C Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/testsuite/ChangeLog branches/gcc-4_5-branch/gcc/tree-cfgcleanup.c
[Bug target/44643] ice in c-typeck.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643 --- Comment #14 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 12:28:05 UTC --- Author: gjl Date: Mon Jul 4 12:28:02 2011 New Revision: 175809 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175809 Log: PR target/44643 * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY instead of TREE_READONLY. Modified: trunk/gcc/ChangeLog trunk/gcc/config/avr/avr.c
[Bug target/44643] ice in c-typeck.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643 --- Comment #15 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 12:33:03 UTC --- Author: gjl Date: Mon Jul 4 12:33:00 2011 New Revision: 175810 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175810 Log: Backport from mainline 2011-07-04 Georg-Johann Lay PR target/44643 * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY instead of TREE_READONLY. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/avr/avr.c
[Bug target/44643] ice in c-typeck.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Known to work|4.6.1 |4.6.2 Target Milestone|4.6.1 |4.6.2
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.07.04 12:38:03 AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 12:38:03 UTC --- Created attachment 24673 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24673 gcc47-pr49618.patch Untested 4.7 fix.
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 12:39:21 UTC --- Created attachment 24674 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24674 gcc46-pr49618.patch Untested more conservative 4.6 fix.
[Bug target/44643] ice in c-typeck.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44643 --- Comment #16 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 12:48:07 UTC --- Author: gjl Date: Mon Jul 4 12:48:04 2011 New Revision: 175811 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175811 Log: PR target/34734 PR target/44643 * gcc.target/avr/avr.exp: Run over cpp files, too. * gcc.target/avr/torture/avr-torture.exp: Ditto. * gcc.target/avr/progmem.h: New file. * gcc.target/avr/exit-abort.h: New file. * gcc.target/avr/progmem-error-1.c: New file. * gcc.target/avr/progmem-error-1.cpp: New file. * gcc.target/avr/progmem-warning-1.c: New file. * gcc.target/avr/torture/progmem-1.c: New file. * gcc.target/avr/torture/progmem-1.cpp: New file. Added: trunk/gcc/testsuite/gcc.target/avr/exit-abort.h trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.c trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.cpp trunk/gcc/testsuite/gcc.target/avr/progmem-warning-1.c trunk/gcc/testsuite/gcc.target/avr/progmem.h trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.c trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.cpp Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/avr/avr.exp trunk/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
[Bug target/34734] attribute((progmem)) not handled properly in C++ for AVRs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34734 --- Comment #10 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 12:48:07 UTC --- Author: gjl Date: Mon Jul 4 12:48:04 2011 New Revision: 175811 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175811 Log: PR target/34734 PR target/44643 * gcc.target/avr/avr.exp: Run over cpp files, too. * gcc.target/avr/torture/avr-torture.exp: Ditto. * gcc.target/avr/progmem.h: New file. * gcc.target/avr/exit-abort.h: New file. * gcc.target/avr/progmem-error-1.c: New file. * gcc.target/avr/progmem-error-1.cpp: New file. * gcc.target/avr/progmem-warning-1.c: New file. * gcc.target/avr/torture/progmem-1.c: New file. * gcc.target/avr/torture/progmem-1.cpp: New file. Added: trunk/gcc/testsuite/gcc.target/avr/exit-abort.h trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.c trunk/gcc/testsuite/gcc.target/avr/progmem-error-1.cpp trunk/gcc/testsuite/gcc.target/avr/progmem-warning-1.c trunk/gcc/testsuite/gcc.target/avr/progmem.h trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.c trunk/gcc/testsuite/gcc.target/avr/torture/progmem-1.cpp Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/avr/avr.exp trunk/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
[Bug tree-optimization/49115] [4.5 Regression] invalid return value optimization (?) when exception is thrown and caught
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49115 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 13:25:39 UTC --- Fixed.
[Bug tree-optimization/49115] [4.5 Regression] invalid return value optimization (?) when exception is thrown and caught
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49115 --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 13:25:24 UTC --- Author: rguenth Date: Mon Jul 4 13:25:21 2011 New Revision: 175812 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175812 Log: 2011-07-04 Richard Guenther rguent...@suse.de Backport from mainline 2011-05-23 Richard Guenther rguent...@suse.de PR tree-optimization/49115 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise. * g++.dg/torture/pr49115.C: New testcase. Added: branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr49115.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-dce.c
[Bug middle-end/49628] New: [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628 Summary: [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com CC: rguent...@suse.de On Linux/x86, revision 175704: http://gcc.gnu.org/ml/gcc-cvs/2011-06/msg01196.html gave: g++ -O3 -funroll-loops -ffast-math -fwhole-program -flto=jobserver -fuse-linker-plugin -DSPEC_CPU_LP64auto_derivative_function.o block_sparse_matrix.o block_sparse_matrix_ez.o block_sparsity_pattern.o block_vector.o compressed_sparsity_pattern.o data_out.o data_out_base.o data_out_faces.o data_out_rotation.o data_out_stack.o derivative_approximation.o dof_accessor.o dof_constraints.o dof_handler.o dof_levels.o dof_renumbering.o dof_tools.o error_estimator.o exceptions.o fe.o fe_data.o fe_dgp.o fe_dgp_1d.o fe_dgp_2d.o fe_dgp_3d.o fe_dgp_nonparametric.o fe_dgq.o fe_dgq_1d.o fe_dgq_2d.o fe_dgq_3d.o fe_nedelec.o fe_nedelec_1d.o fe_nedelec_2d.o fe_nedelec_3d.o fe_q.o fe_q_1d.o fe_q_2d.o fe_q_3d.o fe_q_hierarchical.o fe_raviart_thomas.o fe_system.o fe_tools.o fe_values.o filtered_matrix.o full_matrix.double.o full_matrix.float.o function.o function_derivative.o function_lib.o function_lib_cutoff.o function_time.o geometry_info.o grid_generator.o grid_in.o grid_out.all_dimensions.o grid_out.o grid_refinement.o grid_reordering.o histogram.o intergrid_map.o job_identifier.o log.o mapping.o mapping_c1.o mapping_cartesian.o mapping_q.o mapping_q1.o mapping_q1_eulerian.o matrices.all_dimensions.o matrices.o matrix_lib.o matrix_out.o memory_consumption.o mg_base.o mg_dof_accessor.o mg_dof_handler.o mg_dof_tools.o mg_smoother.o mg_transfer_block.o mg_transfer_prebuilt.o mg_transfer_block.all_dimensions.o multigrid.all_dimensions.o multithread_info.o parameter_handler.o persistent_tria.o polynomial.o polynomial_space.o programid.o quadrature.o quadrature_lib.o solution_transfer.o solver_control.o sparse_matrix.double.o sparse_matrix.float.o sparse_matrix_ez.double.o sparse_matrix_ez.float.o sparsity_pattern.o step-14.o subscriptor.o swappable_vector.o tensor.o tensor_product_polynomials.o tria.all_dimensions.o tria.o tria_accessor.o tria_boundary.o tria_boundary_lib.o vector.o vector.long_double.o vectors.all_dimensions.o fe_dgp_monomial.o fe_poly.o polynomials_bdm.o polynomials_p.o vectors.o -o dealII mapping_q1.cc: In member function 'compute_fill': mapping_q1.cc:442:0: internal compiler error: Floating point exception Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. make[4]: *** [/tmp/ccLsl9Do.ltrans4.ltrans.o] Error 1 lto-wrapper: make returned 2 exit status /usr/local/bin/ld: lto-wrapper failed collect2: error: ld returned 1 exit status
[Bug rtl-optimization/43088] [avr] Suspect optimizer missed code in gcc 4.4.3..
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43088 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Component|target |rtl-optimization Known to work||4.7.0 Resolution||FIXED Target Milestone|--- |4.7.0 --- Comment #7 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 13:30:03 UTC --- Closed in 4.7.0 This was a flaw in insn combine as explained above. In 4.7.0 trunk (SVN 175811) the problem is solved and the two versions, one with 0x3f and one with 0x3e, yield the same, optimal assembler: foo_3f: lds r24,count.1210 ; 5*movqi/4[length = 2] subi r24,lo8(-(1)) ; 6addqi3/2[length = 1] sts count.1210,r24 ; 7*movqi/3[length = 2] andi r24,lo8(63) ; 8andqi3/2[length = 1] breq .L2 ; 10branch[length = 1] cbi 40-0x20,0 ; 16*cbi[length = 1] ret ; 36return[length = 1] .L2: sbi 40-0x20,0 ; 25*sbi[length = 1] ret ; 38return[length = 1] .sizefoo_3f, .-foo_3f foo_3e: lds r24,count.1214 ; 5*movqi/4[length = 2] subi r24,lo8(-(1)) ; 6addqi3/2[length = 1] sts count.1214,r24 ; 7*movqi/3[length = 2] andi r24,lo8(62) ; 8andqi3/2[length = 1] breq .L5 ; 10branch[length = 1] cbi 40-0x20,0 ; 16*cbi[length = 1] ret ; 34return[length = 1] .L5: sbi 40-0x20,0 ; 25*sbi[length = 1] ret ; 36return[length = 1]
[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.07.04 13:38:59 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.7.0 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 13:38:59 UTC --- Mine. Reducing from mapping_q1.cc which triggers this at -O3 -fipa-pta w/o LTO.
[Bug target/49600] Bad SSE2 int-float split in i386.md
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49600 --- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-07-04 13:42:00 UTC --- Here is the testcase: --- long int seedi; long lo; double ran() { long hi; long test; hi = seedi / 127773L; test = 16807L * lo - 2836L * hi; if (test 0) { seedi = test; } return ( (float) seedi / 2147483647L); } --- It failed at -O3 -funroll-loops -msse2 -mfpmath=sse -ffast-math -mtune=XXX, where XXX is a new x86 optimization we are working on.
[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|ASSIGNED|UNCONFIRMED Target Milestone|4.7.0 |--- Ever Confirmed|1 |0 --- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-07-04 14:01:54 UTC --- Program received signal SIGFPE, Arithmetic exception. 0x0110149c in vector_alignment_reachable_p (dr=0x1960370) at ../../src/gcc/tree-vect-data-refs.c:1114 1114 if ((nelements - mis_in_elements) % GROUP_SIZE (stmt_info)) Missing separate debuginfos, use: debuginfo-install glibc-2.14-3.4.f15.x86_64 gmp-4.3.2-3.fc15.x86_64 libgcc-4.6.0-9.fc15.x86_64 libmpc-0.8.3-0.3.svn855.fc15.x86_64 libstdc++-4.6.0-9.fc15.x86_64 mpfr-3.0.0-4.fc15.x86_64 zlib-1.2.5-3.fc15.x86_64 (gdb) bt #0 0x0110149c in vector_alignment_reachable_p (dr=0x1960370) at ../../src/gcc/tree-vect-data-refs.c:1114 #1 0x01101e7b in vect_enhance_data_refs_alignment ( loop_vinfo=0x1a3e750) at ../../src/gcc/tree-vect-data-refs.c:1505 #2 0x00c373e7 in vect_analyze_loop_2 (loop_vinfo=0x1a3e750) at ../../src/gcc/tree-vect-loop.c:1554 #3 0x00c375de in vect_analyze_loop (loop=0x7fffefe66550) at ../../src/gcc/tree-vect-loop.c:1627 #4 0x00c53fae in vectorize_loops () at ../../src/gcc/tree-vectorizer.c:199 #5 0x00b7dc13 in tree_vectorize () at ../../src/gcc/tree-ssa-loop.c:218 #6 0x008f9f39 in execute_one_pass (pass=0x1737320) at ../../src/gcc/passes.c:2061 #7 0x008fa11f in execute_pass_list (pass=0x1737320) at ../../src/gcc/passes.c:2116 #8 0x008fa140 in execute_pass_list (pass=0x1737140) at ../../src/gcc/passes.c:2117 #9 0x008fa140 in execute_pass_list (pass=0x1736840) at ../../src/gcc/passes.c:2117 #10 0x00a92c3c in tree_rest_of_compilation (fndecl=0x70416100) at ../../src/gcc/tree-optimize.c:416 #11 0x0057a047 in cgraph_expand_function (node=0x7030b360) ---Type return to continue, or q return to quit--- at ../../src/gcc/cgraphunit.c:1792 #12 0x0057a206 in cgraph_expand_all_functions () at ../../src/gcc/cgraphunit.c:1851 #13 0x0057a902 in cgraph_optimize () at ../../src/gcc/cgraphunit.c:2121 #14 0x004af417 in lto_main () at ../../src/gcc/lto/lto.c:2800 #15 0x009f006e in compile_file () at ../../src/gcc/toplev.c:548 #16 0x009f22b3 in do_compile () at ../../src/gcc/toplev.c:1895 #17 0x009f2419 in toplev_main (argc=20, argv=0x7fffe1d8) at ../../src/gcc/toplev.c:1967 #18 0x004b21f0 in main (argc=20, argv=0x7fffe1d8) at ../../src/gcc/main.c:36 (gdb) p stmt_info-size $3 = 0 (gdb)
[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 14:11:50 UTC --- The problem is that simplify_gen_binary (IOR, mode, ); can simplify into anything, in this case into a (subreg:HI (reg:SI ...) 0), so we really don't know the argument of its first operand. It could be mode, but can be anything else too. I don't think it is actually useful to pass it at all though, if IOR was with two CONST_INT arguments, it would have been simplified into constant already by simplify_gen_binary.
[Bug rtl-optimization/49619] [4.5/4.6/4.7 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49619 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 14:13:21 UTC --- Created attachment 24675 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24675 gcc47-pr49619.patch Untested fix. The second part perhaps should be trunk only, not backported to the branches.
[Bug tree-optimization/48822] [4.5 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48822 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #12 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 14:24:31 UTC --- Fixed.
[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added CC|rguenther at suse dot de| Target Milestone|--- |4.7.0
[Bug tree-optimization/48822] [4.5 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48822 --- Comment #11 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 14:24:13 UTC --- Author: rguenth Date: Mon Jul 4 14:24:10 2011 New Revision: 175813 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175813 Log: 2011-07-04 Richard Guenther rguent...@suse.de Backport from mainline 2011-05-02 Richard Guenther rguent...@suse.de PR tree-optimization/48822 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice. * gcc.dg/torture/pr48822.c: New testcase. Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/torture/pr48822.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-sccvn.c
[Bug libfortran/48787] Invalid UP/DOWN rounding with F editing
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48787 --- Comment #28 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-07-04 14:27:06 UTC --- (In reply to comment #26) Created attachment 24583 [details] More tests for rounding If it helps, I added some more tests for this. By removing the code lines in questions, all tests from this testcase pass except: call checkfmt((RU,F2.0), 0.09, 1.) ! 0. call checkfmt((RD,F3.0), -0.09, -1.) ! -0. I have this issue fixed now. What is happening is that the digit string for theses cases comes in as 09xx or 08x. Its not normalized in the usual way (why?), so the leading zero in the string is throwing off the rounding logic. [aside: I think we would be better off with our own float to decimal string routine about now] Using this: if (d == 0 p == 0 digits[0] == '0') { nbefore = 1; nafter = 0; } in my current trunk (which has some other modifications in it) resolves this problem for: print (RU,F2.0), 0.09 ! 1. print (RD,F3.0), -0.09 ! -1. print (RU,F2.0), 0.009 ! 1. print (RD,F3.0), -0.009 ! -1. print (RU,F2.0), 0.0009 ! 1. print (RD,F3.0), -0.0009 ! -1. print (RU,F2.0), 0.9 ! 1. print (RD,F3.0), -0.9 ! -1. Which exhibit the issue. All regression tests pass. I have not tried this on the current unfettered trunk yet and I am working on the p scaling issues.
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #13 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 14:29:27 UTC --- Confirmed... gcc46-pr49618.patch solves the problem here, workaround patches from freetz project are no more necessary.
[Bug c/42146] ICE in tree_low_cst
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Version|unknown |4.7.0 Keywords||ice-on-valid-code Last reconfirmed||2011.07.04 14:31:29 Component|target |c CC||gjl at gcc dot gnu.org Ever Confirmed|0 |1 Known to fail||4.6.1 --- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 14:31:29 UTC --- This bug is still present in 4.7.0 trunk (AVR 175811). As far as I can see, it's not a target bug. But unsure about the correct component, I cose translation as of following stack trace: Breakpoint 1, fancy_abort (file=0x88ef420 ../../../gcc.gnu.org/trunk/gcc/tree.c, line=6510, function=0x88f0dfb tree_low_cst) at ../../../gcc.gnu.org/trunk/gcc/diagnostic.c:893 (gdb) bt #0 fancy_abort (file=0x88ef420 ../../../gcc.gnu.org/trunk/gcc/tree.c, line=6510, function=0x88f0dfb tree_low_cst) at ../../../gcc.gnu.org/trunk/gcc/diagnostic.c:893 #1 0x086b6681 in tree_low_cst (t=0xb7dcf3d4, pos=1) at ../../../gcc.gnu.org/trunk/gcc/tree.c:6510 #2 0x0810020c in process_init_element (value={value = 0xb7dc3ea0, original_code = STRING_CST, original_type = 0x0}, implicit=0 '\0', braced_init_obstack=0xbfffe27c) at ../../../gcc.gnu.org/trunk/gcc/c-typeck.c:8303 #3 0x0811fc17 in c_parser_initval (parser=0xb7dd5ab8, after=0x0, braced_init_obstack=0xbfffe27c) at ../../../gcc.gnu.org/trunk/gcc/c-parser.c:3894 #4 0x0811f547 in c_parser_braced_init (parser=0xb7dd5ab8, type=0xb7d4e618, nested_p=0 '\0') at ../../../gcc.gnu.org/trunk/gcc/c-parser.c:3868 #5 0x08113e5b in c_parser_declaration_or_fndef (parser=0xb7dd5ab8, fndef_ok=1 '\001', static_assert_ok=value optimized out, empty_ok=1 '\001', nested=0 '\0', start_attr_ok=value optimized out, objc_foreach_object_declaration=0x0) at ../../../gcc.gnu.org/trunk/gcc/c-parser.c:3608 #6 0x0812308a in c_parser_external_declaration (parser=0xb7dd5ab8) at ../../../gcc.gnu.org/trunk/gcc/c-parser.c:1335 #7 0x081238cb in c_parse_file () at ../../../gcc.gnu.org/trunk/gcc/c-parser.c:1223 #8 0x0816a775 in c_common_parse_file () at ../../../gcc.gnu.org/trunk/gcc/c-family/c-opts.c:1094 #9 0x084c548e in compile_file () at ../../../gcc.gnu.org/trunk/gcc/toplev.c:548 #10 0x084c754d in do_compile () at ../../../gcc.gnu.org/trunk/gcc/toplev.c:1895 #11 0x084c76c5 in toplev_main (argc=19, argv=0xbfffe544) at ../../../gcc.gnu.org/trunk/gcc/toplev.c:1967 #12 0x08183df2 in main (argc=717, argv=0x0) at ../../../gcc.gnu.org/trunk/gcc/main.c:36 (gdb)
[Bug c/42146] ICE in tree_low_cst
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.6.2
[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|2011-07-04 13:38:59 |2011.07.04 14:33:23 Ever Confirmed|0 |1 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 14:33:23 UTC --- Testcase: #include vector template int rank, int dim class Tensor; template int dim class Tensor1,dim { public: explicit Tensor (const bool initialize = true); Tensor (const Tensor1,dim ); Tensor1,dim operator = (const Tensor1,dim ); double values[(dim!=0) ? (dim) : 1]; }; template int dim inline Tensor1,dim Tensor1,dim::operator = (const Tensor1,dim p) { for (unsigned int i=0; idim; ++i) values[i] = p.values[i]; }; template int dim class Quadrature { public: const unsigned int n_quadrature_points; }; class MappingQ1 { class InternalData { public: std::vectorTensor1,3 shape_derivatives; unsigned int n_shape_functions; }; void compute_data (const Quadrature3 quadrature, InternalData data) const; }; void MappingQ1::compute_data (const Quadrature3 q, InternalData data) const { const unsigned int n_q_points = q.n_quadrature_points; data.shape_derivatives.resize(data.n_shape_functions * n_q_points); }
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #14 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 14:38:05 UTC --- Thank you gcc folks and all involved people to fix this bug.
[Bug target/43052] Inline memcmp is *much* slower than glibc's
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 --- Comment #13 from Justin Lebar justin.lebar+bug at gmail dot com 2011-07-04 14:40:40 UTC --- (In reply to comment #12) Created attachment 24670 [details] memcpy/memset testing script HJ, can you please run the attached script with new glibc as sh test_stringop 64 64000 gcc -march=native | tee out Do you think you could spin a script which also tests memcmp?
[Bug target/43052] Inline memcmp is *much* slower than glibc's
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 --- Comment #14 from Justin Lebar justin.lebar+bug at gmail dot com 2011-07-04 15:00:36 UTC --- Created attachment 24676 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24676 Test results from my core i7
[Bug middle-end/49629] New: [4.7 Regression] ICE: in df_refs_verify, at df-scan.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49629 Summary: [4.7 Regression] ICE: in df_refs_verify, at df-scan.c Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@gcc.gnu.org CC: eric.wedding...@atmel.com Target: avr Apperas not to be a target bug... In 4.7.0 trunk (SVN 175881), the following testcases ICE the compiler: /mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr34448.c: In function 'build_attr_cert': /mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr34448.c:31:1: internal compiler error: in df_refs_verify, at df-scan.c:4268 gcc.c-torture/compile/pr34448.c -O2 gcc.c-torture/compile/pr34448.c -O3 -fomit-frame-pointer gcc.c-torture/compile/pr34448.c -O3 -g /mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr39928-1.c: In function 'vq_nbest': /mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr39928-1.c:9:1: internal compiler error: in df_refs_verify, at df-scan.c:4268 gcc.c-torture/compile/pr39928-1.c -O2 gcc.c-torture/compile/pr39928-1.c -O3 -fomit-frame-pointer gcc.c-torture/compile/pr39928-1.c -O3 -g GCC configured: == Reading specs from /mnt/nfs/home/georg/gnu/build/gcc-trunk-avr/gcc/specs COLLECT_GCC=/mnt/nfs/home/georg/gnu/build/gcc-trunk-avr/gcc/xgcc COLLECT_LTO_WRAPPER=/mnt/nfs/home/georg/gnu/build/gcc-trunk-avr/gcc/lto-wrapper Target: avr Configured with: ../../gcc.gnu.org/trunk/configure --target=avr --prefix=/local/gnu/install/gcc-4.7 --disable-nls --disable-shared --enable-languages=c,c++ --with-dwarf2 --disable-lto Thread model: single gcc version 4.7.0 20110704 (experimental) (GCC) GNU C (GCC) version 4.7.0 20110704 (experimental) (avr) compiled by GNU C version 4.3.2 [gcc-4_3-branch revision 141291], GMP version 5.0.1, MPFR version 3.0.0-p8, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Command line (spawned by dejagnu) = /local/gnu/build/gcc-trunk-avr/gcc/xgcc -B/local/gnu/build/gcc-trunk-avr/gcc/ -O2 -w -DSTACK_SIZE=2048 -DNO_TRAMPOLINES -c -DSIGNAL_SUPPRESS -mmcu=atmega128 -I/home/georg/gnu/install/gcc-4.7/avr/include -o pr34448.o /mnt/nfs/home/georg/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/compile/pr34448.c Backtrace = (gdb) bt #0 fancy_abort (file=0x889de00 ../../../gcc.gnu.org/trunk/gcc/df-scan.c, line=4268, function=0x889e5c2 df_refs_verify) at ../../../gcc.gnu.org/trunk/gcc/diagnostic.c:893 #1 0x0822c38a in df_refs_verify (new_rec=0x89e8d80, old_rec=0x0, abort_if_fail=1 '\001') at ../../../gcc.gnu.org/trunk/gcc/df-scan.c:4268 #2 0x08230e5e in df_insn_refs_verify (collection_rec=0xbfffe1fc, bb=value optimized out, insn=value optimized out, abort_if_fail=1 '\001') at ../../../gcc.gnu.org/trunk/gcc/df-scan.c:4358 #3 0x082331ba in df_bb_verify (bb=0xb7dec940) at ../../../gcc.gnu.org/trunk/gcc/df-scan.c:4392 #4 0x0823346f in df_scan_verify () at ../../../gcc.gnu.org/trunk/gcc/df-scan.c:4526 #5 0x082226e5 in df_analyze () at ../../../gcc.gnu.org/trunk/gcc/df-core.c:1644 #6 0x083caed5 in rest_of_handle_ira () at ../../../gcc.gnu.org/trunk/gcc/ira.c:3561 #7 0x08447bf6 in execute_one_pass (pass=0x89440e0) at ../../../gcc.gnu.org/trunk/gcc/passes.c:2061 #8 0x08447f6d in execute_pass_list (pass=0x89440e0) at ../../../gcc.gnu.org/trunk/gcc/passes.c:2116 #9 0x08447f80 in execute_pass_list (pass=0x89444e0) at ../../../gcc.gnu.org/trunk/gcc/passes.c:2117 #10 0x08533731 in tree_rest_of_compilation (fndecl=0xb7dd3000) at ../../../gcc.gnu.org/trunk/gcc/tree-optimize.c:416 #11 0x0820436a in cgraph_expand_function (node=0xb7dd2138) at ../../../gcc.gnu.org/trunk/gcc/cgraphunit.c:1792 #12 0x082052e9 in cgraph_optimize () at ../../../gcc.gnu.org/trunk/gcc/cgraphunit.c:1851 #13 0x082066e5 in cgraph_finalize_compilation_unit () at ../../../gcc.gnu.org/trunk/gcc/cgraphunit.c:1292 #14 0x080b92a8 in c_write_global_declarations () at ../../../gcc.gnu.org/trunk/gcc/c-decl.c:9844 #15 0x084c54da in compile_file () at ../../../gcc.gnu.org/trunk/gcc/toplev.c:564 #16 0x084c754d in do_compile () at ../../../gcc.gnu.org/trunk/gcc/toplev.c:1895 #17 0x084c76c5 in toplev_main (argc=12, argv=0xbfffe654) at ../../../gcc.gnu.org/trunk/gcc/toplev.c:1967 #18 0x08183df2 in main (argc=514, argv=0x60) at ../../../gcc.gnu.org/trunk/gcc/main.c:36
[Bug translation/42146] ICE in tree_low_cst
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Component|c |translation Version|4.7.0 |unknown Target Milestone|4.6.2 |---
[Bug middle-end/49628] [4.7 Regression] 447.dealII in SPEC CPU 2006 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49628 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added CC||irar at gcc dot gnu.org --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 15:06:51 UTC --- Vectorizing the loop bb 8: # __position_11 = PHI __position_34(9), __position$_M_current_15(7) D.2964_46 = __x_copy.values[0]; __position_11-values[0] = D.2964_46; D.2964_51 = __x_copy.values[1]; __position_11-values[1] = D.2964_51; D.2964_56 = __x_copy.values[2]; __position_11-values[2] = D.2964_56; __position_34 = __position_11 + 24; if (D.2961_29 != __position_34) goto bb 9; else goto bb 10; bb 9: goto bb 8; I wonder where we are supposed to set GROUP_SIZE here and how it possibly can connect to my change ... ah, the invariant loads from __x_copy.values no longer will inhibit vectorization early. The group is now indeed the __x_copy.values[] loads. The following fixes it (or rather, avoids looking at this group): Index: gcc/tree-vect-data-refs.c === --- gcc/tree-vect-data-refs.c (revision 175802) +++ gcc/tree-vect-data-refs.c (working copy) @@ -1495,12 +1495,19 @@ vect_enhance_data_refs_alignment (loop_v GROUP_FIRST_ELEMENT (stmt_info) != stmt) continue; + /* For invariant accesses there is nothing to enhance. */ + if (integer_zerop (DR_STEP (dr))) + continue; + supportable_dr_alignment = vect_supportable_dr_alignment (dr, true); do_peeling = vector_alignment_reachable_p (dr); if (do_peeling)
[Bug tree-optimization/49542] [4.7 regression] 2 failures in the vectorization testsuite in 64-bit mode
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49542 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added CC||irar at gcc dot gnu.org --- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-04 15:18:57 UTC --- Still present. Ira, should they be XFAILed in 64-bit mode as well?
[Bug translation/42146] ICE in tree_low_cst
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146 --- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot com 2011-07-04 15:23:07 UTC --- On Mon, 4 Jul 2011, gjl at gcc dot gnu.org wrote: As far as I can see, it's not a target bug. But unsure about the correct component, I cose translation as of following stack trace: I can't see any possible reason in this stack trace for someone to think translation - that is, bugs in internationalization of the compiler's diagnostic output - is appropriate. The strack trace suggests a front-end bug - but a target-specific front-end bug that it will be up to people caring about relevant targets to investigate and fix if they want it fixed.
[Bug c/42146] ICE in tree_low_cst
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Component|translation |c --- Comment #3 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-04 15:27:57 UTC --- err sorry, does c fit better? gcc.dg/large-size-array-4.c also triggers the ICE.
[Bug fortran/49630] New: [OOP] ICE on obsolescent assumed length deferred type bound character function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630 Summary: [OOP] ICE on obsolescent assumed length deferred type bound character function Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: boschm...@tp1.physik.uni-siegen.de CC: ja...@gcc.gnu.org Here is one more weird piece of code: module abc implicit none type,abstract::abc_abstract contains procedure(abc_interface),deferred::abc_function end type abc_abstract type,extends(abc_abstract)::abc_type contains procedure::abc_function end type abc_type abstract interface function abc_interface(this) import abc_abstract class(abc_abstract),intent(in)::this character(len=*)::abc_interface !obsolescent feature end function abc_interface end interface contains function abc_function(this) class(abc_type),intent(in)::this character(len=5)::abc_function abc_function=hello end function abc_function subroutine do_something(this) class(abc_abstract),intent(in)::this print *,this%abc_function() end subroutine do_something end module abc gcc 4.7 terminates with a segmentation fault. I get an ICE error message on my full program, but it turned to a segfault in this reduced module. Anyway this code doesn't look right, so I have tried some workarounds like allocatable characters. But those ended up in different compiler errors. So what is the state of allocatable character functions? Are they supposed to work?
[Bug c/42146] ICE in tree_low_cst
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42146 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-04 15:35:45 UTC --- tree_low_cst asserts something about the ability to represent the constant in a HOST_WIDE_INT which has a target-specific (minimal) width. In your case HOST_WIDE_INT is 32bit where indeed 0x8000 is not positive. Now the question is what's the difference between the i686 x avr vs. the native i686 behavior? That's what you need to investigate.
[Bug fortran/49630] [OOP] ICE on obsolescent deferred-length type bound character function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630 Tobias Burnus burnus at gcc dot gnu.org changed: What|Removed |Added CC||burnus at gcc dot gnu.org Summary|[OOP] ICE on obsolescent|[OOP] ICE on obsolescent |assumed length deferred |deferred-length type bound |type bound character|character function |function| --- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-07-04 15:53:29 UTC --- Ragarding assumed-length functions: They should be supported, but no one has tried something fancy (i.e. beyond F77 style of features) with them. They are also really ugly. Your test case fails for me with: test.f90: In function ‘do_something’: test.f90:26:0: internal compiler error: in build_int_cst_wide, at tree.c:1218 However, I think it is invalid to place an assumed-character-length function into an INTERFACE. See PR 41604. (Cf. also PR 46588.) gcc 4.7 terminates with a segmentation fault. I get an ICE error message on my full program, but it turned to a segfault in this reduced module. On my system with a slightly dated (20110629) gfortran, I get: test.f90: In function ‘do_something’: test.f90:26:0: internal compiler error: in build_int_cst_wide, at tree.c:1218 So what is the state of allocatable character functions? Are they supposed to work? You think mean those with deferred-length type parameter - the others should already work just fine. For deferred length: I think basic support is there, but there are still some issues. Cf. also PR 49110 and PR 45170 comment 9.
[Bug target/49600] Bad SSE2 int-float split in i386.md
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49600 --- Comment #3 from uros at gcc dot gnu.org 2011-07-04 16:26:13 UTC --- Author: uros Date: Mon Jul 4 16:26:08 2011 New Revision: 175817 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175817 Log: PR target/49600 * config/i386/i386.md (SSE2 int-float split): Push operand 1 in general register to memory for !TARGET_INTER_UNIT_MOVES. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.md
[Bug target/49600] Bad SSE2 int-float split in i386.md
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49600 Uros Bizjak ubizjak at gmail dot com changed: What|Removed |Added Target||x86 Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.7.0 --- Comment #4 from Uros Bizjak ubizjak at gmail dot com 2011-07-04 16:28:05 UTC --- Fixed.
[Bug driver/49631] New: Driver --help should use common help code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49631 Summary: Driver --help should use common help code Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver AssignedTo: unassig...@gcc.gnu.org ReportedBy: js...@gcc.gnu.org At present gcc.c has its own code to handle --help and producing help text for driver options and the code in opts.c excludes driver options. This should be changed so that driver options have help text in the .opt files and this text is used by the common machinery in producing --help output. (I don't know what division between the driver and cc1 in producing that output would then be appropriate.)
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #15 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 16:47:25 UTC --- Created attachment 24677 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24677 Simple testcase-script for gcc-PR49618
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #17 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 16:48:44 UTC --- Created attachment 24679 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24679 old_atexit.os_OptLevel-O1
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #20 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 16:50:10 UTC --- Created attachment 24682 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24682 old_atexit.os_OptLevel-Os
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #18 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 16:49:13 UTC --- Created attachment 24680 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24680 old_atexit.os_OptLevel-O2
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #19 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 16:49:44 UTC --- Created attachment 24681 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24681 old_atexit.os_OptLevel-O3
[Bug tree-optimization/49618] When building uClibc with GCC 4.6.1 old_atexit is miscompiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49618 --- Comment #16 from Sedat Dilek sedat.dilek at gmail dot com 2011-07-04 16:48:15 UTC --- Created attachment 24678 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24678 old_atexit.os_OptLevel-O0
[Bug debug/49602] [4.7 Regression] verify_ssa failed (definition does not dominate use) with -O2 -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49602 --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 17:19:54 UTC --- Author: jakub Date: Mon Jul 4 17:19:52 2011 New Revision: 175818 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175818 Log: PR debug/49602 * tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard get_current_def return value if it can't be trusted to be the current value of the variable in the current bb. * gcc.dg/pr49602.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr49602.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-into-ssa.c
[Bug c++/49568] [4.7 regression] g++.dg/torture/pr41257-2.C FAILs to link on Tru64 UNIX
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49568 --- Comment #9 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot Uni-Bielefeld.DE 2011-07-04 17:24:39 UTC --- The following patch should fix the problem: Index: ipa.c === --- ipa.c (revision 175748) +++ ipa.c (working copy) @@ -871,9 +871,9 @@ function_and_variable_visibility (bool w We also need to arrange the thunk into the same comdat group as the function it reffers to. */ + DECL_COMDAT (node-decl) = DECL_COMDAT (decl_node-decl); if (DECL_ONE_ONLY (decl_node-decl)) { - DECL_COMDAT (node-decl) = DECL_COMDAT (decl_node-decl); DECL_COMDAT_GROUP (node-decl) = DECL_COMDAT_GROUP (decl_node-decl); if (DECL_ONE_ONLY (decl_node-decl) !node-same_comdat_group) { It does indeed and introduces no regressions. Thanks. Rainer
[Bug debug/49364] [4.7 regressions] Empty .debug_abbrev sections confuse SGI nm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49364 Rainer Orth ro at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #6 from Rainer Orth ro at gcc dot gnu.org 2011-07-04 17:26:37 UTC --- As expected, the patch fixes the bug. Thanks. Rainer
[Bug regression/49500] [4.7 Regression]: gcc.dg/tls/alias-1.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49500 --- Comment #8 from dave.anglin at bell dot net 2011-07-04 17:27:08 UTC --- On 7/1/2011 6:47 AM, hubicka at gcc dot gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49500 Hi, here is fixed version that does not warn. Can someone try it out, please? Patch fixes regression on hppa64-hp-hpux11.11 and hppa2.0w-hp-hpux11.11. I also tested change on darwin9 and didn't see any problems.
[Bug debug/49602] [4.7 Regression] verify_ssa failed (definition does not dominate use) with -O2 -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49602 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 18:24:39 UTC --- Fixed.
[Bug rtl-optimization/49472] [4.7 regression] Compiler segfault on valid code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49472 --- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 18:53:58 UTC --- Author: jakub Date: Mon Jul 4 18:53:56 2011 New Revision: 175821 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175821 Log: PR rtl-optimization/49472 * simplify-rtx.c (simplify_unary_operation_1) case NEG: When negating MULT, negate the second operand instead of first. (simplify_binary_operation_1) case MULT: If one operand is a NEG and the other is MULT, don't attempt to optimize by negation of the MULT operand if it only moves the NEG operation around. * gfortran.dg/pr49472.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/pr49472.f90 Modified: trunk/gcc/ChangeLog trunk/gcc/simplify-rtx.c trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/49472] [4.7 regression] Compiler segfault on valid code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49472 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-04 18:54:51 UTC --- Fixed.
[Bug middle-end/49310] [4.7 Regression] Compile time hog in var-tracking emit
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49310 --- Comment #8 from Joost VandeVondele Joost.VandeVondele at pci dot uzh.ch 2011-07-04 18:57:45 UTC --- patch ;-) Index: gcc/params.def === --- gcc/params.def (revision 175820) +++ gcc/params.def (working copy) @@ -845,7 +845,7 @@ DEFPARAM (PARAM_MAX_VARTRACK_EXPR_DEPTH, max-vartrack-expr-depth, Max. recursion depth for expanding var tracking expressions, - 20, 0, 0) + 12, 0, 0) /* Set minimum insn uid for non-debug insns. */
[Bug fortran/49630] [OOP] ICE on obsolescent deferred-length type bound character function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630 --- Comment #2 from Hans-Werner Boschmann boschmann at tp1 dot physik.uni-siegen.de 2011-07-04 19:29:50 UTC --- C417: A function name shall not be declared with an asterisk type-param-value unless it is of type CHAR- ACTER and is the name of the result of an external function or the name of a dummy function. So it is allowed to put an assumed character length into an interface, but not in the way as I did in the code above. My example is invalid. But how would I declare an abstract interface of a function with variable length? I am allowed to use any scalar integer expression as length parameter of a character function, but I cannot leave it empty in the interface. That's why I use character(:),allocatable::res with the NAG fortran compiler. As far a I know, this is the only valid way and that's why I am looking forward for gfortran to implement it.
[Bug fortran/49630] [OOP] ICE on obsolescent deferred-length type bound character function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630 --- Comment #3 from janus at gcc dot gnu.org 2011-07-04 20:21:55 UTC --- Here is a related deferred-length example: module abc implicit none type::abc_type contains procedure::abc_function end type abc_type contains function abc_function(this) class(abc_type),intent(in)::this character(:),allocatable::abc_function allocate(abc_function,source=hello) end function abc_function subroutine do_something(this) class(abc_type),intent(in)::this print *,this%abc_function() end subroutine do_something end module abc use abc type(abc_type) :: a call do_something(a) end This currently ICEs, but when changing the type-bound call in the print line to a plain function call, i.e. abc_function(this), then it is accepted and gives the expected output.
[Bug inline-asm/49611] Inline asm should support input/output of flags
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #2 from Ryan Johnson scovich at gmail dot com 2011-07-04 20:32:01 UTC --- (In reply to comment #1) Making this work reliably is probably more work than making GCC use the flags from more cases from regular C code. Does that mean each such case would need to be identified individually and then hard-wired into i386.md? The existence of modes like CCGC, CCGOC, CCNO, etc. in i386-modes.def made me hope that some high-level mechanism existed for reasoning about the semantics of condition codes. Or does that mechanism exist, and is just difficult to expose to inline asm for some reason?
[Bug tree-optimization/49632] New: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49632 Summary: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3 Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: arthur.j.odw...@gmail.com Created attachment 24683 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24683 Output of ajo-gcc -std=c99 -w -march=athlon64 -O3 -fcheck-data-deps test.c -v Bug 49033 and/or bug 46851 might be related. This reproduces for me with svn revision 175547 (2011-06-30). It doesn't reproduce with gcc 4.5.1. I'm on Ubuntu 10.10, x86-64. cat test.c EOF extern int g_107, g_123, l_98[7][7]; static int MUL(unsigned x, unsigned y) { return x*y; } void func_95(int p) { for (int i = 0; i 5; ++i) { for (int j = 0; j 5; ++j) { for (g_123 = 4; g_123 = 0; --g_123) { l_98[0][0] = (l_98[i][j+1] != -l_98[i][0]) + (p * MUL(g_107 || l_98[0][1], 2*l_98[0][g_123+1]) || p); } l_98[i][j] = 0; } } } EOF gcc -std=c99 -w -march=athlon64 -O3 -fcheck-data-deps test.c (Number of distance vectors differ: Banerjee has 1, Omega has 2. Banerjee dist vectors: 0 1 Omega dist vectors: 0 1 0 -1 data dependence relation: (Data Dep: #(Data Ref: # bb: 18 # stmt: D.2624_83 = l_98[i_54][pretmp.10_69]; # ref: l_98[i_54][pretmp.10_69]; # base_object: l_98 # Access function 0: {1, +, 1}_2 # Access function 1: {0, +, 1}_1 #) #(Data Ref: # bb: 29 # stmt: l_98[i_54][j_55] = 0; # ref: l_98[i_54][j_55]; # base_object: l_98 # Access function 0: {0, +, 1}_2 # Access function 1: {0, +, 1}_1 #) access_fn_A: {1, +, 1}_2 access_fn_B: {0, +, 1}_2 (subscript iterations_that_access_an_element_twice_in_A: [1 + 1 * x_1] last_conflict: 4 iterations_that_access_an_element_twice_in_B: [0 + 1 * x_1] last_conflict: 4 (Subscript distance: 1 ) ) access_fn_A: {0, +, 1}_1 access_fn_B: {0, +, 1}_1 (subscript iterations_that_access_an_element_twice_in_A: [0] last_conflict: scev_not_known; iterations_that_access_an_element_twice_in_B: [0] last_conflict: scev_not_known; (Subscript distance: 0 ) ) inner loop index: 1 loop nest: (1 2 ) distance_vector: 0 1 distance_vector: 0 -1 direction_vector: =+ direction_vector: =- ) ) test.c: In function ‘func_95’: test.c:3:6: internal compiler error: in compute_affine_dependence, at tree-data-ref.c:4038 This test case is reduced from the output of Csmith 2.1.0 (git hash 01aa8b04, https://github.com/Quuxplusone/csmith/), using the following command line: csmith --no-paranoid --no-longlong --no-pointers --arrays --no-jumps --no-consts --volatiles --checksum --divs --muls --no-bitfields --packed-struct -s 1807040286