Created attachment 24757
program, build script and output crash report
clang compiler crashed when compiling this code (on Windows).
Tested on: LLVM 12.0.0-rc5 (binaries from github)
Compile command:
"C:\\Program Files\\LLVM\\bin\\clang-cl.exe" -cc1 -emit-obj -fcxx-exceptions -
fexceptions -fms-compatibility -fms-compatibility-version=19.16.27045 -fopenmp -
o a.obj test.cpp
Sample program:
void A(int);
void B(int cnt)
{
__pragma(omp parallel for)
for (int i = 0; i < cnt; ++i)
{
[=](){
__pragma(omp critical(info))
{
A(cnt);
}
}();
}
}
Effect:
No context value for inlined OpenMP region
UNREACHABLE executed at C:\src\llvm_package_1200-rc5\llvm-
project\clang\lib\CodeGen\CGOpenMPRuntime.cpp:246!
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: "C:\\\\Program Files\\\\LLVM\\\\bin\\\\clang-cl.exe"
-cc1 -emit-obj -fcxx-exceptions -fexceptions -fms-compatibility -fms-
compatibility-version=19.16.27045 -fopenmp -o a.obj test.cpp
1. <eof> parser at end of file
2. Per-file LLVM IR generation
3. test.cpp:7:3: Generating code for declaration 'B(int)::(anonymous
class)::operator()'
4. test.cpp:9:4: LLVM IR generation of compound statement ('{}')
clang_Bug_report.zip
(2803 bytes, application/x-zip-compressed)