[Bug sanitizer/64888] New: ubsan doesn't work with openmp
mikulas at artax dot karlin.mff.cuni.cz
gcc-bugzilla@gcc.gnu.org
Sat Jan 31 17:20:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64888
Bug ID: 64888
Summary: ubsan doesn't work with openmp
Product: gcc
Version: 4.9.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: mikulas at artax dot karlin.mff.cuni.cz
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
Undefined behavior sanitizer and openmp don't work together. Ubsan generates
some internal variables and openmp complains that shareability of these
variables haven't been defined. Try to compile this program with
gcc -fsanitize=undefined -fopenmp openmp-ubsan.c
#include <omp.h>
int main(void)
{
unsigned a = 1;
unsigned b = 2;
unsigned c;
#pragma omp parallel default(none) shared(a,b) private(c)
{
c = a / b;
}
}
openmp-ubsan.c: In function ‘main’:
openmp-ubsan.c:10:9: error: ‘*.Lubsan_data0’ not specified in enclosing
parallel
c = a / b;
^
openmp-ubsan.c:8:9: error: enclosing parallel
#pragma omp parallel default(none) shared(a,b) private(c)
^
More information about the Gcc-bugs
mailing list