diff options
author | Richard Biener <rguenther@suse.de> | 2015-01-21 09:04:53 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-01-21 09:04:53 +0000 |
commit | cbf5d0e70c98103d28c869305043d9889bb36c8f (patch) | |
tree | 33d3bb74da1e52661a0940e472d95cdc4efa58ef /gcc/c/c-decl.c | |
parent | 1f36fbf4a81d10160f3083d93952ec9d6c8da7f0 (diff) | |
download | gcc-cbf5d0e70c98103d28c869305043d9889bb36c8f.zip gcc-cbf5d0e70c98103d28c869305043d9889bb36c8f.tar.gz gcc-cbf5d0e70c98103d28c869305043d9889bb36c8f.tar.bz2 |
re PR middle-end/64313 (gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets)
2015-01-21 Richard Biener <rguenther@suse.de>
PR middle-end/64313
* tree-core.h (builtin_info, builtin_info_type): Turn from
an object with two arrays into an array of an object with
decl and two flags, implicit_p and declared_p.
* tree.h (builtin_decl_explicit, builtin_decl_implicit,
set_builtin_decl, set_builtin_decl_implicit_p,
builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
(set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
* builtins.c (builtin_info): Adjust.
* gimplify.c (gimplify_addr_expr): References to builtins
that have been declared by the user makes them eligible for
use by the compiler. Call set_builtin_decl_implicit_p on them.
c/
* c-decl.c (merge_decls): Call set_builtin_decl_declared_p
for builtins the user declared correctly.
cp/
* decl.c (duplicate_decls): Call set_builtin_decl_declared_p
for builtins the user declared correctly.
From-SVN: r219928
Diffstat (limited to 'gcc/c/c-decl.c')
-rw-r--r-- | gcc/c/c-decl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c index b9424b5..48c2bcb 100644 --- a/gcc/c/c-decl.c +++ b/gcc/c/c-decl.c @@ -2582,6 +2582,8 @@ merge_decls (tree newdecl, tree olddecl, tree newtype, tree oldtype) set_builtin_decl_implicit_p (fncode, true); break; default: + if (builtin_decl_explicit_p (fncode)) + set_builtin_decl_declared_p (fncode, true); break; } } |