/* Function called with an option vector as argument, to decode a
single option (typically starting with -f or -W or +). It should
return the number of command-line arguments it uses if it handles
- the option, or 0 and not complain if it does not recognise the
+ the option, or 0 and not complain if it does not recognize the
option. If this function returns a negative number, then its
absolute value is the number of command-line arguments used, but,
in addition, no language-independent option processing should be
assembler does not talk about it. */
void (*set_decl_assembler_name) PARAMS ((tree));
+ /* Return nonzero if fold-const is free to use bit-field
+ optimizations, for instance in fold_truthop(). */
+ bool (*can_use_bit_fields_p) PARAMS ((void));
+
/* Nonzero if TYPE_READONLY and TREE_READONLY should always be honored. */
bool honor_readonly;
void (*print_error_function) PARAMS ((struct diagnostic_context *,
const char *));
+ /* Called from expr_size to calculate the size of the value of an
+ expression in a language-dependent way. Returns a tree for the size
+ in bytes. A frontend can call lhd_expr_size to get the default
+ semantics in cases that it doesn't want to handle specially. */
+ tree (*expr_size) PARAMS ((tree));
+
/* Pointers to machine-independent attribute tables, for front ends
using attribs.c. If one is NULL, it is ignored. Respectively, a
table of attributes specific to the language, a table of