Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
frama-c
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
frama-c
Commits
122a4bce
Commit
122a4bce
authored
4 years ago
by
Allan Blanchard
Browse files
Options
Downloads
Patches
Plain Diff
[wp] FIxes upper_bound on init range in semantics
parent
837b6f2a
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/plugins/wp/CodeSemantics.ml
+6
-4
6 additions, 4 deletions
src/plugins/wp/CodeSemantics.ml
with
6 additions
and
4 deletions
src/plugins/wp/CodeSemantics.ml
+
6
−
4
View file @
122a4bce
...
@@ -455,16 +455,18 @@ struct
...
@@ -455,16 +455,18 @@ struct
|
Warning
.
Failed
warn
->
warn
,
(
F
.
p_true
,
F
.
p_true
)
|
Warning
.
Failed
warn
->
warn
,
(
F
.
p_true
,
F
.
p_true
)
|
Warning
.
Result
(
warn
,
hyp
)
->
warn
,
hyp
|
Warning
.
Result
(
warn
,
hyp
)
->
warn
,
hyp
let
init_range
~
sigma
lv
typ
a
b
value
=
let
init_range
~
sigma
lv
typ
low
excl_up
value
=
let
obj
=
Ctypes
.
object_of
typ
in
let
obj
=
Ctypes
.
object_of
typ
in
let
outcome
=
Warning
.
catch
let
outcome
=
Warning
.
catch
~
severe
:
false
~
effect
:
"Skip initializer"
~
severe
:
false
~
effect
:
"Skip initializer"
(
fun
()
->
(
fun
()
->
let
l
=
lval
sigma
lv
in
let
l
=
lval
sigma
lv
in
let
e
=
Extlib
.
opt_map
(
exp
sigma
)
value
in
let
e
=
Extlib
.
opt_map
(
exp
sigma
)
value
in
let
a
=
e_bigint
a
and
b
=
e_bigint
b
in
let
low
=
e_bigint
low
in
(
is_exp_range
sigma
l
obj
a
b
e
)
,
let
excl_up
=
e_bigint
excl_up
in
(
M
.
initialized
sigma
(
Rrange
(
l
,
obj
,
Some
a
,
Some
b
)))
let
incl_up
=
e_sub
excl_up
e_one
in
(
is_exp_range
sigma
l
obj
low
excl_up
e
)
,
(
M
.
initialized
sigma
(
Rrange
(
l
,
obj
,
Some
low
,
Some
incl_up
)))
)
()
in
)
()
in
match
outcome
with
match
outcome
with
|
Warning
.
Failed
warn
->
warn
,
(
F
.
p_true
,
F
.
p_true
)
|
Warning
.
Failed
warn
->
warn
,
(
F
.
p_true
,
F
.
p_true
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment