[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 36dbded: Pacify Sun C 5.14
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master 36dbded: Pacify Sun C 5.14 |
Date: |
Tue, 29 Nov 2016 21:12:59 +0000 (UTC) |
branch: master
commit 36dbdedefa2372870313e219164ff9b3b7712e9e
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Pacify Sun C 5.14
* src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
into this enum rather than into an anonymous enum. This avoids
diagnostics from Sun C 5.14 and is a bit clearer anyway.
---
src/lisp.h | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/src/lisp.h b/src/lisp.h
index b4ddad1..6fbedd3 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2112,18 +2112,8 @@ struct Lisp_Overlay
Lisp_Object plist;
};
-/* Types of data which may be saved in a Lisp_Save_Value. */
-
-enum
- {
- SAVE_UNUSED,
- SAVE_INTEGER,
- SAVE_FUNCPOINTER,
- SAVE_POINTER,
- SAVE_OBJECT
- };
-
-/* Number of bits needed to store one of the above values. */
+/* Number of bits needed to store one of the values
+ SAVE_UNUSED..SAVE_OBJECT. */
enum { SAVE_SLOT_BITS = 3 };
/* Number of slots in a save value where save_type is nonzero. */
@@ -2133,8 +2123,15 @@ enum { SAVE_VALUE_SLOTS = 4 };
enum { SAVE_TYPE_BITS = SAVE_VALUE_SLOTS * SAVE_SLOT_BITS + 1 };
+/* Types of data which may be saved in a Lisp_Save_Value. */
+
enum Lisp_Save_Type
{
+ SAVE_UNUSED,
+ SAVE_INTEGER,
+ SAVE_FUNCPOINTER,
+ SAVE_POINTER,
+ SAVE_OBJECT,
SAVE_TYPE_INT_INT = SAVE_INTEGER + (SAVE_INTEGER << SAVE_SLOT_BITS),
SAVE_TYPE_INT_INT_INT
= (SAVE_INTEGER + (SAVE_TYPE_INT_INT << SAVE_SLOT_BITS)),
@@ -2152,6 +2149,12 @@ enum Lisp_Save_Type
SAVE_TYPE_MEMORY = SAVE_TYPE_PTR_INT + (1 << (SAVE_TYPE_BITS - 1))
};
+/* SAVE_SLOT_BITS must be large enough to represent these values. */
+verify (((SAVE_UNUSED | SAVE_INTEGER | SAVE_FUNCPOINTER
+ | SAVE_POINTER | SAVE_OBJECT)
+ >> SAVE_SLOT_BITS)
+ == 0);
+
/* Special object used to hold a different values for later use.
This is mostly used to package C integers and pointers to call
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 36dbded: Pacify Sun C 5.14,
Paul Eggert <=