tree.h has:
/* In a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE or ARRAY_TYPE, it means
the type has BLKmode only because it lacks the alignment required for
its size. */
#define TYPE_NO_FORCE_BLK(NODE) \
(TYPE_CHECK (NODE)->type_common.no_force_blk_flag)
and it's the only usage of the flag, so the bits in print_node are outdated.
Tested on x86_64-suse-linux, applied on the mainline as obvious.
2013-12-19 Eric Botcazou <ebotca...@adacore.com>
* print-tree.c (print_node) <case tcc_type>: Print no_force_blk_flag
for all types.
--
Eric Botcazou
Index: print-tree.c
===================================================================
--- print-tree.c (revision 206105)
+++ print-tree.c (working copy)
@@ -583,16 +583,12 @@ print_node (FILE *file, const char *pref
if (TYPE_UNSIGNED (node))
fputs (" unsigned", file);
- /* The no-force-blk flag is used for different things in
- different types. */
- if ((code == RECORD_TYPE
- || code == UNION_TYPE
- || code == QUAL_UNION_TYPE)
- && TYPE_NO_FORCE_BLK (node))
+ if (TYPE_NO_FORCE_BLK (node))
fputs (" no-force-blk", file);
if (TYPE_STRING_FLAG (node))
fputs (" string-flag", file);
+
if (TYPE_NEEDS_CONSTRUCTING (node))
fputs (" needs-constructing", file);