Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clang-cl needs to be updated to v17 in order for it to work with latest MSVC STL #10018

Closed
2 of 14 tasks
jhasse opened this issue Jun 8, 2024 · 3 comments
Closed
2 of 14 tasks
Assignees
Labels
Area: Clang bug report duplicate This issue or pull request already exists OS: Windows

Comments

@jhasse
Copy link

jhasse commented Jun 8, 2024

Description

It seems that a recent Visual Studio update included an update of the MSVC STL which now requires at least clang-cl / LLVM 17. When trying to compile C++ code one gets:

In file included from C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.40.33807\include\cstddef:8:
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.40.33807\include\yvals_core.h(898,1): error: static assertion failed: error STL1000: Unexpected compiler version, expected Clang 17.0.0 or newer.
_EMIT_STL_ERROR(STL1000, "Unexpected compiler version, expected Clang 17.0.0 or newer.");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.40.33807\include\yvals_core.h(519,44): note: expanded from macro '_EMIT_STL_ERROR'
#define _EMIT_STL_ERROR(NUMBER, MESSAGE)   static_assert(false, "error " #NUMBER ": " MESSAGE)
                                           ^             ~~~~~
1 error generated.

https://github.com/jhasse/jngl/actions/runs/9427257827/job/25971152500

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 11
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • Windows Server 2019
  • Windows Server 2022

Image version and build link

Image: windows-2022
Version: 20240603.1.0
Included Software: https://github.com/actions/runner-images/blob/win22/20240603.1/images/windows/Windows2022-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/win22%2F20240603.1

Is it regression?

yes, latest working version: 20240514.3.0 https://github.com/jhasse/jngl/actions/runs/9405452591/job/25906642387

Expected behavior

clang-cl can compile code that includes C++ STL

Actual behavior

See description

Repro steps

  1. C++ project that includes any STL header
  2. Run action ilammy/msvc-dev-cmd@v1
  3. cmake -DCMAKE_CXX_COMPILER=clang-cl
  4. Compile
@davidchisnall
Copy link

I am also seeing this. The breakage was introduced by #9990. You don't need to be using the ilammy/msvc-dev-cmd@v1 action. Any C++ compilation unit that's compiled with clang and uses the Visual Studio C++ standard library will fail.

@mxschmitt
Copy link

Looks like #10001

@shamil-mubarakshin
Copy link
Contributor

Duplicate of #10001. LLVM updated in #10014 and will be deployed this week

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Clang bug report duplicate This issue or pull request already exists OS: Windows
Projects
None yet
Development

No branches or pull requests

5 participants