[Bug c/55570] [4.7/4.8 regression] Undefined variable in alignment compiler directive causes compiler segfault
mpolacek at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 3 10:07:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55570
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> 2012-12-03 10:07:22 UTC ---
That's because in 4.8/4.7 we introduced
c-family/c-common.c:check_user_alignment which contains:
if (!INTEGRAL_TYPE_P (TREE_TYPE (align))
|| TREE_CODE (align) != INTEGER_CST)
{
error ("requested alignment is not an integer constant");
return -1;
}
but when we get undefined macro as a parameter, the TREE_CODE of align is
IDENTIFIER_NODE:
(gdb) call debug_tree (align)
<identifier_node 0x7ffff1aa9690 SOME_NOT_DEFINED_MACRO>
but we don't check for that.
More information about the Gcc-bugs
mailing list