From 210352d90e5972aabfb253f7c8a38349f53917b3 Mon Sep 17 00:00:00 2001 From: xleroy Date: Sun, 22 Oct 2006 16:54:24 +0000 Subject: 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 --- backend/RTLtyping.v | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'backend/RTLtyping.v') 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 -- cgit