BOOST_READONLY_PROPERTY macro

This is the next item in the continuing sage about porting the test-library to IBM/VisualAge. The use of the BOOST_READONLY_PROPERTY macro results in error messages (see attached file) when compiling the test library with vacpp. I tried to have a look at this macro but it is not documented anywhere (neither in the source files where the macro is defined) and thus I would appreciate help from someone more knowledgeable about the test and preprocessor library. Additionally I would like to remark again that the test tools should not have too many dependencies. If the test tools depend on almost all boost libraries, there's no use in having test tools that verify if all libraries compile, is there ? toon ...found 838 targets... ...updating 273 targets... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/test_tools.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_tools.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_tools.cpp". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -DBOOST_TEST_NO_AUTO_LINK=1 -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/test/build" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/test_tools.o" "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_tools.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/test_tools.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_log.o xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_monitor.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -DBOOST_TEST_NO_AUTO_LINK=1 -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/test/build" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_monitor.o" "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_monitor.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_monitor.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_result.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_result.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_result.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_result.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_result.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_result.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_result.cpp". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -DBOOST_TEST_NO_AUTO_LINK=1 -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/test/build" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_result.o" "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_result.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_result.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_suite.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_suite.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_suite.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_suite.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_suite.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_suite.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_suite.cpp". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -DBOOST_TEST_NO_AUTO_LINK=1 -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/test/build" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_suite.o" "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/unit_test_suite.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/unit_test_suite.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/supplied_log_formatters.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/supplied_log_formatters.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/supplied_log_formatters.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/supplied_log_formatters.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/supplied_log_formatters.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/supplied_log_formatters.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/supplied_log_formatters.cpp". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -DBOOST_TEST_NO_AUTO_LINK=1 -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/test/build" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/supplied_log_formatters.o" "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/supplied_log_formatters.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/supplied_log_formatters.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/test_main.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 72.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 74.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/unit_test_suite.hpp", line 84.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -DBOOST_TEST_NO_AUTO_LINK=1 -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/test/build" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/test_main.o" "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_main.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/debug/test_main.o... ...skipped <@boost!libs!test!build/libboost_test_exec_monitor.so/vacpp/debug>libboost_test_exec_monitor-xlc-d-1_31.so for lack of <@boost!libs!test!build/libboost_test_exec_monitor.so/vacpp/debug>test_tools.o... ...skipped <@boost!libs!test!build!stage!lib>libboost_test_exec_monitor-xlc-d-1_31.so for lack of <@boost!libs!test!build/libboost_test_exec_monitor.so/vacpp/debug>libboost_test_exec_monitor-xlc-d-1_31.so... MkDir1 /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/release xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/release/execution_monitor.o xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/release/test_tools.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_tools.cpp". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/test/test_tools.hpp", line 188.6: 1540-0861 (S) Too few arguments are specified for macro "BOOST_PP_IIF_0". Empty arguments are used. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/preprocessor/control/iif.hpp", line 32.10: 1540-0425 (I) "BOOST_PP_IIF_0" is defined on line 32 of "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_tools.cpp". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -DNDEBUG -DNDEBUG -DBOOST_TEST_NO_AUTO_LINK=1 -O3 -qstrict -qinline -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/test/build" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/release/test_tools.o" "/home/tk/ext_projects/boost/boost_tknapen/boost/libs/test/build/../src/test_tools.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/release/test_tools.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/test/build/libboost_test_exec_monitor.so/vacpp/release/unit_test_parameters.o

This is the next item in the continuing sage about porting the test-library to IBM/VisualAge.
The use of the BOOST_READONLY_PROPERTY macro results in error messages (see attached file) when compiling the test library with vacpp.
I tried to have a look at this macro but it is not documented anywhere (neither in the source files where the macro is defined) and thus I would appreciate help from someone more knowledgeable about the test and preprocessor library.
For now it's internal macro used in Boost.Test internals (though it's usage is quite straitforward and should be obvios). I did proposed to make it common utility couple days ago.
Additionally I would like to remark again that the test tools should not have too many dependencies. If the test tools depend on almost all boost libraries, there's no use in having test tools that verify if all libraries compile, is there ?
Boost.Test does not depend on anything that does not compile almost everywhere. If needed I am using specific workarounds. Also Boost.Test layered design allows one to use one limited dependency component to test more widely dependant one. In this particular case I rely on PP library. It works even on ancient Solaris 4.2 and gcc 2.9.1. I don't know specific issies with the compiler you are using in regards of preprocessor, so couldn't give more helpfull information other than that PP macros are used to generate series of friend statement in class definition: friend class class1; friend class class2; ... friend class classN; BOOST_CLASS_PROPERTY is used like this: BOOST_CLASS_PROPERTY( int, (class1)(class2)...(classN) ) property;

"Gennadiy Rozental" <gennadiy.rozental@thomson.com> writes:
The use of the BOOST_READONLY_PROPERTY macro results in error messages ^^^^^^^^^^^^^^^^^^^^^^^ (see attached file) when compiling the test library with vacpp.
<snip>
In this particular case I rely on PP library. It works even on ancient Solaris 4.2 and gcc 2.9.1. I don't know specific issies with the compiler you are using in regards of preprocessor, so couldn't give more helpfull information other than that PP macros are used to generate series of friend statement in class definition:
friend class class1; friend class class2;
... friend class classN;
BOOST_CLASS_PROPERTY is used like this:
BOOST_CLASS_PROPERTY( int, (class1)(class2)...(classN) ) property;
How is that relevant? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (3)
-
David Abrahams
-
Gennadiy Rozental
-
Toon Knapen