Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

_InterlockedCompareExchange128 not implemented on Windows #34224

Closed Quuxplusone closed 6 years ago

Quuxplusone commented 7 years ago
Bugzilla Link PR35251
Status RESOLVED FIXED
Importance P normal
Reported by Colden Cullen (colden@amazon.com)
Reported on 2017-11-08 10:38:47 -0800
Last modified on 2017-12-14 11:33:10 -0800
Version trunk
Hardware PC Windows NT
CC colden@amazon.com, llvm-bugs@lists.llvm.org, llvm-dev@redking.me.uk
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
_InterlockedCompareExchange128 (an MSVC intrinsic) is declared on line 280 of
intrin.h, but there is no implementation (that I could find), and using:
#pragma intrinsic(_InterlockedCompareExchange128)

Produces:
 error: '_InterlockedCompareExchange128' is not a recognized builtin; consider including <intrin.h> to access non-builtin intrinsics [-Werror,-Wignored-pragma-intrinsic]
                #pragma intrinsic(_InterlockedCompareExchange128)
Quuxplusone commented 7 years ago
I should also mention that when using the function, I get the following linker
error:
f:\path\to\lld-link.exe: warning: test.o: undefined symbol:
_InterlockedCompareExchange128
Quuxplusone commented 6 years ago

I'm working on implementing this.

Quuxplusone commented 6 years ago

Submitted as r320730 (http://llvm.org/viewvc/llvm-project?view=revision&revision=320730)