https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65467
--- Comment #8 from Jeff Hammond <jeff.science at gmail dot com> --- (In reply to Andrew Pinski from comment #6) > (In reply to Jeff Hammond from comment #3) > > Do you seriously pick this one time to prevent the user from even trying to > > write incorrect code, while allowing an uncountable number of others? > > This is different because the semantics are not defined at all. So GCC refuses to compile any code that potentially includes undefined behavior? Please tell me about the undefined behavior in the following program, when compiled with -fopenmp: #include <stdatomic.h> int main(void) { return 0; } > > One of the motivations for writing code that mixes C11 and OpenMP is because > > I am a member of the OpenMP working group devoted to supporting C11 and > > C++14 in the OpenMP standard. By refusing to allow me to experiment with > > OpenMP+C11, you actively harm progress in the OpenMP standard that would > > allow you to resolve the semantic ambiguity that motivated disabling > > C11+OpenMP in the first place. > > If you are part of the working group then you should be able to help define > the semantics instead of complaining we disable things :). As I said already, I am trying to define them, but that has nothing to do with the fact that GCC unnecessary broke an infinite number of valid programs.