/* The lang_hooks data structure.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ 2011 Free Software Foundation, Inc.
This file is part of GCC.
/* Fill in information for the debugger about the bounds of TYPE. */
void (*get_subrange_bounds) (const_tree, tree *, tree *);
+ /* A type descriptive of TYPE's complex layout generated to help the
+ debugger to decode variable-length or self-referential constructs.
+ This is only used for the AT_GNAT_descriptive_type DWARF attribute. */
+ tree (*descriptive_type) (const_tree);
+
/* If we requested a pointer to a vector, build up the pointers that
we stripped off while looking for the inner type. Similarly for
return values from functions. The argument TYPE is the top of the
struct lang_hooks_for_decls
{
- /* Returns nonzero if we are in the global binding level. Ada
- returns -1 for an undocumented reason used in stor-layout.c. */
- int (*global_bindings_p) (void);
+ /* Return true if we are in the global binding level. This hook is really
+ needed only if the language supports variable-sized types at the global
+ level, i.e. declared outside subprograms. */
+ bool (*global_bindings_p) (void);
/* Function to add a decl to the current scope level. Takes one
argument, a decl to add. Returns that decl, or, if the same
of options. */
unsigned int (*option_lang_mask) (void);
+ /* Initialize variables in an options structure. */
+ void (*init_options_struct) (struct gcc_options *opts);
+
/* After the initialize_diagnostics hook is called, do any simple
- initialization needed before any calls to handle_option. */
+ initialization needed before any calls to handle_option, other
+ than that done by the init_options_struct hook. */
void (*init_options) (unsigned int decoded_options_count,
struct cl_decoded_option *decoded_options);
checking whether ARG is NULL, which indicates that no argument
was in fact supplied. For -f and -W switches, VALUE is 1 or 0
for the positive and negative forms respectively. HANDLERS should
- be passed to any recursive handle_option calls.
+ be passed to any recursive handle_option calls. LOC is the
+ location of the option.
Return true if the switch is valid, false if invalid. */
bool (*handle_option) (size_t code, const char *arg, int value, int kind,
+ location_t loc,
const struct cl_option_handlers *handlers);
/* Called when all command line options have been parsed to allow
/* Called at the end of compilation, as a finalizer. */
void (*finish) (void);
- /* Parses the entire file. The argument is nonzero to cause bison
- parsers to dump debugging information during parsing. */
- void (*parse_file) (int);
+ /* Parses the entire file. */
+ void (*parse_file) (void);
/* Determines if it's ok for a function to have no noreturn attribute. */
bool (*missing_noreturn_ok_p) (tree);