diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-04 20:29:36 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-04 20:29:36 +0000 |
commit | 8eabe518838bd3fdbac008e1f5b8aea2e9d202cc (patch) | |
tree | 06fe2ff33f0ba57dffa554db3bb664aa5c227ed2 /gcc/builtins.def | |
parent | 833c71b00710ec65bcda7db60be50101a6a42e72 (diff) | |
download | gcc-8eabe518838bd3fdbac008e1f5b8aea2e9d202cc.tar.gz |
gcc/:
* builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
* sync-builtins.def: Use ATTR_NOTHROWCALL_LEAF_LIST for all sync
builtins that take pointers.
* lto-opts.c (lto_write_options): Write -fnon-call-exceptions
if set.
* lto-wrapper.c (merge_and_complain): Collect
OPT_fnon_call_exceptions.
(run_gcc): Pass -fnon-call-exceptions.
gcc/testsuite/:
* g++.dg/ext/sync-4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204360 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/builtins.def')
-rw-r--r-- | gcc/builtins.def | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/builtins.def b/gcc/builtins.def index e2d8849c768..3082548731d 100644 --- a/gcc/builtins.def +++ b/gcc/builtins.def @@ -213,6 +213,12 @@ along with GCC; see the file COPYING3. If not see #undef ATTR_MATHFN_FPROUNDING_STORE #define ATTR_MATHFN_FPROUNDING_STORE ATTR_NOTHROW_LEAF_LIST +/* Define an attribute list for leaf functions that do not throw + exceptions normally, but may throw exceptions when using + -fnon-call-exceptions. */ +#define ATTR_NOTHROWCALL_LEAF_LIST (flag_non_call_exceptions ? \ + ATTR_LEAF_LIST : ATTR_NOTHROW_LEAF_LIST) + /* Make sure 0 is not a legitimate builtin. */ DEF_BUILTIN_STUB(BUILT_IN_NONE, (const char *)0) |