Boost.Parser not usable with MSVC 17.10

Open
#318 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

Research direction

Start by reproducing the internal compiler error with MSVC 17.10 and inspect seq_parser::make_temp_result(), identified as the location where the problem arises. Use the linked Microsoft Developer Community report for context. Done means Boost.Parser can be used successfully with MSVC 17.10 without triggering the compiler crash.

Written by the indexing model from the issue text.

Description

Unfortunately, due to a bug in MSVC, Boost.Parser is not usable with MSVC 17.10.

The error message is:

1>  (compiler file 'msc1.cpp', line 1593)
1>   To work around this problem, try simplifying or changing the program near the locations listed above.
1>  If possible please provide a repro here: https://developercommunity.visualstudio.com
1>  Please choose the Technical Support command on the Visual C++
1>   Help menu, or open the Technical Support help file for more information
1>  INTERNAL COMPILER ERROR in 'C:\Program Files\Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\CL.exe'

The problem is reported to Microsoft and fixed in newer versions of MSVC.
https://developercommunity.visualstudio.com/t/Latest-MSVC-compiler-1710-crash-when-/10665085

Unfortunately, poor me has to use MSVC 17.10 for reasons. So I'll invest some time to circumvent this MSVC bug.
If anyone knows anything about the problem that could help me, I'd appreciate if you shared your insights. The issue arises somewhere inside of seq_parser::make_temp_result()

Dominant language
C++
Stars
182
Forks
28
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from boostorg/parser

All issues in boostorg/parser

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.