explicit-failures-markup.xml 10 KB

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