From 60a3d46c17e7cee099043c1564181ab2f3c21d41 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pekka=20J=C3=A4=C3=A4skel=C3=A4inen?= Date: Fri, 4 May 2018 18:01:11 +0000 Subject: [PATCH] [BRIGFE] do not allow optimizations based on known C builtins It can break inputs that have similarly named functions. From-SVN: r259949 --- gcc/brig/ChangeLog | 5 +++++ gcc/brig/brig-lang.c | 16 +++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog index 40a715664fd..7da06bc7d89 100644 --- a/gcc/brig/ChangeLog +++ b/gcc/brig/ChangeLog @@ -1,3 +1,8 @@ +2018-05-04 Pekka Jääskeläinen + + * brig/brig-lang.c: Do not allow optimizations based on known C + builtins. + 2018-05-04 Pekka Jääskeläinen * brig/brig-lang.c: Allow controlling strict aliasing from diff --git a/gcc/brig/brig-lang.c b/gcc/brig/brig-lang.c index 58b98fd56a3..3c4d4bdcd45 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); } -- 2.30.2