msvc: `BOOST_PP_VARIADIC_SIZE` broken for size larger than 64
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 52/100
Research direction
Start with boost/preprocessor/variadic/size.hpp and reproduce the supplied 65-argument example with MSVC. Trace how BOOST_PP_VARIADIC_SIZE handles argument counts above 64, then verify that the example compiles and its static_assert reports 65.
Written by the indexing model from the issue text.
Description
#define BOOST_PP_LIMIT_VARIADIC 256
#include <boost/preprocessor/variadic/size.hpp>
#include <cstddef>
#define VAR_DATA a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, b, b, b, b, b
constexpr size_t sz = BOOST_PP_VARIADIC_SIZE(VAR_DATA);
static_assert(sz == 65);
gives:
<source>(9): error C2065: 'b': undeclared identifier
<source>(9): error C2131: expression did not evaluate to a constant
<source>(9): note: a non-constant (sub-)expression was encountered
<source>(11): error C2131: expression did not evaluate to a constant
<source>(9): note: a non-constant (sub-)expression was encountered
compare: https://godbolt.org/z/bfoETMnad
- Dominant language
- C++
- Stars
- 118
- Forks
- 76
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/preprocessor
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
boostorg/preprocessor#65 · 5 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
boostorg/preprocessor#63 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 58/100
boostorg/preprocessor#58 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
boostorg/preprocessor#55 ·
-
Documentation format Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
boostorg/preprocessor#52 ·
All issues in boostorg/preprocessor
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·