1 <?xml version="1.0" encoding="utf-8"?>
4 Copyright (C) 2008-2018 Lorenzo Caminiti
5 Distributed under the Boost Software License, Version 1.0 (see accompanying
6 file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt).
7 See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html
11 PLEASE VALIDATE THE XML BEFORE COMMITTING YOUR CHANGES!
13 For example, cut-n-paste <library> tag below into main file
14 "boost/status/explicit-failures-markup.xml" and validate as indicated in that
18 <explicit-failures-markup>
20 <library name="contract">
22 <toolset name="clang-darwin-ubsan"/>
23 <note author="Lorenzo Caminiti">
24 On this compiler, Boost.Function gives a run-time error when
25 calling non-nullary lambdas as used by the tests of this library
26 to program contract failure handlers.
27 It might still be possible to use this library on this compiler
28 using default contract failure handlers or programming custom
29 contract failure handlers but without using non-nullary lambdas
30 (however, the authors did not confirm that).
34 <toolset name="gcc-3.*"/>
35 <toolset name="gcc-4.*"/>
36 <note author="Lorenzo Caminiti">
37 Even tests that do not use C++11 lambda functions fail on this
38 compiler because it incorrectly attempts an extra copy when
39 objects are constructed using `boost::check c = ...`.
40 This is fixed in MinGW GCC 4.3.
44 <toolset name="msvc-7.*"/>
45 <note author="Lorenzo Caminiti">
46 Even tests that do not use C++11 lambda functions fail on this
47 compiler because of a number of issues (Boost.Exception is not
48 supported on this compiler but it is used by this library
49 implementation, some aspects of `friend` and `volatile` are not
50 properly implemented on this compiler, etc.).
51 These specific issues are fixed in MSVC 9.0 (but only MSVC 11.0
52 has adequate lambda function support that makes this library
56 <mark-expected-failures>
57 <test name="disable-audit"/>
58 <toolset name="gcc-4.9"/>
59 <toolset name="clang-linux-3.6"/>
60 <toolset name="clang-linux-3.7"/>
61 <toolset name="clang-linux-3.8"/>
62 <note author="Lorenzo Caminiti">
63 This test fails on this compiler because of a bug with
64 exceptions (see http://grokbase.com/t/gg/android-ndk/1656csqqtp/assertion-ttypeencoding-dw-eh-pe-absptr-unexpected-ttypeencoding-failed).
66 </mark-expected-failures>
67 <mark-expected-failures>
68 <test name="invariant-ifdef"/>
69 <test name="specify-nothing"/>
70 <toolset name="clang-linux-3.6"/>
71 <toolset name="clang-linux-3.7"/>
72 <toolset name="clang-linux-3.8"/>
73 <note author="Lorenzo Caminiti">
74 This test fails on this compiler because of a bug in its STL
75 implementation (undefined references to
76 `std::ios_base::failure::failure`).
78 </mark-expected-failures>
79 <mark-expected-failures>
80 <test name="destructor-throwing_old"/>
81 <test name="destructor-throwing_post"/>
82 <test name="public_function-decl_pre_all"/>
83 <test name="public_function-decl_pre_ends"/>
84 <test name="public_function-smoke"/>
85 <test name="public_function-throwing_post"/>
86 <test name="public_function-virtual"/>
87 <test name="public_function-virtual_branch"/>
88 <toolset name="clang-linux-*~gnu++*"/>
89 <note author="Lorenzo Caminiti">
90 This test fails because of a libcxxrt bug on Clang for FreeBSD
91 which causes `std::uncaught_exception` to not work properly on
92 re-throws (see https://github.com/pathscale/libcxxrt/issues/49).
94 </mark-expected-failures>
95 <mark-expected-failures>
96 <test name="old-if_copyable"/>
97 <test name="old-if_copyable_macro"/>
98 <toolset name="gcc-4.6*"/>
99 <toolset name="gcc-4.7*"/>
100 <toolset name="msvc-10.*"/>
101 <toolset name="msvc-11.*"/>
102 <note author="Lorenzo Caminiti">
103 This test fails because this complier does not properly
104 implement SFINAE giving incorrect errors on substitution
105 failures for private members.
106 This seems to be fixed in GCC 4.8 and MSVC 12.0.
108 </mark-expected-failures>
109 <mark-expected-failures>
110 <test name="public_function-protected_error"/>
111 <toolset name="clang-linux-3.0~*"/>
112 <toolset name="gcc-4.6*"/>
113 <note author="Lorenzo Caminiti">
114 This test fails because SFINAE on this complier seems to not
115 fail as it should when a derived class tries to call a
116 protected member function on a base class object via a function
117 pointer instead of via inheritance.
118 This seems to be fixed in Clang 3.1, and to be specific to
121 </mark-expected-failures>
122 <mark-expected-failures>
123 <test name="public_function-virtual_access_multi"/>
124 <toolset name="gcc-4.6*"/>
125 <toolset name="gcc-4.7*"/>
126 <note author="Lorenzo Caminiti">
127 This test fails because this compiler seems to incorrectly check
128 access level of members in base classes in a context when only
129 derived class members are used.
130 This seems to be fixed in GCC 4.8 (possibly related to
131 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57973).
133 </mark-expected-failures>
134 <mark-expected-failures>
135 <test name="constructor-throwing_body"/>
136 <test name="destructor-decl_entry_inv_all"/>
137 <test name="destructor-decl_entry_inv_ends"/>
138 <test name="destructor-decl_entry_static_inv_all"/>
139 <test name="destructor-decl_entry_static_inv_ends"/>
140 <test name="destructor-decl_entry_static_inv_mid"/>
141 <test name="destructor-decl_exit_static_inv_all"/>
142 <test name="destructor-decl_exit_static_inv_ends"/>
143 <test name="destructor-decl_exit_static_inv_mid"/>
144 <test name="destructor-throwing_body"/>
145 <test name="destructor-throwing_old"/>
146 <test name="destructor-throwing_post"/>
147 <test name="function-ifdef_macro"/>
148 <test name="function-throwing_body"/>
149 <test name="public_function-static_throwing_body"/>
150 <test name="public_function-throwing_body"/>
151 <test name="public_function-throwing_body_virtual"/>
152 <test name="public_function-throwing_body_virtual_branch"/>
153 <toolset name="qcc-4.7*"/>
154 <note author="Lorenzo Caminiti">
155 This test fails because `std::unchaught_exception` seems to
156 always return zero on this compiler (even if the authors could
157 not find a direct reference to this possible compiler issue
160 </mark-expected-failures>
161 <mark-expected-failures>
162 <test name="invariant-ifdef"/>
163 <test name="invariant-ifdef_macro"/>
164 <test name="invariant-volatile_error"/>
165 <toolset name="msvc-8.*"/>
166 <note author="Lorenzo Caminiti">
167 This test fails because this complier seems to dispatch calls
168 incorrectly when both `const` and `const volatile` overloads
169 are present (even if the authors could not find a direct
170 reference to this possible compiler issue online).
171 This is fixed in MSVC 9.0 (but only MSVC 11.0 has adequate
172 lambda function support).
174 </mark-expected-failures>
175 <mark-expected-failures>
176 <test name="call_if-no_equal_call_if"/>
177 <toolset name="msvc-10.*"/>
178 <note author="Lorenzo Caminiti">
179 This test fails because MSVC 10.0 is not able to properly deduce
180 a template specialization.
181 This is fixed in MSVC 11.0.
183 </mark-expected-failures>
184 <mark-expected-failures>
185 <test name="constructor-ifdef_macro"/>
186 <test name="constructor-smoke"/>
187 <toolset name="msvc-10.*"/>
188 <note author="Lorenzo Caminiti">
189 This test fails because of a MSVC 10.0 bug with lambdas within
190 template class initialization list.
191 This can be worked around using a functor bind instead of a
192 lambda, but it is fixed in MSVC 11.0.
194 </mark-expected-failures>
195 <mark-expected-failures>
196 <test name="destructor-smoke"/>
197 <toolset name="msvc-10.*"/>
198 <note author="Lorenzo Caminiti">
199 This test fails because of a MSVC 10.0 bug for which lambdas
200 cannot access typedefs declared within classes.
201 This can be worked around declaring typedefs outside of
202 classes, but it is fixed in MSVC 11.0.
204 </mark-expected-failures>
205 <mark-expected-failures>
206 <test name="disable-no_post_except_lib"/>
207 <test name="disable-no_post_except_unit"/>
208 <test name="disable-nothing_for_pre_prog"/>
209 <test name="disable-other_assertions_lib"/>
210 <test name="disable-other_assertions_prog"/>
211 <test name="disable-other_assertions_unit"/>
212 <toolset name="msvc-10.*"/>
213 <note author="Lorenzo Caminiti">
214 This test fails because of an internal MSVC 10.0 compiler bug.
215 This is fixed in MSVC 11.0.
217 </mark-expected-failures>
219 </explicit-failures-markup>