This very likely has no consequence in release mode, but you can get ICES with tree checking enabled in some perculiar cases and on some platforms.
Tested on i586-suse-linux, applied on the mainline, 4.6 and 4.5 branches. 2012-01-09 Eric Botcazou <ebotca...@adacore.com> * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko. -- Eric Botcazou
Index: gcc-interface/trans.c =================================================================== --- gcc-interface/trans.c (revision 182780) +++ gcc-interface/trans.c (working copy) @@ -8403,7 +8403,7 @@ addressable_p (tree gnu_expr, tree gnu_t || DECL_ALIGN (TREE_OPERAND (gnu_expr, 1)) >= TYPE_ALIGN (TREE_TYPE (gnu_expr)))) /* The field of a padding record is always addressable. */ - || TYPE_PADDING_P (TREE_TYPE (TREE_OPERAND (gnu_expr, 0)))) + || TYPE_IS_PADDING_P (TREE_TYPE (TREE_OPERAND (gnu_expr, 0)))) && addressable_p (TREE_OPERAND (gnu_expr, 0), NULL_TREE)); case ARRAY_REF: case ARRAY_RANGE_REF: