http://llvm.org/bugs/show_bug.cgi?id=11320
Bug #: 11320
Summary: sync builtins parameter type matching fails
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: C++
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected]
Classification: Unclassified
Created attachment 7583
--> http://llvm.org/bugs/attachment.cgi?id=7583
Preprocessed source triggering bug.
We have a use of the sync builtins that attempts to:
__sync_bool_compare_and_swap(volatile uint32_t*, uint32_t, uint32_t)
on a 64-bit platform, but clang++ complains that it can't coerce the first
parameter to volatile int*. I'm certain that the types all match. I've included
a preprocessed source file that illustrates the problem (a number of different
times).
Note that simple test cases do not fail---there's something about our
particular use that is triggering the problem.
Reproduce with the attachment:
clang++ -Wall -m64 -c byeau.cpp -o /dev/null
The source comes from my attempt to compile rstm.googlecode.com with clang++.
The entire package compiles fine with gcc, including the current gcc-4.6.1.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs