+2010-05-14 Martin Jambor <mjambor@suse.cz>
+
+ * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
+ (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
+ * langhooks.h (struct lang_hooks_for_decls): Removed field
+ fold_obj_type_ref.
+ * tree.c (free_lang_data): Remove assignment to
+ lang_hooks.fold_obj_type_ref.
+ * tree.def (OBJ_TYPE_REF): Update comment.
+
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44124
+2010-05-14 Martin Jambor <mjambor@suse.cz>
+
+ * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
+ and define.
+
2010-05-14 Jonathan Wakely <jwakely.gcc@gmail.com>
* call.c (build_new_method_call): Change warning text.
#define LANG_HOOKS_DECL_PRINTABLE_NAME cxx_printable_name
#undef LANG_HOOKS_DWARF_NAME
#define LANG_HOOKS_DWARF_NAME cxx_dwarf_name
-#undef LANG_HOOKS_FOLD_OBJ_TYPE_REF
-#define LANG_HOOKS_FOLD_OBJ_TYPE_REF cp_fold_obj_type_ref
#undef LANG_HOOKS_INIT_TS
#define LANG_HOOKS_INIT_TS cp_init_ts
#undef LANG_HOOKS_EH_PERSONALITY
/* Hooks for tree gimplification. */
#define LANG_HOOKS_GIMPLIFY_EXPR lhd_gimplify_expr
-#define LANG_HOOKS_FOLD_OBJ_TYPE_REF NULL
/* Tree dump hooks. */
extern bool lhd_tree_dump_dump_tree (void *, tree);
LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS, \
LANG_HOOKS_FUNCTION_PARAMETER_PACK_P, \
LANG_HOOKS_GIMPLIFY_EXPR, \
- LANG_HOOKS_FOLD_OBJ_TYPE_REF, \
LANG_HOOKS_BUILTIN_FUNCTION, \
LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE, \
LANG_HOOKS_INIT_TS, \
enum gimplify_status, though we can't see that type here. */
int (*gimplify_expr) (tree *, gimple_seq *, gimple_seq *);
- /* Fold an OBJ_TYPE_REF expression to the address of a function.
- KNOWN_TYPE carries the true type of the OBJ_TYPE_REF_OBJECT. */
- tree (*fold_obj_type_ref) (tree, tree);
-
/* Do language specific processing in the builtin function DECL */
tree (*builtin_function) (tree decl);
lang_hooks.dwarf_name = lhd_dwarf_name;
lang_hooks.decl_printable_name = gimple_decl_printable_name;
lang_hooks.set_decl_assembler_name = lhd_set_decl_assembler_name;
- lang_hooks.fold_obj_type_ref = gimple_fold_obj_type_ref;
/* Reset diagnostic machinery. */
diagnostic_starter (global_dc) = default_diagnostic_starter;
or 0 if the alignment is unknown. */
DEFTREECODE (MISALIGNED_INDIRECT_REF, "misaligned_indirect_ref", tcc_reference, 2)
-/* Used to represent lookup of runtime type dependent data. Often this is
- a reference to a vtable, but it needn't be. Operands are:
+/* Used to represent lookup in a virtual method table which is dependent on
+ the runtime type of an object. Operands are:
OBJ_TYPE_REF_EXPR: An expression that evaluates the value to use.
OBJ_TYPE_REF_OBJECT: Is the object on whose behalf the lookup is
being performed. Through this the optimizers may be able to statically
determine the dynamic type of the object.
- OBJ_TYPE_REF_TOKEN: Something front-end specific used to resolve the
- reference to something simpler, usually to the address of a DECL.
- Never touched by the middle-end. Good choices would be either an
- identifier or a vtable index. */
+ OBJ_TYPE_REF_TOKEN: An integer index to the virtual method table. */
DEFTREECODE (OBJ_TYPE_REF, "obj_type_ref", tcc_expression, 3)
/* Constructor: return an aggregate value made from specified components.