From 79d64904522c8ba0b1f14f54fa2db8f2a38a441f Mon Sep 17 00:00:00 2001 From: Ilya Enkovich Date: Fri, 27 Mar 2015 10:29:04 +0000 Subject: [PATCH] re PR target/65495 (ICE: chkp_make_addressed_object_bounds: Unexpected tree code const_decl with -fcheck-pointer-bounds -mmpx and fortran) PR target/65495 * c-family/c.opt (fcheck-pointer-bounds): List supported languages. (fchkp-check-incomplete-type): Add LTO. (fchkp-zero-input-bounds-for-main): Likewise. (fchkp-first-field-has-own-bounds): Likewise. (fchkp-narrow-bounds): Likewise. (fchkp-narrow-to-innermost-array): Likewise. (fchkp-use-static-bounds): Likewise. (fchkp-use-static-const-bounds): Likewise. (fchkp-treat-zero-dynamic-size-as-infinite): Likewise. From-SVN: r221725 --- gcc/ChangeLog | 13 +++++++++++++ gcc/c-family/c.opt | 18 +++++++++--------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 26a846e..1f6644d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2015-03-27 Ilya Enkovich + + PR target/65495 + * c-family/c.opt (fcheck-pointer-bounds): List supported languages. + (fchkp-check-incomplete-type): Add LTO. + (fchkp-zero-input-bounds-for-main): Likewise. + (fchkp-first-field-has-own-bounds): Likewise. + (fchkp-narrow-bounds): Likewise. + (fchkp-narrow-to-innermost-array): Likewise. + (fchkp-use-static-bounds): Likewise. + (fchkp-use-static-const-bounds): Likewise. + (fchkp-treat-zero-dynamic-size-as-infinite): Likewise. + 2015-03-27 Marek Polacek * gimple-iterator.h (gsi_prev_nondebug): Fix typo. diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index 2692fb5..983f4a8 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -964,32 +964,32 @@ C ObjC C++ ObjC++ Where shorter, use canonicalized paths to systems headers. fcheck-pointer-bounds -Common Report Var(flag_check_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. Currently available for C, C++ and ObjC. fchkp-check-incomplete-type -C ObjC C++ ObjC++ Report Var(flag_chkp_incomplete_type) Init(1) +C ObjC C++ ObjC++ LTO Report Var(flag_chkp_incomplete_type) Init(1) Generate pointer bounds checks for variables with incomplete type fchkp-zero-input-bounds-for-main -C ObjC C++ ObjC++ Report Var(flag_chkp_zero_input_bounds_for_main) Init(0) +C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_input_bounds_for_main) Init(0) Use zero bounds for all incoming arguments in 'main' function. It helps when instrumented binaries are used with legacy libs. fchkp-first-field-has-own-bounds -C ObjC C++ ObjC++ RejectNegative Report Var(flag_chkp_first_field_has_own_bounds) +C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_first_field_has_own_bounds) Forces Pointer Bounds Checker to use narrowed bounds for address of the first field in the structure. By default pointer to the first field has the same bounds as pointer to the whole structure. fchkp-narrow-bounds -C ObjC C++ ObjC++ Report Var(flag_chkp_narrow_bounds) Init(1) +C ObjC C++ ObjC++ LTO Report Var(flag_chkp_narrow_bounds) Init(1) Control how Pointer Bounds Checker handle pointers to object fields. When narrowing is on, field bounds are used. Otherwise full object bounds are used. fchkp-narrow-to-innermost-array -C ObjC C++ ObjC++ RejectNegative Report Var(flag_chkp_narrow_to_innermost_arrray) +C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_narrow_to_innermost_arrray) Forces Pointer Bounds Checker to use bounds of the innermost arrays in case of nested static arryas access. By default outermost array is used. @@ -1007,17 +1007,17 @@ C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_nochk_string_functions) Init(0) Allow to use *_nochk versions of string functions by Pointer Bounds Checker. fchkp-use-static-bounds -C ObjC C++ ObjC++ Report Var(flag_chkp_use_static_bounds) Init(1) +C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_bounds) Init(1) Use statically initialized variable for vars bounds instead of generating them each time it is required. fchkp-use-static-const-bounds -C ObjC C++ ObjC++ Report Var(flag_chkp_use_static_const_bounds) Init(-1) +C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_const_bounds) Init(-1) Use statically initialized variable for constant bounds instead of generating them each time it is required. fchkp-treat-zero-dynamic-size-as-infinite -C ObjC C++ ObjC++ Report Var(flag_chkp_zero_dynamic_size_as_infinite) Init(0) +C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_dynamic_size_as_infinite) Init(0) With this option zero size obtained dynamically for objects with incomplete type will be treated as infinite. -- 2.7.4