New macros galore (mostly codegen related) - #82
Closed
psiha wants to merge 8 commits into
Closed
Conversation
BOOST_ASSUME(_UNCHECKED)() BOOST_UNREACHABLE(_UNCHECKED)() BOOST_UNREACHABLE() BOOST_DEFAULT_CASE_UNREACHABLE(_UNCHECKED)() BOOST_OVERRIDE BOOST_FINAL BOOST_NOTHROW_LITE BOOST_NOVTABLE BOOST_OPTIMIZE_FOR_SPEED_BEGIN() BOOST_OPTIMIZE_FOR_SPEED_END() BOOST_OPTIMIZE_FOR_SIZE_BEGIN() BOOST_OPTIMIZE_FOR_SIZE_END() BOOST_FAST_MATH_(ON/OFF/ON_BEGIN/ON_END/OFF_BEGIN/OFF_END)() BOOST_RESTRICTED BOOST_RESTRICTED_PTR BOOST_RESTRICTED_REF BOOST_NO_STRICT_ALIASING BOOST_HAS_UNION_TYPE_PUNNING_TRICK BOOST_HAS_MAY_ALIAS BOOST_MAY_ALIAS BOOST_HAS_OVERRIDABLE_SYMBOL BOOST_OVERRIDABLE_SYMBOL BOOST_CC_CDECL BOOST_CC_FASTCALL BOOST_CC_STDCALL BOOST_CC_STACK BOOST_CC_REG_ABI BOOST_CC_REG (provided implementations only for MSVC, Clang and GCC&clones)
…ated macros) commit.
…OST_UNREACHABLE_UNCHECKED macro defining logic in some circumnstances).
MSVC: added implementations for the BOOST_RESTRICTED_PTR abd BOOST_RESTRICTED_REF macros.
Author
|
FWIW: standalone version @ https://github.com/psiha/config_ex until I finally catch the time to apply the input from http://lists.boost.org/Archives/boost/2015/11/226556.php to actually get this included... |
Contributor
|
Reminder - this has been sitting here for a long time untouched. |
Collaborator
|
As I recall this was raised on the ML and didn't find much support, IMO it's too much in one go as well, unless there are calls from library authors for support for this I'm not inclined to merge. Closing for now. |
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New macros that mostly control codegen and/or provide optimiser hints. I don't expect this PR to be accepted as is, rather as a discussion starting point on what to do 'with all this'. I'll start a dedicated boost.devel thread where everyone can chime in...
BOOST_ASSUME(_UNCHECKED)()
BOOST_UNREACHABLE(_UNCHECKED)()
BOOST_UNREACHABLE()
BOOST_DEFAULT_CASE_UNREACHABLE(_UNCHECKED)()
BOOST_NOVTABLE
BOOST_OPTIMIZE_FOR_SPEED_BEGIN()
BOOST_OPTIMIZE_FOR_SPEED_END()
BOOST_OPTIMIZE_FOR_SIZE_BEGIN()
BOOST_OPTIMIZE_FOR_SIZE_END()
BOOST_FAST_MATH_(ON/OFF/ON_BEGIN/ON_END/OFF_BEGIN/OFF_END)()
BOOST_RESTRICTED
BOOST_RESTRICTED_PTR
BOOST_RESTRICTED_REF
BOOST_RESTRICTED_THIS
BOOST_NO_STRICT_ALIASING
BOOST_HAS_UNION_TYPE_PUNNING_TRICK
BOOST_HAS_MAY_ALIAS
BOOST_MAY_ALIAS
BOOST_HAS_OVERRIDABLE_SYMBOL
BOOST_OVERRIDABLE_SYMBOL
BOOST_OVERRIDABLE_MEMBER_SYMBOL
BOOST_OVERRIDABLE_FUNCTION
BOOST_CC_* (calling conventions: CDECL, FASTCALL, STDCALL, VECTORCALL, STACK, REG_ABI, REG)
BOOST_OVERRIDE
BOOST_FINAL
BOOST_NOTHROW_LITE
BOOST_ATTRIBUTES( ... ) function attributes macro, attributes prefixed with BOOST_: