Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of non BOOST-prefixed macros #90

Open
ned14 opened this issue Dec 16, 2019 · 5 comments
Open

List of non BOOST-prefixed macros #90

ned14 opened this issue Dec 16, 2019 · 5 comments

Comments

@ned14
Copy link
Member

ned14 commented Dec 16, 2019

The following macros are missing a BOOST_ prefix, which is against Boost library guidelines:

./boost/phoenix/scope/detail/local_variable.hpp:#ifndef PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
./boost/phoenix/scope/detail/local_variable.hpp:#define PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
./boost/phoenix/core/limits.hpp:#define PHOENIX_LIMIT BOOST_PHOENIX_LIMIT
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #define PHOENIX_GET_ARG(z, n, data)                                     \
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #define PHOENIX_EVAL_ARG(z, n, data)                                    \
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #undef PHOENIX_GET_ARG
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #undef PHOENIX_EVAL_ARG
./boost/phoenix/core/detail/cpp03/function_eval.hpp:                BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, PHOENIX_GET_ARG, _)
./boost/phoenix/core/detail/cpp03/function_eval.hpp:                return boost::phoenix::eval(f, ctx)(BOOST_PP_ENUM(BOOST_PHOENIX_ITERATION, PHOENIX_EVAL_ARG, _));
./boost/phoenix/core/detail/cpp03/function_eval.hpp:                return boost::phoenix::eval(f, ctx)(BOOST_PP_ENUM(BOOST_PHOENIX_ITERATION, PHOENIX_EVAL_ARG, _));
./boost/phoenix/core/detail/cpp03/expression.hpp:#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES
./boost/phoenix/bind/bind_member_variable.hpp:#ifndef PHOENIX_BIND_BIND_MEMBER_VARIABLE_HPP
./boost/phoenix/bind/bind_member_variable.hpp:#define PHOENIX_BIND_BIND_MEMBER_VARIABLE_HPP
./boost/phoenix/bind/bind_member_function.hpp:#ifndef PHOENIX_BIND_BIND_MEMBER_FUNCTION_HPP
./boost/phoenix/bind/bind_member_function.hpp:#define PHOENIX_BIND_BIND_MEMBER_FUNCTION_HPP
./boost/phoenix/bind/bind_function.hpp:#ifndef PHOENIX_BIND_BIND_FUNCTION_HPP
./boost/phoenix/bind/bind_function.hpp:#define PHOENIX_BIND_BIND_FUNCTION_HPP
./boost/phoenix/bind/bind_function_object.hpp:#ifndef PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP
./boost/phoenix/bind/bind_function_object.hpp:#define PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP
./boost/phoenix/function/detail/cpp03/function_operator.hpp:#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES
@jefftrull
Copy link
Contributor

Can you guys LMK what your plans are for fixing this - there is a usage in Wave here. Would like to coordinate. Thanks!

@djowel
Copy link
Collaborator

djowel commented Jun 15, 2020

Can you guys LMK what your plans are for fixing this - there is a usage in Wave here. Would like to coordinate. Thanks!

Hi Jeff, if you can do a PR for this, I can merge it in. I'm a bit worried about backward compatibility though, but I'd like to see what's in stake first before diving in.

@jefftrull
Copy link
Contributor

Well, it would basically be prepending BOOST_ in front of all those macro names. I think the scary thing from my perspective is whether any of them were previously part of the public API of Phoenix, and if so, would that impact other users?

Wave just uses PHOENIX_THREADSAFE and PHOENIX_LIMIT

@jefftrull
Copy link
Contributor

Also, if it's relevant - Wave uses Classic (!)

@jefftrull
Copy link
Contributor

How about this: there is already a BOOST_PHOENIX_LIMIT, which is set from PHOENIX_LIMIT if supplied, for backwards compatibility. Looks like @sithhell did it back in 2011 :) Can we do something like this for BOOST_THREADSAFE also?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants