aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Lineartyping.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2011-06-13 18:11:19 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2011-06-13 18:11:19 +0000
commita5ffc59246b09a389e5f8cbc2f217e323e76990f (patch)
treee1bc7cc54518aad7c20645f187cee8110de8cff9 /backend/Lineartyping.v
parent4daccd62b92b23016d3f343d5691f9c164a8a951 (diff)
downloadcompcert-kvx-a5ffc59246b09a389e5f8cbc2f217e323e76990f.tar.gz
compcert-kvx-a5ffc59246b09a389e5f8cbc2f217e323e76990f.zip
Revised handling of annotation statements, and more generally built-in functions, and more generally external functions
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1672 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'backend/Lineartyping.v')
-rw-r--r--backend/Lineartyping.v6
1 files changed, 6 insertions, 0 deletions
diff --git a/backend/Lineartyping.v b/backend/Lineartyping.v
index ef6194c0..390b6302 100644
--- a/backend/Lineartyping.v
+++ b/backend/Lineartyping.v
@@ -93,6 +93,12 @@ Inductive wt_instr : instruction -> Prop :=
mreg_type res = proj_sig_res (ef_sig ef) ->
arity_ok (ef_sig ef).(sig_args) = true ->
wt_instr (Lbuiltin ef args res)
+ | wt_Lannot:
+ forall ef args,
+ List.map Loc.type args = (ef_sig ef).(sig_args) ->
+ ef_reloads ef = false ->
+ locs_acceptable args ->
+ wt_instr (Lannot ef args)
| wt_Llabel:
forall lbl,
wt_instr (Llabel lbl)