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.