aboutsummaryrefslogtreecommitdiffstats
path: root/backend/RTLtyping.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2006-10-22 16:54:24 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2006-10-22 16:54:24 +0000
commit210352d90e5972aabfb253f7c8a38349f53917b3 (patch)
tree93ccbf36e6840118abe84ee940252a7a1fbc7720 /backend/RTLtyping.v
parentee41c6eae5af0703605780e0b3d8f5c3937f3276 (diff)
downloadcompcert-kvx-210352d90e5972aabfb253f7c8a38349f53917b3.tar.gz
compcert-kvx-210352d90e5972aabfb253f7c8a38349f53917b3.zip
Lever la restriction sur les fonctions externes, restriction qui exigeait que tous les arguments resident en registres
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@125 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'backend/RTLtyping.v')
-rw-r--r--backend/RTLtyping.v19
1 files changed, 0 insertions, 19 deletions
diff --git a/backend/RTLtyping.v b/backend/RTLtyping.v
index 449e837a..97d063ac 100644
--- a/backend/RTLtyping.v
+++ b/backend/RTLtyping.v
@@ -105,7 +105,6 @@ Record wt_function (f: function) (env: regenv): Prop :=
Inductive wt_fundef: fundef -> Prop :=
| wt_fundef_external: forall ef,
- Conventions.sig_external_ok ef.(ef_sig) ->
wt_fundef (External ef)
| wt_function_internal: forall f env,
wt_function f env ->
@@ -300,11 +299,6 @@ Definition type_function (f: function): option regenv :=
then Some env else None
end.
-Definition type_external_function (ef: external_function): bool :=
- List.fold_right
- (fun l b => match l with Locations.S _ => false | Locations.R _ => b end)
- true (Conventions.loc_arguments ef.(ef_sig)).
-
Lemma type_function_correct:
forall f env,
type_function f = Some env ->
@@ -327,19 +321,6 @@ Proof.
congruence.
Qed.
-Lemma type_external_function_correct:
- forall ef,
- type_external_function ef = true ->
- Conventions.sig_external_ok ef.(ef_sig).
-Proof.
- intro ef. unfold type_external_function, Conventions.sig_external_ok.
- generalize (Conventions.loc_arguments (ef_sig ef)).
- induction l; simpl.
- tauto.
- destruct a. intros. firstorder congruence.
- congruence.
-Qed.
-
(** * Type preservation during evaluation *)
(** The type system for RTL is not sound in that it does not guarantee