From 0cb5cf2ae7f2aa0f08df9b0dd219b483efacb28b Mon Sep 17 00:00:00 2001 From: denzor200 Date: Fri, 8 Sep 2023 00:46:55 +0300 Subject: [PATCH] Fix strip_boost_namespace.sh --- include/boost/pfr/config.hpp | 6 +++--- misc/strip_boost_namespace.sh | 36 ++++++++++++++++++++++------------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/include/boost/pfr/config.hpp b/include/boost/pfr/config.hpp index 8b388e0..b9ab97f 100644 --- a/include/boost/pfr/config.hpp +++ b/include/boost/pfr/config.hpp @@ -122,13 +122,13 @@ #ifndef BOOST_PFR_CORE_NAME_PARSING # if defined(_MSC_VER) // sizeof("auto __cdecl boost::pfr::detail::name_of_field_impl<") - 1, sizeof(">(void) noexcept") - 1 -# define BOOST_PFR_CORE_NAME_PARSING (52, 16, backward("->")) +# define BOOST_PFR_CORE_NAME_PARSING (52 /*45 for non boost*/, 16, backward("->")) # elif defined(__clang__) // sizeof("auto boost::pfr::detail::name_of_field_impl() [MsvcWorkaround = ") - 1, sizeof("}]") - 1 -# define BOOST_PFR_CORE_NAME_PARSING (64, 2, backward(".")) +# define BOOST_PFR_CORE_NAME_PARSING (64 /*57 for non boost*/, 2, backward(".")) # elif defined(__GNUC__) // sizeof("consteval auto boost::pfr::detail::name_of_field_impl() [with MsvcWorkaround = ") - 1, sizeof(")]") - 1 -# define BOOST_PFR_CORE_NAME_PARSING (79, 2, backward("::")) +# define BOOST_PFR_CORE_NAME_PARSING (79 /*72 for non boost*/, 2, backward("::")) # else // Deafult parser for other platforms... Just skip nothing! # define BOOST_PFR_CORE_NAME_PARSING (0, 0, "") diff --git a/misc/strip_boost_namespace.sh b/misc/strip_boost_namespace.sh index cba6c9b..36cc2b7 100755 --- a/misc/strip_boost_namespace.sh +++ b/misc/strip_boost_namespace.sh @@ -36,6 +36,8 @@ find ${TARGET_PATH} -type f | xargs sed -i 's|boost/pfr|pfr|g' find ${TARGET_PATH}/doc -type f | xargs sed -i 's|boost.pfr.|pfr.|g' find ${TARGET_PATH}/doc -type f | xargs sed -i 's|Boost.PFR|PFR|g' +sed -i 's/[0-9]* \/\*\([0-9]*\) for non boost\*\/\+/\1/g' ${TARGET_PATH}/include/pfr/config.hpp + sed -i 's|# \[Boost.PFR\](https://boost.org/libs/pfr)|# [PFR](https://apolukhin.github.io/pfr_non_boost/)|g' ${TARGET_PATH}/README.md echo -n "***** Testing: " @@ -49,28 +51,36 @@ if g++-12 -std=c++2a -DPFR_ENABLE_GET_NAME_STATIC=0 -I ${TARGET_PATH}/include/ $ echo -n "OK" else echo -n "FAIL" - exit 2 -fi -if g++-12 -std=c++2a -DPFR_USE_LOOPHOLE=0 -DPFR_USE_CPP17=1 -I ${TARGET_PATH}/include/ ${TARGET_PATH}/example/motivating_example0.cpp && ./a.out > /dev/null; then - echo -n "OK" -else - echo -n "FAIL" - exit 2 -fi -if g++-12 -std=c++2a -DPFR_USE_LOOPHOLE=1 -DPFR_USE_CPP17=0 -I ${TARGET_PATH}/include/ ${TARGET_PATH}/example/motivating_example0.cpp && ./a.out > /dev/null; then - echo -n ", OK" -else - echo -n ", FAIL" exit 3 fi -if g++-12 -std=c++2a -DPFR_USE_LOOPHOLE=0 -DPFR_USE_CPP17=0 -I ${TARGET_PATH}/include/ ${TARGET_PATH}/example/get.cpp && ./a.out > /dev/null; then +if g++-12 -std=c++2a -DPFR_ENABLE_GET_NAME_STATIC=1 -DBOOST_PFR_USE_CPP17=1 -I ${TARGET_PATH}/include/ ${TARGET_PATH}/example/get_name.cpp && ./a.out > /dev/null; then echo -e ", OK" else echo -e ", FAIL" exit 4 fi +if g++-12 -std=c++2a -DPFR_USE_LOOPHOLE=0 -DPFR_USE_CPP17=1 -I ${TARGET_PATH}/include/ ${TARGET_PATH}/example/motivating_example0.cpp && ./a.out > /dev/null; then + echo -n "OK" +else + echo -n "FAIL" + exit 5 +fi +if g++-12 -std=c++2a -DPFR_USE_LOOPHOLE=1 -DPFR_USE_CPP17=0 -I ${TARGET_PATH}/include/ ${TARGET_PATH}/example/motivating_example0.cpp && ./a.out > /dev/null; then + echo -n ", OK" +else + echo -n ", FAIL" + exit 6 +fi + +if g++-12 -std=c++2a -DPFR_USE_LOOPHOLE=0 -DPFR_USE_CPP17=0 -I ${TARGET_PATH}/include/ ${TARGET_PATH}/example/get.cpp && ./a.out > /dev/null; then + echo -e ", OK" +else + echo -e ", FAIL" + exit 7 +fi + rm a.out || : echo "***** Done"