diff options
author | Ilya Enkovich <ilya.enkovich@intel.com> | 2015-01-16 13:08:24 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2015-01-16 13:08:24 +0000 |
commit | 06201ad5be6f9e6403e6ad9a00f4a9d342b82d36 (patch) | |
tree | b5038b43de84cfd22a1155dcfdf3b9d8bf034b4c /gcc/tree-chkp.c | |
parent | eb13ee31dbf5b07b443fa2ea94441031075f8ecc (diff) | |
download | gcc-06201ad5be6f9e6403e6ad9a00f4a9d342b82d36.zip gcc-06201ad5be6f9e6403e6ad9a00f4a9d342b82d36.tar.gz gcc-06201ad5be6f9e6403e6ad9a00f4a9d342b82d36.tar.bz2 |
re PR target/64363 (Unresolved labels with -fcheck-pointer-bounds and -mmpx)
gcc/
PR target/64363
* ipa-chkp.h (chkp_instrumentable_p): New.
* ipa-chkp.c: Include tree-inline.h.
(chkp_instrumentable_p): New.
(chkp_maybe_create_clone): Use chkp_instrumentable_p.
Fix processing of not instrumentable functions.
(chkp_versioning): Use chkp_instrumentable_p. Warn about
not instrumentable functions.
* tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
chkp_instrumentable_p.
* tree-inline.h (copy_forbidden): New.
* tree-inline.c (copy_forbidden): Not static anymore.
gcc/testsuite/
PR target/64363
* gcc.target/i386/chkp-label-address.c: New.
From-SVN: r219733
Diffstat (limited to 'gcc/tree-chkp.c')
-rw-r--r-- | gcc/tree-chkp.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c index 45ac11e..e7649ef 100644 --- a/gcc/tree-chkp.c +++ b/gcc/tree-chkp.c @@ -1686,9 +1686,8 @@ chkp_add_bounds_to_call_stmt (gimple_stmt_iterator *gsi) && DECL_FUNCTION_CODE (fndecl) == BUILT_IN_OBJECT_SIZE) return; - /* Do nothing for calls to legacy functions. */ - if (fndecl - && lookup_attribute ("bnd_legacy", DECL_ATTRIBUTES (fndecl))) + /* Do nothing for calls to not instrumentable functions. */ + if (fndecl && !chkp_instrumentable_p (fndecl)) return; /* Ignore CHKP_INIT_PTR_BOUNDS, CHKP_NULL_PTR_BOUNDS |