* New build warnings on Windows
@ 2014-02-11 23:48 Bruce Cran
2014-02-12 4:49 ` Jens Axboe
0 siblings, 1 reply; 4+ messages in thread
From: Bruce Cran @ 2014-02-11 23:48 UTC (permalink / raw)
To: fio@vger.kernel.org
There are some new warnings in 2.1.5 when building on Windows:
In file included from io_u.c:14:0:
err.h: In function �ERR_PTR�:
err.h:18:9: warning: cast to pointer from integer of different size
[-Wint-to-pointer-cast]
return (void *) error;
^
err.h: In function �PTR_ERR�:
err.h:23:9: warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
return (long) ptr;
^
err.h: In function �IS_ERR�:
err.h:28:22: warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
return IS_ERR_VALUE((unsigned long)ptr);
^
err.h:14:27: note: in definition of macro �IS_ERR_VALUE�
#define IS_ERR_VALUE(x) ((x) >= (unsigned long)-MAX_ERRNO)
^
err.h: In function �IS_ERR_OR_NULL�:
err.h:33:30: warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
return !ptr || IS_ERR_VALUE((unsigned long)ptr);
^
err.h:14:27: note: in definition of macro �IS_ERR_VALUE�
#define IS_ERR_VALUE(x) ((x) >= (unsigned long)-MAX_ERRNO)
--
Bruce
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: New build warnings on Windows
2014-02-11 23:48 New build warnings on Windows Bruce Cran
@ 2014-02-12 4:49 ` Jens Axboe
2014-02-12 15:38 ` Bruce Cran
0 siblings, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2014-02-12 4:49 UTC (permalink / raw)
To: Bruce Cran, fio@vger.kernel.org
On 2014-02-11 16:48, Bruce Cran wrote:
> There are some new warnings in 2.1.5 when building on Windows:
>
> In file included from io_u.c:14:0:
> err.h: In function ‘ERR_PTR’:
> err.h:18:9: warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> return (void *) error;
> ^
> err.h: In function ‘PTR_ERR’:
> err.h:23:9: warning: cast from pointer to integer of different size
> [-Wpointer-to-int-cast]
> return (long) ptr;
> ^
> err.h: In function ‘IS_ERR’:
> err.h:28:22: warning: cast from pointer to integer of different size
> [-Wpointer-to-int-cast]
> return IS_ERR_VALUE((unsigned long)ptr);
> ^
> err.h:14:27: note: in definition of macro ‘IS_ERR_VALUE’
> #define IS_ERR_VALUE(x) ((x) >= (unsigned long)-MAX_ERRNO)
> ^
> err.h: In function ‘IS_ERR_OR_NULL’:
> err.h:33:30: warning: cast from pointer to integer of different size
> [-Wpointer-to-int-cast]
> return !ptr || IS_ERR_VALUE((unsigned long)ptr);
> ^
> err.h:14:27: note: in definition of macro ‘IS_ERR_VALUE’
> #define IS_ERR_VALUE(x) ((x) >= (unsigned long)-MAX_ERRNO)
Gah, I should have caught that. Looks like I'll be spinning a 2.1.5.1 or
2.1.6 shortly too. Does the below fix it up?
diff --git a/err.h b/err.h
index 5c024ee88786..fef5c545bf3c 100644
--- a/err.h
+++ b/err.h
@@ -11,26 +11,26 @@
*/
#define MAX_ERRNO 4095
-#define IS_ERR_VALUE(x) ((x) >= (unsigned long)-MAX_ERRNO)
+#define IS_ERR_VALUE(x) ((x) >= (uintptr_t)-MAX_ERRNO)
static inline void *ERR_PTR(long error)
{
return (void *) error;
}
-static inline long PTR_ERR(const void *ptr)
+static inline uintptr_t PTR_ERR(const void *ptr)
{
- return (long) ptr;
+ return (uintptr_t) ptr;
}
-static inline long IS_ERR(const void *ptr)
+static inline uintptr_t IS_ERR(const void *ptr)
{
- return IS_ERR_VALUE((unsigned long)ptr);
+ return IS_ERR_VALUE((uintptr_t) ptr);
}
-static inline long IS_ERR_OR_NULL(const void *ptr)
+static inline uintptr_t IS_ERR_OR_NULL(const void *ptr)
{
- return !ptr || IS_ERR_VALUE((unsigned long)ptr);
+ return !ptr || IS_ERR_VALUE((uintptr_t)ptr);
}
static inline int PTR_ERR_OR_ZERO(const void *ptr)
--
Jens Axboe
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-02-12 15:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-11 23:48 New build warnings on Windows Bruce Cran
2014-02-12 4:49 ` Jens Axboe
2014-02-12 15:38 ` Bruce Cran
2014-02-12 15:43 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox