4 SUBTARGET may be used as the target for computing one of EXP's operands.
5 IGNORE is nonzero if the value is to be ignored. */
8 -expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode,
11 +expand_builtin_1 (tree exp, rtx target, rtx subtarget,
12 + enum machine_mode mode, int ignore)
14 tree fndecl = get_callee_fndecl (exp);
15 tree arglist = TREE_OPERAND (exp, 1);
16 @@ -6247,6 +6247,28 @@
17 return expand_call (exp, target, ignore);
21 +expand_builtin (tree exp, rtx target, rtx subtarget,
22 + enum machine_mode mode, int ignore)
24 + enum symbol_visibility saved_visibility = default_visibility;
25 + unsigned int saved_inpragma = visibility_options.inpragma;
26 + tree fndecl = get_callee_fndecl (exp);
29 + /* We should use the original visibility of the builtin function
31 + default_visibility = DECL_VISIBILITY (fndecl);
32 + visibility_options.inpragma = DECL_VISIBILITY_SPECIFIED (fndecl);
34 + expanded = expand_builtin_1 (exp, target, subtarget, mode, ignore);
36 + default_visibility = saved_visibility;
37 + visibility_options.inpragma = saved_inpragma;
42 /* Determine whether a tree node represents a call to a built-in
43 function. If the tree T is a call to a built-in function with
44 the right number of arguments of the appropriate types, return