// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /*** *cruntime.h - definitions specific to the target operating system and hardware * * *Purpose: * This header file contains widely used definitions specific to the * host operating system and hardware. It is included by every C source * and most every other header file. * * [Internal] * ****/ #if _MSC_VER > 1000 #pragma once #endif /* _MSC_VER > 1000 */ #ifndef _INC_CRUNTIME #define _INC_CRUNTIME #ifndef _CRTBLD /* * This is an internal C runtime header file. It is used when building * the C runtimes only. It is not to be used as a public header file. */ #error ERROR: Use of C runtime library internal header file. #endif /* _CRTBLD */ #if defined (_SYSCRT) && defined (_WIN64) #define _USE_OLD_STDCPP 1 #endif /* defined (_SYSCRT) && defined (_WIN64) */ #if !defined (UNALIGNED) #if defined (_M_IA64) || defined (_M_AMD64) #define UNALIGNED __unaligned #else /* defined (_M_IA64) || defined (_M_AMD64) */ #define UNALIGNED #endif /* defined (_M_IA64) || defined (_M_AMD64) */ #endif /* !defined (UNALIGNED) */ #ifdef _M_IX86 /* * 386/486 */ #define REG1 register #define REG2 register #define REG3 register #define REG4 #define REG5 #define REG6 #define REG7 #define REG8 #define REG9 #elif defined (_M_IA64) || defined (_M_AMD64) /* * IA64 */ #define REG1 register #define REG2 register #define REG3 register #define REG4 register #define REG5 register #define REG6 register #define REG7 register #define REG8 register #define REG9 register #else /* defined (_M_IA64) || defined (_M_AMD64) */ #pragma message ("Machine register set not defined") /* * Unknown machine */ #define REG1 #define REG2 #define REG3 #define REG4 #define REG5 #define REG6 #define REG7 #define REG8 #define REG9 #endif /* defined (_M_IA64) || defined (_M_AMD64) */ /* * Are the macro definitions below still needed in this file? */ #endif /* _INC_CRUNTIME */