[exim-cvs] Compiler quietening

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Compiler quietening
Gitweb: https://git.exim.org/exim.git/commitdiff/9e905a460429b1b76ffae96ed14647282af7c4c8
Commit:     9e905a460429b1b76ffae96ed14647282af7c4c8
Parent:     98d4eb7a840b78c80cae38aa09e2196d23cad383
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Wed Jun 26 12:39:33 2019 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Wed Jun 26 12:39:33 2019 +0100


    Compiler quietening


    Trying to set an enum (int-sized) with top bit set, needs a cast to (signed) int.
    Broken-by: ae8f9024d8
---
 src/src/macros.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


diff --git a/src/src/macros.h b/src/src/macros.h
index 4359e21..2c7900b 100644
--- a/src/src/macros.h
+++ b/src/src/macros.h
@@ -339,7 +339,7 @@ platforms, but this ensures bit vectors always work the same way. */

/* This macro is for single-word bit vectors: the debug selector,
and the first word of the log selector. */
-#define BIT(n) (1U << (n))
+#define BIT(n) (1UL << (n))

 /* And these are for multi-word vectors. */
 #define BITWORD(n) (      (n) / BITWORDSIZE)
@@ -370,7 +370,7 @@ Exim's code assumes in a number of places that the debug_selector is one
 word, and this is exposed in the local_scan ABI. The D_v and D_local_scan bit
 masks are part of the local_scan API so are #defined in local_scan.h */


-#define DEBUG_BIT(name) Di_##name = IOTA(Di_iota), D_##name = BIT(Di_##name)
+#define DEBUG_BIT(name) Di_##name = IOTA(Di_iota), D_##name = (int)BIT(Di_##name)

 enum {
   Di_all        = -1,