[ace-bugs] [config]: Macro ACE_HAS_GCC_ATOMIC_BUILTINS should be defined for clang.
Marek Beleščiak
zaffy at lunar.sk
Mon Jan 23 14:32:25 CST 2017
ACE VERSION: 6.3.3+ - including latest 6.4.1
HOST MACHINE and OPERATING SYSTEM:
linux 4.4.0-45-generic #66-Ubuntu SMP x86_64 GNU/Linux
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
COMPILER NAME AND VERSION (AND PATCHLEVEL): clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
specific file, simply state which one]: config-linux, config-macosx-snowleopard.h
DOES THE PROBLEM AFFECT:
COMPILATION? No
LINKING? No, only when linking end-user apps against ACE.
EXECUTION? No
OTHER (please specify)?
SYNOPSIS:
Macro |ACE_HAS_GCC_ATOMIC_BUILTINS should be defined for clang.|
DESCRIPTION:
When using Atomic_Op with clang, atomic builtins are not used and
that reuslts in undefined symbols linker errors to increment_fn, etc.
REPEAT BY:
Try to compile this program with clang:
#include <ace/Atomic_Op.h>
int main()
{
ACE_Atomic_Op<ACE_Thread_Mutex, long> a;
a++;
return 0;
}
SAMPLE FIX/WORKAROUND:
See my answer at stackoverflow - http://stackoverflow.com/a/40563618/823738
--
Best Regards,
Marek Beleščiak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.isis.vanderbilt.edu/pipermail/ace-bugs/attachments/20170123/df358cd1/attachment.html>
More information about the ace-bugs
mailing list