Opened 7 years ago

Closed 6 years ago

#11476 closed Bugs (fixed)

has_member_function_callable_with.hpp is massively broken with BOOST_NO_CXX11_DECLTYPE

Reported by: gromer@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: intrusive
Version: Boost 1.58.0 Severity: Regression
Keywords: Cc:

Description

has_member_function_callable_with.hpp does not build with -DBOOST_NO_CXX11_DECLTYPE, due to numerous bugs in code protected by that macro.

I've attached the output of clang++ --std=c++11 -D BOOST_NO_CXX11_DECLTYPE -c test.cc, where test.cc consists of:

#include "boost/container/flat_map.hpp"

gcc's output is similar. I can provide compiler version information, but it shouldn't be necessary: the errors that I've checked are quite unmistakably bugs in the code. The first error, concerning bool_, is a bug in Boost.Move that has since been fixed by https://github.com/boostorg/move/commit/4f9c2b, but the rest are due to ill-formed code in boost/intrusive/detail/has_member_function_callable_with.hpp.

Attachments (1)

clang_output (17.5 KB ) - added by gromer@… 7 years ago.
clang++ output

Download all attachments as: .zip

Change History (2)

by gromer@…, 7 years ago

Attachment: clang_output added

clang++ output

comment:1 by Ion Gaztañaga, 6 years ago

Resolution: fixed
Status: newclosed

Sorry for the big delay. The bug was on low priority as all tested compilers had no problems with default configuration (no other user used -DBOOST_NO_CXX11_DECLTYPE while variadic templates where available). The issue was fixed and new tests added in commit:

https://github.com/boostorg/intrusive/commit/68c46450deef214845590264c9d963a0014a8125

Thanks for the report.

Note: See TracTickets for help on using tickets.