VirtualBox

Changeset 96037 in vbox for trunk/include/iprt/nocrt


Ignore:
Timestamp:
Aug 4, 2022 8:53:34 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
152835
Message:

iprt/nocrt/compiler/watcom.h,/types.h: Don't use watcom's stddef.h header, as we now end up with a cyclic header dependency. Instead just typedef the necessary types ourselves as best we can. bugref:10261

Location:
trunk/include/iprt/nocrt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/nocrt/compiler/watcom.h

    r93129 r96037  
    3030#endif
    3131
     32#include <iprt/cdefs.h>
     33
    3234/* stddef.h for size_t and such */
    33 #include <../h/stddef.h>
     35#if 0
     36# include <../h/stddef.h>
     37
     38# ifndef  _SSIZE_T_DEFINED_
     39#  define _SSIZE_T_DEFINED_
     40typedef signed int      ssize_t;
     41# endif
     42
     43#else
     44
     45# define _SIZE_T_DEFINED_
     46# define __size_t
     47typedef unsigned        size_t;
     48typedef size_t       _w_size_t;
     49
     50# define _SSIZE_T_DEFINED_
     51# define __ssize_t
     52typedef signed int      ssize_t;
     53
     54# define _RSIZE_T_DEFINED
     55typedef size_t          rsize_t;
     56
     57# define _PTRDIFF_T_DEFINED_
     58# ifdef __HUGE__
     59typedef long            ptrdiff_t;
     60# else
     61typedef int             ptrdiff_t;
     62# endif
     63
     64# ifndef  _WCHAR_T_DEFINED /* predefined in C++ mode? */
     65#  define _WCHAR_T_DEFINED
     66typedef unsigned short  wchar_t;
     67# endif
     68
     69# ifndef NULL
     70#  ifndef __cplusplus
     71#   define NULL         ((void *)0)
     72#  elif  defined(__SMALL__) || defined(__MEDIUM__) || !defined(_M_I86)
     73#   define NULL         (0)
     74#  else
     75#   define NULL          (0L)
     76#  endif
     77# endif
     78
     79# define offsetof(a_Type, a_Member) RT_OFFSETOF(a_Type, a_Member)
     80
     81# if defined(_M_I86) && (defined(__SMALL__) || defined(__MEDIUM__))
     82typedef int             intptr_t;
     83typedef unsigned int    uintptr_t;
     84# elif defined(_M_I86) || (!defined(__COMPACT__) && !defined(__LARGE__))
     85typedef long            intptr_t;
     86typedef unsigned long   uintptr_t;
     87# else /* 32-bit compile using far data pointers (16:32) */
     88typedef long long       intptr_t;
     89typedef unsigned long long uintptr_t;
     90# endif
     91
     92#endif
    3493
    3594/* stdarg.h */
    3695#include <../h/stdarg.h>
    3796
    38 #ifndef _SSIZE_T_DEFINED_
    39 #define _SSIZE_T_DEFINED_
    40 typedef signed ssize_t;
    41 #endif
    42 
    4397#endif /* !IPRT_INCLUDED_nocrt_compiler_watcom_h */
    4498
  • trunk/include/iprt/nocrt/sys/types.h

    r96019 r96037  
    3030#endif
    3131
     32#if defined(IPRT_INCLUDED_types_h) && !defined(IPRT_COMPLETED_types_h)
     33# error "Can't include nocrt/sys/types.h from iprt/types.h"
     34#endif
     35
    3236#include <iprt/types.h>
    3337
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