Frama-C Bug Tracking System

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000552Frama-CKernelpublic2010-08-02 10:472010-12-17 19:35
Assigned Tovirgile 
PlatformOSOS Version
Product VersionFrama-C Boron-20100401 
Target VersionFixed in VersionFrama-C Carbon-20101201-beta1 
Summary0000552: Checking number of arguments passed to C functions
DescriptionThere currently isn't much checking of function arguments in the front-end. The following program is accepted, although it passes the wrong number of arguments for both calls to retint:

int retint(int x )
  int __retres ;
  __retres = 42 + x;
  return (__retres);

int main(int c )
  int x ;
  int tmp ;
  x = retint();
  tmp = retint(c,c);
  return (tmp);

Arguments for not implementing this feature: there are perfectly good compilers to check for this, and not having rigid rules in place may even help with older code containing variadic functions. I am not sure when the current convention for declaring variadic functions became standardized, and it may not have been from the beginning.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
virgile (developer)
2010-08-23 10:25

Regarding variadic functions, according to wikipedia, C89 already had this feature. Old-style definition of variadic functions (as authorized by POSIX) are quite similar.

- Issue History
Date Modified Username Field Change
2010-08-02 10:47 pascal New Issue
2010-08-23 10:18 virgile Status new => assigned
2010-08-23 10:18 virgile Assigned To => virgile
2010-08-23 10:25 virgile Note Added: 0001079
2010-08-27 11:39 svn Checkin
2010-08-27 11:39 svn Status assigned => resolved
2010-08-27 11:39 svn Resolution open => fixed
2010-12-10 15:45 signoles Fixed in Version => Frama-C Carbon-20101201-beta1
2010-12-17 19:35 signoles Status resolved => closed

Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker