diff options
-rw-r--r-- | cpukit/ChangeLog | 5 | ||||
-rw-r--r-- | cpukit/libblock/src/bdbuf.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 34b2a6a59e..291a210966 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,10 @@ 2009-11-02 Ralf Corsépius <ralf.corsepius@rtems.org> + * libblock/src/bdbuf.c: Cast bdbuf->state to int32_t + before shifting << 16 (Can not shift an enum by << 16 on 16bit). + +2009-11-02 Ralf Corsépius <ralf.corsepius@rtems.org> + * libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_conv.c, libfs/src/dosfs/msdos_misc.c: Use uint16_t instead of "unsigned short" to circumvent warnings on 16bit targets. diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c index 600ae1b26b..95e89d3e1f 100644 --- a/cpukit/libblock/src/bdbuf.c +++ b/cpukit/libblock/src/bdbuf.c @@ -1088,11 +1088,11 @@ rtems_bdbuf_group_realloc (rtems_bdbuf_group* group, size_t new_bds_per_group) case RTEMS_BDBUF_STATE_CACHED: case RTEMS_BDBUF_STATE_READ_AHEAD: if (rtems_bdbuf_avl_remove (&bdbuf_cache.tree, bd) != 0) - rtems_fatal_error_occurred ((bd->state << 16) | + rtems_fatal_error_occurred ((((uint32_t) bd->state) << 16) | RTEMS_BLKDEV_FATAL_BDBUF_CONSISTENCY_1); break; default: - rtems_fatal_error_occurred ((bd->state << 16) | + rtems_fatal_error_occurred ((((uint32_t) bd->state) << 16) | RTEMS_BLKDEV_FATAL_BDBUF_CONSISTENCY_8); } |