[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