[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Use stdint.h for integral data types and defini
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH] Use stdint.h for integral data types and definitions |
Date: |
Thu, 9 Apr 2009 00:58:08 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Mon, Mar 30, 2009 at 09:03:20AM +0200, Stefan Weil wrote:
> Jan Kiszka schrieb:
> > Stefan Weil wrote:
> >> This patch replaces local definitions and declaration
> >> for integral data types by a C99 standard header file.
> >>
> >> This reduces Qemu code, avoids some compiler warnings
> >> because of redefinitions and should make the code more
> >> portable.
> >>
> >> Signed-off-by: Stefan Weil <address@hidden>
> >>
> >> Index: trunk/dyngen-exec.h
> >> ===================================================================
> >> --- trunk.orig/dyngen-exec.h 2009-02-06 22:21:41.000000000 +0100
> >> +++ trunk/dyngen-exec.h 2009-02-06 22:21:42.000000000 +0100
> >> @@ -31,57 +31,15 @@
> >> point because host CPU registers are used as global variables. Some
> >> host headers do not allow that. */
> >> #include <stddef.h>
> >> +#include <stdint.h>
> >
> > I think the safer and cleaner approach is to remove the last users of
> > legacy dyngen-exec.h and finally kill this file.
> >
> > Jan
> >
>
> The name of this file and the comments in dyngen-exec.h are misleading.
> It is still used by all targets.
>
> If there are no more comments, I suggest to apply my patch to QEMU trunk.
> To make this easier, I send an updated version of the patch which is needed
> to avoid merge conflicts because in the meantime, a macro was renamed.
>
> Regards
>
> Stefan Weil
>
>
>
>
>
Thanks, applied.
> This patch replaces local definitions and declaration
> for integral data types by a C99 standard header file.
>
> This reduces Qemu code, avoids some compiler warnings
> because of redefinitions and should make the code more
> portable.
>
> Signed-off-by: Stefan Weil <address@hidden>
>
> Index: trunk/dyngen-exec.h
> ===================================================================
> --- trunk.orig/dyngen-exec.h 2009-03-13 09:46:03.000000000 +0100
> +++ trunk/dyngen-exec.h 2009-03-13 09:50:53.000000000 +0100
> @@ -31,57 +31,15 @@
> point because host CPU registers are used as global variables. Some
> host headers do not allow that. */
> #include <stddef.h>
> +#include <stdint.h>
>
> #ifdef __OpenBSD__
> #include <sys/types.h>
> -#else
> -typedef unsigned char uint8_t;
> -typedef unsigned short uint16_t;
> -typedef unsigned int uint32_t;
> -// Linux/Sparc64 defines uint64_t
> -#if !(defined (__sparc_v9__) && defined(__linux__)) && !(defined(__APPLE__)
> && defined(__x86_64__))
> -/* XXX may be done for all 64 bits targets ? */
> -#if defined (__x86_64__) || defined(__ia64) || defined(__s390x__) ||
> defined(__alpha__) || defined(_ARCH_PPC64)
> -typedef unsigned long uint64_t;
> -#else
> -typedef unsigned long long uint64_t;
> -#endif
> -#endif
> -
> -/* if Solaris/__sun__, don't typedef int8_t, as it will be typedef'd
> - prior to this and will cause an error in compliation, conflicting
> - with /usr/include/sys/int_types.h, line 75 */
> -#ifndef __sun__
> -typedef signed char int8_t;
> -#endif
> -typedef signed short int16_t;
> -typedef signed int int32_t;
> -// Linux/Sparc64 defines int64_t
> -#if !(defined (__sparc_v9__) && defined(__linux__)) && !(defined(__APPLE__)
> && defined(__x86_64__))
> -#if defined (__x86_64__) || defined(__ia64) || defined(__s390x__) ||
> defined(__alpha__) || defined(_ARCH_PPC64)
> -typedef signed long int64_t;
> -#else
> -typedef signed long long int64_t;
> -#endif
> -#endif
> #endif
>
> /* XXX: This may be wrong for 64-bit ILP32 hosts. */
> typedef void * host_reg_t;
>
> -#define INT8_MIN (-128)
> -#define INT16_MIN (-32767-1)
> -#define INT32_MIN (-2147483647-1)
> -#define INT64_MIN (-(int64_t)(9223372036854775807)-1)
> -#define INT8_MAX (127)
> -#define INT16_MAX (32767)
> -#define INT32_MAX (2147483647)
> -#define INT64_MAX ((int64_t)(9223372036854775807))
> -#define UINT8_MAX (255)
> -#define UINT16_MAX (65535)
> -#define UINT32_MAX (4294967295U)
> -#define UINT64_MAX ((uint64_t)(18446744073709551615))
> -
> #ifdef HOST_BSD
> typedef struct __sFILE FILE;
> #else
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH] Use stdint.h for integral data types and definitions,
Aurelien Jarno <=