OSDN Git Service

2010-05-14 Martin Jambor <mjambor@suse.cz>
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 May 2010 13:08:45 +0000 (13:08 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 May 2010 13:08:45 +0000 (13:08 +0000)
* cp/cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
and define.

* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159393 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/cp-lang.c
gcc/langhooks-def.h
gcc/langhooks.h
gcc/tree.c
gcc/tree.def

index 936da30..04ce986 100644 (file)
@@ -1,3 +1,13 @@
+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
index 291881c..a68f71c 100644 (file)
@@ -1,3 +1,8 @@
+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.
index 6cae7b6..2cd3ac5 100644 (file)
@@ -77,8 +77,6 @@ static tree cp_eh_personality (void);
 #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
index f6ef3f1..673ac03 100644 (file)
@@ -133,7 +133,6 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *,
 
 /* 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);
@@ -291,7 +290,6 @@ extern void lhd_end_section (void);
   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,          \
index ce3bd03..5ae2e46 100644 (file)
@@ -417,10 +417,6 @@ struct lang_hooks
      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);
 
index 934536f..acbdeee 100644 (file)
@@ -5039,7 +5039,6 @@ free_lang_data (void)
   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;
index 6c3c480..1f6ad82 100644 (file)
@@ -432,16 +432,13 @@ DEFTREECODE (ALIGN_INDIRECT_REF, "align_indirect_ref", tcc_reference, 1)
    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.