Atomic builtins always defined -- bug or feature?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to write a configure check for whether the __sync atomic
builtin functions are present -- and it never fails! For some reason,
now whenever I tell g++ to compile an example .cpp file that uses the
__sync instructions, it compiles without errors, even if I don't
provide the march flag. Also, my CFLAGS, CPPFLAGS, and CXXFLAGS are
empty, so it should be using the defaults. In fact, if I deliberately
specify -march=i386, it STILL compiles fine, when it should fail since
the 386 had no lock instructions. Indeed, I have seen __sync using
software fail to compile until CXXFLAGS="-march=i686" was specified,
but for some reason invoking g++ myself outside of any build tool
doesn't trigger this behavior.

It seems to be using my native architecture even if I deliberately
tell it not to, which makes it hard to verify my configure script
works correctly in the failure case. Is this a bug or a feature?
Either way it's undesirable for me in this particular case.... My GCC
version is 4.2.2 on Solaris.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux