# "#pragma deprecated" and "#pragma intrinsic" not (yet?) handled in the "if # (LangOpts.MicrosoftExt)" block in Preprocessor::RegisterBuiltinPragmas in # Clang's lib/Lex/Pragma.cpp: --- nspr/pr/include/pratom.h +++ nspr/pr/include/pratom.h @@ -83,7 +83,7 @@ #include -#ifdef _MSC_VER +#if defined _WIN32 && !defined __clang__ #pragma intrinsic(_InterlockedIncrement) #pragma intrinsic(_InterlockedDecrement) #pragma intrinsic(_InterlockedExchange) --- nspr/pr/include/prbit.h +++ nspr/pr/include/prbit.h @@ -14,7 +14,7 @@ ** functions. */ #if defined(_WIN32) && (_MSC_VER >= 1300) && \ - (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM)) + (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM)) && !defined __clang__ # include # pragma intrinsic(_BitScanForward,_BitScanReverse) __forceinline static int __prBitScanForward32(unsigned int val) @@ -32,7 +32,7 @@ # define pr_bitscan_ctz32(val) __prBitScanForward32(val) # define pr_bitscan_clz32(val) __prBitScanReverse32(val) # define PR_HAVE_BUILTIN_BITSCAN32 -#elif ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && \ +#elif defined __GNUC__ && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && \ (defined(__i386__) || defined(__x86_64__) || defined(__arm__)) # define pr_bitscan_ctz32(val) __builtin_ctz(val) # define pr_bitscan_clz32(val) __builtin_clz(val) @@ -136,7 +136,7 @@ */ #if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || \ - defined(_M_X64) || defined(_M_ARM)) + defined(_M_X64) || defined(_M_ARM)) && !defined __clang__ #include #pragma intrinsic(_rotl, _rotr) #define PR_ROTATE_LEFT32(a, bits) _rotl(a, bits) --- nss/lib/certdb/certdb.h +++ nss/lib/certdb/certdb.h @@ -21,7 +21,7 @@ /* On Windows, Mac, and Linux (and other gcc platforms), we can give compile * time deprecation warnings when applications use the old CERTDB_VALID_PEER * define */ -#if __GNUC__ > 3 +#if defined __GNUC__ && __GNUC__ > 3 #if (__GNUC__ == 4) && (__GNUC_MINOR__ < 5) typedef unsigned int __CERTDB_VALID_PEER __attribute__((deprecated)); #else @@ -30,7 +30,7 @@ #endif #define CERTDB_VALID_PEER ((__CERTDB_VALID_PEER)CERTDB_TERMINAL_RECORD) #else -#ifdef _WIN32 +#if defined _WIN32 && !defined __clang__ #pragma deprecated(CERTDB_VALID_PEER) #endif #define CERTDB_VALID_PEER CERTDB_TERMINAL_RECORD --- nss/lib/util/pkcs11n.h +++ nss/lib/util/pkcs11n.h @@ -426,7 +426,7 @@ /* keep the old value for compatibility reasons*/ #define CKT_NSS_MUST_VERIFY ((__CKT_NSS_MUST_VERIFY)(CKT_NSS + 4)) #else -#ifdef _WIN32 +#if defined _WIN32 && !defined __clang__ /* This magic gets the windows compiler to give us a deprecation * warning */ #pragma deprecated(CKT_NSS_UNTRUSTED, CKT_NSS_MUST_VERIFY, CKT_NSS_VALID)