ICE on the following code. When removing "default(shared)", it compiles fine.
void foo(bool b)
{
}
void tasked_foo(bool b)
{
foo(b);
#pragma omp task default(shared)
b = false;
}
int main()
{
tasked_foo(false);
return 0;
}
g++ -fopenmp task_default_shared.cpp
task_default_shared.cpp: In function void tasked_foo(bool):
task_default_shared.cpp:16: error: invalid operand to unary operator
b
task_default_shared.cpp:16: note: in statement
D.2064 = (int) b;
task_default_shared.cpp:16: internal compiler error: verify_stmts failed
BTW: What "component" should I select for this type of bug? "c++" or "libgomp"
or still something different?
--
Summary: ICE on valid code: OpenMP task construct with
default(shared) clause
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: singler at gcc dot gnu dot org
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36790