From f74e04f827a0972ccd831b3d11d9eadce50eeeef Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Wed, 2 Sep 2020 01:37:00 -0400 Subject: [PATCH] Fixed tests for non-strict compilers. --- test/arithmetic.cxx | 10 +++++++--- test/array.cxx | 12 ++++++++++++ test/comparison.cxx | 1 + test/control.cxx | 1 + test/iteration.cpp | 2 ++ test/list.cxx | 5 +++++ test/logical.cxx | 1 + test/repetition.cpp | 1 + test/selection.cxx | 1 + test/seq.cxx | 9 ++------- test/tuple.cxx | 13 ++++++++++++- test/variadic.cxx | 1 + 12 files changed, 46 insertions(+), 11 deletions(-) diff --git a/test/arithmetic.cxx b/test/arithmetic.cxx index 0d92501..3290dc2 100644 --- a/test/arithmetic.cxx +++ b/test/arithmetic.cxx @@ -21,7 +21,7 @@ BEGIN BOOST_PP_ADD(BOOST_PP_ADD(2, 2), 2) == 6 END BEGIN BOOST_PP_ADD(2, BOOST_PP_ADD(1, 4)) == 7 END BEGIN BOOST_PP_ADD(BOOST_PP_ADD(2, 2), BOOST_PP_ADD(2, 2)) == 8 END -#if BOOST_PP_LIMIT_MAG == 256 && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +#if BOOST_PP_LIMIT_MAG == 256 && BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() BEGIN BOOST_PP_ADD(1, 256) == 256 END BEGIN BOOST_PP_ADD(256, 1) == 256 END @@ -73,7 +73,7 @@ BEGIN BOOST_PP_SUB(5, BOOST_PP_SUB(3, 2)) == 4 END BEGIN BOOST_PP_SUB(BOOST_PP_SUB(10, 5), 2) == 3 END BEGIN BOOST_PP_SUB(BOOST_PP_SUB(7, 3), BOOST_PP_SUB(10, 8)) == 2 END -#if BOOST_PP_LIMIT_MAG == 256 && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +#if BOOST_PP_LIMIT_MAG == 256 && BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() BEGIN BOOST_PP_SUB(1, 256) == 0 END BEGIN BOOST_PP_SUB(256, 255) == 1 END @@ -123,6 +123,8 @@ BEGIN BOOST_PP_MUL(BOOST_PP_MUL(2, 2), 2) == 8 END BEGIN BOOST_PP_MUL(2, BOOST_PP_MUL(2, 2)) == 8 END BEGIN BOOST_PP_MUL(BOOST_PP_MUL(2, 2), BOOST_PP_MUL(2, 2)) == 16 END +#if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() + BEGIN BOOST_PP_MUL(0, BOOST_PP_LIMIT_MAG) == 0 END BEGIN BOOST_PP_MUL(1, BOOST_PP_LIMIT_MAG) == BOOST_PP_LIMIT_MAG END BEGIN BOOST_PP_MUL(2, BOOST_PP_LIMIT_MAG) == BOOST_PP_LIMIT_MAG END @@ -130,7 +132,9 @@ BEGIN BOOST_PP_MUL(BOOST_PP_LIMIT_MAG, 0) == 0 END BEGIN BOOST_PP_MUL(BOOST_PP_LIMIT_MAG, 1) == BOOST_PP_LIMIT_MAG END BEGIN BOOST_PP_MUL(BOOST_PP_LIMIT_MAG, 2) == BOOST_PP_LIMIT_MAG END -#if BOOST_PP_LIMIT_MAG == 256 +#endif + +#if BOOST_PP_LIMIT_MAG == 256 && BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() BEGIN BOOST_PP_MUL(17, 17) == 256 END BEGIN BOOST_PP_MUL(0, 255) == 0 END diff --git a/test/array.cxx b/test/array.cxx index 256ef8e..f5db38e 100644 --- a/test/array.cxx +++ b/test/array.cxx @@ -11,6 +11,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include # include @@ -455,7 +456,18 @@ BEGIN BOOST_PP_ARRAY_ELEM(167, BOOST_PP_ARRAY_REPLACE(ARRAY_VERY_LARGE_256, 0, 2 // reverse BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 64 END + +#if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() + BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY_ONE))) == 1 END + +#else + +// BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY_ONE))) == 1 END +BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0, ARRAY_ONE)) == 1 END + +#endif + BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY)) == 2 END BEGIN BOOST_PP_ARRAY_ELEM(29, BOOST_PP_ARRAY_REVERSE(ARRAY_LARGE)) == 3 END BEGIN BOOST_PP_ARRAY_ELEM(38, BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 25 END diff --git a/test/comparison.cxx b/test/comparison.cxx index c11f32e..0e7ff9d 100644 --- a/test/comparison.cxx +++ b/test/comparison.cxx @@ -9,6 +9,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include diff --git a/test/control.cxx b/test/control.cxx index 5df1722..e449ed1 100644 --- a/test/control.cxx +++ b/test/control.cxx @@ -9,6 +9,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include # include diff --git a/test/iteration.cpp b/test/iteration.cpp index 66c33a6..f06be5d 100644 --- a/test/iteration.cpp +++ b/test/iteration.cpp @@ -9,6 +9,8 @@ # # /* See http://www.boost.org for most recent version. */ # +# include +# # if !BOOST_PP_IS_SELFISH # # include diff --git a/test/list.cxx b/test/list.cxx index dca592d..90eb57a 100644 --- a/test/list.cxx +++ b/test/list.cxx @@ -11,6 +11,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include # include @@ -38,6 +39,8 @@ # define L3 (c, (3, (d, BOOST_PP_NIL))) # define LL (L1, (L2, (L3, BOOST_PP_NIL))) +# if BOOST_PP_LIMIT_MAG == 512 + # define LIST_256 \ (1,(2,(3,(4,(5,(6,(7,(8,(9, \ (10,(11,(12,(13,(14,(15,(16,(17,(18,(19, \ @@ -74,6 +77,8 @@ )))))))))))))))))))))))))))))))) \ )))))))))))))))))))))))))))))))) +#endif + # if BOOST_PP_LIMIT_MAG == 512 || BOOST_PP_LIMIT_MAG == 1024 # define LIST_512 \ diff --git a/test/logical.cxx b/test/logical.cxx index 8445430..755d2a6 100644 --- a/test/logical.cxx +++ b/test/logical.cxx @@ -9,6 +9,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include diff --git a/test/repetition.cpp b/test/repetition.cpp index 1fb3cba..f35d394 100644 --- a/test/repetition.cpp +++ b/test/repetition.cpp @@ -9,6 +9,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include # include diff --git a/test/selection.cxx b/test/selection.cxx index 3521691..6891b28 100644 --- a/test/selection.cxx +++ b/test/selection.cxx @@ -9,6 +9,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include diff --git a/test/seq.cxx b/test/seq.cxx index 13db10c..6224558 100644 --- a/test/seq.cxx +++ b/test/seq.cxx @@ -7,10 +7,11 @@ # * * # ************************************************************************** */ # -# /* Revised by Edward Diener (2011) */ +# /* Revised by Edward Diener (2011,2020) */ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include # include @@ -283,7 +284,6 @@ BEGIN BOOST_PP_SEQ_HEAD(SEQ_1024) == 1 END BEGIN BOOST_PP_SEQ_FOLD_LEFT(CAT_S, 1, SEQ_NONE) == 11 END BEGIN BOOST_PP_SEQ_FOLD_LEFT(SUB_S, 22, SEQ) == 10 END - BEGIN BOOST_PP_SEQ_FOLD_RIGHT(CAT_S, 2, SEQ_NONE) == 21 END BEGIN BOOST_PP_SEQ_FOLD_RIGHT(ADD_S, 0, SEQ) == 12 END BEGIN BOOST_PP_SEQ_FOLD_RIGHT(REVERSAL, 0, SEQ) == 4 END @@ -431,14 +431,9 @@ BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_SEQ_TO_ARRAY(SEQ_NONE)) == 1 END # define LESS_S(s, x, y) BOOST_PP_LESS(x, y) # define FILTER_MOD_S(s, data, elem) BOOST_PP_NOT(BOOST_PP_MOD(elem,data)) BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_FILTER(LESS_S, 3, SEQ)) == 45 END - -// # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() - BEGIN BOOST_PP_SEQ_ELEM(4,BOOST_PP_SEQ_FILTER(FILTER_MOD_S, 20, SEQ_100)) == 100 END BEGIN BOOST_PP_SEQ_ELEM(2,BOOST_PP_SEQ_FILTER(FILTER_MOD_S, 30, SEQ_100)) == 90 END -// #endif - # if BOOST_PP_LIMIT_SEQ == 512 # define FILTER_EQ_512_S(s, data, elem) \ diff --git a/test/tuple.cxx b/test/tuple.cxx index 00c18dc..77565f4 100644 --- a/test/tuple.cxx +++ b/test/tuple.cxx @@ -11,6 +11,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include # include @@ -586,13 +587,18 @@ BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_VERY_LARGE_256)) == 2 BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE, 1)) == 5 END BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE_LARGE, 17)) == 32 END -BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE_LARGE, 0)) == 32 END BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE_VERY_LARGE, 27)) == 63 END BEGIN BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_REMOVE(TUPLE, 2)) == 0 END BEGIN BOOST_PP_TUPLE_ELEM(29, BOOST_PP_TUPLE_REMOVE(TUPLE_LARGE, 25)) == 30 END BEGIN BOOST_PP_TUPLE_ELEM(62, BOOST_PP_TUPLE_REMOVE(TUPLE_VERY_LARGE, 48)) == 63 END + +#if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() + +BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE_LARGE, 0)) == 32 END BEGIN BOOST_PP_TUPLE_ELEM(25, BOOST_PP_TUPLE_REMOVE(TUPLE_VERY_LARGE, 0)) == 26 END +#endif + #if BOOST_PP_LIMIT_TUPLE > 64 BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE_LARGE_128, 100)) == 103 END @@ -623,9 +629,14 @@ BEGIN BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_REPLACE(TUPLE, 1, 44)) == 0 END BEGIN BOOST_PP_TUPLE_ELEM(29, BOOST_PP_TUPLE_REPLACE(TUPLE_LARGE, 29, 999)) == 999 END BEGIN BOOST_PP_TUPLE_ELEM(38, BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE, 37, 1)) == 38 END BEGIN BOOST_PP_TUPLE_ELEM(28, BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE, 28, 1)) == 1 END + +#if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() + BEGIN BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE, 0, 64)) == 64 END BEGIN BOOST_PP_TUPLE_ELEM(17, BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE, 0, 256)) == 17 END +#endif + #if BOOST_PP_LIMIT_TUPLE > 64 BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE_128, 93, 1000)) == 128 END diff --git a/test/variadic.cxx b/test/variadic.cxx index 195b86d..724a1a3 100644 --- a/test/variadic.cxx +++ b/test/variadic.cxx @@ -9,6 +9,7 @@ # # /* See http://www.boost.org for most recent version. */ # +# include # include # include # include