[BRIGFE] do not allow optimizations based on known C builtins
It can break inputs that have similarly named functions. From-SVN: r259949
This commit is contained in:
parent
77c42d456e
commit
60a3d46c17
@ -1,3 +1,8 @@
|
||||
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
||||
|
||||
* brig/brig-lang.c: Do not allow optimizations based on known C
|
||||
builtins.
|
||||
|
||||
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
||||
|
||||
* brig/brig-lang.c: Allow controlling strict aliasing from
|
||||
|
@ -136,6 +136,8 @@ brig_langhook_init_options_struct (struct gcc_options *opts)
|
||||
opts->x_flag_signed_zeros = 1;
|
||||
|
||||
opts->x_optimize = 3;
|
||||
|
||||
flag_no_builtin = 1;
|
||||
}
|
||||
|
||||
/* Handle Brig specific options. Return 0 if we didn't do anything. */
|
||||
@ -635,9 +637,11 @@ builtin_type_for_size (int size, bool unsignedp)
|
||||
|
||||
static void
|
||||
def_builtin_1 (enum built_in_function fncode, const char *name,
|
||||
enum built_in_class fnclass, tree fntype, tree libtype,
|
||||
bool both_p, bool fallback_p, bool nonansi_p,
|
||||
tree fnattrs, bool implicit_p)
|
||||
enum built_in_class fnclass ATTRIBUTE_UNUSED,
|
||||
tree fntype, tree libtype ATTRIBUTE_UNUSED,
|
||||
bool both_p ATTRIBUTE_UNUSED, bool fallback_p,
|
||||
bool nonansi_p ATTRIBUTE_UNUSED, tree fnattrs,
|
||||
bool implicit_p)
|
||||
{
|
||||
tree decl;
|
||||
const char *libname;
|
||||
@ -650,12 +654,6 @@ def_builtin_1 (enum built_in_function fncode, const char *name,
|
||||
(fallback_p ? libname : NULL),
|
||||
fnattrs);
|
||||
|
||||
if (both_p
|
||||
&& !flag_no_builtin
|
||||
&& !(nonansi_p && flag_no_nonansi_builtin))
|
||||
add_builtin_function (libname, libtype, fncode, fnclass,
|
||||
NULL, fnattrs);
|
||||
|
||||
set_builtin_decl (fncode, decl, implicit_p);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user