• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2#  (C) Copyright Edward Diener 2011,2012,2019
3#  Use, modification and distribution are subject to the Boost Software License,
4#  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5#  http://www.boost.org/LICENSE_1_0.txt).
6#
7# Tti testing Jamfile
8#
9
10import testing ;
11
12project tti_tests : requirements <warnings>on
13                                 <toolset>gcc:<warnings>all
14                                 <toolset>msvc:<warnings>all
15                                 <toolset>gcc-4.3.0:<cxxflags>-Wno-variadic-macros
16                                 <toolset>gcc-4.4.0:<cxxflags>-Wno-variadic-macros
17                                 <toolset>gcc-4.4.7:<cxxflags>-Wno-variadic-macros
18                                 <toolset>gcc-4.5.0:<cxxflags>-Wno-variadic-macros
19                                 <toolset>gcc-4.5.0:<linkflags>"-Wl,--enable-auto-import"
20                                 <toolset>gcc-4.5.2:<cxxflags>-Wno-variadic-macros
21                                 <toolset>gcc-4.6.0:<cxxflags>-Wno-variadic-macros
22                                 <toolset>gcc-4.6.1:<cxxflags>-Wno-variadic-macros
23                                 <toolset>gcc-4.6.2:<cxxflags>-Wno-variadic-macros
24                                 <toolset>gcc-4.6.3:<cxxflags>-Wno-variadic-macros
25                                 <toolset>gcc-4.7.0:<cxxflags>-Wno-variadic-macros
26                                 <toolset>gcc-4.7.2:<cxxflags>-Wno-variadic-macros
27                                 ;
28
29obj function_template : test_function_template_works.cpp ;
30
31explicit function_template ;
32
33#
34# Member functions composite syntax
35#
36alias ttimfsig
37    :
38        [ run test_has_member.cpp ]
39        [ compile test_has_member_compile.cpp ]
40        [ compile-fail test_has_member_fail.cpp ]
41        [ compile-fail test_has_member_fail2.cpp ]
42        [ compile-fail test_has_member_fail3.cpp ]
43    ;
44
45#
46# Member functions composite syntax, cv-qualified
47#
48alias ttimfsigcv
49    :
50        [ run test_has_member_cv.cpp ]
51        [ compile test_has_member_cv_compile.cpp ]
52        [ compile-fail test_has_member_cv_fail.cpp ]
53        [ compile-fail test_has_member_cv_fail2.cpp ]
54        [ compile-fail test_has_member_cv_fail3.cpp ]
55        [ compile-fail test_has_member_cv_fail4.cpp ]
56        [ compile-fail test_has_member_cv_fail5.cpp ]
57    ;
58
59#
60# Member data
61#
62alias ttimd
63    :
64        [ run test_has_mem_data.cpp ]
65        [ run test_has_mem_data2.cpp ]
66        [ compile test_has_mem_data_compile.cpp ]
67        [ compile-fail test_has_mem_data_fail.cpp ]
68        [ compile-fail test_has_mem_data_fail2.cpp ]
69        [ compile-fail test_has_mem_data_fail3.cpp ]
70    ;
71
72#
73# Member functions specific syntax
74#
75alias ttimfn
76    :
77        [ run test_has_mem_fun.cpp ]
78        [ compile test_has_mem_fun_compile.cpp ]
79        [ compile-fail test_has_mem_fun_fail.cpp ]
80        [ compile-fail test_has_mem_fun_fail2.cpp ]
81        [ compile-fail test_has_mem_fun_fail3.cpp ]
82    ;
83
84#
85# Member functions specific syntax, cv-qualified
86#
87alias ttimfncv
88    :
89        [ run test_has_mem_fun_cv.cpp ]
90        [ compile test_has_mem_fun_cv_compile.cpp ]
91        [ compile-fail test_has_mem_fun_cv_fail.cpp ]
92        [ compile-fail test_has_mem_fun_cv_fail2.cpp ]
93        [ compile-fail test_has_mem_fun_cv_fail3.cpp ]
94        [ compile-fail test_has_mem_fun_cv_fail4.cpp ]
95        [ compile-fail test_has_mem_fun_cv_fail5.cpp ]
96        [ compile-fail test_has_mem_fun_cv_fail6.cpp ]
97    ;
98
99#
100# Static member functions composite syntax
101#
102alias ttismfsig
103    :
104        [ run test_has_static_member.cpp ]
105        [ compile test_has_static_member_compile.cpp ]
106        [ compile-fail test_has_static_member_fail.cpp ]
107        [ compile-fail test_has_static_member_fail2.cpp ]
108    ;
109
110#
111# Static member data
112#
113alias ttismd
114    :
115        [ run test_has_static_mem_data.cpp ]
116        [ compile test_has_static_mem_data_compile.cpp ]
117        [ compile-fail test_has_static_mem_data_fail.cpp ]
118        [ compile-fail test_has_static_mem_data_fail2.cpp ]
119        [ compile-fail test_has_static_mem_data_fail3.cpp ]
120    ;
121
122#
123# Static member functions
124#
125alias ttismfn
126    :
127        [ run test_has_static_mem_fun.cpp ]
128        [ compile test_has_static_mem_fun_compile.cpp ]
129        [ compile-fail test_has_static_mem_fun_fail.cpp ]
130        [ compile-fail test_has_static_mem_fun_fail2.cpp ]
131    ;
132
133#
134# Member or static member data
135#
136alias ttidata
137    :
138        [ run test_has_data.cpp ]
139        [ compile test_has_data_compile.cpp ]
140        [ compile-fail test_has_data_fail.cpp ]
141        [ compile-fail test_has_data_fail2.cpp ]
142        [ compile-fail test_has_data_fail3.cpp ]
143        [ compile-fail test_has_data_fail4.cpp ]
144        [ compile-fail test_has_data_fail5.cpp ]
145        [ compile-fail test_has_data_fail6.cpp ]
146    ;
147
148#
149# Member or static member function
150#
151alias ttifun
152    :
153        [ run test_has_fun.cpp ]
154        [ compile test_has_fun_compile.cpp ]
155        [ compile-fail test_has_fun_fail.cpp ]
156        [ compile-fail test_has_fun_fail2.cpp ]
157        [ compile-fail test_has_fun_fail3.cpp ]
158        [ compile-fail test_has_fun_fail4.cpp ]
159        [ compile-fail test_has_fun_fail5.cpp ]
160    ;
161
162#
163# Member function templates
164#
165alias ttimftmp
166    :
167        [ run test_has_mem_fun_template.cpp : : : [ check-target-builds function_template : : <build>no ] ]
168        [ run test_has_mem_fun_template.cpp : : : [ check-target-builds function_template : : <build>no ]
169          <define>BOOST_PP_VARIADICS=0 :
170          test_has_mem_fun_template_nov ]
171        [ compile test_has_mem_fun_template_compile.cpp : [ check-target-builds function_template : : <build>no ] ]
172        [ compile-fail test_has_mem_fun_template_fail.cpp : [ check-target-builds function_template : : <build>no ] ]
173        [ compile-fail test_has_mem_fun_template_fail2.cpp : [ check-target-builds function_template : : <build>no ] ]
174        [ compile-fail test_has_mem_fun_template_fail3.cpp : [ check-target-builds function_template : : <build>no ] ]
175    ;
176
177#
178# Member function templates composite syntax
179#
180alias ttimftsig
181    :
182        [ run test_has_member_template.cpp : : : [ check-target-builds function_template : : <build>no ] ]
183        [ run test_has_member_template.cpp : : : [ check-target-builds function_template : : <build>no ]
184          <define>BOOST_PP_VARIADICS=0 :
185          test_has_member_template_nov ]
186        [ compile test_has_member_template_compile.cpp : [ check-target-builds function_template : : <build>no ] ]
187        [ compile-fail test_has_member_template_fail.cpp : [ check-target-builds function_template : : <build>no ] ]
188        [ compile-fail test_has_member_template_fail2.cpp : [ check-target-builds function_template : : <build>no ] ]
189        [ compile-fail test_has_member_template_fail3.cpp : [ check-target-builds function_template : : <build>no ] ]
190    ;
191
192#
193# Member function templates specific syntax, cv-qualified
194#
195alias ttimftmpcv
196    :
197        [ run test_has_mem_fun_template_cv.cpp : : : [ check-target-builds function_template : : <build>no ] ]
198        [ run test_has_mem_fun_template_cv.cpp : : : [ check-target-builds function_template : : <build>no ]
199          <define>BOOST_PP_VARIADICS=0 :
200          test_has_mem_fun_template_cv_nov ]
201        [ compile test_has_mem_fun_template_cv_compile.cpp : [ check-target-builds function_template : : <build>no ] ]
202        [ compile-fail test_has_mem_fun_template_cv_fail.cpp : [ check-target-builds function_template : : <build>no ] ]
203        [ compile-fail test_has_mem_fun_template_cv_fail2.cpp : [ check-target-builds function_template : : <build>no ] ]
204        [ compile-fail test_has_mem_fun_template_cv_fail3.cpp : [ check-target-builds function_template : : <build>no ] ]
205    ;
206
207#
208# Member function templates composite syntax, cv-qualified
209#
210alias ttimftsigcv
211    :
212        [ run test_has_member_template_cv.cpp : : : [ check-target-builds function_template : : <build>no ] ]
213        [ run test_has_member_template_cv.cpp : : : [ check-target-builds function_template : : <build>no ]
214          <define>BOOST_PP_VARIADICS=0 :
215          test_has_member_template_cv_nov ]
216        [ compile test_has_member_template_cv_compile.cpp : [ check-target-builds function_template : : <build>no ] ]
217        [ compile-fail test_has_member_template_cv_fail.cpp : [ check-target-builds function_template : : <build>no ] ]
218        [ compile-fail test_has_member_template_cv_fail2.cpp : [ check-target-builds function_template : : <build>no ] ]
219        [ compile-fail test_has_member_template_cv_fail3.cpp : [ check-target-builds function_template : : <build>no ] ]
220    ;
221
222#
223# Static member function templates
224#
225alias ttismftmp
226    :
227        [ run test_has_static_mem_fun_template.cpp : : : [ check-target-builds function_template : : <build>no ] ]
228        [ run test_has_static_mem_fun_template.cpp : : : [ check-target-builds function_template : : <build>no ]
229          <define>BOOST_PP_VARIADICS=0 :
230          test_has_static_mem_fun_template_nov ]
231        [ compile test_has_static_mem_fun_template_compile.cpp : [ check-target-builds function_template : : <build>no ] ]
232        [ compile-fail test_has_static_mem_fun_template_fail.cpp : [ check-target-builds function_template : : <build>no ] ]
233        [ compile-fail test_has_static_mem_fun_template_fail2.cpp : [ check-target-builds function_template : : <build>no ] ]
234    ;
235
236#
237# Static member function templates composite syntax
238#
239alias ttismftsig
240    :
241        [ run test_has_static_member_template.cpp : : : [ check-target-builds function_template : : <build>no ] ]
242        [ run test_has_static_member_template.cpp : : : [ check-target-builds function_template : : <build>no ]
243          <define>BOOST_PP_VARIADICS=0 :
244          test_has_static_member_template_nov ]
245        [ compile test_has_static_member_template_compile.cpp : [ check-target-builds function_template : : <build>no ] ]
246        [ compile-fail test_has_static_member_template_fail.cpp : [ check-target-builds function_template : : <build>no ] ]
247        [ compile-fail test_has_static_member_template_fail2.cpp : [ check-target-builds function_template : : <build>no ] ]
248    ;
249
250#
251# Member or static member function templates
252#
253alias ttifuntmp
254    :
255        [ run test_has_fun_template.cpp : : : [ check-target-builds function_template : : <build>no ] ]
256        [ run test_has_fun_template.cpp : : : [ check-target-builds function_template : : <build>no ]
257          <define>BOOST_PP_VARIADICS=0 :
258          test_has_fun_template_nov ]
259        [ compile test_has_fun_template_compile.cpp : [ check-target-builds function_template : : <build>no ] ]
260        [ compile-fail test_has_fun_template_fail.cpp : [ check-target-builds function_template : : <build>no ] ]
261        [ compile-fail test_has_fun_template_fail2.cpp : [ check-target-builds function_template : : <build>no ] ]
262        [ compile-fail test_has_fun_template_fail3.cpp : [ check-target-builds function_template : : <build>no ] ]
263    ;
264
265#
266# Function templates
267#
268alias ttift : ttimftmp ttimftsig ttimftmpcv ttimftsigcv ttismftmp ttismftsig ttifuntmp ;
269
270#
271# Templates
272#
273alias ttitmp
274    :
275        [ run test_has_template.cpp : : : <define>BOOST_PP_VARIADICS=0 ]
276        [ compile test_has_template_compile.cpp : <define>BOOST_PP_VARIADICS=0 ]
277        [ compile-fail test_has_template_fail.cpp : <define>BOOST_PP_VARIADICS=0 ]
278        [ compile-fail test_has_template_fail2.cpp : <define>BOOST_PP_VARIADICS=0 ]
279        [ compile-fail test_has_template_fail3.cpp : <define>BOOST_PP_VARIADICS=0 ]
280        [ compile-fail test_has_template_fail4.cpp : <define>BOOST_PP_VARIADICS=0 ]
281    ;
282
283#
284# Templates, check params
285#
286alias ttitmpcp
287    :
288        [ run test_has_template_cp.cpp : : : <define>BOOST_PP_VARIADICS=0 ]
289        [ compile test_has_template_cp_compile.cpp : <define>BOOST_PP_VARIADICS=0 ]
290        [ compile-fail test_has_template_cp_fail.cpp : <define>BOOST_PP_VARIADICS=0 ]
291        [ compile-fail test_has_template_cp_fail2.cpp : <define>BOOST_PP_VARIADICS=0 ]
292        [ compile-fail test_has_template_cp_fail3.cpp : <define>BOOST_PP_VARIADICS=0 ]
293        [ compile-fail test_has_template_cp_fail4.cpp : <define>BOOST_PP_VARIADICS=0 ]
294    ;
295
296#
297# Type
298#
299alias ttity
300    :
301        [ run test_has_type.cpp ]
302        [ run test_has_class.cpp ]
303        [ run test_has_union.cpp ]
304        [ run test_has_enum.cpp ]
305        [ compile test_has_type_compile.cpp ]
306        [ compile-fail test_has_type_fail.cpp ]
307        [ compile-fail test_has_type_fail2.cpp ]
308        [ compile-fail test_has_type_fail3.cpp ]
309        [ run test_has_type_ct.cpp ]
310        [ compile test_has_type_ct_compile.cpp ]
311        [ compile-fail test_has_type_ct_fail.cpp ]
312        [ compile-fail test_has_type_ct_fail2.cpp ]
313        [ compile-fail test_has_type_ct_fail3.cpp ]
314        [ compile-fail test_has_type_ct_fail4.cpp ]
315        [ compile-fail test_has_type_ct_fail5.cpp ]
316    ;
317
318#
319# Nested type
320#
321alias ttimemty
322    :
323        [ run test_mem_type.cpp ]
324        [ compile test_mem_type_compile.cpp ]
325    ;
326#
327# All of tti, non-variadic macros
328#
329alias ttinovm : ttimfsig ttimfsigcv ttimd ttimfn ttimfncv ttismfsig ttismd ttismfn ttidata ttifun ttitmp ttitmpcp ttity ttimemty ttift ;
330
331alias ttitmpv : :
332        <toolset>gcc
333        <toolset-gcc:version>3.4.2
334    ;
335
336alias ttitmpv : :
337        <toolset>gcc
338        <toolset-gcc:version>3.4.5
339    ;
340
341alias ttitmpv : :
342        <toolset>gcc
343        <toolset-gcc:version>4.1.2
344    ;
345
346alias ttitmpv : :
347        <toolset>gcc
348        <toolset-gcc:version>4.2.1
349    ;
350
351#
352# Templates, variadic macro
353#
354alias ttitmpv
355    :
356        [ run test_has_template.cpp : : :
357          <toolset>gcc:<cxxflags>-std=c++0x
358          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
359          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
360          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
361          <define>BOOST_PP_VARIADICS=1 :
362          test_has_template_v ]
363        [ compile test_has_template_compile.cpp :
364          <toolset>gcc:<cxxflags>-std=c++0x
365          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
366          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
367          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
368          <define>BOOST_PP_VARIADICS=1 :
369          test_has_template_compile_v ]
370        [ compile-fail test_has_template_fail.cpp :
371          <toolset>gcc:<cxxflags>-std=c++0x
372          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
373          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
374          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
375          <define>BOOST_PP_VARIADICS=1 :
376          test_has_template_fail_v ]
377        [ compile-fail test_has_template_fail2.cpp :
378          <toolset>gcc:<cxxflags>-std=c++0x
379          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
380          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
381          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
382          <define>BOOST_PP_VARIADICS=1 :
383          test_has_template_fail2_v ]
384        [ compile-fail test_has_template_fail3.cpp :
385          <toolset>gcc:<cxxflags>-std=c++0x
386          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
387          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
388          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
389          <define>BOOST_PP_VARIADICS=1 :
390          test_has_template_fail3_v ]
391        [ compile-fail test_has_template_fail4.cpp :
392          <toolset>gcc:<cxxflags>-std=c++0x
393          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
394          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
395          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
396          <define>BOOST_PP_VARIADICS=1 :
397          test_has_template_fail4_v ]
398    ;
399
400alias ttitmpcpv : :
401        <toolset>gcc
402        <toolset-gcc:version>3.4.2
403    ;
404
405alias ttitmpcpv : :
406        <toolset>gcc
407        <toolset-gcc:version>3.4.5
408    ;
409
410alias ttitmpcpv : :
411        <toolset>gcc
412        <toolset-gcc:version>4.1.2
413    ;
414
415alias ttitmpcpv : :
416        <toolset>gcc
417        <toolset-gcc:version>4.2.1
418    ;
419
420#
421# Templates, variadic macro, check params, non-variadic syntax
422#
423alias ttitmpcpv
424    :
425        [ run test_has_template_cp.cpp : : :
426          <toolset>gcc:<cxxflags>-std=c++0x
427          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
428          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
429          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
430          <define>BOOST_PP_VARIADICS=1 :
431          test_has_template_cp_v ]
432        [ compile test_has_template_cp_compile.cpp :
433          <toolset>gcc:<cxxflags>-std=c++0x
434          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
435          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
436          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
437          <define>BOOST_PP_VARIADICS=1 :
438          test_has_template_cp_compile_v ]
439        [ compile-fail test_has_template_cp_fail.cpp :
440          <toolset>gcc:<cxxflags>-std=c++0x
441          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
442          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
443          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
444          <define>BOOST_PP_VARIADICS=1 :
445          test_has_template_cp_fail_v ]
446        [ compile-fail test_has_template_cp_fail2.cpp :
447          <toolset>gcc:<cxxflags>-std=c++0x
448          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
449          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
450          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
451          <define>BOOST_PP_VARIADICS=1 :
452          test_has_template_cp_fail2_v ]
453        [ compile-fail test_has_template_cp_fail3.cpp :
454          <toolset>gcc:<cxxflags>-std=c++0x
455          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
456          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
457          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
458          <define>BOOST_PP_VARIADICS=1 :
459          test_has_template_cp_fail3_v ]
460        [ compile-fail test_has_template_cp_fail4.cpp :
461          <toolset>gcc:<cxxflags>-std=c++0x
462          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
463          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
464          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
465          <define>BOOST_PP_VARIADICS=1 :
466          test_has_template_cp_fail4_v  ]
467    ;
468
469alias ttitmpcpvm : :
470        <toolset>gcc
471        <toolset-gcc:version>3.4.2
472    ;
473
474alias ttitmpcpvm : :
475        <toolset>gcc
476        <toolset-gcc:version>3.4.5
477    ;
478
479alias ttitmpcpvm : :
480        <toolset>gcc
481        <toolset-gcc:version>4.1.2
482    ;
483
484alias ttitmpcpvm : :
485        <toolset>gcc
486        <toolset-gcc:version>4.2.1
487    ;
488
489#
490# Templates, variadic macro, check params, variadic syntax
491#
492alias ttitmpcpvm
493    :
494        [ run test_vm_has_template_cp.cpp : : :
495          <toolset>gcc:<cxxflags>-std=c++0x
496          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
497          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
498          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
499          <define>BOOST_PP_VARIADICS=1 ]
500        [ compile test_vm_has_template_cp_compile.cpp :
501          <toolset>gcc:<cxxflags>-std=c++0x
502          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
503          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
504          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
505          <define>BOOST_PP_VARIADICS=1 ]
506        [ compile-fail test_vm_has_template_cp_fail.cpp :
507          <toolset>gcc:<cxxflags>-std=c++0x
508          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
509          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
510          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
511          <define>BOOST_PP_VARIADICS=1 ]
512        [ compile-fail test_vm_has_template_cp_fail2.cpp :
513          <toolset>gcc:<cxxflags>-std=c++0x
514          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
515          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
516          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
517          <define>BOOST_PP_VARIADICS=1 ]
518        [ compile-fail test_vm_has_template_cp_fail3.cpp :
519          <toolset>gcc:<cxxflags>-std=c++0x
520          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
521          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
522          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
523          <define>BOOST_PP_VARIADICS=1 ]
524        [ compile-fail test_vm_has_template_cp_fail4.cpp :
525          <toolset>gcc:<cxxflags>-std=c++0x
526          <toolset>gcc-4.3.0:<cxxflags>-U__STRICT_ANSI__
527          <toolset>gcc-4.4.0:<cxxflags>-U__STRICT_ANSI__
528          <toolset>gcc-4.4.7:<cxxflags>-U__STRICT_ANSI__
529          <define>BOOST_PP_VARIADICS=1 ]
530    ;
531
532#
533# Templates, non-variadic macro
534#
535alias ttitemplate : ttitmp ttitmpcp ;
536
537#
538# Templates, variadic macro
539#
540alias ttivm : ttitmpv ttitmpcpv ttitmpcpvm ;
541
542#
543# All templates
544#
545alias ttitemplate_all : ttitemplate ttivm ;
546
547#
548# All tests
549#
550alias tti : ttinovm ttivm ;
551