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

Reply via email to