PR c++/7099
commit8fe4a26678bae0d5114f7118c79849a39c56cf5c
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Jul 2002 00:16:44 +0000 (6 00:16 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Jul 2002 00:16:44 +0000 (6 00:16 +0000)
treeda467fb72d54d71cd83e12f6ba76c83be6c4cb53
parenteb68f168411bf5e6e13ff38e3346c4e96a0850b6
PR c++/7099
* builtin-attrs.def: Define new attribute lists for use in
builtins.def.
* builtins.def [DEF_BUILTIN]: Modify to take an additional
ATTRS argument, an enumerated value defined in builtin-attrs.def
that represents the attribute list for the builtins.  Modify
all builtin functions to pass an appropriate attribute list.
Specify "abort", "exit", "_exit" and "_Exit" builtins here with
their required noreturn attributes.
* tree.h (enum_builtin_function): Ignore the additional parameter
to DEF_BUILTIN.
* builtins.c (built_in_names): Likewise.
* c-common.c: (builtin_function_2): Replace the "int noreturn_p"
argument with a tree representing the functions attribute list.
Pass this "attrs" argument to builtin_function.  No longer handle
the noreturn_p processing manually.
(built_in_attributes): Move the definitions from builtin-attrs.def
before c_common_nodes_and_builtins.
(c_common_nodes_and_builtins): Handle the new ATTRS parameter in
DEF_BUILTIN, passing it to both builtin_function and the changed
builtin_function_2.

* doc/extend.texi: Document __builtin_abort, __builtin_exit,
__builtin__exit and __builtin__Exit.

* java/builtins.c (initialize_builtins): Ignore the additional
parameter to DEF_BUILTIN.  Handle more C/C++ specific junk in
the builtins.def file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55276 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/builtin-attrs.def
gcc/builtins.c
gcc/builtins.def
gcc/c-common.c
gcc/doc/extend.texi
gcc/java/ChangeLog
gcc/java/builtins.c
gcc/tree.h