1<?xml version="1.0" encoding="utf-8"?>
2<explicit-failures-markup>
3    <!-- spirit (v2) -->
4    <library name="spirit">
5      <mark-unusable>
6        <toolset name="sun-5.7"/>
7        <toolset name="sun-5.8"/>
8        <toolset name="sun-5.9"/>
9        <toolset name="sun-5.10"/>
10        <toolset name="vacpp*"/>
11        <toolset name="borland-*"/>
12        <toolset name="cray-8.0"/>
13        <toolset name="msvc-7.1*"/>
14        <toolset name="clang-*-3.1*11*"/>
15        <toolset name="gcc-mngw-gnu-4.3c+"/>
16      </mark-unusable>
17      <test name="karma_*" category="Karma" />
18      <test name="lex_*" category="Lex" />
19      <test name="qi_*" category="Qi" />
20      <test name="support_*" category="Support" />
21      <test name="x3_*" category="X3" />
22    </library>
23
24    <!-- spirit (v2) repository -->
25    <library name="spirit/repository">
26      <mark-unusable>
27        <toolset name="borland-cb2009"/>
28        <toolset name="borland-cb2010"/>
29        <toolset name="msvc-7.1*"/>
30        <toolset name="clang-*-3.1*11*"/>
31        <toolset name="gcc-mngw-gnu-4.3c+"/>
32      </mark-unusable>
33      <test name="karma_*" category="Karma" />
34      <test name="qi_*" category="Qi" />
35    </library>
36
37    <!-- spirit (classic) -->
38    <library name="spirit/classic">
39        <mark-unusable>
40            <toolset name="msvc-6.5*"/>
41            <toolset name="borland-5.5*"/>
42            <toolset name="borland-5.6*"/>
43            <toolset name="borland-5.8*"/>
44            <toolset name="msvc-7.0"/>
45            <toolset name="gcc-2.95.3-linux"/>
46            <toolset name="gcc-2.95.3-stlport-4.5.3-linux"/>
47            <toolset name="gcc-2.95.3-stlport-4.6.2-linux"/>
48            <toolset name="sunpro-5_3-sunos"/>
49
50            <note>
51                <p>
52                Historically, Spirit supported a lot of compilers, including (to some
53                extent) poorly conforming compilers such as VC6. Spirit v1.6.x will be
54                the last release that will support older poorly conforming compilers.
55                Starting from Spirit v1.8.0, ill conforming compilers will not be
56                supported. If you are still using one of these older compilers, you can
57                still use Spirit v1.6.x.
58                </p>
59                <p>
60                The reason why Spirit v1.6.x worked on old non-conforming compilers is
61                that the authors laboriously took the trouble of searching for
62                workarounds to make these compilers happy. The process takes a lot of
63                time and energy, especially when one encounters the dreaded ICE or
64                "Internal Compiler Error". Sometimes searching for a single workaround
65                takes days or even weeks. Sometimes, there are no known workarounds. This
66                stifles progress a lot. And, as the library gets more progressive and
67                takes on more advanced C++ techniques, the difficulty is escalated to
68                even new heights.
69                </p>
70                <p>
71                Spirit v1.6.x will still be supported. Maintenance and bug fixes will
72                still be applied. There will still be active development for the back-
73                porting of new features introduced in Spirit v1.8.0 (and Spirit 1.9.0)
74                to lesser able compilers; hopefully, fueled by contributions from the
75                community. For instance, there is already a working AST tree back-port
76                for VC6 and VC7 by Peder Holt.
77                </p>
78            </note>
79        </mark-unusable>
80        <mark-expected-failures>
81            <test name="action_tests*"/>
82            <toolset name="iw-7_1-vc6"/>
83            <note author="Aleksey Gurtovoy" refid="4"/>
84        </mark-expected-failures>
85        <mark-expected-failures>
86            <test name="ast_calc_tests*"/>
87            <test name="closure_tests*"/>
88            <test name="multi_pass_compile_tests"/>
89            <test name="repeat_ast_tests*"/>
90            <toolset name="intel-8.0-linux"/>
91            <toolset name="intel-8.1-linux"/>
92            <note author="Aleksey Gurtovoy">
93                This failure is caused by a compiler bug that manifests itself in the
94                particular environment/hardware configuration the test has been run in.
95                You may or may not experience this issue in your local setup.
96            </note>
97        </mark-expected-failures>
98        <mark-expected-failures>
99            <test name="escape_char_parser_tests*"/>
100            <toolset name="intel-7.1-linux"/>
101            <toolset name="intel-7.1-stdlib-default-linux"/>
102            <note author="Aleksey Gurtovoy" refid="19"/>
103        </mark-expected-failures>
104        <mark-expected-failures>
105            <test name="escape_char_parser_tests*"/>
106            <toolset name="iw-7_1-vc6*"/>
107            <note author="Aleksey Gurtovoy" refid="28"/>
108        </mark-expected-failures>
109        <mark-expected-failures>
110            <test name="chset_tests*"/>
111            <toolset name="iw-7_1-vc6-stlp-4_5_3"/>
112            <note author="Aleksey Gurtovoy" refid="28"/>
113        </mark-expected-failures>
114        <mark-expected-failures>
115            <test name="int_numerics"/>
116            <test name="karma_pattern*"/>
117            <test name="karma_sequence"/>
118            <test name="rule"/>
119            <test name="sequence"/>
120            <toolset name="acc"/>
121            <note author="Boris Gubenko" refid="47"/>
122        </mark-expected-failures>
123        <mark-expected-failures>
124            <test name="lexertl3"/>
125            <test name="lexertl4"/>
126            <test name="lexertl5"/>
127            <toolset name="gcc-3.4.6_linux_ia64"/>
128            <note author="Boris Gubenko">
129                With GCC 3.4.6 the test fails with ICE: internal compiler error.
130                The footprint is similar to that in GCC Bugzilla Bug 34950
131                except 34950 is a regression introduced in GCC 4.2.3. In any
132                case, whatever the problem is, the GCC 4.x series does not seem
133                to have it: the test compiles just fine with GCC 4.x compiler.
134            </note>
135        </mark-expected-failures>
136    </library>
137</explicit-failures-markup>
138