Skip to content

Commit b2431c6

Browse files
committedJun 21, 2018
[Intrinsics] Add/move some builtin declarations in intrin.h to get ms-intrinsics.c to not issue warnings
ud2 and int2c were missing declarations entirely. And the bitscans were only under x86_64, but they seem to be in BuiltinsARM.def as well and are tested by ms_intrinsics.c Differential Revision: https://reviews.llvm.org/D48187 llvm-svn: 335259
1 parent 7b0fc75 commit b2431c6

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed
 

‎clang/lib/Headers/intrin.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ void __incfsdword(unsigned long);
8383
void __incfsword(unsigned long);
8484
unsigned long __indword(unsigned short);
8585
void __indwordstring(unsigned short, unsigned long *, unsigned long);
86+
void __int2c(void);
8687
void __invlpg(void *);
8788
unsigned short __inword(unsigned short);
8889
void __inwordstring(unsigned short, unsigned short *, unsigned long);
@@ -140,6 +141,7 @@ void __svm_stgi(void);
140141
void __svm_vmload(size_t);
141142
void __svm_vmrun(size_t);
142143
void __svm_vmsave(size_t);
144+
void __ud2(void);
143145
unsigned __int64 __ull_rshift(unsigned __int64, int);
144146
void __vmx_off(void);
145147
void __vmx_vmptrst(unsigned __int64 *);
@@ -246,10 +248,6 @@ void __writegsbyte(unsigned long, unsigned char);
246248
void __writegsdword(unsigned long, unsigned long);
247249
void __writegsqword(unsigned long, unsigned __int64);
248250
void __writegsword(unsigned long, unsigned short);
249-
static __inline__
250-
unsigned char _BitScanForward64(unsigned long *_Index, unsigned __int64 _Mask);
251-
static __inline__
252-
unsigned char _BitScanReverse64(unsigned long *_Index, unsigned __int64 _Mask);
253251
unsigned char _bittest64(__int64 const *, __int64);
254252
unsigned char _bittestandcomplement64(__int64 *, __int64);
255253
unsigned char _bittestandreset64(__int64 *, __int64);
@@ -303,6 +301,11 @@ unsigned __int64 _umul128(unsigned __int64,
303301

304302
#if defined(__x86_64__) || defined(__arm__)
305303

304+
static __inline__
305+
unsigned char _BitScanForward64(unsigned long *_Index, unsigned __int64 _Mask);
306+
static __inline__
307+
unsigned char _BitScanReverse64(unsigned long *_Index, unsigned __int64 _Mask);
308+
306309
static __inline__
307310
__int64 _InterlockedDecrement64(__int64 volatile *_Addend);
308311
static __inline__

0 commit comments

Comments
 (0)
Please sign in to comment.