From e6918187568dbd01842d8d1d2c808ce16a894239 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 21 Apr 2024 13:54:28 +0200 Subject: Adding upstream version 18.2.2. Signed-off-by: Daniel Baumann --- .../contract/meta/explicit-failures-markup.xml | 220 +++++++++++++++++++++ src/boost/libs/contract/meta/libraries.json | 14 ++ 2 files changed, 234 insertions(+) create mode 100644 src/boost/libs/contract/meta/explicit-failures-markup.xml create mode 100644 src/boost/libs/contract/meta/libraries.json (limited to 'src/boost/libs/contract/meta') 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 000000000..b17fa3618 --- /dev/null +++ b/src/boost/libs/contract/meta/explicit-failures-markup.xml @@ -0,0 +1,220 @@ + + + + + + + + + + + + + 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). + + + + + + + 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. + + + + + + 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). + + + + + + + + + + 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). + + + + + + + + + + This test fails on this compiler because of a bug in its STL + implementation (undefined references to + `std::ios_base::failure::failure`). + + + + + + + + + + + + + + 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). + + + + + + + + + + + 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. + + + + + + + + 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. + + + + + + + + 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). + + + + + + + + + + + + + + + + + + + + + + + + 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). + + + + + + + + + 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). + + + + + + + This test fails because MSVC 10.0 is not able to properly deduce + a template specialization. + This is fixed in MSVC 11.0. + + + + + + + + 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. + + + + + + + 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. + + + + + + + + + + + + This test fails because of an internal MSVC 10.0 compiler bug. + This is fixed in MSVC 11.0. + + + + + diff --git a/src/boost/libs/contract/meta/libraries.json b/src/boost/libs/contract/meta/libraries.json new file mode 100644 index 000000000..38ae42d0b --- /dev/null +++ b/src/boost/libs/contract/meta/libraries.json @@ -0,0 +1,14 @@ +{ + "key": "contract", + "name": "Contract", + "authors": [ + "Lorenzo Caminiti" + ], + "maintainers": [ + "Lorenzo Caminiti " + ], + "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" + ] +} -- cgit v1.2.3