diff options
Diffstat (limited to 'common/AST.v')
-rw-r--r-- | common/AST.v | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/common/AST.v b/common/AST.v index 2550844b..387eb6b2 100644 --- a/common/AST.v +++ b/common/AST.v @@ -100,12 +100,13 @@ These signatures are used in particular to determine appropriate calling conventions for the function. *) Record calling_convention : Type := mkcallconv { - cc_vararg: bool; - cc_structret: bool + cc_vararg: bool; (**r variable-arity function *) + cc_unproto: bool; (**r old-style unprototyped function *) + cc_structret: bool (**r function returning a struct *) }. Definition cc_default := - {| cc_vararg := false; cc_structret := false |}. + {| cc_vararg := false; cc_unproto := false; cc_structret := false |}. Record signature : Type := mksignature { sig_args: list typ; @@ -584,7 +585,7 @@ Inductive external_function : Type := (** Another form of annotation that takes one argument, produces an event carrying the text and the value of this argument, and returns the value of the argument. *) - | EF_inline_asm (text: ident) (sg: signature) (clobbers: list ident). + | EF_inline_asm (text: ident) (sg: signature) (clobbers: list String.string). (** Inline [asm] statements. Semantically, treated like an annotation with no parameters ([EF_annot text nil]). To be used with caution, as it can invalidate the semantic @@ -642,7 +643,7 @@ Proof. generalize ident_eq signature_eq chunk_eq typ_eq zeq Int.eq_dec; intros. decide equality. apply list_eq_dec. auto. - apply list_eq_dec. auto. + apply list_eq_dec. apply String.string_dec. Defined. Global Opaque external_function_eq. |