In explow.c, there's this code:

    if (GET_CODE (x) == SYMBOL_REF)
      {
        align = BITS_PER_UNIT;
        if (SYMBOL_REF_DECL (x) && DECL_P (SYMBOL_REF_DECL (x)))
          align = DECL_ALIGN (SYMBOL_REF_DECL (x));
      }

If SYMBOL_REF_DECL(x) is a FUNCTION_DECL, DECL_ALIGN() does not have valid
data, so this code will cause the alignment of a function's MEM to be set to
random data.


-- 
           Summary: explow.c references DECL_ALIGN of a FUNCTION_DECL
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: geoffk at gcc dot gnu dot org
GCC target triplet: i686-pc-linux-gnu


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

Reply via email to