diff options
author | Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | 2018-05-04 18:01:11 +0000 |
---|---|---|
committer | Pekka Jääskeläinen <visit0r@gcc.gnu.org> | 2018-05-04 18:01:11 +0000 |
commit | 60a3d46c17e7cee099043c1564181ab2f3c21d41 (patch) | |
tree | 5cde720925ab66fc52b317a5f1873932735679b9 /gcc | |
parent | 77c42d456e28d04b684a1774264a2d7be816676b (diff) | |
download | gcc-60a3d46c17e7cee099043c1564181ab2f3c21d41.zip gcc-60a3d46c17e7cee099043c1564181ab2f3c21d41.tar.gz gcc-60a3d46c17e7cee099043c1564181ab2f3c21d41.tar.bz2 |
[BRIGFE] do not allow optimizations based on known C builtins
It can break inputs that have similarly named functions.
From-SVN: r259949
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/brig/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/brig/brig-lang.c | 16 |
2 files changed, 12 insertions, 9 deletions
diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog index 40a7156..7da06bc 100644 --- a/gcc/brig/ChangeLog +++ b/gcc/brig/ChangeLog @@ -1,5 +1,10 @@ 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 cmd line. diff --git a/gcc/brig/brig-lang.c b/gcc/brig/brig-lang.c index 58b98fd..3c4d4bd 100644 --- a/gcc/brig/brig-lang.c +++ b/gcc/brig/brig-lang.c @@ -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); } |