
I'm pleased to announce the availability of Vera++ 1.1.0: http://www.inspirel.com/vera/ This version might be of interest to the Boost community for the following reasons: - It implements some transformations that were suggested by Boosters, especially to support moving big amounts of code to another namespace. - It provides new rules and special profile to emulate the original Boost inspect tool. It is enough to run: $ vera++ -profile boost myfile.cpp to check myfile.cpp against the rules currently defined in Boost inspect (but note that only C++ files can be checked). This profile generates some absurd amount of warnings due to its strict approach to license checks (rule T014). By removing this rule from the profile (and conveniently making a new profile boost2), this is what I got when running the tool on the 1.34.1 distro: /usr/local/include/boost_1_34_1 $ find . -name '*.[hc]pp' -exec vera++ -profile boost2 {} \; ./boost/archive/basic_streambuf_locale_saver.hpp:1: file name too long ./boost/archive/iterators/remove_whitespace.hpp:57: unnamed namespace not allowed in header file ./boost/bind/placeholders.hpp:25: unnamed namespace not allowed in header file ./boost/graph/relax.hpp:27: horizontal tab used ./boost/graph/relax.hpp:28: horizontal tab used ./boost/graph/relax.hpp:29: horizontal tab used ./boost/graph/relax.hpp:30: horizontal tab used ./boost/graph/relax.hpp:31: horizontal tab used ./boost/lambda/core.hpp:62: unnamed namespace not allowed in header file ./boost/lambda/detail/lambda_functors.hpp:25: unnamed namespace not allowed in header file ./boost/lambda/exceptions.hpp:24: unnamed namespace not allowed in header file ./boost/mpl/alias.hpp:17: unnamed namespace not allowed in header file ./boost/multi_array/base.hpp:69: unnamed namespace not allowed in header file ./boost/multi_index/detail/unbounded.hpp:31: unnamed namespace not allowed in header file ./boost/parameter/keyword.hpp:137: unnamed namespace not allowed in header file ./boost/parameter/name.hpp:83: unnamed namespace not allowed in header file ./boost/regex/v4/basic_regex_creator.hpp:505: unnamed namespace not allowed in header file ./boost/test/floating_point_comparison.hpp:206: unnamed namespace not allowed in header file ./boost/test/floating_point_comparison.hpp:228: unnamed namespace not allowed in header file ./boost/test/results_collector.hpp:40: unnamed namespace not allowed in header file ./boost/test/test_tools.hpp:262: unnamed namespace not allowed in header file ./boost/test/utils/iterator/token_iterator.hpp:166: unnamed namespace not allowed in header file ./boost/test/utils/named_params.hpp:216: unnamed namespace not allowed in header file ./boost/test/utils/runtime/cla/modifier.hpp:34: unnamed namespace not allowed in header file ./boost/test/utils/runtime/env/modifier.hpp:34: unnamed namespace not allowed in header file ./boost/test/utils/runtime/file/config_file.hpp:64: unnamed namespace not allowed in header file ./boost/test/utils/runtime/file/config_file_iterator.hpp:68: unnamed namespace not allowed in header file ./boost/test/utils/trivial_singleton.hpp:52: unnamed namespace not allowed in header file ./boost/test/utils/trivial_singleton.hpp:61: unnamed namespace not allowed in header file ./boost/tr1/tuple.hpp:1: no copyright notice found ./boost/typeof/encode_decode.hpp:15: unnamed namespace not allowed in header file ./libs/graph/example/file_dependencies.cpp:139: min/max potential macro substitution problem ./libs/graph/test/serialize.cpp:55: horizontal tab used ./libs/graph/test/serialize.cpp:56: horizontal tab used ./libs/graph/test/serialize.cpp:57: horizontal tab used ./libs/graph/test/serialize.cpp:58: horizontal tab used ./libs/graph/test/serialize.cpp:59: horizontal tab used ./libs/graph/test/serialize.cpp:61: horizontal tab used ./libs/graph/test/serialize.cpp:62: horizontal tab used ./libs/graph/test/serialize.cpp:63: horizontal tab used ./libs/graph/test/serialize.cpp:77: horizontal tab used ./libs/iostreams/test/code_converter_test.cpp:337: no newline at end of file ./libs/math/test/common_factor_test.cpp:146: min/max potential macro substitution problem ./libs/math/test/common_factor_test.cpp:146: min/max potential macro substitution problem ./libs/math/test/common_factor_test.cpp:147: min/max potential macro substitution problem ./libs/math/test/common_factor_test.cpp:147: min/max potential macro substitution problem ./libs/math/test/common_factor_test.cpp:193: min/max potential macro substitution problem ./libs/math/test/common_factor_test.cpp:193: min/max potential macro substitution problem ./libs/math/test/common_factor_test.cpp:194: min/max potential macro substitution problem ./libs/math/test/common_factor_test.cpp:194: min/max potential macro substitution problem ./libs/math/tools/generate_test_values.cpp:32: no newline at end of file ./libs/multi_array/test/generative_tests.hpp:57: unnamed namespace not allowed in header file ./libs/numeric/conversion/test/test_helpers.cpp:1: no copyright notice found ./libs/numeric/conversion/test/test_helpers2.cpp:1: no copyright notice found ./libs/numeric/conversion/test/test_helpers3.cpp:1: no copyright notice found ./libs/numeric/conversion/test/traits_test.cpp:1: no copyright notice found ./libs/numeric/conversion/test/udt_example_0.cpp:1: no copyright notice found ./libs/numeric/conversion/test/udt_support_test.cpp:1: no copyright notice found ./libs/pool/test/sys_allocator.hpp:100: no newline at end of file ./libs/ptr_container/test/sequence_point.cpp:1: no copyright notice found ./libs/python/test/operators_wrapper.cpp:1: no copyright notice found ./libs/serialization/test/polymorphic_text_warchive.hpp:18: no newline at end of file ./libs/spirit/example/intermediate/simple_xml/driver.cpp:45: no newline at end of file ./libs/spirit/example/intermediate/simple_xml/tag.cpp:46: no newline at end of file ./libs/spirit/example/intermediate/simple_xml/xml_g.hpp:186: no newline at end of file ./libs/spirit/fusion/test/insert_tests_mpl.cpp:49: no newline at end of file ./libs/type_traits/test/test.hpp:68: unnamed namespace not allowed in header file ./libs/typeof/test/odr.hpp:14: unnamed namespace not allowed in header file ./libs/utility/value_init_test.cpp:1: no copyright notice found ./libs/utility/value_init_test_fail1.cpp:1: no copyright notice found ./libs/utility/value_init_test_fail2.cpp:1: no copyright notice found ./libs/utility/value_init_test_fail3.cpp:1: no copyright notice found error: ./libs/wave/test/testwave/testfiles/t_0.hpp:48: illegal token in column 2, giving up (hint: fix the file or remove it from the working set) ./libs/wave/test/testwave/testfiles/t_5_006.cpp:23: horizontal tab used ./libs/wave/test/testwave/testfiles/t_6_063.hpp:45: no newline at end of file ./libs/wave/test/testwave/testfiles/t_6_066.hpp:46: no newline at end of file error: ./libs/wave/test/testwave/testfiles/t_6_067.hpp:48: illegal token in column 2, giving up (hint: fix the file or remove it from the working set) error: ./libs/wave/test/testwave/testfiles/t_9_004.cpp:19: illegal token in column 9, giving up (hint: fix the file or remove it from the working set) ./tools/build/v2/example/generate/a.cpp:1: no copyright notice found ./tools/inspect/wrong_line_ends_test.cpp:1: \r (CR) detected in isolation at position 70 ./tools/inspect/wrong_line_ends_test.cpp:5: no newline at end of file ./tools/quickbook/detail/actions.hpp:48: unnamed namespace not allowed in header file ./tools/quickbook/detail/actions.hpp:308: unnamed namespace not allowed in header file /usr/local/include/boost_1_34_1 $ I guess that not all of them were intentional. Regards, -- Maciej Sobczak * www.msobczak.com * www.inspirel.com
participants (1)
-
Maciej Sobczak