2015-01-21 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jan 2015 09:04:53 +0000 (09:04 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jan 2015 09:04:53 +0000 (09:04 +0000)
commitcffdfb3da6d9c30035f1a074e27cf4b916446404
tree33d3bb74da1e52661a0940e472d95cdc4efa58ef
parent9ba76f646a545c73164d8729d745f10111183575
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219928 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/builtins.c
gcc/c/ChangeLog
gcc/c/c-decl.c
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/gimplify.c
gcc/tree-core.h
gcc/tree.h