VirtualBox

Changeset 60007 in vbox


Ignore:
Timestamp:
Mar 13, 2016 1:16:46 PM (9 years ago)
Author:
vboxsync
Message:

iprt/cdefs.h: RT_ARCH_XXX and ARCH_BITS checks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/cdefs.h

    r59664 r60007  
    144144#endif
    145145
     146/* Final check (PORTME). */
     147#if    (defined(RT_ARCH_X86) != 0) \
     148     + (defined(RT_ARCH_AMD64) != 0) \
     149     + (defined(RT_ARCH_SPARC) != 0) \
     150     + (defined(RT_ARCH_SPARC64) != 0) \
     151     + (defined(RT_ARCH_ARM) != 0) \
     152  != 1
     153# error "Exactly one RT_ARCH_XXX macro shall be defined"
     154#endif
     155
    146156
    147157/** @def __X86__
     
    221231#  define ARCH_BITS 16
    222232# endif
     233#endif
     234
     235/* ARCH_BITS validation (PORTME). */
     236#if ARCH_BITS == 64
     237 #if defined(RT_ARCH_X86) || defined(RT_ARCH_SPARC) || defined(RT_ARCH_ARM)
     238 # error "ARCH_BITS=64 but non-64-bit RT_ARCH_XXX defined."
     239 #endif
     240 #if !defined(RT_ARCH_AMD64) && !defined(RT_ARCH_SPARC64)
     241 # error "ARCH_BITS=64 but no 64-bit RT_ARCH_XXX defined."
     242 #endif
     243
     244#elif ARCH_BITS == 32
     245 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC64)
     246 # error "ARCH_BITS=32 but non-32-bit RT_ARCH_XXX defined."
     247 #endif
     248 #if !defined(RT_ARCH_X86) && !defined(RT_ARCH_SPARC) && !defined(RT_ARCH_ARM)
     249 # error "ARCH_BITS=32 but no 32-bit RT_ARCH_XXX defined."
     250 #endif
     251
     252#elif ARCH_BITS == 16
     253 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC) || defined(RT_ARCH_SPARC64) || defined(RT_ARCH_ARM)
     254 # error "ARCH_BITS=16 but non-16-bit RT_ARCH_XX defined."
     255 #endif
     256 #if !defined(RT_ARCH_X86)
     257 # error "ARCH_BITS=16 but RT_ARCH_X86 isn't defined."
     258 #endif
     259
     260#else
     261# error "Unsupported ARCH_BITS value!"
    223262#endif
    224263
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette