MicrosoftExtensions.c revision 1eb4433ac451dc16f4133a88af2d002ac26c58ef
1// RUN: clang-cc -fsyntax-only -verify -fms-extensions -x=objective-c++ %s 2__stdcall int func0(); 3int __stdcall func(); 4typedef int (__cdecl *tptr)(); 5void (*__fastcall fastpfunc)(); 6extern __declspec(dllimport) void __stdcall VarR4FromDec(); 7__declspec(deprecated) __declspec(deprecated) char * __cdecl ltoa( long _Val, char * _DstBuf, int _Radix); 8__declspec(noalias) __declspec(restrict) void * __cdecl xxx( void * _Memory ); 9typedef __w64 unsigned long ULONG_PTR, *PULONG_PTR; 10void * __ptr64 PtrToPtr64(const void *p) 11{ 12 return((void * __ptr64) (unsigned __int64) (ULONG_PTR)p ); 13} 14void __forceinline InterlockedBitTestAndSet (long *Base, long Bit) 15{ 16 __asm { 17 mov eax, Bit 18 mov ecx, Base 19 lock bts [ecx], eax 20 setc al 21 }; 22} 23 24void *_alloca(int); 25 26void foo() { 27 __declspec(align(16)) int *buffer = (int *)_alloca(9); 28} 29 30typedef bool (__stdcall __stdcall *blarg)(int); 31