http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52929
Bug #: 52929 Summary: use of undeclared identifier '__ATOMIC_ACQ_REL' Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: o...@xeviox.com The error occurs on Archlinux x64 with everything updated. The project uses Qt 4.8.x which was installed using the package manager. I also tried compiling with clang, which came up with the same error. The following error breaks the compile: In file included from /usr/include/QtCore/qstring.h:54: In file included from /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/string:53: In file included from /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/basic_string.h:40: /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ext/atomicity.h:48:45: error: use of undeclared identifier '__ATOMIC_ACQ_REL' { return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); } ^ /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ext/atomicity.h:52:38: error: use of undeclared identifier '__ATOMIC_ACQ_REL' { __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); } ^ 2 errors generated. make[1]: *** [../bin/debug/obj/main.o] Error 1 make[1]: Leaving directory `/tmp/qirk/src' make: *** [sub-src-make_default-ordered] Error 2 I also tried to find the define using grep: # grep -r __ATOMIC_ACQ_REL /usr/include/ /usr/include/c++/4.7.0/bits/shared_ptr_base.h: true, __ATOMIC_ACQ_REL, /usr/include/c++/4.7.0/ext/atomicity.h: { return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); } /usr/include/c++/4.7.0/ext/atomicity.h: { __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); } /usr/include/c++/4.7.0/profile/impl/profiler_state.h: &inv, __s, false, __ATOMIC_ACQ_REL, /usr/include/c++/4.7.0/parallel/compatibility.h: return __atomic_fetch_add(__ptr, __addend, __ATOMIC_ACQ_REL); /usr/include/c++/4.7.0/parallel/compatibility.h: return __atomic_fetch_add(__ptr, __addend, __ATOMIC_ACQ_REL); /usr/include/c++/4.7.0/parallel/compatibility.h: return __atomic_fetch_add(__ptr, __addend, __ATOMIC_ACQ_REL); /usr/include/c++/4.7.0/parallel/compatibility.h: false, __ATOMIC_ACQ_REL, /usr/include/c++/4.7.0/parallel/compatibility.h: false, __ATOMIC_ACQ_REL, /usr/include/c++/4.7.0/parallel/compatibility.h: false, __ATOMIC_ACQ_REL, /usr/include/c++/4.7.0/tr1/shared_ptr.h: true, __ATOMIC_ACQ_REL, Greetings Ben