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