The following valid code snippet triggers an ICE since GCC 4.2.0 when compiled with "-fopenmp":
========================================= int foo(); void bar() { int i; #pragma omp atomic i += foo; } ========================================= bug.c: In function 'bar': bug.c:7: internal compiler error: in default_conversion, at c-typeck.c:1759 Please submit a full bug report, [etc.] Without "-fopenmp" I only get a warning: bug.c: In function 'bar': bug.c:7: warning: assignment makes integer from pointer without a cast The C++ frontend is not affected (you have to add "-fpermissive" to make it compile). -- Summary: ICE with #pragma omp atomic and conversion from pointer to int Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, 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=35738