* c-lang.c (LANG_HOOKS_NAME): New.
(lang_hooks): Constify.
(c_init_options): Update.
(lang_identify): Remove.
* c-parse.in (language_string): Remove.
* dbxout.c: Include langhooks.h.
(dbxout_symbol_location): Update.
* dwarf2out.c: Include langhooks.h.
(gen_compile_unit_die): Update.
* dwarfout.c: Include langhooks.h.
(prototyped_attribute, output_compile_unit_die): Update.
* langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
(LANG_HOOKS_INITIALIZER): Update.
* langhooks.h (struct lang_hooks): New members. Constify.
* stringpool.c: Don't include toplev.h.
(set_identifier_size): Remove.
* toplev.c (toplev_main): Initialize identifier size.
(print_version): Update.
* tree.h (language_string, init_lex, lang_identify,
set_identifier_size): Remove.
* Makefile.in: Update dependencies.
* config/darwin.c: Include langhooks.h.
(func_name_maybe_scoped): Update.
* config/darwin.h (ASM_END_FILE): Update.
* config/nextstep.h (ASM_END_FILE): Update.
* config/nextstep21.h (ASM_END_FILE): Update.
* config/i386/sun386.h (ASM_END_FILE): Update.
* config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
(rs6000_output_function_epilogue): Update.
ada:
* misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
(struct lang_hooks): Constify.
(language_string, lang_identify): Remove.
* utils.c (init_decl_processing): Update.
cp:
* cp-lang.c (LANG_HOOKS_NAME): Override.
(struct lang_hooks): Constify.
* lex.c (cxx_init_options): Update.
(lang_identify): Remove.
* parse.y (language_string): Remove.
f:
* com.c (language_string, lang_identify): Remove.
(struct lang_hooks): Constify.
(LANG_HOOKS_NAME): Override.
(init_parse): Update.
java:
* jcf-parse.c (init_lex): Remove.
* lang.c (language_string, lang_identify): Remove.
(struct lang_hooks): Constify.
(LANG_HOOKS_NAME): Override.
(init_parse): Update.
objc:
* objc-act.c (LANG_HOOKS_NAME): Override.
(struct lang_hooks): Constify.
(objc_init_options): Update.
(lang_identify): Remove.
From-SVN: r46874
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-lang.c (LANG_HOOKS_NAME): New.
+ (lang_hooks): Constify.
+ (c_init_options): Update.
+ (lang_identify): Remove.
+ * c-parse.in (language_string): Remove.
+ * dbxout.c: Include langhooks.h.
+ (dbxout_symbol_location): Update.
+ * dwarf2out.c: Include langhooks.h.
+ (gen_compile_unit_die): Update.
+ * dwarfout.c: Include langhooks.h.
+ (prototyped_attribute, output_compile_unit_die): Update.
+ * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
+ (LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.h (struct lang_hooks): New members. Constify.
+ * stringpool.c: Don't include toplev.h.
+ (set_identifier_size): Remove.
+ * toplev.c (toplev_main): Initialize identifier size.
+ (print_version): Update.
+ * tree.h (language_string, init_lex, lang_identify,
+ set_identifier_size): Remove.
+ * Makefile.in: Update dependencies.
+ * config/darwin.c: Include langhooks.h.
+ (func_name_maybe_scoped): Update.
+ * config/darwin.h (ASM_END_FILE): Update.
+ * config/nextstep.h (ASM_END_FILE): Update.
+ * config/nextstep21.h (ASM_END_FILE): Update.
+ * config/i386/sun386.h (ASM_END_FILE): Update.
+ * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
+ (rs6000_output_function_epilogue): Update.
+objc:
+ * objc-act.c (LANG_HOOKS_NAME): Override.
+ (struct lang_hooks): Constify.
+ (objc_init_options): Update.
+ (lang_identify): Remove.
+
Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
* fold-const.c (lshift_double): Honor PREC.
insn-config.h $(EXPR_H) $(OPTABS_H) libfuncs.h $(RECOG_H) reload.h \
toplev.h $(GGC_H) real.h $(TM_P_H) except.h
dbxout.o : dbxout.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) flags.h \
- $(REGS_H) debug.h $(TM_P_H) $(TARGET_H) function.h \
+ $(REGS_H) debug.h $(TM_P_H) $(TARGET_H) function.h langhooks.h \
insn-config.h reload.h gstab.h xcoffout.h output.h dbxout.h toplev.h
debug.o : debug.c $(CONFIG_H) $(SYSTEM_H)
sdbout.o : sdbout.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) flags.h \
sdbout.h toplev.h $(TM_P_H) except.h debug.h
dwarfout.o : dwarfout.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) dwarf.h \
flags.h insn-config.h reload.h output.h toplev.h $(TM_P_H) \
- debug.h
+ debug.h langhooks.h
dwarf2out.o : dwarf2out.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) dwarf2.h \
debug.h flags.h insn-config.h reload.h output.h diagnostic.h \
hard-reg-set.h $(REGS_H) $(EXPR_H) libfuncs.h toplev.h dwarf2out.h varray.h \
- $(GGC_H) except.h dwarf2asm.h $(TM_P_H)
+ $(GGC_H) except.h dwarf2asm.h $(TM_P_H) langhooks.h
dwarf2asm.o : dwarf2asm.c $(CONFIG_H) $(SYSTEM_H) flags.h $(RTL_H) $(TREE_H) \
output.h dwarf2asm.h $(TM_P_H)
xcoffout.o : xcoffout.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) xcoffout.h \
$(out_object_file): $(out_file) $(CONFIG_H) $(TREE_H) $(GGC_H) \
$(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
output.h $(INSN_ATTR_H) $(SYSTEM_H) toplev.h $(TARGET_H) libfuncs.h \
- $(TARGET_DEF_H) function.h sched-int.h $(TM_P_H) $(EXPR_H) $(OPTABS_H)
+ $(TARGET_DEF_H) function.h sched-int.h $(TM_P_H) $(EXPR_H) $(OPTABS_H) \
+ langhooks.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(out_file) $(OUTPUT_OPTION)
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
+ (struct lang_hooks): Constify.
+ (language_string, lang_identify): Remove.
+ * utils.c (init_decl_processing): Update.
+
2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
* misc.c: Include langhooks-def.h.
* *
* C Implementation File *
* *
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
* *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
/* Structure giving our language-specific hooks. */
+#undef LANG_HOOKS_NAME
+#define LANG_HOOKS_NAME "GNU Ada"
+#undef LANG_HOOKS_IDENTIFIER_SIZE
+#define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct tree_identifier)
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT gnat_init
#undef LANG_HOOKS_INIT_OPTIONS
#undef LANG_HOOKS_GET_ALIAS_SET
#define LANG_HOOKS_GET_ALIAS_SET gnat_get_alias_set
-struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
/* gnat standard argc argv */
/* Global Variables Expected by gcc: */
-const char * const language_string = "GNU Ada";
int flag_traditional; /* Used by dwarfout.c. */
int ggc_p = 1;
#endif
}
-/* Return a short string identifying this language to the debugger. */
-
-const char *
-lang_identify ()
-{
- return "ada";
-}
-
/* If DECL has a cleanup, build and return that cleanup here.
This is a callback called by expand_expr. */
* *
* C Implementation File *
* *
- * $Revision$
+ * $Revision: 1.2 $
* *
* Copyright (C) 1992-2001, Free Software Foundation, Inc. *
* *
void
init_decl_processing ()
{
- /* The structure `tree_identifier' is the GCC tree data structure that holds
- IDENTIFIER_NODE nodes. We need to call `set_identifier_size' to tell GCC
- that we have not added any language specific fields to IDENTIFIER_NODE
- nodes. */
- set_identifier_size (sizeof (struct tree_identifier));
-
lineno = 0;
/* incomplete_decl_finalize_hook is defined in toplev.c. It needs to be set
static int c_disregard_inline_limits PARAMS ((tree));
static int c_cannot_inline_tree_fn PARAMS ((tree *));
+#undef LANG_HOOKS_NAME
+#define LANG_HOOKS_NAME "GNU C"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT c_init
#undef LANG_HOOKS_INIT_OPTIONS
anon_aggr_type_p
/* Each front end provides its own. */
-struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
/* Post-switch processing. */
static void
static void
c_init_options ()
{
- /* Make identifier nodes long enough for the language-specific slots. */
- set_identifier_size (sizeof (struct lang_identifier));
-
parse_in = cpp_create_reader (ident_hash, CLK_GNUC89);
/* Mark as "unspecified". */
c_parse_init ();
}
-const char *
-lang_identify ()
-{
- return "c";
-}
-
void
print_lang_statistics ()
{
#include "objc-act.h"
end ifobjc
-/* Since parsers are distinct for each language, put the language string
- definition here. */
-ifobjc
-const char * const language_string = "GNU Objective-C";
-end ifobjc
-ifc
-const char * const language_string = "GNU C";
-end ifc
-
/* Like YYERROR but do call yyerror. */
#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
const char *filename;
{
add_c_tree_codes ();
-
- /* Make identifier nodes long enough for the language-specific slots. */
- set_identifier_size (sizeof (struct lang_identifier));
-
init_reswords ();
init_pragma ();
#include "reload.h"
#include "function.h"
#include "ggc.h"
+#include "langhooks.h"
#include "darwin-protos.h"
{
if (is_cplusplus < 0)
- is_cplusplus = (strcmp (lang_identify (), "cplusplus") == 0);
+ is_cplusplus = (strcmp (lang_hooks.name, "GNU C++") == 0);
if (is_cplusplus)
{
#define ASM_FILE_END(FILE) \
do { \
machopic_finish (asm_out_file); \
- if (strcmp (language_string, "GNU C++") == 0) \
+ if (strcmp (lang_hooks.name, "GNU C++") == 0) \
{ \
constructor_section (); \
destructor_section (); \
fprintf (FILE, "\n"); \
} \
fprintf (FILE, "\t.version\t\"%s %s\"\n", \
- language_string, version_string); \
+ lang_hooks.name, version_string); \
if (optimize) ASM_FILE_START_1 (FILE); \
} while (0)
#undef ASM_FILE_END
#define ASM_FILE_END(FILE) \
do { \
- if (strcmp (language_string, "GNU C++") == 0) \
+ if (strcmp (lang_hooks.name, "GNU C++") == 0) \
{ \
constructor_section (); \
destructor_section (); \
#undef ASM_FILE_END
#define ASM_FILE_END(FILE) \
do { \
- if (strcmp (language_string, "GNU C++") == 0) \
+ if (strcmp (lang_hooks.name, "GNU C++") == 0) \
{ \
ASM_OUTPUT_ALIGN (FILE, 1); \
} \
#include "tm_p.h"
#include "target.h"
#include "target-def.h"
+#include "langhooks.h"
#ifndef TARGET_NO_PROTOTYPE
#define TARGET_NO_PROTOTYPE 0
if (DEFAULT_ABI == ABI_AIX && ! flag_inhibit_size_directive)
{
const char *fname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
+ const char *language_string = lang_hooks.name;
int fixed_parms, float_parms, parm_info;
int i;
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cp-lang.c (LANG_HOOKS_NAME): Override.
+ (struct lang_hooks): Constify.
+ * lex.c (cxx_init_options): Update.
+ (lang_identify): Remove.
+ * parse.y (language_string): Remove.
+
2001-11-08 Andreas Franck <afranck@gmx.de>
* Make-lang.in (CXX_INSTALL_NAME, GXX_CROSS_NAME,
static HOST_WIDE_INT cxx_get_alias_set PARAMS ((tree));
+#undef LANG_HOOKS_NAME
+#define LANG_HOOKS_NAME "GNU C++"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT cxx_init
#undef LANG_HOOKS_FINISH
#define LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P anon_aggr_type_p
/* Each front end provides its own hooks, for toplev.c. */
-struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
/* Special routine to get the alias set for C++. */
void
cxx_init_options ()
{
- /* Make identifier nodes long enough for the language-specific slots. */
- set_identifier_size (sizeof (struct lang_identifier));
-
parse_in = cpp_create_reader (ident_hash, CLK_GNUCXX);
/* Default exceptions on. */
GNU_xref_end (errorcount+sorrycount);
}
-const char *
-lang_identify ()
-{
- return "cplusplus";
-}
-
static int *
init_cpp_parse ()
{
#include "toplev.h"
#include "ggc.h"
-/* Since parsers are distinct for each language, put the language string
- definition here. (fnf) */
-const char * const language_string = "GNU C++";
-
extern struct obstack permanent_obstack;
/* Like YYERROR but do call yyerror. */
#include "debug.h"
#include "function.h"
#include "target.h"
+#include "langhooks.h"
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoffout.h"
we rely on the fact that error_mark_node initializers always
end up in bss for C++ and never end up in bss for C. */
if (DECL_INITIAL (decl) == 0
- || (!strcmp (lang_identify (), "cplusplus")
+ || (!strcmp (lang_hooks.name, "GNU C++")
&& DECL_INITIAL (decl) == error_mark_node))
current_sym_code = N_LCSYM;
else if (DECL_IN_TEXT_SECTION (decl))
#include "diagnostic.h"
#include "debug.h"
#include "target.h"
+#include "langhooks.h"
#include "hashtable.h"
#ifdef DWARF2_DEBUGGING_INFO
dw_die_ref die;
char producer[250];
const char *wd = getpwd ();
+ const char *language_string = lang_hooks.name;
int language;
die = new_die (DW_TAG_compile_unit, NULL);
#include "toplev.h"
#include "tm_p.h"
#include "debug.h"
+#include "langhooks.h"
/* NOTE: In the comments in this file, many references are made to
so called "Debugging Information Entries". For the sake of brevity,
prototyped_attribute (func_type)
tree func_type;
{
- if ((strcmp (language_string, "GNU C") == 0)
+ if ((strcmp (lang_hooks.name, "GNU C") == 0)
&& (TYPE_ARG_TYPES (func_type) != NULL))
{
ASM_OUTPUT_DWARF_ATTRIBUTE (asm_out_file, AT_prototyped);
void *arg;
{
const char *main_input_filename = arg;
+ const char *language_string = lang_hooks.name;
ASM_OUTPUT_DWARF_TAG (asm_out_file, TAG_compile_unit);
sibling_attribute ();
+Fri Nov 9 07:14:47 2001 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * com.c (language_string, lang_identify): Remove.
+ (struct lang_hooks): Constify.
+ (LANG_HOOKS_NAME): Override.
+ (init_parse): Update.
+
2001-11-08 Andreas Franck <afranck@gmx.de>
* Make-lang.in (G77_INSTALL_NAME, G77_CROSS_NAME): Handle
/* Externals defined here. */
-/* ~~gcc/tree.h *should* declare this, because toplev.c and dwarfout.c
- reference it. */
-
-const char * const language_string = "GNU F77";
-
/* Stream for reading from the input file. */
FILE *finput;
setvbuf (finput, (char *) xmalloc (IO_BUFFER_SIZE), _IOFBF, IO_BUFFER_SIZE);
#endif
- /* Make identifier nodes long enough for the language-specific slots. */
- set_identifier_size (sizeof (struct lang_identifier));
decl_printable_name = lang_printable_name;
print_error_function = lang_print_error_function;
static void ffe_finish PARAMS ((void));
static void ffe_init_options PARAMS ((void));
+#undef LANG_HOOKS_NAME
+#define LANG_HOOKS_NAME "GNU F77"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT ffe_init
#undef LANG_HOOKS_FINISH
#undef LANG_HOOKS_GET_ALIAS_SET
#define LANG_HOOKS_GET_ALIAS_SET hook_get_alias_set_0
-struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
/* used by print-tree.c */
malloc_pool_display (malloc_pool_image ());
}
-const char *
-lang_identify ()
-{
- return "f77";
-}
-
static void
ffe_init_options ()
{
+2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * jcf-parse.c (init_lex): Remove.
+ * lang.c (language_string, lang_identify): Remove.
+ (struct lang_hooks): Constify.
+ (LANG_HOOKS_NAME): Override.
+ (init_parse): Update.
+
2001-11-08 Andreas Franck <afranck@gmx.de>
* Make-lang.in (JAVA_INSTALL_NAME, JAVA_CROSS_NAME): Handle
}
void
-init_lex ()
-{
- /* Make identifier nodes long enough for the language-specific slots. */
- set_identifier_size (sizeof (struct lang_identifier));
-}
-
-void
set_yydebug (value)
int value;
{
int compiling_from_source;
-const char * const language_string = "GNU Java";
-
char * resource_name;
int flag_emit_class_files = 0;
#define DEPEND_TARGET_SET 4
#define DEPEND_FILE_ALREADY_SET 8
+#undef LANG_HOOKS_NAME
+#define LANG_HOOKS_NAME "GNU Java"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT java_init
#undef LANG_HOOKS_INIT_OPTIONS
#define LANG_HOOKS_DECODE_OPTION java_decode_option
/* Each front end provides its own. */
-struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
/* Process an option that can accept a `no-' form.
Return 1 if option found, 0 otherwise. */
}
}
- init_lex ();
-
return filename;
}
flag_non_call_exceptions = 1;
}
-const char *
-lang_identify ()
-{
- return "Java";
-}
-
/* Hooks for print_node. */
void
int *, void *));
int lhd_tree_inlining_anon_aggr_type_p PARAMS ((tree));
+#define LANG_HOOKS_NAME "GNU unknown"
+#define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier)
#define LANG_HOOKS_INIT lhd_do_nothing
#define LANG_HOOKS_FINISH lhd_do_nothing
#define LANG_HOOKS_CLEAR_BINDING_STACK lhd_clear_binding_stack
/* The whole thing. The structure is defined in toplev.h. */
#define LANG_HOOKS_INITIALIZER { \
+ LANG_HOOKS_NAME, \
+ LANG_HOOKS_IDENTIFIER_SIZE, \
LANG_HOOKS_INIT, \
LANG_HOOKS_FINISH, \
LANG_HOOKS_CLEAR_BINDING_STACK, \
struct lang_hooks
{
+ /* String identifying the front end. e.g. "GNU C++". */
+ const char *name;
+
+ /* sizeof (struct lang_identifier), so make_node () creates
+ identifier nodes long enough for the language-specific slots. */
+ size_t identifier_size;
+
/* Called first, to initialize the front end. */
void (*init) PARAMS ((void));
};
/* Each front end provides its own. */
-extern struct lang_hooks lang_hooks;
+extern const struct lang_hooks lang_hooks;
#endif /* GCC_LANG_HOOKS_H */
static int print_struct_values = 0;
+#undef LANG_HOOKS_NAME
+#define LANG_HOOKS_NAME "GNU Objective-C"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT objc_init
#undef LANG_HOOKS_INIT_OPTIONS
#define LANG_HOOKS_POST_OPTIONS objc_post_options
/* Each front end provides its own. */
-struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
/* Post-switch processing. */
static void
static void
objc_init_options ()
{
- /* Make identifier nodes long enough for the language-specific slots. */
- set_identifier_size (sizeof (struct lang_identifier));
-
parse_in = cpp_create_reader (ident_hash, CLK_OBJC);
c_language = clk_objective_c;
}
fclose (gen_declaration_file);
}
-const char *
-lang_identify ()
-{
- return "objc";
-}
-
static int
objc_decode_option (argc, argv)
int argc;
#include "ggc.h"
#include "tree.h"
#include "hashtable.h"
-#include "toplev.h"
/* The "" allocated string. */
const char empty_string[] = "";
return NULL_TREE;
}
-/* Record the size of an identifier node for the language in use.
- SIZE is the total size in bytes.
- This is called by the language-specific files. This must be
- called before allocating any identifiers. */
-
-void
-set_identifier_size (size)
- int size;
-{
- tree_code_length[(int) IDENTIFIER_NODE]
- = (size - sizeof (struct tree_common)) / sizeof (tree);
-}
-
/* Report some basic statistics about the string pool. */
void
flag_short_enums = DEFAULT_SHORT_ENUMS;
#endif
+ tree_code_length[(int) IDENTIFIER_NODE]
+ = ((lang_hooks.identifier_size - sizeof (struct tree_common))
+ / sizeof (tree));
+
/* Initialize the garbage-collector. */
init_ggc ();
init_stringpool ();
"%s%s%s version %s (%s) compiled by CC.\n"
#endif
, indent, *indent != 0 ? " " : "",
- language_string, version_string, TARGET_NAME,
+ lang_hooks.name, version_string, TARGET_NAME,
indent, __VERSION__);
}
extern const char *init_parse PARAMS ((const char *));
extern void finish_parse PARAMS ((void));
-extern const char * const language_string;
-
/* Declare a predefined function. Return the declaration. This function is
provided by each language frontend. */
extern tree builtin_function PARAMS ((const char *, tree, int,
\f
/* The language front-end must define these functions. */
-/* Function of no arguments for initializing lexical scanning. */
-extern void init_lex PARAMS ((void));
/* Function of no arguments for initializing the symbol table. */
extern void init_decl_processing PARAMS ((void));
-/* Function to identify which front-end produced the output file. */
-extern const char *lang_identify PARAMS ((void));
-
/* Function to replace the DECL_LANG_SPECIFIC field of a DECL with a copy. */
extern void copy_lang_decl PARAMS ((tree));
/* In tree.c */
extern int really_constant_p PARAMS ((tree));
-extern void set_identifier_size PARAMS ((int));
extern int int_fits_type_p PARAMS ((tree, tree));
extern int tree_log2 PARAMS ((tree));
extern int tree_floor_log2 PARAMS ((tree));