diff --git a/example/Jamfile.v2 b/example/Jamfile.v2
index 9e31cf80..3d017447 100644
--- a/example/Jamfile.v2
+++ b/example/Jamfile.v2
@@ -51,7 +51,7 @@ test-suite boost_test_examples
[ run-fail unit_test_example_11.cpp unit_test_framework/static ]
[ link unit_test_example_12.cpp unit_test_framework/static ]
[ run unit_test_example_13.cpp ]
- [ run unit_test_example_14.cpp unit_test_framework/static ]
+ [ run unit_test_example_14.cpp unit_test_framework ]
[ run est_example1.cpp unit_test_framework ]
[ run-fail est_example2.cpp unit_test_framework ]
diff --git a/example/cla/assign_to.cpp b/example/cla/assign_to.cpp
index 78113f3d..44b4fe72 100644
--- a/example/cla/assign_to.cpp
+++ b/example/cla/assign_to.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/basic_float.cpp b/example/cla/basic_float.cpp
index a3f16e4b..58573600 100644
--- a/example/cla/basic_float.cpp
+++ b/example/cla/basic_float.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/basic_int.cpp b/example/cla/basic_int.cpp
index 29550d3e..6b61123c 100644
--- a/example/cla/basic_int.cpp
+++ b/example/cla/basic_int.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/basic_list.cpp b/example/cla/basic_list.cpp
index a64f2422..6730d2c8 100644
--- a/example/cla/basic_list.cpp
+++ b/example/cla/basic_list.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/basic_string.cpp b/example/cla/basic_string.cpp
index 95f3716c..d9d6ce1f 100644
--- a/example/cla/basic_string.cpp
+++ b/example/cla/basic_string.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/basic_udt.cpp b/example/cla/basic_udt.cpp
index e6df2d9c..5f270e78 100644
--- a/example/cla/basic_udt.cpp
+++ b/example/cla/basic_udt.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/char_parameter.cpp b/example/cla/char_parameter.cpp
index 97f7b0c9..dfca99f8 100644
--- a/example/cla/char_parameter.cpp
+++ b/example/cla/char_parameter.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/custom_handler.cpp b/example/cla/custom_handler.cpp
index bb72de62..23d131b8 100644
--- a/example/cla/custom_handler.cpp
+++ b/example/cla/custom_handler.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/custom_interpreter.cpp b/example/cla/custom_interpreter.cpp
index 5c2ab645..83fdbbbc 100644
--- a/example/cla/custom_interpreter.cpp
+++ b/example/cla/custom_interpreter.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/custom_parameter.cpp b/example/cla/custom_parameter.cpp
index 7b0dc4c3..878f58f3 100644
--- a/example/cla/custom_parameter.cpp
+++ b/example/cla/custom_parameter.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/default_value.cpp b/example/cla/default_value.cpp
index 44a3bbce..6de95dee 100644
--- a/example/cla/default_value.cpp
+++ b/example/cla/default_value.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/dual_name.cpp b/example/cla/dual_name.cpp
index a7ceb5e8..02eefe70 100644
--- a/example/cla/dual_name.cpp
+++ b/example/cla/dual_name.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/global.cpp b/example/cla/global.cpp
index df6bc2bd..1183138e 100644
--- a/example/cla/global.cpp
+++ b/example/cla/global.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/guess_name.cpp b/example/cla/guess_name.cpp
index d7e36e88..6b0be253 100644
--- a/example/cla/guess_name.cpp
+++ b/example/cla/guess_name.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/help.cpp b/example/cla/help.cpp
index d60b4c23..c2611e42 100644
--- a/example/cla/help.cpp
+++ b/example/cla/help.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/ignore_mismatch.cpp b/example/cla/ignore_mismatch.cpp
index 70a3b85e..5762c122 100644
--- a/example/cla/ignore_mismatch.cpp
+++ b/example/cla/ignore_mismatch.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/input_separator.cpp b/example/cla/input_separator.cpp
index c0576aeb..7257de91 100644
--- a/example/cla/input_separator.cpp
+++ b/example/cla/input_separator.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/multiplicable.cpp b/example/cla/multiplicable.cpp
index d31eacd7..bdb0e49d 100644
--- a/example/cla/multiplicable.cpp
+++ b/example/cla/multiplicable.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/name.cpp b/example/cla/name.cpp
index bdbbc2a3..418cdba7 100644
--- a/example/cla/name.cpp
+++ b/example/cla/name.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/optional.cpp b/example/cla/optional.cpp
index be9ac797..47271fbe 100644
--- a/example/cla/optional.cpp
+++ b/example/cla/optional.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/optional_value.cpp b/example/cla/optional_value.cpp
index 5d029fdd..77631feb 100644
--- a/example/cla/optional_value.cpp
+++ b/example/cla/optional_value.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/positional.cpp b/example/cla/positional.cpp
index 8c8850ce..b21aa27a 100644
--- a/example/cla/positional.cpp
+++ b/example/cla/positional.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/prefix.cpp b/example/cla/prefix.cpp
index 0c7c9686..b549be3c 100644
--- a/example/cla/prefix.cpp
+++ b/example/cla/prefix.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/reference.cpp b/example/cla/reference.cpp
index cdc2d721..6bdbb6bf 100644
--- a/example/cla/reference.cpp
+++ b/example/cla/reference.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/remainder.cpp b/example/cla/remainder.cpp
index f2d7a800..d17f7415 100644
--- a/example/cla/remainder.cpp
+++ b/example/cla/remainder.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/separator.cpp b/example/cla/separator.cpp
index 7c5573c8..b4054d63 100644
--- a/example/cla/separator.cpp
+++ b/example/cla/separator.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/usage.cpp b/example/cla/usage.cpp
index 3bec499c..527c14fe 100644
--- a/example/cla/usage.cpp
+++ b/example/cla/usage.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/access_unknown.cpp b/example/cla/validation/access_unknown.cpp
index 8b6d825a..910267fe 100644
--- a/example/cla/validation/access_unknown.cpp
+++ b/example/cla/validation/access_unknown.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/ambiguous_access.cpp b/example/cla/validation/ambiguous_access.cpp
index 0e078dee..ae0279a0 100644
--- a/example/cla/validation/ambiguous_access.cpp
+++ b/example/cla/validation/ambiguous_access.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/ambiguous_input.cpp b/example/cla/validation/ambiguous_input.cpp
index 10f5d720..de97f29b 100644
--- a/example/cla/validation/ambiguous_input.cpp
+++ b/example/cla/validation/ambiguous_input.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/definition_conflict.cpp b/example/cla/validation/definition_conflict.cpp
index 178f58b6..af913ff5 100644
--- a/example/cla/validation/definition_conflict.cpp
+++ b/example/cla/validation/definition_conflict.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/invalid_short_name.cpp b/example/cla/validation/invalid_short_name.cpp
index e26cfbaf..9f42eff9 100644
--- a/example/cla/validation/invalid_short_name.cpp
+++ b/example/cla/validation/invalid_short_name.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/multiple_generators.cpp b/example/cla/validation/multiple_generators.cpp
index 85a2efb1..cd0827db 100644
--- a/example/cla/validation/multiple_generators.cpp
+++ b/example/cla/validation/multiple_generators.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/multiple_value_handlers.cpp b/example/cla/validation/multiple_value_handlers.cpp
index 1379df58..167916f5 100644
--- a/example/cla/validation/multiple_value_handlers.cpp
+++ b/example/cla/validation/multiple_value_handlers.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/opt_with_default_value.cpp b/example/cla/validation/opt_with_default_value.cpp
index 442e0bde..79d93373 100644
--- a/example/cla/validation/opt_with_default_value.cpp
+++ b/example/cla/validation/opt_with_default_value.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/optional_plus_multiplicable.cpp b/example/cla/validation/optional_plus_multiplicable.cpp
index 2bef9786..87d7f23d 100644
--- a/example/cla/validation/optional_plus_multiplicable.cpp
+++ b/example/cla/validation/optional_plus_multiplicable.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/required_missing.cpp b/example/cla/validation/required_missing.cpp
index 03358d80..b7ffd79e 100644
--- a/example/cla/validation/required_missing.cpp
+++ b/example/cla/validation/required_missing.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/unexpected_input.cpp b/example/cla/validation/unexpected_input.cpp
index 4cdfcd73..d6cdd790 100644
--- a/example/cla/validation/unexpected_input.cpp
+++ b/example/cla/validation/unexpected_input.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/validation/unexpected_repetition.cpp b/example/cla/validation/unexpected_repetition.cpp
index 7b88d426..60d5522e 100644
--- a/example/cla/validation/unexpected_repetition.cpp
+++ b/example/cla/validation/unexpected_repetition.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/cla/wide_string.cpp b/example/cla/wide_string.cpp
index 9e2903dd..834bd6ef 100644
--- a/example/cla/wide_string.cpp
+++ b/example/cla/wide_string.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/const_string.hpp b/example/const_string.hpp
index 03d400bc..64c8f387 100644
--- a/example/const_string.hpp
+++ b/example/const_string.hpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/env/custom_interpreter_env.cpp b/example/env/custom_interpreter_env.cpp
index a7ecfdac..270e42e2 100644
--- a/example/env/custom_interpreter_env.cpp
+++ b/example/env/custom_interpreter_env.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/env/env_var_default_value.cpp b/example/env/env_var_default_value.cpp
index bb54c686..75c418e1 100644
--- a/example/env/env_var_default_value.cpp
+++ b/example/env/env_var_default_value.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/env/environment_ex.cpp b/example/env/environment_ex.cpp
index d2b70b6c..6057aa2b 100644
--- a/example/env/environment_ex.cpp
+++ b/example/env/environment_ex.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/env/global_id.cpp b/example/env/global_id.cpp
index c72dbbf3..51b50478 100644
--- a/example/env/global_id.cpp
+++ b/example/env/global_id.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/env/modifier_combination.cpp b/example/env/modifier_combination.cpp
index c07ba8a1..2f34a6db 100644
--- a/example/env/modifier_combination.cpp
+++ b/example/env/modifier_combination.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/env/validation/need_typed_access.cpp b/example/env/validation/need_typed_access.cpp
index 614b583f..6b825977 100644
--- a/example/env/validation/need_typed_access.cpp
+++ b/example/env/validation/need_typed_access.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/env/variable_ex.cpp b/example/env/variable_ex.cpp
index 23154666..62d00265 100644
--- a/example/env/variable_ex.cpp
+++ b/example/env/variable_ex.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/est_example1.cpp b/example/est_example1.cpp
index 2e2b36f1..f9eb59de 100644
--- a/example/est_example1.cpp
+++ b/example/est_example1.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/est_example2.cpp b/example/est_example2.cpp
index f57a812c..665436bd 100644
--- a/example/est_example2.cpp
+++ b/example/est_example2.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/exec_mon_example.cpp b/example/exec_mon_example.cpp
index d3e8298d..e385e15c 100644
--- a/example/exec_mon_example.cpp
+++ b/example/exec_mon_example.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2003-2008.
+// (C) Copyright Gennadiy Rozental 2003-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
@@ -59,6 +59,48 @@ void translate_my_exception2( my_exception2 const& ex )
std::cout << "Caught my_exception2(" << ex.m_res_code << ")"<< std::endl;
}
+int generate_fpe()
+{
+ double d = 0.0;
+
+ d = 1/d;
+
+ return 0;
+}
+
+int generate_fpe2()
+{
+ double d = 1e158;
+
+ d = d*d;
+
+ return 0;
+}
+
+int generate_fpe3()
+{
+ double d = 1.1e-308;
+
+ d = 1/d;
+
+ return 0;
+}
+
+int generate_int_div_0()
+{
+ int i = 0;
+
+ return 1/i;
+}
+
+int generate_sigfault()
+{
+ int* p = 0;
+
+ return *p;
+}
+
+
} // local_namespace
int
@@ -66,11 +108,97 @@ cpp_main( int argc , char *[] )
{
::boost::execution_monitor ex_mon;
- ex_mon.register_exception_translator( &translate_my_exception1 );
- ex_mon.register_exception_translator( &translate_my_exception2 );
+ ///////////////////////////////////////////////////////////////
+
+ ex_mon.register_exception_translator( &translate_my_exception1, "except1" );
+ ex_mon.register_exception_translator( &translate_my_exception2, "except2" );
try {
ex_mon.execute( ::boost::unit_test::callback0( dangerous_call( argc ) ) );
+ std::cout << "Should reach this line " << __LINE__ << std::endl;
+ }
+ catch ( boost::execution_exception const& ex ) {
+ std::cout << "Caught exception: " << ex.what() << std::endl;
+ }
+
+ ///////////////////////////////////////////////////////////////
+
+ ex_mon.erase_exception_translator( "except2" );
+
+ try {
+ ex_mon.execute( ::boost::unit_test::callback0( dangerous_call( 5 ) ) );
+ std::cout << "Should not reach this line " << __LINE__ << std::endl;
+ }
+ catch ( boost::execution_exception const& ex ) {
+ std::cout << "Caught exception: " << ex.what() << std::endl;
+ }
+
+ ///////////////////////////////////////////////////////////////
+
+ ex_mon.erase_exception_translator();
+
+ try {
+ ex_mon.execute( ::boost::unit_test::callback0( dangerous_call( 1 ) ) );
+ std::cout << "Should not reach this line " << __LINE__ << std::endl;
+ }
+ catch ( boost::execution_exception const& ex ) {
+ std::cout << "Caught exception: " << ex.what() << std::endl;
+ }
+
+ ///////////////////////////////////////////////////////////////
+
+ ex_mon.p_detect_fp_exceptions.value = boost::fpe::BOOST_FPE_DIVBYZERO;
+ ex_mon.p_catch_system_errors.value = false;
+
+ try {
+ ex_mon.execute( &generate_fpe );
+ std::cout << "Should not reach this line " << __LINE__ << std::endl;
+ }
+ catch ( boost::execution_exception const& ex ) {
+ std::cout << "Caught exception: " << ex.what() << std::endl;
+ }
+
+ ///////////////////////////////////////////////////////////////
+
+ ex_mon.p_detect_fp_exceptions.value = boost::fpe::BOOST_FPE_ALL;
+
+ try {
+ ex_mon.execute( &generate_fpe2 );
+ std::cout << "Should not reach this line " << __LINE__ << std::endl;
+ }
+ catch ( boost::execution_exception const& ex ) {
+ std::cout << "Caught exception: " << ex.what() << std::endl;
+ }
+
+ try {
+ ex_mon.execute( &generate_fpe3 );
+ std::cout << "Should not reach this line " << __LINE__ << std::endl;
+ }
+ catch ( boost::execution_exception const& ex ) {
+ std::cout << "Caught exception: " << ex.what() << std::endl;
+ }
+
+ ///////////////////////////////////////////////////////////////
+
+ ex_mon.p_detect_fp_exceptions.value = boost::fpe::BOOST_FPE_OFF;
+ ex_mon.p_catch_system_errors.value = true;
+
+ try {
+ ex_mon.execute( &generate_int_div_0 );
+ std::cout << "Should not reach this line " << __LINE__ << std::endl;
+ }
+ catch ( boost::execution_exception const& ex ) {
+ std::cout << "Caught exception: " << ex.what() << std::endl;
+ }
+
+ ///////////////////////////////////////////////////////////////
+
+ ex_mon.p_detect_fp_exceptions.value = boost::fpe::BOOST_FPE_OFF;
+ ex_mon.p_catch_system_errors.value = true;
+
+ try {
+ ex_mon.execute( &generate_sigfault );
+ std::cout << "Should not reach this line " << __LINE__ << std::endl;
}
catch ( boost::execution_exception const& ex ) {
std::cout << "Caught exception: " << ex.what() << std::endl;
diff --git a/example/logged_exp_example.cpp b/example/logged_exp_example.cpp
index de0f6ab6..6329c60f 100644
--- a/example/logged_exp_example.cpp
+++ b/example/logged_exp_example.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/named_param_example.cpp b/example/named_param_example.cpp
index 6e4d7b17..b11e08d1 100644
--- a/example/named_param_example.cpp
+++ b/example/named_param_example.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/prg_exec_example.cpp b/example/prg_exec_example.cpp
index 88040c8a..10de5727 100644
--- a/example/prg_exec_example.cpp
+++ b/example/prg_exec_example.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_02.cpp b/example/unit_test_example_02.cpp
index 77de0675..8c9c6ce9 100644
--- a/example/unit_test_example_02.cpp
+++ b/example/unit_test_example_02.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2002-2008.
+// (C) Copyright Gennadiy Rozental 2002-2010.
// (C) Copyright Gennadiy Rozental & Ullrich Koethe 2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
diff --git a/example/unit_test_example_03.cpp b/example/unit_test_example_03.cpp
index 92ebb6c1..59e6e61f 100644
--- a/example/unit_test_example_03.cpp
+++ b/example/unit_test_example_03.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2002-2008.
+// (C) Copyright Gennadiy Rozental 2002-2010.
// (C) Copyright Gennadiy Rozental & Ullrich Koethe 2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
diff --git a/example/unit_test_example_04.cpp b/example/unit_test_example_04.cpp
index 4800a0be..e8ff5023 100644
--- a/example/unit_test_example_04.cpp
+++ b/example/unit_test_example_04.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_05.cpp b/example/unit_test_example_05.cpp
index d16c2656..eb246d34 100644
--- a/example/unit_test_example_05.cpp
+++ b/example/unit_test_example_05.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_06.cpp b/example/unit_test_example_06.cpp
index 6b4dc2f4..5360346d 100644
--- a/example/unit_test_example_06.cpp
+++ b/example/unit_test_example_06.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_07.cpp b/example/unit_test_example_07.cpp
index 7ef161d7..2aae13dd 100644
--- a/example/unit_test_example_07.cpp
+++ b/example/unit_test_example_07.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_08.cpp b/example/unit_test_example_08.cpp
index a3c660c8..f70f3a2b 100644
--- a/example/unit_test_example_08.cpp
+++ b/example/unit_test_example_08.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_09_1.cpp b/example/unit_test_example_09_1.cpp
index 969fa916..68f51d21 100644
--- a/example/unit_test_example_09_1.cpp
+++ b/example/unit_test_example_09_1.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_09_2.cpp b/example/unit_test_example_09_2.cpp
index b73b24af..e86c6b7d 100644
--- a/example/unit_test_example_09_2.cpp
+++ b/example/unit_test_example_09_2.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2005-2008.
+// (C) Copyright Gennadiy Rozental 2005-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
diff --git a/example/unit_test_example_10.cpp b/example/unit_test_example_10.cpp
index 7a781bf2..1160aa9e 100644
--- a/example/unit_test_example_10.cpp
+++ b/example/unit_test_example_10.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// (C) Copyright Gennadiy Rozental & Ullrich Koethe 2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
diff --git a/example/unit_test_example_11.cpp b/example/unit_test_example_11.cpp
index 2b46d701..9f95e7a2 100644
--- a/example/unit_test_example_11.cpp
+++ b/example/unit_test_example_11.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2002-2008.
+// (C) Copyright Gennadiy Rozental 2002-2010.
// (C) Copyright Gennadiy Rozental & Ullrich Koethe 2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
@@ -15,6 +15,9 @@ using namespace boost::unit_test;
#include
#include
+#define LOG_FATAL_ERROR( M ) \
+BOOST_TEST_LOG_ENTRY( ::boost::unit_test::log_fatal_errors ) \
+ << (::boost::unit_test::lazy_ostream::instance() << M)
//____________________________________________________________________________//
// this free function is invoked with all parameters specified in a list
@@ -30,6 +33,8 @@ test_suite*
init_unit_test_suite( int /*argc*/, char* /*argv*/[] ) {
framework::master_test_suite().p_name.value = "Unit test example 11";
+ LOG_FATAL_ERROR( "something happend" );
+
// parameters have no requirements to stay alive beyond the next statement
std::string const params[] = { "hdr1 ", "hdr2", "3 " };
diff --git a/example/unit_test_example_12.cpp b/example/unit_test_example_12.cpp
index 12e14777..50f976bc 100644
--- a/example/unit_test_example_12.cpp
+++ b/example/unit_test_example_12.cpp
@@ -1,4 +1,4 @@
-// (C) Copyright Gennadiy Rozental 2001-2008.
+// (C) Copyright Gennadiy Rozental 2001-2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)