Subject: [Boost-bugs] [Boost C++ Libraries] #13622: BOOST_SCOPE_EXIT error : use of undeclared identifier 'boost_se_params_t_*
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-06-29 05:20:40
#13622: BOOST_SCOPE_EXIT error : use of undeclared identifier 'boost_se_params_t_*
------------------------------+------------------------------
Reporter: markus_bonk@⦠| Owner: Lorenzo Caminiti
Type: Bugs | Status: new
Milestone: To Be Determined | Component: scope_exit
Version: Boost 1.67.0 | Severity: Problem
Keywords: CLang |
------------------------------+------------------------------
When compiling with Visual C++ 2017 LLVM-vs2017 toolset (CLang), the
following code produces " error : use of undeclared identifier
'boost_se_params_t_8'"
{{{
#include <boost/scope_exit.hpp>
template <typename T>
class AClass {
public:
int function() {
int handle = 0;
BOOST_SCOPE_EXIT_TPL(&handle) {
if (handle) {
handle = 0;
}
} BOOST_SCOPE_EXIT_END;
return handle;
}
};
class Derived : public AClass<Derived>
{
};
int main() {
Derived d;
return d.function();
}
>Source.cpp(8,5): error : use of undeclared identifier
'boost_se_params_t_8'
1> BOOST_SCOPE_EXIT_TPL(&handle) {
1> ^
1>d:\boost.org\boost_1_67_0\boost/scope_exit.hpp(902,9): note: expanded
from macro 'BOOST_SCOPE_EXIT_TPL'
1> BOOST_SCOPE_EXIT_ID_TPL(BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, \
1> ^
1>d:\boost.org\boost_1_67_0\boost/scope_exit.hpp(895,9): note: expanded
from macro 'BOOST_SCOPE_EXIT_ID_TPL'
1> BOOST_SCOPE_EXIT_AUX_IMPL(id, typename, \
1> ^
1>d:\boost.org\boost_1_67_0\boost/scope_exit.hpp(829,22): note: expanded
from macro 'BOOST_SCOPE_EXIT_AUX_IMPL'
1>
(BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id)*)boost_se_params) \
1> ^
1>d:\boost.org\boost_1_67_0\boost/scope_exit.hpp(280,5): note: expanded
from macro 'BOOST_SCOPE_EXIT_DETAIL_PARAMS_T'
1> BOOST_PP_CAT(boost_se_params_t_, id)
1> ^
1>d:\boost.org\boost_1_67_0\boost/preprocessor/cat.hpp(22,32): note:
expanded from macro 'BOOST_PP_CAT'
1># define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
1> ^
1>d:\boost.org\boost_1_67_0\boost/preprocessor/cat.hpp(29,34): note:
expanded from macro 'BOOST_PP_CAT_I'
1># define BOOST_PP_CAT_I(a, b) a ## b
1> ^
1><scratch space>(94,1): note: expanded from here
1>boost_se_params_t_8
1>^
1>Source.cpp(23,12): note: in instantiation of member function
'AClass<Derived>::function' requested here
1> return d.function();
1> ^
1>Source.cpp(8,5): error : expected expression
1> BOOST_SCOPE_EXIT_TPL(&handle) {
1> ^
1>d:\boost.org\boost_1_67_0\boost/scope_exit.hpp(902,9): note: expanded
from macro 'BOOST_SCOPE_EXIT_TPL'
1> BOOST_SCOPE_EXIT_ID_TPL(BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, \
1> ^
1>d:\boost.org\boost_1_67_0\boost/scope_exit.hpp(895,9): note: expanded
from macro 'BOOST_SCOPE_EXIT_ID_TPL'
1> BOOST_SCOPE_EXIT_AUX_IMPL(id, typename, \
1> ^
1>d:\boost.org\boost_1_67_0\boost/scope_exit.hpp(829,59): note: expanded
from macro 'BOOST_SCOPE_EXIT_AUX_IMPL'
1>
(BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id)*)boost_se_params) \
1> ^
1>2 errors generated.
}}}
-- Ticket URL: <https://svn.boost.org/trac10/ticket/13622> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2018-06-29 05:28:34 UTC