Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

clang crashes when compiling omp code with lambda on Windows #48946

Open Quuxplusone opened 3 years ago

Quuxplusone commented 3 years ago
Bugzilla Link PR49977
Status NEW
Importance P enhancement
Reported by Adam Folwarczny (adamf88@gmail.com)
Reported on 2021-04-15 13:40:31 -0700
Last modified on 2021-04-16 00:05:08 -0700
Version unspecified
Hardware PC Windows NT
CC adamf88@gmail.com, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments clang_Bug_report.zip (2803 bytes, application/x-zip-compressed)
Blocks
Blocked by
See also
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 ('{}')
Quuxplusone commented 3 years ago

Attached clang_Bug_report.zip (2803 bytes, application/x-zip-compressed): program, build script and output crash report