[Bug c++/67523] New: ICE with invalid combined simd inside of a template
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 9 16:34:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67523
Bug ID: 67523
Summary: ICE with invalid combined simd inside of a template
Product: gcc
Version: 5.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
struct S { int s; };
template <typename T>
void foo (T &x, T &y)
{
#pragma omp for simd
for (T i = x; i < y; i++) // { dg-error "used with class iteration
variable" }
;
#pragma omp parallel for simd
for (T i = x; i < y; i++) // { dg-error "used with class iteration
variable" }
;
#pragma omp target teams distribute parallel for simd
for (T i = x; i < y; i++) // { dg-error "used with class iteration
variable" }
;
#pragma omp target teams distribute simd
for (T i = x; i < y; i++) // { dg-error "used with class iteration
variable" }
;
}
void
bar ()
{
S x, y;
foo <S> (x, y);
}
ICEs because during instantiation it is harder to find out the inner stmt has
been removed and remove the stmts combined/composited with it.
More information about the Gcc-bugs
mailing list