Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • F frama-c
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 209
    • Issues 209
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • pub
  • frama-c
  • Issues
  • #2506

Closed
Open
Created Jun 05, 2009 by Sylvie Boldo@sboldoDeveloper

int -> integer -> real

ID0000117: This issue was created automatically from Mantis Issue 117. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0000117 Frama-C Kernel public 2009-06-05 2009-06-23
Reporter sboldo Assigned To virgile Resolution fixed
Priority normal Severity major Reproducibility always
Platform - OS - OS Version -
Product Version Frama-C GIT, precise the release id Target Version - Fixed in Version Frama-C Beryllium-20090601-beta1

Description :

From ACSL, I assume that "C integral types char , short , int and long , signed or unsigned, are all subtypes of type integer ; integer is itself a subtype of type real ;"

Therefore int is a subtype of real. But it does not work in practice:

int i; /*@ loop invariant C== \pow(2., i) */

\pow takes 2 real numbers. This annotation is refused by the message:

Error during analysis of annotation: invalid implicit conversion from int to real

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking