Boost logo

Boost :

From: Maciej Sobczak (prog_at_[hidden])
Date: 2007-11-12 11:18:37


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

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk