Closed
Description
I could not create a minimal reproducer, but I've attached the preprocessed files, which I think is enough to reproduce the issue.
Environment
Windows 10
Clang 18.0.0git (https://github.com/llvm/llvm-project 85c3953)
MSVC 2022 (17.8.1)
Reproducer
// mod2.cpp
module;
#include <utility>
export module mod2;
// mod1.cpp
module;
#include <memory>
export module mod1;
import mod2;
$ clang++.exe -std=c++20 -fno-delayed-template-parsing -fno-ms-compatibility -x c++-module mod2.cpp --precompile
$ clang++.exe -std=c++20 -fno-delayed-template-parsing -fno-ms-compatibility -x c++-module mod1.cpp -fprebuilt-module-path=.
In file included from mod1.cpp:3:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 2022\VC\Tools\MSVC\14.38.33130\include\memory:10:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 2022\VC\Tools\MSVC\14.38.33130\include\exception:8:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 2022\VC\Tools\MSVC\14.38.33130\include\yvals.h:20:
In file included from C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\crtdbg.h:13:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 2022\VC\Tools\MSVC\14.38.33130\include\vcruntime_new_debug.h:10:
[repro.zip](https://github.com/llvm/llvm-project/files/13799238/repro.zip)
[repro.zip](https://github.com/llvm/llvm-project/files/13799246/repro.zip)
C:\Program Files (x86)\Microsoft Visual Studio 2022\VC\Tools\MSVC\14.38.33130\include\vcruntime_new.h:27:16: error: 'std::align_val_t'
has different definitions in different modules; defined here first difference is enum with specified type 'size_t'
(aka 'unsigned long long')
27 | enum class align_val_t : size_t {};
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Microsoft Visual Studio 2022\VC\Tools\MSVC\14.38.33130\include\vcruntime_new.h:27:16: note: but in
'mod2.<global>' found enum with specified type 'size_t' (aka 'unsigned long long')
27 | enum class align_val_t : size_t {};
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.