summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/contract/meta
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
commit483eb2f56657e8e7f419ab1a4fab8dce9ade8609 (patch)
treee5d88d25d870d5dedacb6bbdbe2a966086a0a5cf /src/boost/libs/contract/meta
parentInitial commit. (diff)
downloadceph-upstream.tar.xz
ceph-upstream.zip
Adding upstream version 14.2.21.upstream/14.2.21upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/contract/meta')
-rw-r--r--src/boost/libs/contract/meta/explicit-failures-markup.xml220
-rw-r--r--src/boost/libs/contract/meta/libraries.json14
2 files changed, 234 insertions, 0 deletions
diff --git a/src/boost/libs/contract/meta/explicit-failures-markup.xml b/src/boost/libs/contract/meta/explicit-failures-markup.xml
new file mode 100644
index 00000000..b17fa361
--- /dev/null
+++ b/src/boost/libs/contract/meta/explicit-failures-markup.xml
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Copyright (C) 2008-2018 Lorenzo Caminiti
+Distributed under the Boost Software License, Version 1.0 (see accompanying
+file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt).
+See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html
+-->
+
+<!--
+PLEASE VALIDATE THE XML BEFORE COMMITTING YOUR CHANGES!
+
+For example, cut-n-paste <library> tag below into main file
+"boost/status/explicit-failures-markup.xml" and validate as indicated in that
+main file.
+-->
+
+<explicit-failures-markup>
+ <!-- contract -->
+ <library name="contract">
+ <mark-unusable>
+ <toolset name="clang-darwin-ubsan"/>
+ <note author="Lorenzo Caminiti">
+ On this compiler, Boost.Function gives a run-time error when
+ calling non-nullary lambdas as used by the tests of this library
+ to program contract failure handlers.
+ It might still be possible to use this library on this compiler
+ using default contract failure handlers or programming custom
+ contract failure handlers but without using non-nullary lambdas
+ (however, the authors did not confirm that).
+ </note>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="gcc-3.*"/>
+ <toolset name="gcc-4.*"/>
+ <note author="Lorenzo Caminiti">
+ Even tests that do not use C++11 lambda functions fail on this
+ compiler because it incorrectly attempts an extra copy when
+ objects are constructed using `boost::check c = ...`.
+ This is fixed in MinGW GCC 4.3.
+ </note>
+ </mark-unusable>
+ <mark-unusable>
+ <toolset name="msvc-7.*"/>
+ <note author="Lorenzo Caminiti">
+ Even tests that do not use C++11 lambda functions fail on this
+ compiler because of a number of issues (Boost.Exception is not
+ supported on this compiler but it is used by this library
+ implementation, some aspects of `friend` and `volatile` are not
+ properly implemented on this compiler, etc.).
+ These specific issues are fixed in MSVC 9.0 (but only MSVC 11.0
+ has adequate lambda function support that makes this library
+ actually usable).
+ </note>
+ </mark-unusable>
+ <mark-expected-failures>
+ <test name="disable-audit"/>
+ <toolset name="gcc-4.9"/>
+ <toolset name="clang-linux-3.6"/>
+ <toolset name="clang-linux-3.7"/>
+ <toolset name="clang-linux-3.8"/>
+ <note author="Lorenzo Caminiti">
+ This test fails on this compiler because of a bug with
+ exceptions (see http://grokbase.com/t/gg/android-ndk/1656csqqtp/assertion-ttypeencoding-dw-eh-pe-absptr-unexpected-ttypeencoding-failed).
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="invariant-ifdef"/>
+ <test name="specify-nothing"/>
+ <toolset name="clang-linux-3.6"/>
+ <toolset name="clang-linux-3.7"/>
+ <toolset name="clang-linux-3.8"/>
+ <note author="Lorenzo Caminiti">
+ This test fails on this compiler because of a bug in its STL
+ implementation (undefined references to
+ `std::ios_base::failure::failure`).
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="destructor-throwing_old"/>
+ <test name="destructor-throwing_post"/>
+ <test name="public_function-decl_pre_all"/>
+ <test name="public_function-decl_pre_ends"/>
+ <test name="public_function-smoke"/>
+ <test name="public_function-throwing_post"/>
+ <test name="public_function-virtual"/>
+ <test name="public_function-virtual_branch"/>
+ <toolset name="clang-linux-*~gnu++*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because of a libcxxrt bug on Clang for FreeBSD
+ which causes `std::uncaught_exception` to not work properly on
+ re-throws (see https://github.com/pathscale/libcxxrt/issues/49).
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="old-if_copyable"/>
+ <test name="old-if_copyable_macro"/>
+ <toolset name="gcc-4.6*"/>
+ <toolset name="gcc-4.7*"/>
+ <toolset name="msvc-10.*"/>
+ <toolset name="msvc-11.*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because this complier does not properly
+ implement SFINAE giving incorrect errors on substitution
+ failures for private members.
+ This seems to be fixed in GCC 4.8 and MSVC 12.0.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="public_function-protected_error"/>
+ <toolset name="clang-linux-3.0~*"/>
+ <toolset name="gcc-4.6*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because SFINAE on this complier seems to not
+ fail as it should when a derived class tries to call a
+ protected member function on a base class object via a function
+ pointer instead of via inheritance.
+ This seems to be fixed in Clang 3.1, and to be specific to
+ version 4.6 of GCC.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="public_function-virtual_access_multi"/>
+ <toolset name="gcc-4.6*"/>
+ <toolset name="gcc-4.7*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because this compiler seems to incorrectly check
+ access level of members in base classes in a context when only
+ derived class members are used.
+ This seems to be fixed in GCC 4.8 (possibly related to
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57973).
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="constructor-throwing_body"/>
+ <test name="destructor-decl_entry_inv_all"/>
+ <test name="destructor-decl_entry_inv_ends"/>
+ <test name="destructor-decl_entry_static_inv_all"/>
+ <test name="destructor-decl_entry_static_inv_ends"/>
+ <test name="destructor-decl_entry_static_inv_mid"/>
+ <test name="destructor-decl_exit_static_inv_all"/>
+ <test name="destructor-decl_exit_static_inv_ends"/>
+ <test name="destructor-decl_exit_static_inv_mid"/>
+ <test name="destructor-throwing_body"/>
+ <test name="destructor-throwing_old"/>
+ <test name="destructor-throwing_post"/>
+ <test name="function-ifdef_macro"/>
+ <test name="function-throwing_body"/>
+ <test name="public_function-static_throwing_body"/>
+ <test name="public_function-throwing_body"/>
+ <test name="public_function-throwing_body_virtual"/>
+ <test name="public_function-throwing_body_virtual_branch"/>
+ <toolset name="qcc-4.7*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because `std::unchaught_exception` seems to
+ always return zero on this compiler (even if the authors could
+ not find a direct reference to this possible compiler issue
+ online).
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="invariant-ifdef"/>
+ <test name="invariant-ifdef_macro"/>
+ <test name="invariant-volatile_error"/>
+ <toolset name="msvc-8.*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because this complier seems to dispatch calls
+ incorrectly when both `const` and `const volatile` overloads
+ are present (even if the authors could not find a direct
+ reference to this possible compiler issue online).
+ This is fixed in MSVC 9.0 (but only MSVC 11.0 has adequate
+ lambda function support).
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="call_if-no_equal_call_if"/>
+ <toolset name="msvc-10.*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because MSVC 10.0 is not able to properly deduce
+ a template specialization.
+ This is fixed in MSVC 11.0.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="constructor-ifdef_macro"/>
+ <test name="constructor-smoke"/>
+ <toolset name="msvc-10.*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because of a MSVC 10.0 bug with lambdas within
+ template class initialization list.
+ This can be worked around using a functor bind instead of a
+ lambda, but it is fixed in MSVC 11.0.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="destructor-smoke"/>
+ <toolset name="msvc-10.*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because of a MSVC 10.0 bug for which lambdas
+ cannot access typedefs declared within classes.
+ This can be worked around declaring typedefs outside of
+ classes, but it is fixed in MSVC 11.0.
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="disable-no_post_except_lib"/>
+ <test name="disable-no_post_except_unit"/>
+ <test name="disable-nothing_for_pre_prog"/>
+ <test name="disable-other_assertions_lib"/>
+ <test name="disable-other_assertions_prog"/>
+ <test name="disable-other_assertions_unit"/>
+ <toolset name="msvc-10.*"/>
+ <note author="Lorenzo Caminiti">
+ This test fails because of an internal MSVC 10.0 compiler bug.
+ This is fixed in MSVC 11.0.
+ </note>
+ </mark-expected-failures>
+ </library>
+</explicit-failures-markup>
+
diff --git a/src/boost/libs/contract/meta/libraries.json b/src/boost/libs/contract/meta/libraries.json
new file mode 100644
index 00000000..38ae42d0
--- /dev/null
+++ b/src/boost/libs/contract/meta/libraries.json
@@ -0,0 +1,14 @@
+{
+ "key": "contract",
+ "name": "Contract",
+ "authors": [
+ "Lorenzo Caminiti"
+ ],
+ "maintainers": [
+ "Lorenzo Caminiti <lorcaminiti -at- gmail.com>"
+ ],
+ "description": "Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc.",
+ "category": [
+ "Correctness"
+ ]
+}