In a bit of code with an out-of-bounds array access, the following ICN is
triggered:

$ gcc -c -O1 bug.c
bug.c: In function ‘func’:
bug.c:12: error: Attempt to delete prologue/epilogue insn:
(insn/f 64 63 65 0 (set (mem:SI (plus:SI (reg/f:SI 6 bp)
                (const_int -8 [0xfffffffffffffff8])) [0 S4 A8])
        (reg:SI 3 bx)) -1 (nil)
    (nil))
bug.c:12: internal compiler error: in propagate_one_insn, at flow.c:1699
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
Preprocessed source stored into /tmp/ccEvY67W.out file, please attach this to
your bugreport.

This appears to be different from bug 26945 as the test case attached to it
does not trigger any error on my machine.

The test case is as follows:

int global;
int func(int argc) {
        int* array[1];
        array[1] = &global; /* out of bounds, of course */

        if (something(array, argc))
                otherfunc(array);

        if (argc != 17)
                return 17;
}

$ /usr/bin/gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,fortran,objc,obj-c++,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre --enable-mpfr
--with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20060630 (prerelease) (Debian 4.1.1-6)


-- 
           Summary: Attempt to delete prologue/epilogue insn, again
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ted at midg3t dot net
 GCC build triplet: gcc version 4.1.2 20060630 (prerelease) (Debian 4.1.1-6)
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28282

Reply via email to