BOOST_ASIO_HAS_STD_FUTURE_CLASS detection bug on clang-cl
- Lenguaje dominante
- C++
- Estrellas
- 1.6k
- Forks
- 485
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
clang-cl on Windows uses the clang compiler with the MSVC STL. In the detection logic here https://github.com/boostorg/asio/blob/develop/include/boost/asio/detail/future.hpp
`__GNUC__` is true (as clang sets it)
`BOOST_ASIO_HAS_CLANG_LIBCXX` is false (as it's MSVC STL)
`_GLIBCXX_HAS_GTHREADS` is false (as it's not that either)
So this leaves `BOOST_ASIO_HAS_STD_FUTURE_CLASS` undefined.
This in turn causes `#include ` to silently fail to define anything, and that leads to an obscure error message about incomplete types and unexpected void when trying to e.g. post a packaged_task (ie the same error message as if you try to use that functionality without including that header, as now the header is effectively empty).
Workaround is to manually define `BOOST_ASIO_HAS_STD_FUTURE_CLASS`.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.