imfs.h: warning cast from pointer to integer of different size

Gedare Bloom gedare at rtems.org
Thu Mar 19 14:52:56 UTC 2015


On Thu, Mar 19, 2015 at 10:49 AM, Joel Sherrill
<joel.sherrill at oarcorp.com> wrote:
> Hi
>
> On one platform, we get a warning for this piece of code in imfs.h
>
> static inline ino_t IMFS_node_to_ino( const IMFS_jnode_t *node )
> {
>   return (ino_t) node;
> }
>
> On this target, "typedef unsigned long ino_t;" and
> sizeof(void *) < sizeof(unsigned long) so the cast is safe.
>
> Would we be better off with ino_t being uintptr_t since we
> do cast it back and forth?
>
> Any other suggestions?
>
The safest fix is to use the new CPU_Uint32ptr type. This resolves to
uintptr_t on most 32-bit+ archs.

> --
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel.sherrill at OARcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> Support Available                (256) 722-9985
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list