Project

General

Profile

Actions

Bug #1137

closed

C backend fails to get casting and suffix for integer constants having "pointer" type

Added by Evgeny Novikov about 13 years ago. Updated about 10 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Start date:
04/26/2011
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

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).


Related issues 1 (0 open1 closed)

Has duplicate C Instrumentation Framework - Bug #4911: C-backend fails to inline constantsRejectedEvgeny Novikov05/08/2014

Actions
Actions #1

Updated by Vadim Mutilin almost 13 years ago

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

Actions #2

Updated by Evgeny Novikov over 11 years ago

  • Project changed from Linux Driver Verification to C Instrumentation Framework
  • Category deleted (15)
Actions #3

Updated by Evgeny Novikov about 10 years ago

  • Status changed from Open to Closed

Merged to master in 6a862b9.

Actions

Also available in: Atom PDF