# Copyright 2017 Rene Rivera
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or copy at
# https://www.bfgroup.xyz/b2/LICENSE.txt)

# TODO: Documentation.

import feature ;

#| tag::doc[]

[[bbv2.builtin.features.exception-handling]]`exception-handling`::
*Allowed values:* `on`, `off`.
+
Disables exceptions.

|# # end::doc[]

feature.feature exception-handling
    : on off
    : propagated ;

#| tag::asynch-doc[]

[[bbv2.builtin.features.asynch-exceptions]]`asynch-exceptions`::
*Allowed values:* `off`, `on`.
+
Selects whether there is support for asynchronous EH (e.g. catching SEGVs).

|# # end::asynch-doc[]

feature.feature asynch-exceptions
    : off on
    : propagated ;

#| tag::doc[]

[[bbv2.builtin.features.extern-c-nothrow]]`extern-c-nothrow`::
*Allowed values:* `off`, `on`.
+
Selects whether all `extern "C"` functions are considered `nothrow` by default.

|# # end::doc[]

feature.feature extern-c-nothrow
    : off on
    : propagated ;
