diff options
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index f1c3fea..7d0f61f 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -3600,7 +3600,7 @@ check_strncat_sizes (tree exp, tree objsize) /* Try to verify that the destination is big enough for the shortest string. */ - access_data data (exp, access_read_write, maxread, true); + access_data data (nullptr, exp, access_read_write, maxread, true); if (!objsize && warn_stringop_overflow) { /* If it hasn't been provided by __strncat_chk, try to determine @@ -4260,12 +4260,6 @@ expand_builtin_memcmp (tree exp, rtx target, bool result_eq) tree arg2 = CALL_EXPR_ARG (exp, 1); tree len = CALL_EXPR_ARG (exp, 2); - /* Diagnose calls where the specified length exceeds the size of either - object. */ - if (!check_read_access (exp, arg1, len, 0) - || !check_read_access (exp, arg2, len, 0)) - return NULL_RTX; - /* Due to the performance benefit, always inline the calls first when result_eq is false. */ rtx result = NULL_RTX; @@ -5486,27 +5480,6 @@ expand_builtin_fork_or_exec (tree fn, tree exp, rtx target, int ignore) tree id, decl; tree call; - if (DECL_FUNCTION_CODE (fn) != BUILT_IN_FORK) - { - tree path = CALL_EXPR_ARG (exp, 0); - /* Detect unterminated path. */ - if (!check_read_access (exp, path)) - return NULL_RTX; - - /* Also detect unterminated first argument. */ - switch (DECL_FUNCTION_CODE (fn)) - { - case BUILT_IN_EXECL: - case BUILT_IN_EXECLE: - case BUILT_IN_EXECLP: - if (!check_read_access (exp, path)) - return NULL_RTX; - default: - break; - } - } - - /* If we are not profiling, just call the function. */ if (!profile_arc_flag) return NULL_RTX; |