|
Boost : |
From: dariomt_at_[hidden]
Date: 2019-05-30 13:15:49
>
> >>> Hi all,
> >>>
> >>> I'm working on a Boost.Exception issue [1] and I need to detect
> compiler
> >>> support of std::current_exception. In the issue there is a suggestion
> to
> >>> use #if __cplusplus > 199711L but that does not work for my use case
> >>> (VS2015 reports __cplusplus = 199711L).
> >>
> >> MSVC defines _MSVC_LANG for this[1]. At least, it used to. However, it
> >> would be cleaner to have a dedicated macro in Boost.Config for this.
> >>
> > Totally agree.
> >
> >>
> >>> Is it possible to add a config macro for this?
> >>> Or is there a good enough existing macro I can use?
> >>
> >> I don't think there is. Something like BOOST_NO_CXX11_HDR_EXCEPTION
> >> would be useful.
> >
> > I would need to detect support for std::current_exception, not the
> presence
> > of header <exception>, so I would think that
> > BOOST_NO_CXX11_CURRENT_EXCEPTION is what I need, right?
>
> BOOST_NO_CXX11_HDR_EXCEPTION, as all BOOST_NO_CXX11_HDR_* macros, detect
> that the header not only exists, but is usable and contains all major
> components described by the standard. In case of
> BOOST_NO_CXX11_HDR_EXCEPTION, that would mean std::exception_ptr,
> std::current_exception, std::rethrow_exception, std::make_exception_ptr,
> etc. You need at least std::exception_ptr and std::current_exception.
>
Thanks, that makes sense!
> > Should I open an issue in github for Boost.Config?
>
> Yes, or better yet - make a PR.
>
Added github Issue #284 [1], I'll try to come up with a PR.
Wondering how deep the rabbit hole goes... ^_^
Regards
[1] https://github.com/boostorg/config/issues/284
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk