Use typedef for EMACS_INT, EMACS_UINT.
* lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather than macros. This simplifies debugging in the usual case, since it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *' and it allows expressions involving EMACS_INT casts. * .gdbinit (xreload): Simplify by using EMACS_INT cast.
This commit is contained in:
parent
71f32295ce
commit
71f88e00a2
4 changed files with 19 additions and 9 deletions
|
@ -1190,9 +1190,7 @@ end
|
|||
|
||||
define xreload
|
||||
set $tagmask = ((1 << gdb_gctypebits) - 1)
|
||||
# The consing_since_gc business widens the 1 to EMACS_INT,
|
||||
# a symbol not directly visible to GDB.
|
||||
set $valmask = gdb_use_lsb ? ~($tagmask) : ((consing_since_gc - consing_since_gc + 1) << gdb_valbits) - 1
|
||||
set $valmask = gdb_use_lsb ? ~($tagmask) : ((EMACS_INT) 1 << gdb_valbits) - 1
|
||||
end
|
||||
document xreload
|
||||
When starting Emacs a second time in the same gdb session under
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
2012-07-25 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Use typedef for EMACS_INT, EMACS_UINT.
|
||||
* lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather
|
||||
than macros. This simplifies debugging in the usual case, since
|
||||
it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *'
|
||||
and it allows expressions involving EMACS_INT casts.
|
||||
* .gdbinit (xreload): Simplify by using EMACS_INT cast.
|
||||
|
||||
2012-07-25 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* nsterm.m (ns_read_socket): Return early if there is a modal
|
||||
|
|
12
src/lisp.h
12
src/lisp.h
|
@ -45,22 +45,24 @@ extern void check_cons_list (void);
|
|||
EMACS_INT_MAX - maximum value of EMACS_INT; can be used in #if
|
||||
pI - printf length modifier for EMACS_INT
|
||||
EMACS_UINT - unsigned variant of EMACS_INT */
|
||||
#ifndef EMACS_INT
|
||||
#ifndef EMACS_INT_MAX
|
||||
# if LONG_MAX < LLONG_MAX && defined WIDE_EMACS_INT
|
||||
# define EMACS_INT long long
|
||||
typedef long long int EMACS_INT;
|
||||
typedef unsigned long long int EMACS_UINT;
|
||||
# define EMACS_INT_MAX LLONG_MAX
|
||||
# define pI "ll"
|
||||
# elif INT_MAX < LONG_MAX
|
||||
# define EMACS_INT long
|
||||
typedef long int EMACS_INT;
|
||||
typedef unsigned long int EMACS_UINT;
|
||||
# define EMACS_INT_MAX LONG_MAX
|
||||
# define pI "l"
|
||||
# else
|
||||
# define EMACS_INT int
|
||||
typedef int EMACS_INT;
|
||||
typedef unsigned int EMACS_UINT;
|
||||
# define EMACS_INT_MAX INT_MAX
|
||||
# define pI ""
|
||||
# endif
|
||||
#endif
|
||||
#define EMACS_UINT unsigned EMACS_INT
|
||||
|
||||
/* Number of bits in some machine integer types. */
|
||||
enum
|
||||
|
|
|
@ -388,7 +388,8 @@ extern int getloadavg (double *, int);
|
|||
# ifdef WIDE_EMACS_INT
|
||||
|
||||
/* Use pre-C99-style 64-bit integers. */
|
||||
# define EMACS_INT __int64
|
||||
typedef __int64 EMACS_INT;
|
||||
typedef unsigned __int64 EMACS_UINT;
|
||||
# define EMACS_INT_MAX _I64_MAX
|
||||
# define pI "I64"
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue