diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 26ada9c9991..959d15b5041 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-08-05 Richard Sandiford + + * tree-core.h (tree_function_decl): Make function_code an + independent field. Group the remaining bitfields into bytes + and move decl_type so that it contines to be at a byte boundary. + Leave 12 bits for future expansion. + 2019-08-05 Richard Sandiford * gimple-fold.c (gimple_fold_mask_load_store_mem_ref) diff --git a/gcc/tree-core.h b/gcc/tree-core.h index 60d8c684171..47195626912 100644 --- a/gcc/tree-core.h +++ b/gcc/tree-core.h @@ -1857,36 +1857,32 @@ struct GTY(()) tree_function_decl { tree vindex; /* In a FUNCTION_DECL for which DECL_BUILT_IN holds, this is - DECL_FUNCTION_CODE. Otherwise unused. - ??? The bitfield needs to be able to hold all target function - codes as well. */ - ENUM_BITFIELD(built_in_function) function_code : 12; - ENUM_BITFIELD(built_in_class) built_in_class : 2; + DECL_FUNCTION_CODE. Otherwise unused. */ + enum built_in_function function_code; + ENUM_BITFIELD(built_in_class) built_in_class : 2; unsigned static_ctor_flag : 1; unsigned static_dtor_flag : 1; - unsigned uninlinable : 1; unsigned possibly_inlined : 1; unsigned novops_flag : 1; unsigned returns_twice_flag : 1; + unsigned malloc_flag : 1; unsigned declared_inline_flag : 1; unsigned no_inline_warning_flag : 1; - unsigned no_instrument_function_entry_exit : 1; - - /* Align the bitfield to boundary of a byte. */ - ENUM_BITFIELD(function_decl_type) decl_type: 2; - unsigned no_limit_stack : 1; unsigned disregard_inline_limits : 1; unsigned pure_flag : 1; unsigned looping_const_or_pure_flag : 1; + + /* Align the bitfield to boundary of a byte. */ + ENUM_BITFIELD(function_decl_type) decl_type: 2; unsigned has_debug_args_flag : 1; unsigned versioned_function : 1; - /* 0 bits left. */ + /* 12 bits left for future expansion. */ }; struct GTY(()) tree_translation_unit_decl {