Bug #1137
closed
C backend fails to get casting and suffix for integer constants having "pointer" type
Added by Evgeny Novikov over 13 years ago.
Updated over 10 years ago.
Description
This is the case for integer constant conversion to pointer type like (void *)1UL
. After all it leads to simply 1
and there are warnings from both C backend work (it says multiple times that it cannot process such constructions) and test compilation (that says about implicit casting from integer to pointer).
One more example
# 594 "include/linux/list.h"
static inline void hlist_del(struct hlist_node *n)
{
__hlist_del ( n );
( * n ) . next = 16045481047391994112;
( * n ) . pprev = 16045481047393042944;
}
In:
ldv-manager envs=linux-2.6.36.tar.bz2 kernel_driver=1 drivers=drivers/isdn/gigaset/gigaset.ko rule_models=08_1
File:
work/current--X--drivers/isdn/gigaset/gigaset.ko--X--defaultlinux-2.6.36--X--08_1/linux-2.6.36/csd_deg_dscv/20/dscv_tempdir/dscv/cmdfiles/rcv/08_1/preprocessed/drivers-isdn-gigaset-interface.o.usual.i
- Project changed from Linux Driver Verification to C Instrumentation Framework
- Category deleted (
15)
- Status changed from Open to Closed
Also available in: Atom
PDF