1
0
Fork 0

Move definition out of autoconfig

This commit is contained in:
Patryk Obara 2019-11-26 00:37:15 +01:00 committed by Patryk Obara
parent 7e3c4d3945
commit 7d21bb1408
4 changed files with 43 additions and 84 deletions

View file

@ -349,62 +349,3 @@ AH_BOTTOM([#if C_HAS_BUILTIN_EXPECT
#define GCC_UNLIKELY(x) (x)
#define GCC_LIKELY(x) (x)
#endif])
AH_BOTTOM([
typedef double Real64;
#if SIZEOF_UNSIGNED_CHAR != 1
# error "sizeof (unsigned char) != 1"
#else
typedef unsigned char Bit8u;
typedef signed char Bit8s;
#endif
#if SIZEOF_UNSIGNED_SHORT != 2
# error "sizeof (unsigned short) != 2"
#else
typedef unsigned short Bit16u;
typedef signed short Bit16s;
#endif
#if SIZEOF_UNSIGNED_INT == 4
typedef unsigned int Bit32u;
typedef signed int Bit32s;
#define sBit32t
#elif SIZEOF_UNSIGNED_LONG == 4
typedef unsigned long Bit32u;
typedef signed long Bit32s;
#define sBit32t "l"
#else
# error "can't find sizeof(type) of 4 bytes!"
#endif
#define sBit32fs(a) sBit32t #a
#if SIZEOF_UNSIGNED_LONG == 8
typedef unsigned long Bit64u;
typedef signed long Bit64s;
#define sBit64t "l"
#elif SIZEOF_UNSIGNED_LONG_LONG == 8
typedef unsigned long long Bit64u;
typedef signed long long Bit64s;
#define sBit64t "ll"
#else
# error "can't find data type of 8 bytes"
#endif
#define sBit64fs(a) sBit64t #a
#if SIZEOF_INT_P == 4
typedef Bit32u Bitu;
typedef Bit32s Bits;
#define sBitfs sBit32fs
#else //SIZEOF_INT_P
typedef Bit64u Bitu;
typedef Bit64s Bits;
#define sBitfs sBit64fs
#endif
])

View file

@ -21,6 +21,7 @@
#define DOSBOX_DOSBOX_H
#include "config.h"
#include "types.h"
GCC_ATTRIBUTE(noreturn) void E_Exit(const char * message,...) GCC_ATTRIBUTE( __format__(__printf__, 1, 2));

42
include/types.h Normal file
View file

@ -0,0 +1,42 @@
/*
* Copyright (C) 2019 The DOSBox Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef DOSBOX_TYPES_H
#define DOSBOX_TYPES_H
#include <cinttypes>
#include <cstdint>
using Bit8u = uint8_t;
using Bit16u = uint16_t;
using Bit32u = uint32_t;
using Bit64u = uint64_t;
using Bitu = uintptr_t;
using Bit8s = int8_t;
using Bit16s = int16_t;
using Bit32s = int32_t;
using Bit64s = int64_t;
using Bits = intptr_t;
using Real64 = double;
// TODO: remove
#define sBitfs(x) PRIuPTR
#endif /* DOSBOX_TYPES_H */

View file

@ -72,28 +72,3 @@
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
#pragma warning(disable : 4996)
#endif
typedef double Real64;
/* The internal types */
typedef unsigned char Bit8u;
typedef signed char Bit8s;
typedef unsigned short Bit16u;
typedef signed short Bit16s;
typedef unsigned int Bit32u;
typedef signed int Bit32s;
typedef unsigned __int64 Bit64u;
typedef signed __int64 Bit64s;
#define sBit32t
#define sBit64t "I64"
#define sBit32fs(a) sBit32t #a
#define sBit64fs(a) sBit64t #a
#ifdef _M_X64
typedef Bit64u Bitu;
typedef Bit64s Bits;
#define sBitfs sBit64fs
#else // _M_IX86
typedef Bit32u Bitu;
typedef Bit32s Bits;
#define sBitfs sBit32fs
#endif