[llvm-bugs] [Bug 35152] New: `Scope.hasEHBranches() == (EHEntry != nullptr)' assertion with openmp reproducer:
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Oct 31 13:54:43 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=35152
Bug ID: 35152
Summary: `Scope.hasEHBranches() == (EHEntry != nullptr)'
assertion with openmp reproducer:
Product: OpenMP
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: Clang Compiler Support
Assignee: unassignedclangbugs at nondot.org
Reporter: erich.keane at intel.com
CC: llvm-bugs at lists.llvm.org
Created attachment 19366
--> https://bugs.llvm.org/attachment.cgi?id=19366&action=edit
Repro file, command line
See repro file, taken from our internal test suite. Only happens with -O1 for
some reason, and ONLY with a windows target, but it is reproduceable with a
Linux host (see command line in the repro).
Also, copied and pasted here for convenience:
//clang -cc1 -triple x86_64-pc-windows-msvc18.0.0 -emit-obj repro.cpp
-fexceptions -fcxx-exceptions -std=c++11 -fms-compatibility-version=18 -fopenmp
-fms-extensions -O1
void printf(const char*);
void exit(int);
struct Test {
static void main() {
int failed = 0;
int j = 2;
#pragma omp parallel
{
int local_j = 3;
#pragma omp single copyprivate(local_j)
{
local_j = 4;
}
// Assure reports a data race, but value written to "j"
// should always be the same.
j = local_j;
}
if(j != 4) failed = 1;
if(failed) {
printf("Test " __FILE__ " failed\n");
exit(1);
} else {
printf("Test " __FILE__ " passed\n");
exit(0);
}
}
};
int main() {
Test::main();
return 0;
}
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20171031/7768e740/attachment-0001.html>
More information about the llvm-bugs
mailing list