#~ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
import testing ;
+import cast ;
project preprocessor_tests : requirements <warnings>on
<toolset>gcc-4.3.0:<warnings>all
alias preprocessor
:
- [ compile arithmetic.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile array.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile comparison.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile control.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile debug.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile facilities.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile iteration.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile list.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile logical.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile punctuation.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile repetition.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile selection.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile seq.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile slot.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile tuple.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile variadic.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
+ [ compile arithmetic.cpp ]
+ [ compile array.cpp ]
+ [ compile comparison.cpp ]
+ [ compile control.cpp ]
+ [ compile debug.cpp ]
+ [ compile facilities.cpp ]
+ [ compile iteration.cpp ]
+ [ compile list.cpp ]
+ [ compile logical.cpp ]
+ [ compile punctuation.cpp ]
+ [ compile repetition.cpp ]
+ [ compile selection.cpp ]
+ [ compile seq.cpp ]
+ [ compile slot.cpp ]
+ [ compile stringize.cpp ]
+ [ compile tuple.cpp ]
+ [ compile variadic.cpp ]
;
alias preprocessor_nvm
[ compile selection.cpp : <define>BOOST_PP_VARIADICS=0 : selection_nvm ]
[ compile seq.cpp : <define>BOOST_PP_VARIADICS=0 : seq_nvm ]
[ compile slot.cpp : <define>BOOST_PP_VARIADICS=0 : slot_nvm ]
+ [ compile stringize.cpp : <define>BOOST_PP_VARIADICS=0 : stringize_nvm ]
[ compile tuple.cpp : <define>BOOST_PP_VARIADICS=0 : tuple_nvm ]
;
alias preprocessor_c
:
[ compile arithmetic.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: arithmetic_c
]
[ compile array.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: array_c
]
[ compile comparison.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: comparison_c
]
[ compile control.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: control_c
]
[ compile debug.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: debug_c
]
[ compile facilities.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: facilities_c
]
[ compile list.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: list_c
]
[ compile logical.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: logical_c
]
[ compile punctuation.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: punctuation_c
]
[ compile selection.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: selection_c
]
[ compile seq.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: seq_c
]
[ compile slot.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: slot_c
]
+ [ compile stringize.c
+ :
+ : stringize_c
+ ]
[ compile tuple.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: tuple_c
]
[ compile variadic.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: variadic_c
]
;
alias preprocessor_c_nvm
:
[ compile arithmetic.c
- : <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ : <define>BOOST_PP_VARIADICS=0
: arithmetic_c_nvm
]
[ compile array.c
- : <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ : <define>BOOST_PP_VARIADICS=0
: array_c_nvm
]
[ compile comparison.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: comparison_c_nvm
]
[ compile control.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: control_c_nvm
]
[ compile debug.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: debug_c_nvm
]
[ compile facilities.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: facilities_c_nvm
]
[ compile list.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: list_c_nvm
]
[ compile logical.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: logical_c_nvm
]
[ compile selection.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: selection_c_nvm
]
[ compile seq.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: seq_c_nvm
]
[ compile slot.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: slot_c_nvm
]
+ [ compile stringize.c
+ : <define>BOOST_PP_VARIADICS=0
+ : stringize_c_nvm
+ ]
[ compile tuple.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: tuple_c_nvm
]
;
alias preprocessor_isempty
:
- [ compile isempty.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile-fail isempty_variadic_standard_failure.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
- [ compile-fail isempty_variadic_standard_failure2.cpp : <toolset>gcc:<cxxflags>-std=c++0x <toolset>clang-linux:<cxxflags>-std=c++0x ]
+ [ compile isempty.cpp ]
+ [ compile checkempty.cpp ]
+ [ compile-fail isempty_variadic_standard_failure.cpp : <define>BOOST_PP_VARIADICS=1 ]
+ [ compile-fail isempty_variadic_standard_failure2.cpp : <define>BOOST_PP_VARIADICS=1 ]
+ [ compile vaopt.cpp ]
;
alias preprocessor_isempty_nvm
:
- [ compile isempty.cpp : <define>BOOST_PP_VARIADICS=0 : isempty_nvm ]
+ [ compile isempty.cpp : <define>BOOST_PP_VARIADICS=0 : isempty_nvm ]
;
alias preprocessor_isempty_c
:
[ compile isempty.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ :
: isempty_c
]
[ compile-fail isempty_variadic_standard_failure.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ : <define>BOOST_PP_VARIADICS=1
: isempty_variadic_standard_failure_c
]
[ compile-fail isempty_variadic_standard_failure2.c
- : <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
+ : <define>BOOST_PP_VARIADICS=1
: isempty_variadic_standard_failure2_c
]
;
:
[ compile isempty.c
: <define>BOOST_PP_VARIADICS=0
- <toolset>gcc:<cflags>-std=c99 <toolset>clang-linux:<cflags>-std=c99
: isempty_c_nvm
]
;
:
[ run config_info.cpp ]
;
+
+alias test_clang_cuda
+ :
+ [ compile [ cast _ cpp : clang_cuda.cu ]
+ : <cxxflags>-nocudalib
+ <cxxflags>-nocudainc
+ <cxxflags>"-x cuda"
+ : clang_cuda_cu
+ ]
+ ;
+
+explicit test_clang_cuda ;