if (target == const0_rtx)
{
tree fn = implicit_built_in_decls[BUILT_IN_STRCPY];
+#ifndef NO_UNSAFE_BUILTINS
if (!fn)
+#endif
return 0;
return expand_expr (build_function_call_expr (fn, arglist),
tree fn = implicit_built_in_decls[BUILT_IN_STRCPY];
tree exp;
+#ifndef NO_UNSAFE_BUILTINS
if (arglist || ! fn)
+#endif
return 0;
expand_expr (build_function_call_expr (fn, orig_arglist),
const0_rtx, VOIDmode, EXPAND_NORMAL);
tree fn, arg, len;
fn = implicit_built_in_decls[BUILT_IN_STRCPY];
+#ifndef NO_UNSAFE_BUILTINS
if (! fn)
+#endif
return 0;
if (! arglist || TREE_CHAIN (arglist))
return target;
break;
- case BUILT_IN_STRCPY:
#ifndef NO_UNSAFE_BUILTINS
+ case BUILT_IN_STRCPY:
target = expand_builtin_strcpy (fndecl, arglist, target, mode);
if (target)
return target;
-#endif
break;
+#endif
case BUILT_IN_STRNCPY:
target = expand_builtin_strncpy (exp, target, mode);
return target;
break;
- case BUILT_IN_STPCPY:
#ifndef NO_UNSAFE_BUILTINS
+ case BUILT_IN_STPCPY:
target = expand_builtin_stpcpy (exp, target, mode);
if (target)
return target;
-#endif
break;
+#endif
- case BUILT_IN_STRCAT:
#ifndef NO_UNSAFE_BUILTINS
+ case BUILT_IN_STRCAT:
target = expand_builtin_strcat (fndecl, arglist, target, mode);
if (target)
return target;
-#endif
break;
+#endif
case BUILT_IN_STRNCAT:
target = expand_builtin_strncat (arglist, target, mode);
return target;
break;
+#ifndef NO_UNSAFE_BUILTINS
case BUILT_IN_SPRINTF:
target = expand_builtin_sprintf (arglist, target, mode);
if (target)
return target;
break;
+#endif
CASE_FLT_FN (BUILT_IN_SIGNBIT):
target = expand_builtin_signbit (exp, target);
case BUILT_IN_STRSTR:
return fold_builtin_strstr (arglist, type);
+#ifndef NO_UNSAFE_BUILTINS
case BUILT_IN_STRCAT:
return fold_builtin_strcat (arglist);
+#endif
case BUILT_IN_STRNCAT:
return fold_builtin_strncat (arglist);
case BUILT_IN_RINDEX:
return fold_builtin_strrchr (arglist, type);
+#ifndef NO_UNSAFE_BUILTINS
case BUILT_IN_STRCPY:
return fold_builtin_strcpy (fndecl, arglist, NULL_TREE);
+#endif
case BUILT_IN_STRNCPY:
return fold_builtin_strncpy (fndecl, arglist, NULL_TREE);
case BUILT_IN_MEMCMP:
return fold_builtin_memcmp (arglist);
+#ifndef NO_UNSAFE_BUILTINS
case BUILT_IN_SPRINTF:
return fold_builtin_sprintf (arglist, ignore);
+#endif
case BUILT_IN_CONSTANT_P:
{
/* If the replacement _DECL isn't initialized, don't do the
transformation. */
+#ifndef NO_UNSAFE_BUILTINS
if (!fn)
+#endif
return 0;
return build_function_call_expr (fn, newarglist);
{
tree fn = implicit_built_in_decls[BUILT_IN_STRCPY];
+#ifndef NO_UNSAFE_BUILTINS
if (!fn)
+#endif
return NULL_TREE;
/* Don't optimize sprintf (buf, "abc", ptr++). */
tree fn, orig;
fn = implicit_built_in_decls[BUILT_IN_STRCPY];
+#ifndef NO_UNSAFE_BUILTINS
if (!fn)
+#endif
return NULL_TREE;
/* Don't crash on sprintf (str1, "%s"). */