r116785 - in /branches/lto: ChangeLog.lto gcc/l...
sandra@gcc.gnu.org
sandra@gcc.gnu.org
Fri Sep 8 19:55:00 GMT 2006
Author: sandra
Date: Fri Sep 8 19:55:51 2006
New Revision: 116785
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116785
Log:
2006-09-07 Sandra Loosemore <sandra@codesourcery.com>
* gcc/lto/lto.c (enum DWARF2_class): Split DW_cl_constant into
DW_cl_uconstant and DW_cl_sconstant for explicitly unsigned and
signed constants. Re-number the enumerators.
(struct DWARF2_form_data): Replace constant field with uconstant
and sconstant, for explicitly unsigned and signed constants.
(struct lto_context): Remove type field. Add language and
parentdata fields.
(lto_file_corrupt_error): Add ATTRIBUTE_NORETURN.
(lto_abi_mismatch_error): Likewise.
(lto_read_uleb128): Fix to assemble bytes in the correct order.
(lto_read_sleb128): New.
(lto_read_form): Make it know about some more attributes. Make it
understand DW_FORM_sdata and DW_FORM_udata.
(attribute_value_as_int): New. Change places throughout the file
formerly accessing attribute values expected to be host integers
as attr_data.u.constant to call this function instead.
(make_signed_host_wide_int): New.
(attribute_value_as_constant): New function for use when the attribute
value represents a target integer constant of a given type.
(lto_find_integral_type): New.
(lto_read_referenced_type_DIE): Don't mess with type in context.
(lto_read_compile_unit_DIE): Return tree instead of void. Set the
language in the context.
(lto_read_array_type_DIE): New.
(lto_read_enumeration_type_DIE): New.
(lto_read_enumerator_DIE): New.
(lto_read_variable_formal_parameter_constant_DIE): Return the decl
instead of void.
(lto_read_pointer_type_DIE): Return the type instead of void.
(lto_read_subrange_type_DIE): New.
(lto_read_base_type_DIE): Return the type instead of void. Also,
GCC generates unnamed base_type DIEs, so do something sensible if
we get one.
(lto_read_DIE): Change type to return the tree value constructed from
reading the DIE. Make the boolean "more" flag a parameter instead.
Updated all callers. Make it know about the readers for array_type,
enumeration_type, and subrange_type, and enumerator DIEs.
(lto_collect_child_DIEs): New.
(lto_file_read): Don't initialize type in context. Do initialize
parentdata instead.
* gcc/lto/lto-tree.h (lto_global_var_decls): Declare.
* gcc/lto/lto.h: Include tree.h.
* gcc/lto/Make-lang.in (LTO_H): Note dependency on TREE_H here.
* gcc/lto/lto-symtab.c (lto_global_var_decls): Define.
(lto_symtab_merge_var): Record decls in lto_global_var_decls.
* gcc/lto/lto-lang.c (lto_write_globals): New.
(lto_init): Initialize lto_global_var_decls.
LANG_HOOKS_WRITE_GLOBALS: Define to point at lto_write_globals.
Modified:
branches/lto/ChangeLog.lto
branches/lto/gcc/lto/Make-lang.in
branches/lto/gcc/lto/lto-lang.c
branches/lto/gcc/lto/lto-symtab.c
branches/lto/gcc/lto/lto-tree.h
branches/lto/gcc/lto/lto.c
branches/lto/gcc/lto/lto.h
More information about the Gcc-cvs
mailing list