Synchronize with trunk revision 59636 (just before Alex's CreateProcess revamp).
[reactos.git] / include / psdk / winnt.h
index d66d9b0..7a24254 100644 (file)
 #endif
 
 #define UNREFERENCED_PARAMETER(P) {(P)=(P);}
-#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
-#define DBG_UNREFERENCED_PARAMETER(P)
-#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
+#define UNREFERENCED_LOCAL_VARIABLE(L) ((void)(L))
+#define DBG_UNREFERENCED_PARAMETER(P) {(P)=(P);}
+#define DBG_UNREFERENCED_LOCAL_VARIABLE(L) ((void)(L))
 
 #ifndef DECLSPEC_ALIGN
 # if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS)
@@ -217,6 +217,14 @@ extern "C" {
 # endif
 #endif
 
+#ifndef DECLSPEC_SELECTANY
+#if (_MSC_VER >= 1100) || defined(__GNUC__)
+#define DECLSPEC_SELECTANY __declspec(selectany)
+#else
+#define DECLSPEC_SELECTANY
+#endif
+#endif
+
 #ifndef DECLSPEC_ADDRSAFE
 #if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64))
 #define DECLSPEC_ADDRSAFE __declspec(address_safe)
@@ -416,6 +424,15 @@ typedef DWORD FLONG;
 
 #define C_ASSERT(expr) extern char (*c_assert(void)) [(expr) ? 1 : -1]
 
+/* Eliminate Microsoft C/C++ compiler warning 4715 */
+#if defined(_MSC_VER) && (_MSC_VER > 1200)
+# define DEFAULT_UNREACHABLE default: __assume(0)
+#elif defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5))))
+# define DEFAULT_UNREACHABLE default: __builtin_unreachable()
+#else
+# define DEFAULT_UNREACHABLE default: break
+#endif
+
 #include "intrin.h"
 
 #define NTAPI __stdcall
@@ -1650,7 +1667,7 @@ typedef enum {
 #define IMAGE_FILE_MACHINE_AM33       0x1d3
 #define IMAGE_FILE_MACHINE_AMD64      0x8664
 #define IMAGE_FILE_MACHINE_ARM        0x1c0
-#define IMAGE_FILE_MACHINE_ARMV7      0x1c4
+#define IMAGE_FILE_MACHINE_ARMNT      0x1c4
 #define IMAGE_FILE_MACHINE_EBC        0xebc
 #define IMAGE_FILE_MACHINE_I386       0x14c
 #define IMAGE_FILE_MACHINE_IA64       0x200
@@ -1677,6 +1694,9 @@ typedef enum {
 #define IMAGE_FILE_MACHINE_TRICORE    0x0520
 #define IMAGE_FILE_MACHINE_CEF        0x0CEF
 
+/* Wine extension */
+#define IMAGE_FILE_MACHINE_ARM64      0x1c5
+
 #define IMAGE_FILE_EXPORT_DIRECTORY            0
 #define IMAGE_FILE_IMPORT_DIRECTORY            1
 #define IMAGE_FILE_RESOURCE_DIRECTORY          2