Hi

This piece of invalid code (the dereference shouldn't be there) triggers an
ICE. The crash happens on 4.3.2, 4.4.1 and 4.4.2. It happens with or without
optimizations.

static void MONITOR(void *ptr)
{
__asm__ volatile ("                                     \n\
XORL    %%ECX, %%ECX                                    \n\
XORL    %%EDX, %%EDX                                    \n\
MONITOR                                                 \n\
"::"a"(*ptr):"cx","dx","cc","memory");
}

s.e: In function 'MONITOR':
s.e:7: warning: dereferencing 'void *' pointer
s.e:7: internal compiler error: in gimplify_expr, at gimplify.c:7074
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 
           Summary: ICE on invalid dereferencing of void *
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mikulas at artax dot karlin dot mff dot cuni dot cz
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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

Reply via email to