Hi,

Here is a patch to remove language hook used by Pointer Bounds Checker.  To 
disable checker on non C languages option is moved to c.opt.

Thanks,
Ilya
--
gcc/

2013-11-06  Ilya Enkovich  <ilya.enkov...@intel.com>

        * common.opt (fcheck-pointer-bounds): Move to ...
        * c-family/c.opt: ... here.
        * langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): Remove.
        (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CHKP_SUPPORTED.
        * langhooks.h (lang_hooks): Remove chkp_supported field.
        * toplev.c (process_options): Remove chkp_supported check.


diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index b862eb9..c082bac 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -850,6 +850,11 @@ fcanonical-system-headers
 C ObjC C++ ObjC++
 Where shorter, use canonicalized paths to systems headers.
 
+fcheck-pointer-bounds
+C ObjC C++ ObjC++ LTO Report Var(flag_check_pointer_bounds)
+Add Pointer Bounds Checker instrumentation.  fchkp-* flags are used to
+control instrumentation.
+
 fcilkplus
 C ObjC C++ ObjC++ LTO Report Var(flag_enable_cilkplus) Init(0)
 Enable Cilk Plus
diff --git a/gcc/common.opt b/gcc/common.opt
index 5c2f56e..deeb3f2 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -874,11 +874,6 @@ fbounds-check
 Common Report Var(flag_bounds_check)
 Generate code to check bounds before indexing arrays
 
-fcheck-pointer-bounds
-Common Report Var(flag_check_pointer_bounds)
-Add Pointer Bounds Checker instrumentation.  fchkp-* flags are used to
-control instrumentation.  Currently available for C, C++ and ObjC.
-
 fbranch-count-reg
 Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
 Replace add, compare, branch with branch on count register
diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h
index 0597036..b7be472 100644
--- a/gcc/langhooks-def.h
+++ b/gcc/langhooks-def.h
@@ -118,7 +118,6 @@ extern bool lhd_omp_mappable_type (tree);
 #define LANG_HOOKS_BLOCK_MAY_FALLTHRU  hook_bool_const_tree_true
 #define LANG_HOOKS_EH_USE_CXA_END_CLEANUP      false
 #define LANG_HOOKS_DEEP_UNSHARING      false
-#define LANG_HOOKS_CHKP_SUPPORTED      false
 
 /* Attribute hooks.  */
 #define LANG_HOOKS_ATTRIBUTE_TABLE             NULL
@@ -306,8 +305,7 @@ extern void lhd_end_section (void);
   LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS, \
   LANG_HOOKS_BLOCK_MAY_FALLTHRU, \
   LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \
-  LANG_HOOKS_DEEP_UNSHARING, \
-  LANG_HOOKS_CHKP_SUPPORTED \
+  LANG_HOOKS_DEEP_UNSHARING \
 }
 
 #endif /* GCC_LANG_HOOKS_DEF_H */
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index 002d7eb..a83bf7b 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -472,9 +472,6 @@ struct lang_hooks
      gimplification.  */
   bool deep_unsharing;
 
-  /* True if this language allows pointers checker instrumentation.  */
-  bool chkp_supported;
-
   /* Whenever you add entries here, make sure you adjust langhooks-def.h
      and langhooks.c accordingly.  */
 };
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 0eaf081..d3dac07 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1286,9 +1286,6 @@ process_options (void)
     {
       if (targetm.chkp_bound_mode () == VOIDmode)
        error ("-fcheck-pointers is not supported for this target");
-
-      if (!lang_hooks.chkp_supported)
-       flag_check_pointer_bounds = 0;
     }
 
   /* One region RA really helps to decrease the code size.  */

Reply via email to