[Bug c++/35078] New: ICE with reference in parallel for loop
reichelt at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Feb 4 13:54:00 GMT 2008
The following invalid code snippet triggers an ICE since GCC 4.2.0
when compiled with -fopenmp:
===========================================================
template<int> void foo()
{
#pragma omp parallel for
for (int& i = 0; i < 10; ++i)
;
}
===========================================================
bug.cc: In function 'void foo()':
bug.cc:5: internal compiler error: in build_modify_expr, at cp/typeck.c:5809
Please submit a full bug report, [etc.]
Without templates the situation is not much better:
===========================================================
void foo()
{
int j = 0;
#pragma omp parallel for
for (int& i = j; i < 10; ++i)
;
}
===========================================================
bug.cc: In function 'void foo()':
bug.cc:6: error: 'i' declared as reference but not initialized
bug.cc:7: internal compiler error: in build_modify_expr, at cp/typeck.c:5809
Please submit a full bug report, [etc.]
The compiler issues a bogus error message (the variable is initialized),
and crashes afterwards.
--
Summary: ICE with reference in parallel for loop
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code, diagnostic, monitored, openmp
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35078
More information about the Gcc-bugs
mailing list