boostorg / boostorg/type_traits

BOOST_WORKAROUND(__clang_major__, ...) generates an undefined preprocessor symbol

Open
#107 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
66
Forks
87
PR merge metrics
No merged PRs in 30d

Description

This code in config.hpp:
```
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !BOOST_WORKAROUND(BOOST_GCC, < 40900)\
&& !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4)
# define BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
#endif
```
Can generate a warning or error as __clang_major___WORKAROUND_GUARD is not defined.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in config.hpp at the BOOST_WORKAROUND invocation using __clang_major__. Inspect how that macro expands and why it produces the undefined __clang_major___WORKAROUND_GUARD symbol. Done means the configuration no longer generates the reported preprocessor warning or error.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.