https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67278
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |uros at gcc dot gnu.org --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- CCing Uros for the followup ICE. Apply Index: gcc/tree-cfg.c =================================================================== --- gcc/tree-cfg.c (revision 233852) +++ gcc/tree-cfg.c (working copy) @@ -2959,10 +2959,10 @@ verify_expr (tree *tp, int *walk_subtree } else if (!INTEGRAL_TYPE_P (TREE_TYPE (t)) && TYPE_MODE (TREE_TYPE (t)) != BLKmode - && (GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (t))) + && (GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (t))) != tree_to_uhwi (t1))) { - error ("mode precision of non-integral result does not " + error ("mode size of non-integral result does not " "match field size of BIT_FIELD_REF"); return t; } to avoid the first checking issue (or simplify the testcase do not do arithmetic I guess).