diff --git a/vc-current/.devcontainer/.zshrc b/vc-current/.devcontainer/.zshrc new file mode 100755 index 000000000..d38a73f47 --- /dev/null +++ b/vc-current/.devcontainer/.zshrc @@ -0,0 +1,13 @@ +autoload -U colors && colors +precmd() { + drawline="" + for i in {1..$COLUMNS}; drawline=" $drawline" + drawline="%U${drawline}%u" + PS1="%F{252}${drawline} +%B%F{124}%n:%~>%b%f " +} + +eval $(opam env) + +alias ls="ls --color" + diff --git a/vc-current/.devcontainer/Dockerfile b/vc-current/.devcontainer/Dockerfile new file mode 100644 index 000000000..10e717001 --- /dev/null +++ b/vc-current/.devcontainer/Dockerfile @@ -0,0 +1,58 @@ +FROM ubuntu:20.04 + +## BEGIN: RUNS AS ROOT + +# Create a user + +ARG USERNAME=cis5000 +ARG USER_UID=1000 +ARG USER_GID=$USER_UID + +RUN apt-get update -y + +RUN groupadd --gid $USER_GID $USERNAME \ + && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME --shell /bin/zsh \ + # + # [Optional] Add sudo support. Omit if you don't need to install software after connecting. + && apt-get install -y sudo \ + && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ + && chmod 0440 /etc/sudoers.d/$USERNAME + +## Hack needs root permissions + +# See hack.sh +COPY hack.sh /tmp/hack.sh +RUN chmod +x /tmp/hack.sh +RUN /tmp/hack.sh + +RUN apt-get install -y build-essential +RUN apt-get install -y linux-libc-dev +RUN apt-get install -y m4 +RUN apt-get install -y opam +RUN apt-get install -y time +RUN apt-get install -y zip +RUN apt-get install -y zsh +RUN apt-get install -y libgmp3-dev +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y pkg-config + +## Set up user environmnent +COPY .zshrc /home/$USERNAME/ + + +## Run in usermode + +# [Optional] Set the default user. Omit if you want to keep the default as root. +USER $USERNAME + +# Configure opam/ocaml +RUN opam init -y --disable-sandboxing --compiler=5.3.0 +RUN opam switch 5.3.0 +RUN opam install -y num +RUN opam repo add -y coq-released https://coq.inria.fr/opam/released +RUN opam pin add -y coq 9.0.0 +RUN opam install -y coq-simple-io +RUN opam install -y vscoq-language-server +RUN opam update -y +RUN opam upgrade -y +RUN eval `opam config env` + diff --git a/vc-current/.devcontainer/devcontainer.json b/vc-current/.devcontainer/devcontainer.json index 8202fd8e7..8cd956ad8 100644 --- a/vc-current/.devcontainer/devcontainer.json +++ b/vc-current/.devcontainer/devcontainer.json @@ -1,27 +1,49 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu { - "image": "bcpierce00/cis5000:8.17.1", - "customizations": { - "vscode": { - "extensions": ["maximedenes.vscoq"], - "settings": { - "coqtop.binPath" : "/home/coq/.opam/default/bin", - "files.exclude": { - "**/*.aux": true, - "**/*.glob": true, - "**/*.vo": true, - "**/*.vos": true, - "**/*.vok": true, - "**/*.html": true, - "**/.*.report": true, - "**/.*.cache": true - }, - "coq.loadCoqProject": true, - "coq.coqProjectRoot": ".", - "[coq]": { - "editor.tabSize": 2, - "editor.insertSpaces": true - } - } + "name": "Ubuntu", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "build": { + "dockerfile": "Dockerfile" + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Configure tool-specific properties. + "customizations": { + "vscode": { + "extensions": [ + "maximedenes.vscoq" + ], + "settings": { + "coqtop.binPath" : "/home/cis5000/.opam/4.14.0/bin", + "files.exclude": { + "**/*.aux": true, + "**/*.glob": true, + "**/*.vo": true, + "**/*.vos": true, + "**/*.vok": true, + "**/*.html": true, + "**/.*.report": true, + "**/.*.cache": true + }, + "coq.loadCoqProject": true, + "coq.coqProjectRoot": ".", + "[coq]": { + "editor.tabSize": 2, + "editor.insertSpaces": true + } + } + } } - } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" } diff --git a/vc-current/.devcontainer/hack.sh b/vc-current/.devcontainer/hack.sh new file mode 100644 index 000000000..b6d2c3f42 --- /dev/null +++ b/vc-current/.devcontainer/hack.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +### HACK - workaround ubuntu libc6 version number bug see: https://forum.odroid.com/viewtopic.php?p=344373 + +mv /bin/uname /bin/uname.orig +tee -a /bin/uname <BibBibliography
-(* 2024-12-27 01:34 *)
+(* 2026-01-06 14:19 *)
diff --git a/vc-current/Bib.v b/vc-current/Bib.v index 4d96a92cb..99071ac18 100644 --- a/vc-current/Bib.v +++ b/vc-current/Bib.v @@ -89,4 +89,4 @@ *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/Hashfun.html b/vc-current/Hashfun.html index 0674e3773..0990a6de0 100644 --- a/vc-current/Hashfun.html +++ b/vc-current/Hashfun.html @@ -162,40 +162,40 @@

HashfunFunctional model of hash tabl
Require Import VST.floyd.functional_base.

-#[export] Instance EqDec_string: EqDec (list byte) := list_eq_dec Byte.eq_dec.

-Fixpoint hashfun_aux (h: Z) (s: list byte) : Z :=
+#[export] Instance EqDec_string: EqDec (list byte) := list_eq_dec Byte.eq_dec.

+Fixpoint hashfun_aux (h: Z) (s: list byte) : Z :=
 match s with
- | nilh
- | c :: s'
-      hashfun_aux ((h × 65599 + Byte.signed c) mod Int.modulus) s'
+ | nilh
+ | c :: s'
+      hashfun_aux ((h × 65599 + Byte.signed c) mod Int.modulus) s'
end.

-Definition hashfun (s: list byte) := hashfun_aux 0 s.

-Definition hashtable_contents := list (list (list byte × Z)).

+Definition hashfun (s: list byte) := hashfun_aux 0 s.

+Definition hashtable_contents := list (list (list byte × Z)).

Definition N := 109.
-Lemma N_eq : N = 109.
+Lemma N_eq : N = 109.
Proof. reflexivity. Qed.
#[export] Hint Rewrite N_eq : rep_lia.
Global Opaque N.

Definition empty_table : hashtable_contents :=
-  Zrepeat nil N.

-Fixpoint list_get (s: list byte) (al: list (list byte × Z)) : Z :=
+  Zrepeat nil N.

+Fixpoint list_get (s: list byte) (al: list (list byte × Z)) : Z :=
  match al with
- | (k,i) :: al'if eq_dec s k then i else list_get s al'
- | nil ⇒ 0
+ | (k,i) :: al'if eq_dec s k then i else list_get s al'
+ | nil ⇒ 0
 end.

-Fixpoint list_incr (s: list byte) (al: list (list byte × Z))
-              : list (list byte × Z) :=
+Fixpoint list_incr (s: list byte) (al: list (list byte × Z))
+              : list (list byte × Z) :=
  match al with
- | (k,i) :: al'if eq_dec s k
-                      then (k, i +1)::al'
-                      else (k,i)::list_incr s al'
- | nil(s, 1)::nil
+ | (k,i) :: al'if eq_dec s k
+                      then (k, i +1)::al'
+                      else (k,i)::list_incr s al'
+ | nil(s, 1)::nil
 end.

-Definition hashtable_get (s: list byte) (contents: hashtable_contents) : Z :=
-  list_get s (Znth (hashfun s mod (Zlength contents)) contents).

-Definition hashtable_incr (s: list byte) (contents: hashtable_contents)
+Definition hashtable_get (s: list byte) (contents: hashtable_contents) : Z :=
+  list_get s (Znth (hashfun s mod (Zlength contents)) contents).

+Definition hashtable_incr (s: list byte) (contents: hashtable_contents)
                      : hashtable_contents :=
-  let h := hashfun s mod (Zlength contents)
+  let h := hashfun s mod (Zlength contents)
  in let al := Znth h contents
  in upd_Znth h contents (list_incr s al).
@@ -205,7 +205,7 @@

HashfunFunctional model of hash tabl
-Lemma hashfun_inrange: s, 0 hashfun s Int.max_unsigned.
+Lemma hashfun_inrange: s, 0 hashfun s Int.max_unsigned.
Proof.
(* FILL IN HERE *) Admitted.
@@ -219,9 +219,9 @@

HashfunFunctional model of hash tabl

Lemma hashtable_get_unfold:
sigma (cts: list (list (list byte × Z) × val)),
hashtable_get sigma (map fst cts) =
-  list_get sigma (Znth (hashfun sigma mod (Zlength cts)) (map fst cts)).
sigma (cts: list (list (list byte × Z) × val)),
hashtable_get sigma (map fst cts) =
+  list_get sigma (Znth (hashfun sigma mod (Zlength cts)) (map fst cts)).
Proof.
(* FILL IN HERE *) Admitted.
@@ -236,8 +236,8 @@

HashfunFunctional model of hash tabl
Lemma Zlength_hashtable_incr:
  sigma cts,
-      0 < Zlength cts
-      Zlength (hashtable_incr sigma cts) = Zlength cts.
+      0 < Zlength cts
+      Zlength (hashtable_incr sigma cts) = Zlength cts.
Proof.
(* FILL IN HERE *) Admitted.
#[export] Hint Rewrite Zlength_hashtable_incr using list_solve : sublist.
@@ -253,9 +253,9 @@

HashfunFunctional model of hash tabl
Lemma Int_repr_eq_mod:
-    a, Int.repr (a mod Int.modulus) = Int.repr a.
+    a, Int.repr (a mod Int.modulus) = Int.repr a.
Proof.
-Print Int.eqm. (* This is a hint about how to prove the lemma *)
+Print Int.eqm. (* This is a hint about how to prove the lemma *)
Search Int.eqm. (* This is a hint about how to prove the lemma *)
(* FILL IN HERE *) Admitted.
@@ -267,18 +267,18 @@

HashfunFunctional model of hash tabl Lemma hashfun_aux_snoc:
   sigma h lo i,
-    0 lo
-    lo i < Zlength sigma
-  Int.repr (hashfun_aux h (sublist lo (i + 1) sigma)) =
-  Int.repr (hashfun_aux h (sublist lo i sigma) × 65599
-                                  + Byte.signed (Znth i sigma)).
+    0 lo
+    lo i < Zlength sigma
+  Int.repr (hashfun_aux h (sublist lo (i + 1) sigma)) =
+  Int.repr (hashfun_aux h (sublist lo i sigma) × 65599
+                                  + Byte.signed (Znth i sigma)).
Proof.
(* FILL IN HERE *) Admitted.

Lemma hashfun_snoc:
   sigma i,
-    0 i < Zlength sigma
-  Int.repr (hashfun (sublist 0 (i + 1) sigma)) =
-  Int.repr (hashfun (sublist 0 i sigma) × 65599 + Byte.signed (Znth i sigma)).
+    0 i < Zlength sigma
+  Int.repr (hashfun (sublist 0 (i + 1) sigma)) =
+  Int.repr (hashfun (sublist 0 i sigma) × 65599 + Byte.signed (Znth i sigma)).
Proof.
(* FILL IN HERE *) Admitted.
@@ -307,14 +307,14 @@

HashfunFunctional model of hash tabl  Parameter table: Type.
 Parameter key : Type.
 Parameter empty: table.
Parameter get: key table Z.
Parameter incr: key table table.
Axiom gempty: k, (* get-empty *)
-       get k empty = 0.
Axiom gss: k t, (* get-set-same *)
-      get k (incr k t) = 1+(get k t).
Axiom gso: j k t, (* get-set-other *)
-      j k get j (incr k t) = get j t.
Parameter get: key table Z.
Parameter incr: key table table.
Axiom gempty: k, (* get-empty *)
+       get k empty = 0.
Axiom gss: k t, (* get-set-same *)
+      get k (incr k t) = 1+(get k t).
Axiom gso: j k t, (* get-set-other *)
+      j k get j (incr k t) = get j t.
End COUNT_TABLE.

@@ -336,17 +336,17 @@

HashfunFunctional model of hash tabl
Module FunTable <: COUNT_TABLE.
Definition table: Type := nat Z.
Definition key : Type := nat.
Definition empty: table := fun k ⇒ 0.
Definition get (k: key) (t: table) : Z := t k.
Definition incr (k: key) (t: table) : table :=
-    fun k'if Nat.eqb k' k then 1 + t k' else t k'.
Lemma gempty: k, get k empty = 0.
Definition table: Type := nat Z.
Definition key : Type := nat.
Definition empty: table := fun k ⇒ 0.
Definition get (k: key) (t: table) : Z := t k.
Definition incr (k: key) (t: table) : table :=
+    fun k'if Nat.eqb k' k then 1 + t k' else t k'.
Lemma gempty: k, get k empty = 0.
(* FILL IN HERE *) Admitted.
Lemma gss: k t, get k (incr k t) = 1+(get k t).
Lemma gss: k t, get k (incr k t) = 1+(get k t).
(* FILL IN HERE *) Admitted.
Lemma gso: j k t, j k get j (incr k t) = get j t.
Lemma gso: j k t, j k get j (incr k t) = get j t.
(* FILL IN HERE *) Admitted.
End FunTable.
@@ -371,33 +371,33 @@

HashfunFunctional model of hash tabl
Module IntHashTable <: COUNT_TABLE.
Definition hashtable_invariant (cts: hashtable_contents) : Prop :=
-  Zlength cts = N
-   i, 0 i < N
-             list_norepet (map fst (Znth i cts))
-              Forall (fun shashfun s mod N = i) (map fst (Znth i cts)).
Definition table := sig hashtable_invariant.
Definition key := list byte.

Definition hashtable_invariant (cts: hashtable_contents) : Prop :=
+  Zlength cts = N
+   i, 0 i < N
+             list_norepet (map fst (Znth i cts))
+              Forall (fun shashfun s mod N = i) (map fst (Znth i cts)).
Definition table := sig hashtable_invariant.
Definition key := list byte.

 Lemma empty_invariant: hashtable_invariant empty_table.
 Proof.
(* FILL IN HERE *) Admitted.

-Lemma incr_invariant: k cts,
-      hashtable_invariant cts hashtable_invariant (hashtable_incr k cts).
+Lemma incr_invariant: k cts,
+      hashtable_invariant cts hashtable_invariant (hashtable_incr k cts).
Proof.
(* FILL IN HERE *) Admitted.

Definition empty : table := exist _ _ empty_invariant.
Definition get : key table Z :=
-                  fun k tblhashtable_get k (proj1_sig tbl).
Definition incr : key table table :=
-       fun k tblexist _ _ (incr_invariant k _ (proj2_sig tbl)).

Theorem gempty: k, get k empty = 0.
Definition empty : table := exist _ _ empty_invariant.
Definition get : key table Z :=
+                  fun k tblhashtable_get k (proj1_sig tbl).
Definition incr : key table table :=
+       fun k tblexist _ _ (incr_invariant k _ (proj2_sig tbl)).

Theorem gempty: k, get k empty = 0.
 Proof.
(* FILL IN HERE *) Admitted.

Theorem gss: k t, get k (incr k t) = 1 + (get k t).
Theorem gss: k t, get k (incr k t) = 1 + (get k t).
 Proof.
(* FILL IN HERE *) Admitted.

Theorem gso: j k t, (* get-set-other *)
-      j k get j (incr k t) = get j t.
Theorem gso: j k t, (* get-set-other *)
+      j k get j (incr k t) = get j t.
Proof.
(* FILL IN HERE *) Admitted.
@@ -406,12 +406,12 @@

HashfunFunctional model of hash tabl
End IntHashTable.

-(* 2024-12-27 01:34 *)
+(* 2026-01-06 14:19 *)

diff --git a/vc-current/Hashfun.v b/vc-current/Hashfun.v index 053fe2643..c1996b2c1 100644 --- a/vc-current/Hashfun.v +++ b/vc-current/Hashfun.v @@ -328,4 +328,4 @@ Proof. End IntHashTable. -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/LICENSE b/vc-current/LICENSE index a332c0de1..733806a03 100644 --- a/vc-current/LICENSE +++ b/vc-current/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2024 +Copyright (c) 2026 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vc-current/Makefile b/vc-current/Makefile index 95de0f388..a75efe266 100644 --- a/vc-current/Makefile +++ b/vc-current/Makefile @@ -10,7 +10,7 @@ clean:: $(RM) $(wildcard Makefile.coq Makefile.coq.conf) Makefile.coq: - coq_makefile $(COQMFFLAGS) -o Makefile.coq $(ALLVFILES) + rocq makefile $(COQMFFLAGS) -o Makefile.coq $(ALLVFILES) -include Makefile.coq diff --git a/vc-current/Postscript.html b/vc-current/Postscript.html index 00023c668..61051757d 100644 --- a/vc-current/Postscript.html +++ b/vc-current/Postscript.html @@ -56,7 +56,7 @@

PostscriptPostcript and bibliography
  • Bins-based malloc/free system [Appel and Naumann 2020]
  • -
  • AES encryption, B+Trees, Tries of B+ trees (unpublished +
  • AES encryption, B+Trees, Tries of B+ trees (unpublished master's or undergraduate theses).
  • @@ -74,7 +74,7 @@

    PostscriptPostcript and bibliography The first-draft version of VST's module system -- for verifying multimodule C programs with .c and .h files -- is described in [Beringer 2019]. The newer version, using Verified Software Units, - is demonstrated in progs/VSUpile distributed with VST. + is demonstrated in progs/VSUpile distributed with VST. The description in [Beringer 2019] mostly matches the proofs in progs/VSUpile, but the proofs handle data abstraction using the methods described in the the VSU chapters of this volume. @@ -82,7 +82,7 @@

    PostscriptPostcript and bibliography

    Input/output

    To prove I/O using our Verifiable C logic, we treat the state of the - outside world as a resource in the SEP clause, alongside (but separating from) + outside world as a resource in the SEP clause, alongside (but separating from) in-memory conjuncts. Proved examples are in progs/io.c, progs/io_mem.c, and their proof files progs/verif_io.v, progs/verif_io_mem.v. Research papers describing these concepts include [Koh 2020] and @@ -101,7 +101,7 @@

    PostscriptPostcript and bibliography There are many static analyzers -- too numerous to list here -- that attempt to check safety of your program: will it crash? Will it access an array out of bounds, or dereference an uninitialized pointer? Static - analyzers can be useful in software engineering, but they have two major + analyzers can be useful in software engineering, but they have two major limitations:
    • They don't verify functional correctness -- that is, does your program @@ -122,8 +122,8 @@

      PostscriptPostcript and bibliography functional program logic, and use higher-order logic to prove correctness. For example:
        -
      • Write pure functional programs in Coq, prove them correct in Coq, then - extract them from Coq to OCaml or Haskell. See Volume 3 of Software +
      • Write pure functional programs in Rocq, prove them correct in Rocq, then + extract them From Stdlib to OCaml or Haskell. See Volume 3 of Software Foundations: Verified Functional Algorithms.
      • @@ -131,11 +131,11 @@

        PostscriptPostcript and bibliography same thing: write functional programs, prove them correct, extract, compile. -
      • You can write Haskell programs, compile with ghc, and import into Coq +
      • You can write Haskell programs, compile with ghc, and import into Rocq for verification using hs-to-coq [Spector-Zabusky 2018].
      • -
      • ACL2 is an older system, that uses a first-order logic. That's less +
      • ACL2 is an older system, that uses a first-order logic. That's less expressive, you don't get polymorphism or quantification, but there have been many successful applications of ACL2 in industry.
      • @@ -165,7 +165,7 @@

        PostscriptPostcript and bibliography ML with mutable references and arrays is also a high-level imperative language. CFML is a system for reasoning about imperative ML - programs using separation logic in Coq [Chargueraud 2010], + programs using separation logic in Rocq [Chargueraud 2010], soon to be described in another volume of Software Foundations. CakeML is a system for proving (and correctly compiling) ML programs in HOL [Kumar 2014]. @@ -194,7 +194,7 @@

        PostscriptPostcript and bibliography Unlike VST, where (as you have seen) the proof script is separate from the program, in both Frama-C and VeriFast you prove the program by inserting assertions and invariants into the program. the tools complete the - verification automatically -- or else, point out which assertions + verification automatically -- or else, point out which assertions have failed, so you can adjust your assertions and invariants, and try again.
        @@ -203,17 +203,17 @@

        PostscriptPostcript and bibliography express your function specifications, assertions, and invariants.
        • In VST, as you have seen, that language is a separation language - (PROP/LOCAL/SEP) embedded in Coq, so that the PROP, LOCAL, and SEP + (PROP/LOCAL/SEP) embedded in Rocq, so that the PROP, LOCAL, and SEP clauses can all make use of the full expressive power of the Calculus of Inductive Constructions (CiC). You have seen a simple example of - the expressive power of this approach, where we can use ordinary Coq + the expressive power of this approach, where we can use ordinary Rocq proofs in Hashfun, and directly connect them to separation-logic proofs in Verif_hash.
        • Frama-C uses a weaker assertion language, expressed in C syntax. That's a much weaker logic to reason in, and it doesn't directly connect to - a general-purpose logic (and proof assistant) like Coq. Also, since + a general-purpose logic (and proof assistant) like Rocq. Also, since Frama-C is not a separation logic, it can be difficult to reason about data structures. @@ -222,7 +222,7 @@

          PostscriptPostcript and bibliography it is separation logic, not just Hoare logic. That means you can reason about data structures. There's no artificial limitation to a C-like syntax in the assertion language. Unfortunately, VeriFast's assertion language - is not connected to a general-purpose logic (and proof assistant); that + is not connected to a general-purpose logic (and proof assistant); that means you can do refinement proofs (this C program implements that functional model), but it's not so easy to reason about properties of your functional models. @@ -237,7 +237,7 @@

          PostscriptPostcript and bibliography Formal reasoning about source programs is a good thing -- but once you've proved your source program correct, how do you know that is compiled - correctly? That is, + correctly? That is,
          • the compiler must not have bugs, and @@ -264,13 +264,13 @@

            PostscriptPostcript and bibliography future software verification efforts.

    -
    -(* 2024-12-27 01:34 *)
    + +(* 2026-01-07 13:38 *)
    diff --git a/vc-current/Postscript.v b/vc-current/Postscript.v index aad1328bd..476e1e4f6 100644 --- a/vc-current/Postscript.v +++ b/vc-current/Postscript.v @@ -70,12 +70,12 @@ A good way to write proved-correct software is to program in a pure functional program logic, and use higher-order logic to prove correctness. For example: - - Write pure functional programs in Coq, prove them correct in Coq, then - extract them from Coq to OCaml or Haskell. See Volume 3 of Software + - Write pure functional programs in Rocq, prove them correct in Rocq, then + extract them From Stdlib to OCaml or Haskell. See Volume 3 of Software Foundations: Verified Functional Algorithms. - In HOL systems (Higher-order Logic) such as Isabelle/HOL, you can do the same thing: write functional programs, prove them correct, extract, compile. - - You can write Haskell programs, compile with [ghc], and import into Coq + - You can write Haskell programs, compile with [ghc], and import into Rocq for verification using hs-to-coq [Spector-Zabusky 2018] (in Bib.v). - ACL2 is an older system, that uses a first-order logic. That's less expressive, you don't get polymorphism or quantification, but there @@ -98,7 +98,7 @@ ML with mutable references and arrays is also a high-level imperative language. CFML is a system for reasoning about imperative ML - programs using separation logic in Coq [Chargueraud 2010] (in Bib.v), + programs using separation logic in Rocq [Chargueraud 2010] (in Bib.v), soon to be described in another volume of _Software Foundations_. CakeML is a system for proving (and correctly compiling) ML programs in HOL [Kumar 2014] (in Bib.v). *) @@ -121,15 +121,15 @@ Each of these three systems has an assertion language, in which you express your function specifications, assertions, and invariants. - In VST, as you have seen, that language is a separation language - (PROP/LOCAL/SEP) embedded in Coq, so that the PROP, LOCAL, and SEP + (PROP/LOCAL/SEP) embedded in Rocq, so that the PROP, LOCAL, and SEP clauses can all make use of the full expressive power of the Calculus of Inductive Constructions (CiC). You have seen a simple example of - the expressive power of this approach, where we can use ordinary Coq + the expressive power of this approach, where we can use ordinary Rocq proofs in [Hashfun], and directly connect them to separation-logic proofs in [Verif_hash]. - Frama-C uses a weaker assertion language, expressed in C syntax. That's a much weaker logic to reason in, and it doesn't directly connect to - a general-purpose logic (and proof assistant) like Coq. Also, since + a general-purpose logic (and proof assistant) like Rocq. Also, since Frama-C is not a separation logic, it can be difficult to reason about data structures. - VeriFast uses a capable Dafny-like logic -- even more capable, since @@ -164,5 +164,4 @@ expressive enough to allow to verify them. We wish you success in your future software verification efforts. *) - -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/Preface.html b/vc-current/Preface.html index b90c1845a..030347a1f 100644 --- a/vc-current/Preface.html +++ b/vc-current/Preface.html @@ -42,10 +42,10 @@

    Preface

    Here's a good way to build formally verified correct software:
    • Write your program in an expressive language with a good proof - theory (the Gallina language embedded in Coq's logic). + theory (the Gallina language embedded in Rocq's logic).
    • -
    • Prove it correct in Coq. +
    • Prove it correct in Rocq.
    • Extract it to ML and compile it with an optimizing ML compiler. @@ -66,7 +66,7 @@

      Preface

      But you still want your OS, or crypto, or GC, to be correct! So - you should use machine-checked program verification in Coq. For + you should use machine-checked program verification in Rocq. For that purpose, you can use Verifiable C, a program logic and proof system for C. @@ -97,15 +97,15 @@

      Preface

      series, which presents the mathematical underpinnings of reliable software. The principal novelty of Software Foundations is that it is one hundred percent formalized and machine-checked: the - entire text is literally a script for Coq. It is intended to be - read alongside an interactive session with Coq. All the details - in the text are fully formalized in Coq, and the exercises are - designed to be worked using Coq. + entire text is literally a script for Rocq. It is intended to be + read alongside an interactive session with Rocq. All the details + in the text are fully formalized in Rocq, and the exercises are + designed to be worked using Rocq.
      Before studying this volume, you should be a competent user of - Coq: + Rocq:
      • Study Software Foundations Volume 1 (Logical Foundations), and do the exercises! @@ -136,13 +136,13 @@

        Preface

        - Coq runs on Windows, Linux, and OS X. The Preface of Volume 1 - describes the Coq installation you will need. This edition was - built with Coq 8.19.2. + Rocq runs on Windows, Linux, and OS X. The Preface of Volume 1 + describes the Rocq installation you will need. This edition was + built with Rocq 9.0.0.
        - You will need VST 2.12 installed. You can do that either by installing + You will need VST 2.16 installed. You can do that either by installing it as part of the standard "Coq Platform" that is released with each new version of Coq, or using opam (the package is named coq-vst). At the end of this chapter is a test to make sure you have the right @@ -150,14 +150,19 @@

        Preface

        - IF YOU USE OPAM, you can install Coq and CoqIDE using the - instructions at https://coq.inria.fr/opam-using.html + Note: As of January 2026, there is not yet a Coq Platform release for Rocq 9. + Install using opam as directed here. + +
        + + IF YOU USE OPAM, you can install Rocq and RocqIDE using the + instructions at https://rocq-prover.org/opam-using.html and then continue with,
        • opam update (as necessary)
        • -
        • opam install coq-vst.2.12 (this will take 30 minutes or more) +
        • opam install coq-vst.2.16 (this will take 30 minutes or more)
        @@ -171,12 +176,12 @@

        Preface

        or by opam (the package is named coq-compcert).
        -

        Downloading the Coq Files

        +

        Downloading the Rocq Files

        A tar file containing the full sources for the "release version" - of this book (as a collection of Coq scripts and HTML files) is + of this book (as a collection of Rocq scripts and HTML files) is available at https://softwarefoundations.cis.upenn.edu.
        @@ -258,9 +263,9 @@

        Preface

            title = "Verifiable C",
            series = "Software Foundations",
            volume = "5",
        -    year = "2024",
        +    year = "2026",
            publisher = "Electronic textbook",
        -    note = {Version 1.2.2, \URL{http://softwarefoundations.cis.upenn.edu} },
        +    note = {Version 2.0, \URL{http://softwarefoundations.cis.upenn.edu} },
            }
        @@ -289,9 +294,9 @@

        Preface

        -Require Import Coq.Strings.String.
        +Require Import Stdlib.Strings.String.
        Open Scope string.
        -Definition release_needed := "2.12".
        +Definition release_needed := "2.16".
        Require Import VST.veric.version. (* If this line fails, it means
                                              you don't have a VST installed. *)

        Goal release = release_needed.
        @@ -302,14 +307,14 @@

        Preface

        You have VST version"
        rel "but this version of 'Software Foundations Volume 5: Verifiable C'"
        "demands version" need ". If possible, install VST version" need
        -"using the Coq Platform or using opam. Or, if not from Coq Platform or opam,"
        +"using the Coq Platform or using opam. Or, if not From Stdlib Platform or opam,"
        "for instructions about building VST from source and accessing that version, see the README file in this directory."
        "Or, instead of installing VST" need ","
        "if you want to proceed using VST version" rel ","
        "then edit the Definition release_needed in Preface.v".
        Abort.

        -Require Import ZArith.
        +From Stdlib Require Import ZArith.
        Local Open Scope Z_scope.

        Require VC.stack. (* If this line fails, do 'make stack.vo' *)
        Goal VC.stack.Info.bitsize = VST.veric.version.bitsize.
        @@ -326,12 +331,12 @@

        Preface

        to install the properly configured clightgen outputs."
        "It is not necessary to have clightgen installed".
        Abort.

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)
        diff --git a/vc-current/Preface.v b/vc-current/Preface.v index abae82b2b..0d62811e1 100644 --- a/vc-current/Preface.v +++ b/vc-current/Preface.v @@ -5,8 +5,8 @@ (** Here's a good way to build formally verified correct software: - Write your program in an expressive language with a good proof - theory (the Gallina language embedded in Coq's logic). - - Prove it correct in Coq. + theory (the Gallina language embedded in Rocq's logic). + - Prove it correct in Rocq. - Extract it to ML and compile it with an optimizing ML compiler. Unfortunately, for some applications you cannot afford to use a @@ -18,7 +18,7 @@ low-level imperative systems programming language such as C. But you still want your OS, or crypto, or GC, to be correct! So - you should use machine-checked program verification in Coq. For + you should use machine-checked program verification in Rocq. For that purpose, you can use _Verifiable C_, a program logic and proof system for C. @@ -43,13 +43,13 @@ series, which presents the mathematical underpinnings of reliable software. The principal novelty of _Software Foundations_ is that it is one hundred percent formalized and machine-checked: the - entire text is literally a script for Coq. It is intended to be - read alongside an interactive session with Coq. All the details - in the text are fully formalized in Coq, and the exercises are - designed to be worked using Coq. + entire text is literally a script for Rocq. It is intended to be + read alongside an interactive session with Rocq. All the details + in the text are fully formalized in Rocq, and the exercises are + designed to be worked using Rocq. Before studying this volume, you should be a competent user of - Coq: + Rocq: - Study _Software Foundations Volume 1_ (Logical Foundations), and do the exercises! - Study the Hoare and Hoare2 chapters of _Software Foundations @@ -67,21 +67,24 @@ (* ================================================================= *) (** ** System Requirements *) -(** Coq runs on Windows, Linux, and OS X. The Preface of Volume 1 - describes the Coq installation you will need. This edition was - built with Coq 8.19.2. +(** Rocq runs on Windows, Linux, and OS X. The Preface of Volume 1 + describes the Rocq installation you will need. This edition was + built with Rocq 9.0.0. - You will need VST 2.12 installed. You can do that either by installing + You will need VST 2.16 installed. You can do that either by installing it as part of the standard "Coq Platform" that is released with each new version of Coq, or using opam (the package is named coq-vst). At the end of this chapter is a test to make sure you have the right version of VST installed. - _IF YOU USE OPAM_, you can install Coq and CoqIDE using the - instructions at https://coq.inria.fr/opam-using.html + Note: As of January 2026, there is not yet a Coq Platform release for Rocq 9. + Install using opam as directed here. + + _IF YOU USE OPAM_, you can install Rocq and RocqIDE using the + instructions at https://rocq-prover.org/opam-using.html and then continue with, - opam update (_as necessary_) - - opam install coq-vst.2.12 (_this will take 30 minutes or more_) + - opam install coq-vst.2.16 (_this will take 30 minutes or more_) _You do not need to install CompCert clightgen_ to do the exercises in this volume. But if you wish to modify and reparse the .c files, @@ -90,10 +93,10 @@ or by opam (the package is named coq-compcert). *) (* ================================================================= *) -(** ** Downloading the Coq Files *) +(** ** Downloading the Rocq Files *) (** A tar file containing the full sources for the "release version" - of this book (as a collection of Coq scripts and HTML files) is + of this book (as a collection of Rocq scripts and HTML files) is available at {https://softwarefoundations.cis.upenn.edu}. (If you are using the book as part of a class, your professor may @@ -145,9 +148,9 @@ title = "Verifiable C", series = "Software Foundations", volume = "5", - year = "2024", + year = "2026", publisher = "Electronic textbook", - note = {Version 1.2.2, \URL{http://softwarefoundations.cis.upenn.edu} }, + note = {Version 2.0, \URL{http://softwarefoundations.cis.upenn.edu} }, } *) @@ -167,9 +170,9 @@ 1521523, _The Science of Deep Specification_. *) (*** Check that we have the right version of VST *) -Require Import Coq.Strings.String. +Require Import Stdlib.Strings.String. Open Scope string. -Definition release_needed := "2.12". +Definition release_needed := "2.16". Require Import VST.veric.version. (* If this line fails, it means you don't have a VST installed. *) Goal release = release_needed. @@ -180,7 +183,7 @@ fail "The wrong version of VST is installed. You have VST version" rel "but this version of 'Software Foundations Volume 5: Verifiable C'" "demands version" need ". If possible, install VST version" need -"using the Coq Platform or using opam. Or, if not from Coq Platform or opam," +"using the Coq Platform or using opam. Or, if not From Stdlib Platform or opam," "for instructions about building VST from source and accessing that version, see the README file in this directory." "Or, instead of installing VST" need "," @@ -188,7 +191,7 @@ see the README file in this directory." "then edit the Definition release_needed in Preface.v". Abort. -Require Import ZArith. +From Stdlib Require Import ZArith. Local Open Scope Z_scope. Require VC.stack. (* If this line fails, do 'make stack.vo' *) @@ -207,4 +210,4 @@ to install the properly configured clightgen outputs." "It is not necessary to have clightgen installed". Abort. -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/README b/vc-current/README index db04b84e2..fe634f5d3 100644 --- a/vc-current/README +++ b/vc-current/README @@ -2,7 +2,7 @@ SOFTWARE FOUNDATIONS ######################################################################### -This directory contains both Coq scripts (.v files) and more readable +This directory contains both Rocq scripts (.v files) and more readable HTML files for Verifiable C, by Andrew W. Appel et al., volume [VC] of the Software Foundations series. @@ -13,7 +13,7 @@ volume [VC] of the Software Foundations series. - index.html The book's cover page and navigation starting point - - deps.html + - deps.html Overview of the ordering of chapters - LICENSE diff --git a/vc-current/Spec_stack.html b/vc-current/Spec_stack.html index 1df45986b..774ecb734 100644 --- a/vc-current/Spec_stack.html +++ b/vc-current/Spec_stack.html @@ -104,7 +104,7 @@

        Spec_stackVSU specification of the S
        Record StackAPD := {
        -  stackrep: list Z val mpred;
        +  stackrep: list Z val mpred;
          stackrep_local_facts: il p, stackrep il p |-- !! (isptr p);
          stackrep_valid_pointer: il p, stackrep il p |-- valid_pointer p
        }.
        @@ -189,34 +189,34 @@

        Spec_stackVSU specification of the S Locate mem_mgr. (* short for  VC.Spec_stdlib.mem_mgr *)
        Check mem_mgr. (* MallocFreeAPD -> globals -> mpred. *)

        -Definition newstack_spec : ident × funspec :=
        +Definition newstack_spec : ident × funspec :=
         DECLARE _newstack
        WITH gv: globals
        WITH gv: globals
         PRE [ ]
        -    PROP () PARAMS() GLOBALS(gv) SEP (mem_mgr M gv)
        +    PROP () PARAMS() GLOBALS(gv) SEP (mem_mgr M gv)
         POST [ tptr (Tstruct _stack noattr) ]
        -    EX p: val, PROP ( ) RETURN (p)
        -               SEP (stackrep STACK nil p; mem_mgr M gv).

        -Definition push_spec : ident × funspec :=
        +    EX p: val, PROP ( ) RETURN (p)
        +               SEP (stackrep STACK nil p; mem_mgr M gv).

        +Definition push_spec : ident × funspec :=
         DECLARE _push
        WITH p: val, i: Z, il: list Z, gv: globals
        WITH p: val, i: Z, il: list Z, gv: globals
         PRE [ tptr (Tstruct _stack noattr), tint ]
        -    PROP (Int.min_signed i Int.max_signed)
        -    PARAMS (p; Vint (Int.repr i)) GLOBALS(gv)
        -    SEP (stackrep STACK il p; mem_mgr M gv)
        +    PROP (Int.min_signed i Int.max_signed)
        +    PARAMS (p; Vint (Int.repr i)) GLOBALS(gv)
        +    SEP (stackrep STACK il p; mem_mgr M gv)
         POST [ tvoid ]
            PROP ( ) RETURN ()
        -    SEP (stackrep STACK (i::il) p; mem_mgr M gv).

        -Definition pop_spec : ident × funspec :=
        +    SEP (stackrep STACK (i::il) p; mem_mgr M gv).

        +Definition pop_spec : ident × funspec :=
         DECLARE _pop
        WITH p: val, i: Z, il: list Z, gv: globals
        WITH p: val, i: Z, il: list Z, gv: globals
         PRE [ tptr (Tstruct _stack noattr) ]
            PROP ()
        -    PARAMS (p) GLOBALS(gv)
        -    SEP (stackrep STACK (i::il) p; mem_mgr M gv)
        +    PARAMS (p) GLOBALS(gv)
        +    SEP (stackrep STACK (i::il) p; mem_mgr M gv)
         POST [ tint ]
        -    PROP ( ) RETURN (Vint (Int.repr i))
        -    SEP (stackrep STACK il p; mem_mgr M gv).
        +    PROP ( ) RETURN (Vint (Int.repr i))
        +    SEP (stackrep STACK il p; mem_mgr M gv).

        @@ -225,7 +225,7 @@

        Spec_stackVSU specification of the S

        -Definition StackASI : funspecs := [ newstack_spec; push_spec; pop_spec ].

        +Definition StackASI : funspecs := [ newstack_spec; push_spec; pop_spec ].

        End StackASI.
        @@ -242,12 +242,12 @@

        Spec_stackVSU specification of the S
        -(* 2024-12-27 01:34 *)
        +(* 2026-01-06 14:19 *)
        diff --git a/vc-current/Spec_stack.v b/vc-current/Spec_stack.v index 0370d3bf6..35195d195 100644 --- a/vc-current/Spec_stack.v +++ b/vc-current/Spec_stack.v @@ -153,4 +153,4 @@ Check StackASI. (* : MallocFreeAPD -> StackAPD -> funspecs *) (* ================================================================= *) (** ** Next Chapter: [Spec_triang] *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/Spec_stdlib.html b/vc-current/Spec_stdlib.html index e291bea06..b0ec29d47 100644 --- a/vc-current/Spec_stdlib.html +++ b/vc-current/Spec_stdlib.html @@ -91,10 +91,10 @@

        Spec_stdlibSpecification of external
        Record MallocFreeAPD := {
        -   mem_mgr: globals mpred;
        -   malloc_token_sz: share Z val mpred;
        +   mem_mgr: globals mpred;
        +   malloc_token_sz: share Z val mpred;
           malloc_token_sz_valid_pointer: sh sz p,
        -      sz 0 malloc_token_sz sh sz p |-- valid_pointer p;
        +      sz 0 malloc_token_sz sh sz p |-- valid_pointer p;
           malloc_token_sz_local_facts: sh sz p,
              malloc_token_sz sh sz p |-- !! malloc_compatible sz p
        }.

        @@ -125,30 +125,30 @@

        Spec_stdlibSpecification of external Definition malloc_spec_sz :=
         DECLARE _malloc
        -   WITH n:Z, gv: globals
        +   WITH n:Z, gv: globals
           PRE [ size_t ]
        -       PROP (0 n Ptrofs.max_unsigned)
        -       PARAMS (Vptrofs (Ptrofs.repr n)) GLOBALS (gv)
        -       SEP (mem_mgr M gv)
        -    POST [ tptr tvoid ] EX p:_,
        +       PROP (0 n Ptrofs.max_unsigned)
        +       PARAMS (Vptrofs (Ptrofs.repr n)) GLOBALS (gv)
        +       SEP (mem_mgr M gv)
        +    POST [ tptr tvoid ] EX p:_,
               PROP ()
        -       LOCAL (temp ret_temp p)
        -       SEP (mem_mgr M gv;
        -             if eq_dec p nullval then emp
        -            else (malloc_token_sz M Ews n p × memory_block Ews n p)).

        +       LOCAL (temp ret_temp p)
        +       SEP (mem_mgr M gv;
        +             if eq_dec p nullval then emp
        +            else (malloc_token_sz M Ews n p × memory_block Ews n p)).

        Definition free_spec_sz :=
         DECLARE _free
        -   WITH n:Z, p:val, gv: globals
        +   WITH n:Z, p:val, gv: globals
           PRE [ tptr tvoid ]
               PROP ()
        -       PARAMS (p) GLOBALS (gv)
        -       SEP (mem_mgr M gv;
        -              if eq_dec p nullval then emp
        -              else (malloc_token_sz M Ews n p × memory_block Ews n p))
        +       PARAMS (p) GLOBALS (gv)
        +       SEP (mem_mgr M gv;
        +              if eq_dec p nullval then emp
        +              else (malloc_token_sz M Ews n p × memory_block Ews n p))
            POST [ Tvoid ]
               PROP ()
               LOCAL ()
        -       SEP (mem_mgr M gv).
        +       SEP (mem_mgr M gv).

        @@ -159,11 +159,11 @@

        Spec_stdlibSpecification of external Definition exit_spec :=
         DECLARE _exit
        WITH i: Z
        WITH i: Z
         PRE [tint]
        -   PROP () PARAMS (Vint (Int.repr i)) GLOBALS () SEP()
        +   PROP () PARAMS (Vint (Int.repr i)) GLOBALS () SEP()
         POST [ tvoid ]
        -   PROP(False) LOCAL() SEP().
        +   PROP(False) LOCAL() SEP().

        @@ -172,7 +172,7 @@

        Spec_stdlibSpecification of external

        @@ -188,11 +188,11 @@

        Spec_stdlibSpecification of external
        -Definition malloc_token {cs: compspecs} (M:MallocFreeAPD) sh t v :=
        -   !! field_compatible t [] v &&
        -   malloc_token_sz M sh (sizeof t) v.

        -Lemma malloc_token_valid_pointer: {cs: compspecs} M sh t p,
        -      sizeof t 0 malloc_token M sh t p |-- valid_pointer p.
        +Definition malloc_token {cs: compspecs} (M:MallocFreeAPD) sh t v :=
        +   !! field_compatible t [] v &&
        +   malloc_token_sz M sh (sizeof t) v.

        +Lemma malloc_token_valid_pointer: {cs: compspecs} M sh t p,
        +      sizeof t 0 malloc_token M sh t p |-- valid_pointer p.
        Proof. intros. unfold malloc_token.
         apply andp_left2. apply malloc_token_sz_valid_pointer; auto.
        Qed.

        @@ -202,15 +202,15 @@

        Spec_stdlibSpecification of external   match goal with ⊢ ?A |-- valid_pointer ?p
           match A with
           | context [malloc_token _ _ ?t p] ⇒
        -         try (assert (sizeof t 0)
        -          by (simpl sizeof in *; rep_lia); fail 1);
        -         try (assert (sizeof t > 0)
        -          by (simpl sizeof in *; rep_lia); fail 1);
        +         try (assert (sizeof t 0)
        +          by (simpl sizeof in *; rep_lia); fail 1);
        +         try (assert (sizeof t > 0)
        +          by (simpl sizeof in *; rep_lia); fail 1);
                 destruct (zlt 0 (sizeof t));
                 auto with valid_pointer
           | context [malloc_token_sz _ _ ?n p] ⇒
        -         try (assert (n 0) by rep_lia; fail 1);
        -         try (assert (n > 0) by rep_lia; fail 1);
        +         try (assert (n 0) by rep_lia; fail 1);
        +         try (assert (n > 0) by rep_lia; fail 1);
                 destruct (zlt 0 n);
                 auto with valid_pointer
           end
        @@ -218,8 +218,8 @@

        Spec_stdlibSpecification of external #[export] Hint Extern 1 (malloc_token _ _ _ _ |-- valid_pointer _) ⇒
          (simple apply malloc_token_valid_pointer; data_at_valid_aux) : valid_pointer.
        #[export] Hint Extern 4 (_ |-- valid_pointer _) ⇒ malloc_token_data_at_valid_pointer : valid_pointer.

        -Lemma malloc_token_local_facts: {cs: compspecs} M sh t p,
        -      malloc_token M sh t p |-- !! (field_compatible t [] p malloc_compatible (sizeof t) p).
        +Lemma malloc_token_local_facts: {cs: compspecs} M sh t p,
        +      malloc_token M sh t p |-- !! (field_compatible t [] p malloc_compatible (sizeof t) p).
        Proof. intros.
         unfold malloc_token.
         normalize. rewrite prop_and.
        @@ -227,34 +227,34 @@

        Spec_stdlibSpecification of external  apply malloc_token_sz_local_facts.
        Qed.
        #[export] Hint Resolve malloc_token_local_facts : saturate_local.

        -Definition malloc_spec (M:MallocFreeAPD) {cs: compspecs} (t: type) :=
        +Definition malloc_spec (M:MallocFreeAPD) {cs: compspecs} (t: type) :=
         DECLARE _malloc
        -   WITH gv: globals
        +   WITH gv: globals
           PRE [ size_t ]
        -       PROP (0 sizeof t Ptrofs.max_unsigned;
        -                complete_legal_cosu_type t = true;
        -                natural_aligned natural_alignment t = true)
        -       PARAMS (Vptrofs (Ptrofs.repr (sizeof t))) GLOBALS (gv)
        -       SEP (mem_mgr M gv)
        -    POST [ tptr tvoid ] EX p:_,
        +       PROP (0 sizeof t Ptrofs.max_unsigned;
        +                complete_legal_cosu_type t = true;
        +                natural_aligned natural_alignment t = true)
        +       PARAMS (Vptrofs (Ptrofs.repr (sizeof t))) GLOBALS (gv)
        +       SEP (mem_mgr M gv)
        +    POST [ tptr tvoid ] EX p:_,
               PROP ()
        -       LOCAL (temp ret_temp p)
        -       SEP (mem_mgr M gv;
        -             if eq_dec p nullval then emp
        -            else (malloc_token M Ews t p × data_at_ Ews t p)).

        -Definition free_spec (M:MallocFreeAPD) {cs: compspecs} (t: type) :=
        +       LOCAL (temp ret_temp p)
        +       SEP (mem_mgr M gv;
        +             if eq_dec p nullval then emp
        +            else (malloc_token M Ews t p × data_at_ Ews t p)).

        +Definition free_spec (M:MallocFreeAPD) {cs: compspecs} (t: type) :=
         DECLARE _free
        -   WITH p: val, gv: globals
        +   WITH p: val, gv: globals
           PRE [ tptr tvoid ]
               PROP ()
        -       PARAMS (p) GLOBALS (gv)
        -       SEP (mem_mgr M gv;
        -              if eq_dec p nullval then emp
        -              else (malloc_token M Ews t p × data_at_ Ews t p))
        +       PARAMS (p) GLOBALS (gv)
        +       SEP (mem_mgr M gv;
        +              if eq_dec p nullval then emp
        +              else (malloc_token M Ews t p × data_at_ Ews t p))
            POST [ Tvoid ]
               PROP ()
               LOCAL ()
        -       SEP (mem_mgr M gv).
        +       SEP (mem_mgr M gv).

        @@ -277,27 +277,27 @@

        Spec_stdlibSpecification of external
        Lemma malloc_spec_sub:
        (M:MallocFreeAPD) {cs: compspecs} (t: type),
        -   funspec_sub (snd (malloc_spec_sz M)) (snd (malloc_spec M t)).
        (M:MallocFreeAPD) {cs: compspecs} (t: type),
        +   funspec_sub (snd (malloc_spec_sz M)) (snd (malloc_spec M t)).
        Proof.
          do_funspec_sub. rename w into gv. clear H.
        -  Exists (sizeof t, gv) emp. simpl; entailer!.
        +  Exists (sizeof t, gv) emp. simpl; entailer!.
          intros tau ? ?. Exists (eval_id ret_temp tau).
          entailer!.
          if_tac; auto.
          unfold malloc_token.
        -  assert_PROP (field_compatible t [] (eval_id ret_temp tau)).
        +  assert_PROP (field_compatible t [] (eval_id ret_temp tau)).
          { entailer!.
            apply malloc_compatible_field_compatible; auto. }
          entailer!.
          rewrite memory_block_data_at_; auto.
        Qed.

        Lemma free_spec_sub:
        (M:MallocFreeAPD) {cs: compspecs} (t: type),
        -   funspec_sub (snd (free_spec_sz M)) (snd (free_spec M t)).
        (M:MallocFreeAPD) {cs: compspecs} (t: type),
        +   funspec_sub (snd (free_spec_sz M)) (snd (free_spec M t)).
        Proof.
          do_funspec_sub. destruct w as [p gv]. clear H.
        -  Exists (sizeof t, p, gv) emp. simpl; entailer!.
        +  Exists (sizeof t, p, gv) emp. simpl; entailer!.
          if_tac; trivial.
          sep_apply data_at__memory_block_cancel.
          unfold malloc_token; entailer!.
        @@ -337,12 +337,12 @@

        Spec_stdlibSpecification of external

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-06 14:19 *)

        diff --git a/vc-current/Spec_stdlib.v b/vc-current/Spec_stdlib.v index 60179e224..f2a383733 100644 --- a/vc-current/Spec_stdlib.v +++ b/vc-current/Spec_stdlib.v @@ -256,4 +256,4 @@ Qed. (* ================================================================= *) (** ** Next Chapter: [VSU_stack] *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/Spec_triang.html b/vc-current/Spec_triang.html index 9d641ec6e..be1f5f507 100644 --- a/vc-current/Spec_triang.html +++ b/vc-current/Spec_triang.html @@ -167,9 +167,9 @@

        Spec_triangVSU specification of the maxium integer, so that the triangular number does not overflow.
        -Definition triang_spec : ident × funspec :=
        +Definition triang_spec : ident × funspec :=
         DECLARE _triang
        WITH gv: globals (*... more WITH variables... *)
        WITH gv: globals (*... more WITH variables... *)
        (* FILL IN HERE *)
         PRE [
        (* FILL IN HERE *)
        @@ -180,8 +180,8 @@

        Spec_triangVSU specification of the     PARAMS(
        (* FILL IN HERE *)
             )
        -    GLOBALS(gv)
        -    SEP (mem_mgr M gv)
        +    GLOBALS(gv)
        +    SEP (mem_mgr M gv)
         POST [ tint ]
            (* Suggestion: this postcondition does not need an EX, but you 
               may add one if you wish to. *)

        @@ -191,7 +191,7 @@

        Spec_triangVSU specification of the     RETURN (
        (* FILL IN HERE *)
            )
        -    SEP (mem_mgr M gv).
        +    SEP (mem_mgr M gv).

        @@ -218,7 +218,7 @@

        Spec_triangVSU specification of the

        -Definition TriangASI : funspecs := [ triang_spec ].

        +Definition TriangASI : funspecs := [ triang_spec ].

        End TriangASI.
        @@ -235,12 +235,12 @@

        Spec_triangVSU specification of the
        -(* 2024-12-27 01:34 *)
        +(* 2026-01-06 14:19 *)
        diff --git a/vc-current/Spec_triang.v b/vc-current/Spec_triang.v index e2cbc6498..669434694 100644 --- a/vc-current/Spec_triang.v +++ b/vc-current/Spec_triang.v @@ -147,4 +147,4 @@ Check TriangASI. (* : MallocFreeAPD -> funspecs *) (* ================================================================= *) (** ** Next Chapter: [Spec_stdlib] *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/VSU_intro.html b/vc-current/VSU_intro.html index bbce086e2..5cb64d09f 100644 --- a/vc-current/VSU_intro.html +++ b/vc-current/VSU_intro.html @@ -41,7 +41,7 @@

        VSU_introIntroduction to Verified So You've now seen how to verify programs that use many of C's data structures (arrays, pointers, structs, integers) and control - structures (functions, if-then-else, loops), and abstraction + structures (functions, if-then-else, loops), and abstraction structures (data abstraction, module interfaces). The capstone exercise (hash tables) demonstrated all of these at once, in addition to a key concept: layering the proof using a functional model, @@ -54,7 +54,7 @@

        VSU_introIntroduction to Verified So
        - VST's facility for verifying modular programs is called "Verified + VST's facility for verifying modular programs is called "Verified Software Units," designed and implemented by Lennart Beringer.
        @@ -85,7 +85,7 @@

        VSU_introIntroduction to Verified So Although the C programming language has the notion of static functions and variables that are "global" only within a .c file, and not exported from - that .c file, we will not rely on this feature; + that .c file, we will not rely on this feature;
        • in part because a single "module" may be implemented in more than one .c file, to which the static keyword does not generalize; @@ -115,7 +115,7 @@

          VSU_introIntroduction to Verified So
          • Model_stack.v, the functional model, just in the sense that hash.v is the functional model for our hash table. But the functional model for stacks - is so simple -- just Coq lists -- that we will merge that into Spec_stack.v. + is so simple -- just Rocq lists -- that we will merge that into Spec_stack.v.
          • Spec_stack.v, the API specification of the stack module. This is the one that @@ -139,7 +139,7 @@

            VSU_introIntroduction to Verified So
            As an exercise in VSU verification, we will use the stack.c program - that was introduced in Verif_stack and Verif_triang. + that was introduced in Verif_stack and Verif_triang. But first we'll break it up into modules:

            stdlib.h

            @@ -202,12 +202,12 @@

            VSU_introIntroduction to Verified So
            -(* 2024-12-27 01:34 *)
            +(* 2026-01-07 13:38 *)
            diff --git a/vc-current/VSU_intro.v b/vc-current/VSU_intro.v index 74b020210..b4421d2e7 100644 --- a/vc-current/VSU_intro.v +++ b/vc-current/VSU_intro.v @@ -46,7 +46,7 @@ VSU verification of a module (for example, "Stack") usually comprises these separate files: - [Model_stack.v], the functional model, just in the sense that [hash.v] is the functional model for our hash table. But the functional model for stacks - is so simple -- just Coq lists -- that we will merge that into Spec_stack.v. + is so simple -- just Rocq lists -- that we will merge that into Spec_stack.v. - [Spec_stack.v], the API specification of the stack module. This is the one that clients import; it contains (for example) funspecs and the names of abstract data types (ADTs). The important thing is that it contains @@ -111,4 +111,4 @@ (* ================================================================= *) (** ** Next Chapter: [Spec_stack] *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/VSU_main.html b/vc-current/VSU_main.html index e17008451..6dcd65908 100644 --- a/vc-current/VSU_main.html +++ b/vc-current/VSU_main.html @@ -47,7 +47,7 @@

            VSU_mainlinking all the VSUs togethe That won't be very noticeable in this example (stdlib/stack/triang/main), because none of the modules has global variables. But in general, each module has its own - "extern" or "static" global variables, initialized or default-zero-initialized. They + "extern" or "static" global variables, initialized or default-zero-initialized. They constitute the initial footprint (in the separation-logic sense) of the program.
            @@ -72,7 +72,7 @@

            VSU_mainlinking all the VSUs togethe
            - When verifying any program in VST, the precondition of main (written as main_pre) + When verifying any program in VST, the precondition of main (written as main_pre) contains all of these global variables. The start_function tactic for VSUs has the job of abstracting these into into module-specific APDs, using the mkInitPred lemma that comes with each VSU, as you will see. @@ -142,9 +142,9 @@

            VSU_mainlinking all the VSUs togethe
          • Externs : functions entirely external to the whole C program, such as system calls and assembly-language functions that we won't prove in VST. The function-specifications (funspecs) that we give for these functions are - axioms (but see "Connecting Higher-Order Separation Logic to a + axioms (but see "Connecting Higher-Order Separation Logic to a First-Order Outside World" by Mansky et al. 2020 to see how these axioms - can be proved as theorems in Coq). + can be proved as theorems in Rocq).
          • Imports: functions external to this module, but which will be proved in other VSUs; @@ -157,7 +157,7 @@

            VSU_mainlinking all the VSUs togethe
          • G: funspecs of internal functions of the module. Since these functions are not exported, not used in other modules, we don't need to "publish" these funspecs; they existed only in support of semax_body proofs of the exported - functions. Therefore, the G list is private to the VSU, and hidden by Coq's + functions. Therefore, the G list is private to the VSU, and hidden by Rocq's opacity mechanisms.
            @@ -189,7 +189,7 @@

            VSU_mainlinking all the VSUs togethe When we link VSUs, C=linkVSUs(A,B), the Imports of C are the union of the Imports of A and B, minus the defined functions (and externs) of A and B. So, for example, newstack,push,pop are imported by triangVSU, - but they are not in the Imports of stacktriangVSU because they are provided + but they are not in the Imports of stacktriangVSU because they are provided by stackVSU.
            @@ -212,7 +212,7 @@

            VSU_mainlinking all the VSUs togethe
            - To make a stack+triang VSU that exports only triang, we start with + To make a stack+triang VSU that exports only triang, we start with stacktriangVSU1, and privatize the three functions that we want to hide from clients. As follows: @@ -220,7 +220,7 @@

            VSU_mainlinking all the VSUs togethe Definition stacktriangVSU :=
             privatizeExports stacktriangVSU1
            -  [stack2._newstack; stack2._push; stack2._pop].
            +  [stack2._newstack; stack2._push; stack2._pop].
            @@ -254,10 +254,10 @@

            VSU_mainlinking all the VSUs togethe

            -Time Definition coreVSU :=
            +Time Definition coreVSU :=
               privatizeExports
               ltac:(linkVSUs stacktriangVSU VSU_stdlib.MallocFreeVSU)
            -  [stdlib._malloc; stdlib._free; stdlib._exit] .

            +  [stdlib._malloc; stdlib._free; stdlib._exit] .

            Eval simpl in VSU_Externs coreVSU. (* malloc, free, exit *)
            Eval simpl in VSU_Imports coreVSU. (* nil *)
            Eval simpl in VSU_Exports coreVSU. (* triang *)
            @@ -282,7 +282,7 @@

            VSU_mainlinking all the VSUs togethe
            The main point about whole_prog is that it contains the intializers for - every global variable including main. + every global variable including main.
            @@ -320,8 +320,8 @@

            VSU_mainlinking all the VSUs togethe Definition main_spec :=
             DECLARE _main
            WITH gv: globals
            PRE [ ] main_pre whole_prog tt gv
            WITH gv: globals
            PRE [ ] main_pre whole_prog tt gv
             POST[ tint ]
                PROP()
                RETURN (Vint (Int.repr 55))
            @@ -367,7 +367,7 @@

            VSU_mainlinking all the VSUs togethe
            Definition Main_imports: funspecs := Spec_triang.TriangASI M.
            -Definition Main_Gprog : funspecs := main_spec :: Main_imports.
            +Definition Main_Gprog : funspecs := Main_imports ++ [main_spec].
            @@ -405,7 +405,7 @@

            VSU_mainlinking all the VSUs togethe
            Now, as usual prove correctness of the function body. Start with a - forward_call(XX) to the triang function. The parameter XX will + forward_call(XX) to the triang function. The parameter XX will depend on what you have put in the WITH clause of the triang_spec in Spec_triang.

            @@ -416,7 +416,7 @@

            VSU_mainlinking all the VSUs togethe
            Exercise: Once you've finished the proof of body_main, go back and delete the fold M near the top of body_main, and proceed to the point immediately - after the forward_call. You'll probably see an extra proof obligation here, + after the forward_call. You'll probably see an extra proof obligation here, which is provable by (fold M; cancel). That suggests why the fold M is useful at the top of the function.
            @@ -427,19 +427,19 @@

            VSU_mainlinking all the VSUs togethe There are several different concepts (and types) here:
              -
            • Clight.program is the Abstract Syntax Tree (AST) of a Clight program +
            • Clight.program is the Abstract Syntax Tree (AST) of a Clight program as produced by clightgen;
            • QP.program is an alternate version of that AST that's more - efficient to link computationally in Coq; + efficient to link computationally in Rocq;
            • Component is a set of correctness proofs (and other property proofs) about a QP.program;
            • -
            • VSU is a Component with its internal funspecs hidden by Coq's abstraction +
            • VSU is a Component with its internal funspecs hidden by Rocq's abstraction mechanism (sigT), and with the component's varspecs in a standard form.
            • @@ -454,7 +454,7 @@

              VSU_mainlinking all the VSUs togethe

            -Definition MainComp: MainCompType nil ltac:(QPprog prog) coreVSU whole_prog (snd main_spec) emp.
            +Definition MainComp: MainCompType nil ltac:(QPprog prog) coreVSU whole_prog (snd main_spec) emp.
            Proof.
            mkComponent prog.
            @@ -487,8 +487,8 @@

            VSU_mainlinking all the VSUs togethe
          • snd main_spec, the funspec of the main function;
          • -
          • emp, the separation-logic characterization of all the global variables - of main.c (in this case, there are none). +
          • emp, the separation-logic characterization of all the global variables + of main.c (in this case, there are none).
          @@ -516,13 +516,13 @@

          VSU_mainlinking all the VSUs togethe
          VST's program logic is proved sound with respect to the operational semantics - of Clight. That means, + of Clight. That means,
          • if you prove in VST that some program satisfies its specification, written as @semax_prog Espec CompSpecs prog init V G
          • -
          • then (in the operational semantics of CompCert Clight) it will behave +
          • then (in the operational semantics of CompCert Clight) it will behave according to that specification.
          • @@ -560,18 +560,18 @@

            VSU_mainlinking all the VSUs togethe

          - meaning "the program runs safely, interacting correctly as specified + meaning "the program runs safely, interacting correctly as specified with its external environment."
          What we want from the VSU system is a proof that the C program you get by - linking all these VSUs together (with the MainComponent) satisfies semax_prog. + linking all these VSUs together (with the MainComponent) satisfies semax_prog. And here is that theorem:
          -Lemma WholeProgSafe: WholeProgSafeType WholeComp tt.
          +Lemma WholeProgSafe: WholeProgSafeType WholeComp tt.
          Proof. proveWholeProgSafe. Qed.
          @@ -580,15 +580,15 @@

          VSU_mainlinking all the VSUs togethe
          -Eval red in (WholeProgSafeType WholeComp tt).
          +Eval red in (WholeProgSafeType WholeComp tt).
          (*   {G : funspecs
                 | semax_prog (prog_of_component WholeComp) tt (QPvarspecs whole_prog) G} *)

          or in other words, there exists a complete set G of funspecs (for all the - functions in the program) such that the Clight program corresponding to - the WholeComponent is proved correct. Now we could apply + functions in the program) such that the Clight program corresponding to + the WholeComponent is proved correct. Now we could apply whole_program_sequential_safety_ext to get the corollary that the program runs correctly.
          @@ -598,12 +598,12 @@

          VSU_mainlinking all the VSUs togethe

          -(* 2024-12-27 01:34 *)
          +(* 2026-01-07 13:38 *)
          diff --git a/vc-current/VSU_main.v b/vc-current/VSU_main.v index b5ff30920..f22307ebd 100644 --- a/vc-current/VSU_main.v +++ b/vc-current/VSU_main.v @@ -73,14 +73,14 @@ Definition triangVSU := VSU_triang.TriangVSU M STACK. function-specifications (funspecs) that we give for these functions are _axioms_ (but see "Connecting Higher-Order Separation Logic to a First-Order Outside World" by Mansky et al. 2020 to see how these axioms - can be proved as theorems in Coq). + can be proved as theorems in Rocq). - [Imports]: functions external to _this_ module, but which will be proved in other VSUs; the [Imports] list says what funspecs we assume about them. - [Exports]: functions exported from this module, with funspecs guaranteed by proofs. - [G]: funspecs of _internal_ functions of the module. Since these functions are not exported, not used in other modules, we don't need to "publish" these funspecs; they existed only in support of [semax_body] proofs of the exported - functions. Therefore, the [G] list is private to the VSU, and hidden by Coq's + functions. Therefore, the [G] list is private to the VSU, and hidden by Rocq's opacity mechanisms. Let's examine the Externs, Imports, and Exports of StackVSU and TriangVSU: *) @@ -213,7 +213,7 @@ Definition Vprog: varspecs := QPvarspecs whole_prog. module plus the Imports of this module. *) Definition Main_imports: funspecs := Spec_triang.TriangASI M. -Definition Main_Gprog : funspecs := main_spec :: Main_imports. +Definition Main_Gprog : funspecs := Main_imports ++ [main_spec]. (* ################################################################# *) (** * Proof of body_main *) @@ -259,10 +259,10 @@ fold M. (* See "Exercise: Delete" below to see why this is needed *) - [Clight.program] is the Abstract Syntax Tree (AST) of a Clight program as produced by clightgen; - [QP.program] is an alternate version of that AST that's more - efficient to link computationally in Coq; + efficient to link computationally in Rocq; - [Component] is a set of correctness proofs (and other property proofs) about a QP.program; - - [VSU] is a [Component] with its internal funspecs hidden by Coq's abstraction + - [VSU] is a [Component] with its internal funspecs hidden by Rocq's abstraction mechanism (sigT), and with the component's varspecs in a standard form. Unlike ordinary modules, we don't turn main.c (or the module containing main()) @@ -348,4 +348,4 @@ Eval red in (WholeProgSafeType WholeComp tt). (* ================================================================= *) (** ** Next Chapter: [VSU_stdlib2] *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/VSU_main2.html b/vc-current/VSU_main2.html index eae5d5c8f..5639204ae 100644 --- a/vc-current/VSU_main2.html +++ b/vc-current/VSU_main2.html @@ -35,13 +35,13 @@

          VSU_main2linking with stdlib2 instea
          - In this chapter we link the stack/triang program with + In this chapter we link the stack/triang program with stdlib2 (our internal implementation of malloc/free/exit) instead of with stdlib (which axiomatizes malloc/free/exit as external functions).
          - Both programs use the exact same main.c program: + Both programs use the exact same main.c program:
           #include <stddef.h>
           #include "stdlib.h"
          @@ -57,14 +57,14 @@ 

          VSU_main2linking with stdlib2 instea
          -The Coq code in this chapter is practically the same as in VSU_main, +The Rocq code in this chapter is practically the same as in VSU_main, since the client program (main.c) should be oblivious of private data representations (etc.) of the stdlib module. The only difference is that in some places it says stdlib2 instead of stdlib.
          -In addition, we illustrate a new concept, restrictExports, a more general +In addition, we illustrate a new concept, restrictExports, a more general mechanism than privatizeExports.
          @@ -85,7 +85,7 @@

          VSU_main2linking with stdlib2 instea #[export] Instance Compspecs: compspecs. make_compspecs VC.main2.prog. Defined.

          Definition M : Spec_stdlib.MallocFreeAPD := VSU_stdlib2.M.
          Definition STACK : Spec_stack.StackAPD := VSU_stack.STACK M.

          -Time Definition stacktriangVSU1 := ltac:(linkVSUs
          +Time Definition stacktriangVSU1 := ltac:(linkVSUs
                   (VSU_stack.StackVSU M) (VSU_triang.TriangVSU M STACK)).
             (* 1.98 seconds to 6  seconds  *)
          @@ -132,7 +132,7 @@

          VSU_main2linking with stdlib2 instea such that funspec_sub (fspec,fspec'),

        • -
        • then there is a new VSU whose exports is Exports'. +
        • then there is a new VSU whose exports is Exports'.
        @@ -144,7 +144,7 @@

        VSU_main2linking with stdlib2 instea
        Eval simpl in VSU_Exports stacktriangVSU1. (* newstack, push, pop, triang *)

        -Lemma stacktriangVSU:
        +Lemma stacktriangVSU:
           restrictExports stacktriangVSU1
           (Spec_triang.TriangASI M).
        Proof.
        @@ -174,10 +174,10 @@

        VSU_main2linking with stdlib2 instea

        -Time Definition coreVSU :=
        +Time Definition coreVSU :=
           privatizeExports
           ltac:(linkVSUs stacktriangVSU VSU_stdlib2.MallocFreeVSU)
        -  [stdlib._malloc; stdlib._free; stdlib._exit] .

        +  [stdlib._malloc; stdlib._free; stdlib._exit] .

        Time Definition whole_prog := ltac:(QPlink_progs (QPprog prog) (VSU_prog coreVSU)).
        @@ -188,15 +188,15 @@

        VSU_main2linking with stdlib2 instea Definition main_spec :=
         DECLARE _main
        WITH gv: globals
        PRE [ ] main_pre whole_prog tt gv
        WITH gv: globals
        PRE [ ] main_pre whole_prog tt gv
         POST[ tint ]
            PROP()
            RETURN (Vint (Int.repr 55))
            SEP(TT).

        Definition Vprog: varspecs := QPvarspecs whole_prog.

        Definition Main_imports: funspecs := Spec_triang.TriangASI M.
        -Definition Main_Gprog : funspecs := main_spec :: Main_imports.

        +Definition Main_Gprog : funspecs := Main_imports ++ [main_spec].

        Lemma body_main: semax_body Vprog Main_Gprog f_main main_spec.
        @@ -205,22 +205,22 @@

        VSU_main2linking with stdlib2 instea
        (* FILL IN HERE *) Admitted.

        -Definition MainComp: MainCompType nil ltac:(QPprog prog) coreVSU whole_prog (snd main_spec) emp.
        +Definition MainComp: MainCompType nil ltac:(QPprog prog) coreVSU whole_prog (snd main_spec) emp.
        Proof.
        mkComponent prog.
        solve_SF_internal body_main.
        Qed.

        Lemma WholeComp: WholeCompType coreVSU MainComp.
        Proof. proveWholeComponent. Qed.

        -Lemma WholeProgSafe: WholeProgSafeType WholeComp tt.
        +Lemma WholeProgSafe: WholeProgSafeType WholeComp tt.
        Proof. proveWholeProgSafe. Qed.

        -Eval red in WholeProgSafeType WholeComp tt.

        -(* 2024-12-27 01:34 *)
        +Eval red in WholeProgSafeType WholeComp tt.

        +(* 2026-01-07 13:38 *)
        diff --git a/vc-current/VSU_main2.v b/vc-current/VSU_main2.v index 95beaed61..f4b8f4cf2 100644 --- a/vc-current/VSU_main2.v +++ b/vc-current/VSU_main2.v @@ -18,7 +18,7 @@ int main(void) { and the only difference would be in the Makefile, the Unix [ld] or [cc] command would link the programs together with stdlib2.o instead of stdlib.o. -The Coq code in this chapter is practically the same as in [VSU_main], +The Rocq code in this chapter is practically the same as in [VSU_main], since the client program (main.c) should be oblivious of private data representations (etc.) of the stdlib module. The only difference is that in some places it says [stdlib2] instead of [stdlib]. @@ -122,7 +122,7 @@ Definition main_spec := Definition Vprog: varspecs := QPvarspecs whole_prog. Definition Main_imports: funspecs := Spec_triang.TriangASI M. -Definition Main_Gprog : funspecs := main_spec :: Main_imports. +Definition Main_Gprog : funspecs := Main_imports ++ [main_spec]. Lemma body_main: semax_body Vprog Main_Gprog f_main main_spec. (** Identical to the proof of [body_main] in [VSU_main]. *) @@ -142,4 +142,4 @@ Proof. proveWholeProgSafe. Qed. Eval red in WholeProgSafeType WholeComp tt. -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/VSU_stack.html b/vc-current/VSU_stack.html index dd30b8b12..4b18d1136 100644 --- a/vc-current/VSU_stack.html +++ b/vc-current/VSU_stack.html @@ -175,35 +175,35 @@

        VSU_stackVSU verification of the Sta
        -Fixpoint listrep (il: list Z) (p: val) : mpred :=
        match il with
        - | i::il'EX y: val,
        -        malloc_token M Ews (Tstruct _cons noattr) p ×
        -        data_at Ews (Tstruct _cons noattr) (Vint (Int.repr i),y) p ×
        -        listrep il' y
        - | nil!! (p = nullval) && emp
        +Fixpoint listrep (il: list Z) (p: val) : mpred :=
        match il with
        + | i::il'EX y: val,
        +        malloc_token M Ews (Tstruct _cons noattr) p ×
        +        data_at Ews (Tstruct _cons noattr) (Vint (Int.repr i),y) p ×
        +        listrep il' y
        + | nil!! (p = nullval) && emp
         end.

        -Lemma listrep_local_prop: il p, listrep il p |--
        -        !! (is_pointer_or_null p (p=nullval il=nil)).
        +Lemma listrep_local_prop: il p, listrep il p |--
        +        !! (is_pointer_or_null p (p=nullval il=nil)).
        (* FILL IN HERE *) Admitted.
        Local Hint Resolve listrep_local_prop : saturate_local.

        Lemma listrep_valid_pointer:
        -   il p,
        -   listrep il p |-- valid_pointer p.
        +   il p,
        +   listrep il p |-- valid_pointer p.
        (* FILL IN HERE *) Admitted.
        Local Hint Resolve listrep_valid_pointer : valid_pointer.

        -Definition stack (il: list Z) (p: val) :=
        EX q: val,
        -  malloc_token M Ews (Tstruct _stack noattr) p ×
        -  data_at Ews (Tstruct _stack noattr) q p ×
        -  listrep il q.

        +Definition stack (il: list Z) (p: val) :=
        EX q: val,
        +  malloc_token M Ews (Tstruct _stack noattr) p ×
        +  data_at Ews (Tstruct _stack noattr) q p ×
        +  listrep il q.

        Arguments stack il p : simpl never.

        -Lemma stack_local_prop: il p, stack il p |-- !! (isptr p).
        +Lemma stack_local_prop: il p, stack il p |-- !! (isptr p).
        (* FILL IN HERE *) Admitted.
        Local Hint Resolve stack_local_prop : saturate_local.

        Lemma stack_valid_pointer:
        -   il p,
        -   stack il p |-- valid_pointer p.
        +   il p,
        +   stack il p |-- valid_pointer p.
        (* FILL IN HERE *) Admitted.
        Local Hint Resolve stack_valid_pointer : valid_pointer.
        @@ -235,17 +235,17 @@

        VSU_stackVSU verification of the Sta Definition surely_malloc_spec :=
          DECLARE _surely_malloc
        -   WITH t:type, gv: globals
        +   WITH t:type, gv: globals
           PRE [ size_t ]
        -       PROP (0 sizeof t Ptrofs.max_unsigned;
        -                complete_legal_cosu_type t = true;
        -                natural_aligned natural_alignment t = true)
        -       PARAMS (Vptrofs (Ptrofs.repr (sizeof t))) GLOBALS (gv)
        -       SEP (mem_mgr M gv)
        -    POST [ tptr tvoid ] EX p:_,
        +       PROP (0 sizeof t Ptrofs.max_unsigned;
        +                complete_legal_cosu_type t = true;
        +                natural_aligned natural_alignment t = true)
        +       PARAMS (Vptrofs (Ptrofs.repr (sizeof t))) GLOBALS (gv)
        +       SEP (mem_mgr M gv)
        +    POST [ tptr tvoid ] EX p:_,
               PROP ()
        -       RETURN (p)
        -       SEP (mem_mgr M gv; malloc_token M Ews t p × data_at_ Ews t p).
        +       RETURN (p)
        +       SEP (mem_mgr M gv; malloc_token M Ews t p × data_at_ Ews t p).

        @@ -265,7 +265,7 @@

        VSU_stackVSU verification of the Sta functions that are not to be exported for client use

        -Definition Stack_private : funspecs := [surely_malloc_spec].
        +Definition Stack_private : funspecs := [surely_malloc_spec].
        @@ -274,7 +274,7 @@

        VSU_stackVSU verification of the Sta just the same as the Privates plus the Exports, as shown here:

        -Definition Stack_internals : funspecs := Stack_private ++ (StackASI M STACK).
        +Definition Stack_internals : funspecs := Stack_private ++ (StackASI M STACK).
        @@ -282,7 +282,7 @@

        VSU_stackVSU verification of the Sta it is always the Imports plus the Internals

        -Definition Stack_Gprog : funspecs := Stack_imports ++ Stack_internals.
        +Definition Stack_Gprog : funspecs := Stack_imports ++ Stack_internals.
        @@ -302,13 +302,13 @@

        VSU_stackVSU verification of the Sta Lemma body_pop: semax_body Stack_Vprog Stack_Gprog f_pop (pop_spec M STACK).
        Proof.
        start_function.
        -simpl stackrep.
        +simpl stackrep.
        (* FILL IN HERE *) Admitted.

        Lemma body_push: semax_body Stack_Vprog Stack_Gprog f_push (push_spec M STACK).
        Proof.
        start_function.
        -simpl stackrep.
        -forward_call (Tstruct _cons noattr, gv).
        +simpl stackrep.
        +forward_call (Tstruct _cons noattr, gv).
        (* FILL IN HERE *) Admitted.

        Lemma body_newstack: semax_body Stack_Vprog Stack_Gprog f_newstack (newstack_spec M STACK).
        Proof.
        @@ -335,7 +335,7 @@

        VSU_stackVSU verification of the Sta any I/O, it can use the standard trivial Espec, as follows:

        -#[export] Existing Instance NullExtension.Espec.
        +#[export] Existing Instance NullExtension.Espec.
        @@ -347,7 +347,7 @@

        VSU_stackVSU verification of the Sta To construct the StackVSU, we first define its type, as follows:

        -Lemma StackVSU: VSU nil Stack_imports ltac:(QPprog stack2.prog)
        +Lemma StackVSU: VSU nil Stack_imports ltac:(QPprog stack2.prog)
                                                   (StackASI M STACK) emp.
        @@ -412,12 +412,12 @@

        VSU_stackVSU verification of the Sta
        -(* 2024-12-27 01:34 *)
        +(* 2026-01-06 14:19 *)
        diff --git a/vc-current/VSU_stack.v b/vc-current/VSU_stack.v index da14298d0..3a1708bec 100644 --- a/vc-current/VSU_stack.v +++ b/vc-current/VSU_stack.v @@ -282,4 +282,4 @@ End Stack_VSU. (* ================================================================= *) (** ** Next Chapter: [VSU_triang] *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/VSU_stdlib.html b/vc-current/VSU_stdlib.html index 4c732d38d..642d60b79 100644 --- a/vc-current/VSU_stdlib.html +++ b/vc-current/VSU_stdlib.html @@ -57,7 +57,7 @@

        VSU_stdlibAxiomatization of malloc/f
        Axiom M: MallocFreeAPD.

        -Axiom make_mem_mgr: gv, emp |-- mem_mgr M gv.
        +Axiom make_mem_mgr: gv, emp |-- mem_mgr M gv.
        @@ -68,16 +68,16 @@

        VSU_stdlibAxiomatization of malloc/f
        Axiom body_malloc:
        {Espec: OracleKind} {cs: compspecs} ,
        -   VST.floyd.library.body_lemma_of_funspec EF_malloc (snd (malloc_spec_sz M)).

        {Espec: OracleKind} {cs: compspecs} ,
        +   VST.floyd.library.body_lemma_of_funspec EF_malloc (snd (malloc_spec_sz M)).

        Axiom body_free:
        {Espec: OracleKind} {cs: compspecs} ,
        -   VST.floyd.library.body_lemma_of_funspec EF_free (snd (free_spec_sz M)).

        {Espec: OracleKind} {cs: compspecs} ,
        +   VST.floyd.library.body_lemma_of_funspec EF_free (snd (free_spec_sz M)).

        Axiom body_exit:
        {Espec: OracleKind},
        {Espec: OracleKind},
          VST.floyd.library.body_lemma_of_funspec
        -    (EF_external "exit" (mksignature (AST.Tint :: nil) AST.Tvoid cc_default))
        -    (snd (exit_spec)).
        +    (EF_external "exit" (mksignature (Xint :: nil) Xvoid cc_default))
        +    (snd (exit_spec)).
        @@ -93,8 +93,9 @@

        VSU_stdlibAxiomatization of malloc/f

        -Definition placeholder_spec :=
        -    (_placeholder, vacuous_funspec (Internal f_placeholder)).
        +Notation placeholder_spec :=
        +  (* This is Notation instead of Definition to work around VST bug 814 *)
        +    (_placeholder, vacuous_funspec (Internal f_placeholder)).
        @@ -104,11 +105,11 @@

        VSU_stdlibAxiomatization of malloc/f
          Definition MF_ASI: funspecs := MallocFreeASI M.
        -  Definition MF_imported_specs:funspecs := nil.
        -  Definition MF_internal_specs: funspecs := placeholder_spec::MF_ASI.
        -  Definition MF_globals: globals mpred:= Spec_stdlib.mem_mgr M.
        +  Definition MF_imported_specs:funspecs := nil.
        +  Definition MF_internal_specs: funspecs := placeholder_spec::MF_ASI.
        +  Definition MF_globals: globals mpred:= Spec_stdlib.mem_mgr M.
          Definition MFVprog : varspecs. mk_varspecs prog. Defined.
        -  Definition MFGprog: funspecs := MF_imported_specs ++ MF_internal_specs.
        +  Definition MFGprog: funspecs := MF_imported_specs ++ MF_internal_specs.
        @@ -126,18 +127,18 @@

        VSU_stdlibAxiomatization of malloc/f

        -Lemma semax_func_cons_malloc_aux {cs: compspecs} (gv: globals)
        -         (gx : genviron) (ret : option val) n:
        (EX x : val,
        +Lemma semax_func_cons_malloc_aux {cs: compspecs} (gv: globals)
        +         (gx : genviron) (ret : option val) n:
        (EX x : val,
          (PROP ( )
        -   RETURN (x) SEP (mem_mgr M gv;
        -             if eq_dec x nullval
        +   RETURN (x) SEP (mem_mgr M gv;
        +             if eq_dec x nullval
                     then emp
        -             else malloc_token_sz M Ews n x × memory_block Ews n x))
        +             else malloc_token_sz M Ews n x × memory_block Ews n x))
            (make_ext_rval gx (rettype_of_type (tptr tvoid)) ret)) &&
        -  !! Builtins0.val_opt_has_rettype ret
        +  !! Builtins0.val_opt_has_rettype ret
             (rettype_of_type (tptr tvoid))
        |-- !! tc_option_val (tptr tvoid) ret.
        |-- !! tc_option_val (tptr tvoid) ret.
        Proof.
         intros.
         Intros p.
        @@ -179,7 +180,7 @@

        VSU_stdlibAxiomatization of malloc/f Definition MallocFreeVSU: @VSU NullExtension.Espec
                 MF_E MF_imported_specs ltac:(QPprog prog) MF_ASI MF_globals.
          Proof.
        -    mkVSU prog MF_internal_specs.
        +  mkVSU prog MF_internal_specs.
            - solve_SF_external (@body_malloc NullExtension.Espec CompSpecs).
               apply (semax_func_cons_malloc_aux gv gx ret n).
            - solve_SF_external (@body_free NullExtension.Espec CompSpecs).
        @@ -194,12 +195,12 @@

        VSU_stdlibAxiomatization of malloc/f

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)

        diff --git a/vc-current/VSU_stdlib.v b/vc-current/VSU_stdlib.v index 17d1d9957..6cac2ca2d 100644 --- a/vc-current/VSU_stdlib.v +++ b/vc-current/VSU_stdlib.v @@ -35,7 +35,7 @@ Axiom body_free: Axiom body_exit: forall {Espec: OracleKind}, VST.floyd.library.body_lemma_of_funspec - (EF_external "exit" (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) + (EF_external "exit" (mksignature (Xint :: nil) Xvoid cc_default)) (snd (exit_spec)). (* ================================================================= *) @@ -47,7 +47,8 @@ Axiom body_exit: for [malloc], [free], [exit]. Because nobody will call [placeholder()], we can give it a trivial funspec whose precondition is [False]. *) -Definition placeholder_spec := +Notation placeholder_spec := + (* This is Notation instead of Definition to work around VST bug #814 *) (_placeholder, vacuous_funspec (Internal f_placeholder)). (* ================================================================= *) @@ -119,7 +120,7 @@ Qed. Definition MallocFreeVSU: @VSU NullExtension.Espec MF_E MF_imported_specs ltac:(QPprog prog) MF_ASI MF_globals. Proof. - mkVSU prog MF_internal_specs. + mkVSU prog MF_internal_specs. - solve_SF_external (@body_malloc NullExtension.Espec CompSpecs). apply (semax_func_cons_malloc_aux gv gx ret n). - solve_SF_external (@body_free NullExtension.Espec CompSpecs). @@ -130,4 +131,4 @@ Qed. (* ================================================================= *) (** ** Next Chapter: [VSU_main] *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/VSU_stdlib2.html b/vc-current/VSU_stdlib2.html index f3107270d..161094a31 100644 --- a/vc-current/VSU_stdlib2.html +++ b/vc-current/VSU_stdlib2.html @@ -63,11 +63,11 @@

        VSU_stdlib2Malloc/free/exit programm
        - Here is our C program. Notice the variables pool, pool_index, freelist + Here is our C program. Notice the variables pool, pool_index, freelist that are global to the module, but meant to be private--not to be directly manipulated by clients of the module. Furthermore, these variables have initial values (pool_index=0, freelist=NULL, -and pool zero-initialized implicitly) that +and pool zero-initialized implicitly) that represent a meaningful initial state.
        @@ -139,17 +139,17 @@

        VSU_stdlib2Malloc/free/exit programm
        Definition tcell := Tstruct _cell noattr.

        -Fixpoint freelistrep (n: nat) (p: val) : mpred :=
        +Fixpoint freelistrep (n: nat) (p: val) : mpred :=
         match n with
        - | S n'EX y: val,
        -        !! malloc_compatible (sizeof tcell) p &&
        -        data_at Ews tcell (y, (Vundef, (Vundef, Vundef))) p ×
        + | S n'EX y: val,
        +        !! malloc_compatible (sizeof tcell) p &&
        +        data_at Ews tcell (y, (Vundef, (Vundef, Vundef))) p ×
                freelistrep n' y
        - | O!! (p = nullval) && emp
        + | O!! (p = nullval) && emp
         end.

        Arguments freelistrep n p : simpl never.

        -Lemma freelistrep_local_prop: n p,
        -   freelistrep n p |-- !! (is_pointer_or_null p (n=0p=nullval) (n>0isptr p))%nat.
        +Lemma freelistrep_local_prop: n p,
        +   freelistrep n p |-- !! (is_pointer_or_null p (n=0p=nullval) (n>0isptr p))%nat.
        (* FILL IN HERE *) Admitted.
        #[export] Hint Resolve freelistrep_local_prop : saturate_local.

        Lemma freelistrep_valid_pointer:
        @@ -174,13 +174,13 @@

        VSU_stdlib2Malloc/free/exit programm
      • Normally, there must be some way for free(p) to figure out the size of the block. This can be done by having a header word, just before address p, that gives the size (though there are other - ways to do it). Normally, this header word is part of what + ways to do it). Normally, this header word is part of what malloc_token represents. But in this implementation, all blocks are the same size, so there's no need for such a header.
      • The memory-manager's free list contains blocks all of size - sizeof(tcell), which is 16 bytes when sizeof(size_t)=4 or + sizeof(tcell), which is 16 bytes when sizeof(size_t)=4 or 32 bytes when sizeof(size_t)=8. When malloc(7) splits a block into two pieces, the malloc_token represents the second piece, the portion of the block between offset 7 and the end. @@ -196,11 +196,11 @@

        VSU_stdlib2Malloc/free/exit programm

      • -Definition malloc_token_sz (sh: share) (n: Z) (p: val) : mpred :=
        -  !! (field_compatible tcell [] p
        -       malloc_compatible (sizeof tcell) p
        -       0 n sizeof tcell)
        && memory_block Ews (sizeof tcell - n) (offset_val n p).
        +Definition malloc_token_sz (sh: share) (n: Z) (p: val) : mpred :=
        +  !! (field_compatible tcell [] p
        +       malloc_compatible (sizeof tcell) p
        +       0 n sizeof tcell)
        && memory_block Ews (sizeof tcell - n) (offset_val n p).
        @@ -209,12 +209,12 @@

        VSU_stdlib2Malloc/free/exit programm

        Lemma malloc_token_sz_valid_pointer:
        -     (sh : share) (sz : Z) (p : val),
        -            sz 0
        +     (sh : share) (sz : Z) (p : val),
        +            sz 0
                      malloc_token_sz sh sz p |-- valid_pointer p.
        (* FILL IN HERE *) Admitted.

        -Lemma malloc_token_sz_local_facts :
        -    (sh : share) (sz : Z) (p : val),
        +Lemma malloc_token_sz_local_facts :
        +    (sh : share) (sz : Z) (p : val),
             malloc_token_sz sh sz p |-- !! malloc_compatible sz p.
        (* FILL IN HERE *) Admitted.
        @@ -227,8 +227,8 @@

        VSU_stdlib2Malloc/free/exit programm rep_lia can unfold. See VC.pdf, chapter 65 "Opaque Constants".

        -Definition N : Z := proj1_sig (opaque_constant 80000).
        -Definition N_eq : N=_ := proj2_sig (opaque_constant _).
        +Definition N : Z := proj1_sig (opaque_constant 80000).
        +Definition N_eq : N=_ := proj2_sig (opaque_constant _).
        #[export] Hint Rewrite N_eq : rep_lia.
        @@ -243,7 +243,7 @@

        VSU_stdlib2Malloc/free/exit programm
        Suppose someone changes the source program stdlib2.c, putting a - different constant than 80000. You would like your verification + different constant than 80000. You would like your verification script to automatically adjust. We will revise the line, Definition N : Z := ... to find the constant automagically. @@ -273,31 +273,31 @@

        VSU_stdlib2Malloc/free/exit programm

        -The following definition of N won't work well, because N will +The following definition of N won't work well, because N will not be a constant, it'll be a match expression:
        Definition N' := match gvar_info (stdlib2.v_pool) with Tarray _ n _n | _ ⇒ 0 end.
        -Print N'. (* N' = match gvar_info v_pool with Tarray _ n _ => n | _ => 0 end *)
        +Print N'. (* N' = match gvar_info v_pool with Tarray _ n _ => n | _ => 0 end *)
        -So instead, use this Coq trick: +So instead, use this Rocq trick:
        -Definition N'' :=
        +Definition N'' :=
          ltac:(let x := constr:(match gvar_info (stdlib2.v_pool) with
                                 | Tarray _ n _n
                                 | _ ⇒ 0 end)
                in let x := eval compute in x in exact x).
        -Print N''. (* N'' = 80000 : Z *)
        +Print N''. (* N'' = 80000 : Z *)
        Now, throw away N'' and we'll combine the two tricks together:
          -
        • opaque_constant to define a constant that won't unfold except +
        • opaque_constant to define a constant that won't unfold except by explicit rewriting; and
        • @@ -307,11 +307,11 @@

          VSU_stdlib2Malloc/free/exit programm

        -Definition N := proj1_sig (opaque_constant
        +Definition N := proj1_sig (opaque_constant
                                    (ltac:(let x := constr:(match gvar_info (stdlib2.v_pool) with
                                                  Tarray _ n _n | _ ⇒ 0 end)
                                            in let x := eval compute in x in exact x))).
        -Definition N_eq : N=_ := proj2_sig (opaque_constant _).
        +Definition N_eq : N=_ := proj2_sig (opaque_constant _).
        #[export] Hint Rewrite N_eq : rep_lia.
        Check N_eq. (* : N = 80000 *)

        End Digression.
        @@ -333,14 +333,14 @@

        VSU_stdlib2Malloc/free/exit programm
        Definition mem_mgr (gv: globals) : mpred :=
        EX i: Z, EX p: val, EX frees: nat,
        -  !! (0 i N) &&
        EX i: Z, EX p: val, EX frees: nat,
        +  !! (0 i N) &&
          data_at Ews tint (Vint (Int.repr i)) (gv _pool_index) ×
        -  data_at_ Ews (tarray tcell (N-i))
        -     (field_address0 (tarray tcell N) [ArraySubsc i] (gv _pool)) ×
        +  data_at_ Ews (tarray tcell (N-i))
        +     (field_address0 (tarray tcell N) [ArraySubsc i] (gv _pool)) ×
          data_at Ews (tptr tcell) p (gv _freelist) ×
          freelistrep frees p.

        -Definition M : MallocFreeAPD :=
        +Definition M : MallocFreeAPD :=
            Build_MallocFreeAPD mem_mgr malloc_token_sz
                   malloc_token_sz_valid_pointer malloc_token_sz_local_facts.
        @@ -352,11 +352,11 @@

        VSU_stdlib2Malloc/free/exit programm
          Definition MF_ASI: funspecs := MallocFreeASI M.
        -  Definition MF_imported_specs:funspecs := nil.
        +  Definition MF_imported_specs:funspecs := nil.
          Definition MF_internal_specs: funspecs := MF_ASI.
          Definition MF_globals gv : mpred:= Spec_stdlib.mem_mgr M gv.
          Definition MFVprog : varspecs. mk_varspecs stdlib2.prog. Defined.
        -  Definition MFGprog: funspecs := MF_imported_specs ++ MF_internal_specs.
        +  Definition MFGprog: funspecs := MF_imported_specs ++ MF_internal_specs.
        @@ -437,7 +437,7 @@

        VSU_stdlib2Malloc/free/exit programm

        -  Definition MF_Externs : funspecs := nil.

        +  Definition MF_Externs : funspecs := nil.

        Definition MallocFreeVSU: @VSU NullExtension.Espec
                 MF_Externs MF_imported_specs ltac:(QPprog prog) MF_ASI MF_globals.
          Proof.
        @@ -455,12 +455,12 @@

        VSU_stdlib2Malloc/free/exit programm

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)

        diff --git a/vc-current/VSU_stdlib2.v b/vc-current/VSU_stdlib2.v index 91be574eb..c95256193 100644 --- a/vc-current/VSU_stdlib2.v +++ b/vc-current/VSU_stdlib2.v @@ -185,7 +185,7 @@ Compute match gvar_info (stdlib2.v_pool) with Tarray _ n _ => n | _ => 0 end. Definition N' := match gvar_info (stdlib2.v_pool) with Tarray _ n _ => n | _ => 0 end. Print N'. (* N' = match gvar_info v_pool with Tarray _ n _ => n | _ => 0 end *) -(** So instead, use this Coq trick: *) +(** So instead, use this Rocq trick: *) Definition N'' := ltac:(let x := constr:(match gvar_info (stdlib2.v_pool) with @@ -300,4 +300,4 @@ Qed. (* ================================================================= *) (** ** Next Chapter: [VSU_main2] *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/VSU_triang.html b/vc-current/VSU_triang.html index 18bac5297..4acd7de7b 100644 --- a/vc-current/VSU_triang.html +++ b/vc-current/VSU_triang.html @@ -100,21 +100,21 @@

        VSU_triangVSU verification of the Tr
        -Definition push_increasing_spec : ident × funspec
        +Definition push_increasing_spec : ident × funspec
         (* REPLACE THIS LINE WITH ":= _your_definition_ ." *). Admitted.

        -Definition pop_and_add_spec : ident × funspec
        +Definition pop_and_add_spec : ident × funspec
         (* REPLACE THIS LINE WITH ":= _your_definition_ ." *). Admitted.

        -Definition Triang_private : funspecs := [
        +Definition Triang_private : funspecs := [
          (* FILL IN HERE *)
        -  ].
        +  ].
        Definition Triang_imports : funspecs := StackASI M STACK.
        -Definition Triang_internals : funspecs := Triang_private ++ (TriangASI M).
        -Definition Triang_Gprog : funspecs := Triang_imports ++ Triang_internals.
        +Definition Triang_internals : funspecs := Triang_private ++ (TriangASI M).
        +Definition Triang_Gprog : funspecs := Triang_imports ++ Triang_internals.
        Definition Triang_Vprog : varspecs. mk_varspecs prog. Defined.
        @@ -157,7 +157,7 @@

        VSU_triangVSU verification of the Tr

        Exercise: 3 stars, standard (body_triang)

        - Prove the correctness of the triang function. + Prove the correctness of the triang function.
        @@ -185,7 +185,7 @@

        VSU_triangVSU verification of the Tr That is, triang may allocate things that it does not free.

      • -
      • Adjust the StackAPD with one more field in its Coq record: +
      • Adjust the StackAPD with one more field in its Rocq record: stackrep_nil: st, stackrep STACK [] st |-- emp. This specifies that, whatever is the low-level representation of a stack, the empty stack will always use no memory. @@ -216,7 +216,7 @@

        VSU_triangVSU verification of the Tr
        -Axiom stackrep_nil: st, stackrep STACK [] st |-- emp.

        +Axiom stackrep_nil: st, stackrep STACK [] st |-- emp.

        Lemma body_triang: semax_body Triang_Vprog Triang_Gprog f_triang (triang_spec M).
        (* FILL IN HERE *) Admitted.
        @@ -224,7 +224,7 @@

        VSU_triangVSU verification of the Tr
        -Definition TriangVSU: @VSU NullExtension.Espec nil Triang_imports
        +Definition TriangVSU: @VSU NullExtension.Espec nil Triang_imports
             ltac:(QPprog prog) (TriangASI M) emp.
        Proof.
        @@ -248,12 +248,12 @@

        VSU_triangVSU verification of the Tr

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)
        diff --git a/vc-current/VSU_triang.v b/vc-current/VSU_triang.v index db0a86134..9f7449426 100644 --- a/vc-current/VSU_triang.v +++ b/vc-current/VSU_triang.v @@ -97,7 +97,7 @@ Lemma body_pop_and_add: semax_body Triang_Vprog Triang_Gprog f_pop_and_add pop_a - Adjust the postcondition of [triang] to [...SEP(mem_mgr M gv; TT)], which means that [triang] is permitted to have a "space leak". That is, [triang] may allocate things that it does not free. - - Adjust the StackAPD with one more field in its Coq record: + - Adjust the StackAPD with one more field in its Rocq record: [stackrep_nil: forall st, stackrep STACK [] st |-- emp]. This specifies that, whatever is the low-level representation of a stack, the empty stack will always use no memory. @@ -141,4 +141,4 @@ End Triang_VSU. (* ================================================================= *) (** ** Next Chapter: [VSU_stdlib] *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/Verif_append1.html b/vc-current/Verif_append1.html index 79b4eb826..e431007e3 100644 --- a/vc-current/Verif_append1.html +++ b/vc-current/Verif_append1.html @@ -87,13 +87,13 @@

        Verif_append1List segments Definition t_list := Tstruct _list noattr.

        -Fixpoint listrep (sigma: list val) (p: val) : mpred :=
        +Fixpoint listrep (sigma: list val) (p: val) : mpred :=
         match sigma with
        - | h::hs
        + | h::hs
            EX y:val,
        -      data_at Tsh t_list (h,y) p × listrep hs y
        - | nil
        -    !! (p = nullval) && emp
        +      data_at Tsh t_list (h,y) p × listrep hs y
        + | nil
        +    !! (p = nullval) && emp
         end.

        Arguments listrep sigma p : simpl never.
        @@ -105,7 +105,7 @@

        Verif_append1List segmentsDefinition append_spec :=
         DECLARE _append
        -  WITH x: val, y: val, s1: list val, s2: list val
        +  WITH x: val, y: val, s1: list val, s2: list val
          PRE [ tptr t_list , tptr t_list]
             PROP()
             PARAMS (x; y)
        @@ -114,8 +114,8 @@

        Verif_append1List segmentsEX r: val,
             PROP()
             RETURN(r)
        -     SEP (listrep (s1++s2) r).

        -Definition Gprog : funspecs := [ append_spec ].
        +     SEP (listrep (s1++s2) r).

        +Definition Gprog : funspecs := [ append_spec ].
        @@ -156,10 +156,10 @@

        Verif_append1List segments
        -Fixpoint lseg (contents: list val) (x z: val) : mpred :=
        +Fixpoint lseg (contents: list val) (x z: val) : mpred :=
          match contents with
        -  | nil!! (x = z) && emp
        -  | h::hsEX y:val, data_at Tsh t_list (h, y) x × lseg hs y z
        +  | nil!! (x = z) && emp
        +  | h::hsEX y:val, data_at Tsh t_list (h, y) x × lseg hs y z
          end.

        Arguments lseg contents x z : simpl never.
        @@ -173,7 +173,7 @@

        Verif_append1List segments
        Lemma singleton_lseg: (a: val) (x y: val),
        -  data_at Tsh t_list (a, y) x |-- lseg [a] x y.
        +  data_at Tsh t_list (a, y) x |-- lseg [a] x y.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -201,8 +201,8 @@

        Verif_append1List segments Lemma lseg_maybe_loop: (a b x y: val),
        -  data_at Tsh t_list (a, y) x × data_at Tsh t_list (b, y) y
        -  |-- lseg [a; b] x y.
        +  data_at Tsh t_list (a, y) x × data_at Tsh t_list (b, y) y
        +  |-- lseg [a; b] x y.
        Proof.
          intros.
          unfold lseg.
        @@ -223,15 +223,15 @@

        Verif_append1List segments Lemma loopy_lseg_not_bad: (a b c x y: val),
        -  data_at Tsh t_list (a, y) x × data_at Tsh t_list (b, y) y × listrep [c] y
        +  data_at Tsh t_list (a, y) x × data_at Tsh t_list (b, y) y × listrep [c] y
            |-- FF.
        Proof.
          intros.
          unfold listrep.
          Intros u.
          subst.
        -Check (data_at_conflict Tsh t_list (c, nullval)).
        -  sep_apply (data_at_conflict Tsh t_list (c, nullval)).
        +Check (data_at_conflict Tsh t_list (c, nullval)).
        +  sep_apply (data_at_conflict Tsh t_list (c, nullval)).
          + auto.
          + entailer!.
        Qed.
        @@ -250,8 +250,8 @@

        Verif_append1List segments
        -Lemma lseg_lseg: (s1 s2: list val) (x y z: val),
        -  lseg s1 x y × lseg s2 y z |-- lseg (s1 ++ s2) x z.
        +Lemma lseg_lseg: (s1 s2: list val) (x y z: val),
        +  lseg s1 x y × lseg s2 y z |-- lseg (s1 ++ s2) x z.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -264,8 +264,8 @@

        Verif_append1List segments
        -Lemma lseg_list: (s1 s2: list val) (x y: val),
        -  lseg s1 x y × listrep s2 y |-- listrep (s1 ++ s2) x.
        +Lemma lseg_list: (s1 s2: list val) (x y: val),
        +  lseg s1 x y × listrep s2 y |-- listrep (s1 ++ s2) x.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -293,7 +293,7 @@

        Verif_append1List segmentsLemma listrep_local_facts:
           sigma p,
           listrep sigma p |--
        -   !! (is_pointer_or_null p (p=nullval sigma=nil)).
        +   !! (is_pointer_or_null p (p=nullval sigma=nil)).
        Proof.
        (* FILL IN HERE *) Admitted.
        #[export] Hint Resolve listrep_local_facts : saturate_local.

        @@ -322,8 +322,8 @@

        Verif_append1List segments
        Lemma listrep_null: contents x,
        -  x = nullval
        -  listrep contents x = !! (contents=nil) && emp.
        +  x = nullval
        +  listrep contents x = !! (contents=nil) && emp.
        Proof.
        @@ -344,10 +344,10 @@

        Verif_append1List segments
        Lemma listrep_nonnull: contents x,
        -  x nullval
        -  listrep contents x =
        -    EX h: val, EX hs: list val, EX y:val,
        -      !! (contents = h :: hs) && data_at Tsh t_list (h, y) x × listrep hs y.
        +  x nullval
        +  listrep contents x =
        +    EX h: val, EX hs: list val, EX y:val,
        +      !! (contents = h :: hs) && data_at Tsh t_list (h, y) x × listrep hs y.
        Proof.
        @@ -405,15 +405,15 @@

        Verif_append1List segments
          forward_while
        -      ( EX s1a: list val, EX b: val, EX s1c: list val, EX t: val, EX u: val,
        -        PROP (s1 = s1a ++ b :: s1c)
        +      ( EX s1a: list val, EX b: val, EX s1c: list val, EX t: val, EX u: val,
        +        PROP (s1 = s1a ++ b :: s1c)
                LOCAL (temp _x x; temp _t t; temp _u u; temp _y y)
                SEP (lseg s1a x t;
        -             data_at Tsh t_list (b, u) t;
        +             data_at Tsh t_list (b, u) t;
                     listrep s1c u;
                     listrep s2 y))%assert.
         + (* current assertion implies loop invariant *)
        -      Exists (@nil val) h r x u.
        +      Exists (@nil val) h r x u.
              subst s1. entailer!. unfold lseg; entailer!.
         + (* loop test is safe to execute *)
              entailer!.
        @@ -467,7 +467,7 @@

        Verif_append1List segments
        -   Exists ((s1a ++ b :: nil),c,s1d,u,z). unfold fst, snd.
        +   Exists ((s1a ++ b :: nil),c,s1d,u,z). unfold fst, snd.
        @@ -545,7 +545,7 @@

        Verif_append1List segments Corollary lseg_listrep_equiv: s x,
        -  lseg s x nullval = listrep s x.
        +  lseg s x nullval = listrep s x.
        Proof.
          intros.
          apply pred_ext.
        @@ -560,7 +560,7 @@

        Verif_append1List segments
        Lemma lseg_lseg_inv: s1 s2 x z,
        -  lseg (s1 ++ s2) x z |-- EX y: val, lseg s1 x y × lseg s2 y z.
        +  lseg (s1 ++ s2) x z |-- EX y: val, lseg s1 x y × lseg s2 y z.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -574,9 +574,9 @@

        Verif_append1List segments
        Lemma loopy_lseg_no_connection: s1 s2 x y z,
        -  s1 nil
        -  s2 nil
        -  x = y
        +  s1 nil
        +  s2 nil
        +  x = y
          lseg s1 x y × lseg s2 y z |-- FF.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -601,11 +601,11 @@

        Verif_append1List segments
        -Fixpoint nt_lseg (contents: list val) (x z: val) : mpred :=
        +Fixpoint nt_lseg (contents: list val) (x z: val) : mpred :=
          match contents with
        -  | nil!! (x = z) && emp
        -  | h::hsEX y:val, !! (x z)
        -                   && data_at Tsh t_list (h, y) x × nt_lseg hs y z
        +  | nil!! (x = z) && emp
        +  | h::hsEX y:val, !! (x z)
        +                   && data_at Tsh t_list (h, y) x × nt_lseg hs y z
          end.

        Arguments nt_lseg contents x z : simpl never.
        @@ -651,9 +651,9 @@

        Verif_append1List segments
        -Lemma singleton_nt_lseg: (contents: list val) (a x y: val),
        -  data_at Tsh t_list (a, y) x × listrep contents y |--
        -  nt_lseg [a] x y × listrep contents y.
        +Lemma singleton_nt_lseg: (contents: list val) (a x y: val),
        +  data_at Tsh t_list (a, y) x × listrep contents y |--
        +  nt_lseg [a] x y × listrep contents y.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -667,8 +667,8 @@

        Verif_append1List segments
        Lemma singleton_nt_lseg': (a b x y z: val),
        -  data_at Tsh t_list (a, y) x × data_at Tsh t_list (b, z) y |--
        -  nt_lseg [a] x y × data_at Tsh t_list (b, z) y.
        +  data_at Tsh t_list (a, y) x × data_at Tsh t_list (b, z) y |--
        +  nt_lseg [a] x y × data_at Tsh t_list (b, z) y.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -681,9 +681,9 @@

        Verif_append1List segments
        -Lemma nt_lseg_nt_lseg: (s1 s2: list val) (a x y z u: val),
        -  nt_lseg s1 x y × nt_lseg s2 y z × data_at Tsh t_list (a, u) z |--
        -  nt_lseg (s1 ++ s2) x z × data_at Tsh t_list (a, u) z.
        +Lemma nt_lseg_nt_lseg: (s1 s2: list val) (a x y z u: val),
        +  nt_lseg s1 x y × nt_lseg s2 y z × data_at Tsh t_list (a, u) z |--
        +  nt_lseg (s1 ++ s2) x z × data_at Tsh t_list (a, u) z.
        Proof.
        @@ -704,8 +704,8 @@

        Verif_append1List segments
        -Lemma nt_lseg_list: (s1 s2: list val) (x y: val),
        -  nt_lseg s1 x y × listrep s2 y |-- listrep (s1 ++ s2) x.
        +Lemma nt_lseg_list: (s1 s2: list val) (x y: val),
        +  nt_lseg s1 x y × listrep s2 y |-- listrep (s1 ++ s2) x.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -749,12 +749,12 @@

        Verif_append1List segments -(* 2024-12-27 01:34 *)
        +(* 2026-01-06 14:19 *)

        diff --git a/vc-current/Verif_append1.v b/vc-current/Verif_append1.v index ab9138b3d..b7acdb590 100644 --- a/vc-current/Verif_append1.v +++ b/vc-current/Verif_append1.v @@ -491,4 +491,4 @@ forward_if. (* if (x == NULL) *) (* FILL IN HERE *) Admitted. (** [] *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/Verif_append2.html b/vc-current/Verif_append2.html index 635062f95..c60a255dd 100644 --- a/vc-current/Verif_append2.html +++ b/vc-current/Verif_append2.html @@ -79,7 +79,7 @@

        Verif_append2Magic wand, partial dat
        Lemma implies_and_adjoint:
        -    P Q R : Prop, (P Q R) (P (Q R)).
        +    P Q R : Prop, (P Q R) (P (Q R)).
        Proof. intuition. Qed.
        @@ -141,7 +141,7 @@

        Verif_append2Magic wand, partial dat
        Lemma wand_derives_from_adjoint_and_modus_ponens:
           P P' Q Q' : mpred,
        -   P' |-- P Q |-- Q' P −∗ Q |-- P' −∗ Q'.
        +   P' |-- P Q |-- Q' P −∗ Q |-- P' −∗ Q'.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -224,8 +224,8 @@

        Verif_append2Magic wand, partial dat

        -Definition wlseg (contents: list val) (x y: val) : mpred :=
        -  ALL tail: list val, listrep tail y −∗ listrep (contents ++ tail) x.
        +Definition wlseg (contents: list val) (x y: val) : mpred :=
        +  ALL tail: list val, listrep tail y −∗ listrep (contents ++ tail) x.
        @@ -267,14 +267,14 @@

        Verif_append2Magic wand, partial dat
        Lemma emp_wlseg: (x: val),
        -  emp |-- wlseg [] x x.
        +  emp |-- wlseg [] x x.
        Proof.
          intros.
          unfold wlseg.
          apply allp_right; intro tail.
          rewrite <- wand_sepcon_adjoint.
          rewrite emp_sepcon.
        -  simpl app.
        +  simpl app.
          apply derives_refl.
        Qed.
        @@ -284,8 +284,8 @@

        Verif_append2Magic wand, partial dat

        -Lemma wlseg_wlseg: (s1 s2: list val) (x y z: val),
        -  wlseg s2 y z × wlseg s1 x y |-- wlseg (s1 ++ s2) x z.
        +Lemma wlseg_wlseg: (s1 s2: list val) (x y z: val),
        +  wlseg s2 y z × wlseg s1 x y |-- wlseg (s1 ++ s2) x z.
        Proof.
         intros.
         unfold wlseg.
        @@ -315,7 +315,7 @@

        Verif_append2Magic wand, partial dat

         rewrite sepcon_comm, → wand_sepcon_adjoint.
        apply (allp_left _ (s2 ++ tail)).
        apply (allp_left _ (s2 ++ tail)).
         rewrite <- wand_sepcon_adjoint, sepcon_comm.
        @@ -323,7 +323,7 @@

        Verif_append2Magic wand, partial dat Finally, complete the proof with wand_frame_ver.

        rewrite <- app_assoc.
        rewrite <- app_assoc.
         apply wand_frame_ver.
        Qed.
        @@ -340,7 +340,7 @@

        Verif_append2Magic wand, partial dat

        Lemma singleton_wlseg: (a: val) (x y: val),
        -  data_at Tsh t_list (a, y) x |-- wlseg [a] x y.
        +  data_at Tsh t_list (a, y) x |-- wlseg [a] x y.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -353,8 +353,8 @@

        Verif_append2Magic wand, partial dat

        -Lemma wlseg_list: (s1 s2: list val) (x y: val),
        -  wlseg s1 x y × listrep s2 y |-- listrep (s1 ++ s2) x.
        +Lemma wlseg_list: (s1 s2: list val) (x y: val),
        +  wlseg s1 x y × listrep s2 y |-- listrep (s1 ++ s2) x.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -394,11 +394,11 @@

        Verif_append2Magic wand, partial dat

          forward_while
        -    (EX s1a: list val, EX b: val, EX s1c: list val, EX t: val, EX u: val,
        -       PROP (s1 = s1a ++ b :: s1c)
        +    (EX s1a: list val, EX b: val, EX s1c: list val, EX t: val, EX u: val,
        +       PROP (s1 = s1a ++ b :: s1c)
               LOCAL (temp _x x; temp _t t; temp _u u; temp _y y)
               SEP (wlseg s1a x t;
        -            data_at Tsh t_list (b, u) t;
        +            data_at Tsh t_list (b, u) t;
                    listrep s1c u;
                    listrep s2 y))%assert.
         + (* current assertion implies loop invariant *)
        @@ -472,7 +472,7 @@

        Verif_append2Magic wand, partial dat

        -Lemma wandQ_frame_elim_mpred: {A: Type} (P Q: A mpred) (a: A),
        +Lemma wandQ_frame_elim_mpred: {A: Type} (P Q: A mpred) (a: A),
          (ALL x : A, P x −∗ Q x) × P a |-- Q a.
        Proof.
          intros.
        @@ -487,7 +487,7 @@

        Verif_append2Magic wand, partial dat of wand frames. One wand-frame is nested inside another.

        -Lemma wandQ_frame_ver_mpred: {A: Type} (P Q R: A mpred),
        +Lemma wandQ_frame_ver_mpred: {A: Type} (P Q R: A mpred),
          (ALL x : A, P x −∗ Q x) × (ALL x: A, Q x −∗ R x) |-- ALL x: A, P x −∗ R x.
        Proof.
          intros.
        @@ -573,10 +573,10 @@

        Verif_append2Magic wand, partial dat
        Definition t_list_box := tptr t_list.

        -Definition listboxrep (contents: list val) (x: val) :=
        +Definition listboxrep (contents: list val) (x: val) :=
          EX y: val, data_at Tsh t_list_box y x × listrep contents x.

        -Definition lbseg (contents: list val) (x y: val) :=
        -  ALL tail: list val, listboxrep tail y −∗ listboxrep (contents ++ tail) x.
        +Definition lbseg (contents: list val) (x y: val) :=
        +  ALL tail: list val, listboxrep tail y −∗ listboxrep (contents ++ tail) x.
        @@ -592,7 +592,7 @@

        Verif_append2Magic wand, partial dat

        Lemma emp_lbseg: (x: val),
        -  emp |-- lbseg [] x x.
        +  emp |-- lbseg [] x x.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -605,8 +605,8 @@

        Verif_append2Magic wand, partial dat Merging two wand expressions.

        -Lemma lbseg_lbseg: (s1 s2: list val) (x y z: val),
        -  lbseg s2 y z × lbseg s1 x y |-- lbseg (s1 ++ s2) x z.
        +Lemma lbseg_lbseg: (s1 s2: list val) (x y z: val),
        +  lbseg s2 y z × lbseg s1 x y |-- lbseg (s1 ++ s2) x z.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -619,8 +619,8 @@

        Verif_append2Magic wand, partial dat Eliminating a wand expression.

        -Lemma listbox_lbseg: (s1 s2: list val) (x y: val),
        -  lbseg s1 x y × listboxrep s2 y |-- listboxrep (s1 ++ s2) x.
        +Lemma listbox_lbseg: (s1 s2: list val) (x y: val),
        +  lbseg s1 x y × listboxrep s2 y |-- listboxrep (s1 ++ s2) x.
        Proof.
        (* FILL IN HERE *) Admitted.
        @@ -664,11 +664,11 @@

        Verif_append2Magic wand, partial dat Proof.
          intros.
          unfold wlseg.
        -  apply allp_left with (@nil val).
        +  apply allp_left with (@nil val).
          unfold listrep at 1.
          rewrite prop_true_andp by auto.
          entailer!.
        -  rewrite <- app_nil_end.
        +  rewrite app_nil_r.

        @@ -696,14 +696,14 @@

        Verif_append2Magic wand, partial dat wlseg-to-null equals lseg.

        -Lemma wlseg_nullval: s x, wlseg s x nullval = lseg s x nullval.
        +Lemma wlseg_nullval: s x, wlseg s x nullval = lseg s x nullval.
        Proof.
          intros.
          apply pred_ext.
          + apply wlseg2lseg_nullval.
          + apply lseg2wlseg.
        Qed.

        -Corollary wlseg_listrep_equiv: s x, wlseg s x nullval = listrep s x.
        +Corollary wlseg_listrep_equiv: s x, wlseg s x nullval = listrep s x.
        Proof.
          intros.
          rewrite wlseg_nullval, lseg_listrep_equiv.
        @@ -724,7 +724,7 @@

        Verif_append2Magic wand, partial dat
        Lemma wlseg_weird: a x y,
        -  data_at_ Tsh t_list y |-- wlseg [a] x y.
        +  data_at_ Tsh t_list y |-- wlseg [a] x y.
        Proof.
          intros.
          unfold wlseg.
        @@ -737,15 +737,15 @@

        Verif_append2Magic wand, partial dat     contradiction.
          + unfold listrep at 1; fold listrep.
            Intros u.
        -    sep_apply (data_at_conflict Tsh t_list (default_val t_list) (v, u) y); auto.
        +    sep_apply (data_at_conflict Tsh t_list (default_val t_list) (v, u) y); auto.
            entailer!.
        Qed.

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)

        diff --git a/vc-current/Verif_append2.v b/vc-current/Verif_append2.v index b862efb80..707fdaf3b 100644 --- a/vc-current/Verif_append2.v +++ b/vc-current/Verif_append2.v @@ -435,7 +435,7 @@ Proof. unfold listrep at 1. rewrite prop_true_andp by auto. entailer!. - rewrite <- app_nil_end. + rewrite app_nil_r. (** The proof goal now has the form: a wand expression derives some wand-free assertion. Usually, this is a tough task because there is @@ -493,4 +493,4 @@ Proof. entailer!. Qed. -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/Verif_hash.html b/vc-current/Verif_hash.html index 2eb62fa9d..96b03b546 100644 --- a/vc-current/Verif_hash.html +++ b/vc-current/Verif_hash.html @@ -83,21 +83,21 @@

        Verif_hashCorrectness proof of hash. Definition strcmp_spec :=
         DECLARE _strcmp
        -  WITH str1 : val, s1 : list byte, str2 : val, s2 : list byte
        +  WITH str1 : val, s1 : list byte, str2 : val, s2 : list byte
          PRE [ tptr tschar, tptr tschar ]
            PROP ()
            PARAMS (str1; str2)
            SEP (cstring Ews s1 str1; cstring Ews s2 str2)
          POST [ tint ]
           EX i : int,
        -    PROP (if Int.eq_dec i Int.zero then s1 = s2 else s1 s2)
        +    PROP (if Int.eq_dec i Int.zero then s1 = s2 else s1 s2)
            RETURN (Vint i)
            SEP (cstring Ews s1 str1; cstring Ews s2 str2).

        Definition strcpy_spec :=
         DECLARE _strcpy
        -  WITH dest : val, n : Z, src : val, s : list byte
        +  WITH dest : val, n : Z, src : val, s : list byte
          PRE [ tptr tschar, tptr tschar ]
        -    PROP (Zlength s < n)
        +    PROP (Zlength s < n)
            PARAMS (dest; src)
            SEP (data_at_ Ews (tarray tschar n) dest; cstring Ews s src)
          POST [ tptr tschar ]
        @@ -106,14 +106,14 @@

        Verif_hashCorrectness proof of hash.     SEP (cstringn Ews s n dest; cstring Ews s src).

        Definition strlen_spec :=
         DECLARE _strlen
        -  WITH s : list byte, str: val
        +  WITH s : list byte, str: val
          PRE [ tptr tschar ]
            PROP ( )
            PARAMS (str)
            SEP (cstring Ews s str)
          POST [ size_t ]
            PROP ()
        -    RETURN (Vptrofs (Ptrofs.repr (Zlength s)))
        +    RETURN (Vptrofs (Ptrofs.repr (Zlength s)))
            SEP (cstring Ews s str).

        @@ -123,9 +123,9 @@

        Verif_hashCorrectness proof of hash.

        -Definition copy_string_spec : ident × funspec :=
        +Definition copy_string_spec : ident × funspec :=
         DECLARE _copy_string
        WITH s: val, sigma : list byte, gv: globals
        WITH s: val, sigma : list byte, gv: globals
         PRE [ tptr tschar ]
            PROP ()
            PARAMS (s) GLOBALS(gv)
        @@ -135,11 +135,11 @@

        Verif_hashCorrectness proof of hash.       PROP ( ) RETURN (p)
              SEP (cstring Ews sigma s;
                   cstring Ews sigma p;
        -           malloc_token Ews (tarray tschar (Zlength sigma + 1)) p;
        +           malloc_token Ews (tarray tschar (Zlength sigma + 1)) p;
                   mem_mgr gv).

        -Definition hash_spec : ident × funspec :=
        +Definition hash_spec : ident × funspec :=
          DECLARE _hash
        -  WITH s: val, contents : list byte
        +  WITH s: val, contents : list byte
          PRE [ tptr tschar ]
                  PROP ()
                  PARAMS (s)
        @@ -184,10 +184,10 @@

        Verif_hashCorrectness proof of hash.

        -Definition list_cell (key: list byte) (count: Z) (next: val) (p: val): mpred :=
        +Definition list_cell (key: list byte) (count: Z) (next: val) (p: val): mpred :=
         EX kp: val, cstring Ews key kp
        -             × malloc_token Ews (tarray tschar (Zlength key + 1)) kp
        -             × data_at Ews tcell (kp,(Vint (Int.repr count), next)) p
        +             × malloc_token Ews (tarray tschar (Zlength key + 1)) kp
        +             × data_at Ews tcell (kp,(Vint (Int.repr count), next)) p
                     × malloc_token Ews tcell p.

        Definition list_cell_local_facts:
           key count next p, list_cell key count next p |-- !! isptr p.
        @@ -206,8 +206,8 @@

        Verif_hashCorrectness proof of hash.
        Lemma listcell_fold: key kp count p' p,
            cstring Ews key kp
        -    × malloc_token Ews (tarray tschar (Zlength key + 1)) kp
        -    × data_at Ews tcell (kp, (Vint (Int.repr count), p')) p
        +    × malloc_token Ews (tarray tschar (Zlength key + 1)) kp
        +    × data_at Ews tcell (kp, (Vint (Int.repr count), p')) p
            × malloc_token Ews tcell p
                 |-- list_cell key count p' p.
        Proof.
        @@ -217,11 +217,11 @@

        Verif_hashCorrectness proof of hash.
        -Fixpoint listrep (sigma: list (list byte × Z)) (x: val) : mpred :=
        +Fixpoint listrep (sigma: list (list byte × Z)) (x: val) : mpred :=
         match sigma with
        - | (s,c)::hsEX y: val, list_cell s c y x × listrep hs y
        - | nil
        -    !! (x = nullval) && emp
        + | (s,c)::hsEX y: val, list_cell s c y x × listrep hs y
        + | nil
        +    !! (x = nullval) && emp
         end.
        @@ -231,7 +231,7 @@

        Verif_hashCorrectness proof of hash.

        Lemma listrep_local_prop: sigma p, listrep sigma p |--
        -        !! (is_pointer_or_null p (p=nullval sigma=nil)).
        +        !! (is_pointer_or_null p (p=nullval sigma=nil)).
        Proof.
        (* FILL IN HERE *) Admitted.
        #[export] Hint Resolve listrep_local_prop : saturate_local.

        @@ -247,7 +247,7 @@

        Verif_hashCorrectness proof of hash.
        Lemma listrep_fold: key count p' p al,
        -  list_cell key count p' p × listrep al p' |-- listrep ((key,count)::al) p.
        +  list_cell key count p' p × listrep al p' |-- listrep ((key,count)::al) p.
        Proof. intros. simpl. Exists p'. cancel. Qed.
        @@ -257,13 +257,13 @@

        Verif_hashCorrectness proof of hash.
        Definition listboxrep al r :=
         EX p:val, data_at Ews (tptr tcell) p r × listrep al p.

        -Definition uncurry {A B C} (f: A B C) (xy: A×B) : C :=
        -  f (fst xy) (snd xy).

        +Definition uncurry {A B C} (f: A B C) (xy: A×B) : C :=
        +  f (fst xy) (snd xy).

        Definition hashtable_rep (contents: hashtable_contents) (p: val) : mpred :=
        -  EX bl: list (list (list byte × Z) × val),
        -    !! (contents = map fst bl) &&
        +  EX bl: list (list (list byte × Z) × val),
        +    !! (contents = map fst bl) &&
            malloc_token Ews thashtable p ×
        -    data_at Ews thashtable (map snd bl) p
        +    data_at Ews thashtable (map snd bl) p
            × iter_sepcon (uncurry listrep) bl.
        @@ -273,7 +273,7 @@

        Verif_hashCorrectness proof of hash.

        Lemma hashtable_rep_local_facts: contents p,
        hashtable_rep contents p |-- !! (isptr p Zlength contents = N).
        hashtable_rep contents p |-- !! (isptr p Zlength contents = N).
        (* FILL IN HERE *) Admitted.
        #[export] Hint Resolve hashtable_rep_local_facts : saturate_local.

        Lemma hashtable_rep_valid_pointer: contents p,
        @@ -291,9 +291,9 @@

        Verif_hashCorrectness proof of hash.

        -Definition new_table_spec : ident × funspec :=
        +Definition new_table_spec : ident × funspec :=
         DECLARE _new_table
        WITH gv: globals
        WITH gv: globals
         PRE [ ]
           PROP()
           PARAMS() GLOBALS(gv)
        @@ -302,9 +302,9 @@

        Verif_hashCorrectness proof of hash.    EX p:val, PROP()
              RETURN (p)
              SEP(hashtable_rep empty_table p; mem_mgr gv).

        -Definition new_cell_spec : ident × funspec :=
        +Definition new_cell_spec : ident × funspec :=
         DECLARE _new_cell
        WITH s: val, key: list byte, count: Z, next: val, gv: globals
        WITH s: val, key: list byte, count: Z, next: val, gv: globals
         PRE [ tptr tschar, tint, tptr tcell ]
           PROP()
           PARAMS(s; Vint (Int.repr count); next) GLOBALS(gv)
        @@ -314,9 +314,9 @@

        Verif_hashCorrectness proof of hash.       RETURN(p)
              SEP(list_cell key count next p; cstring Ews key s;
                  mem_mgr gv).

        -Definition get_spec : ident × funspec :=
        +Definition get_spec : ident × funspec :=
         DECLARE _get
        WITH p: val, contents: hashtable_contents, s: val, sigma : list byte
        WITH p: val, contents: hashtable_contents, s: val, sigma : list byte
         PRE [ tptr (Tstruct _hashtable noattr), tptr tschar ]
            PROP ()
            PARAMS (p; s)
        @@ -325,24 +325,24 @@

        Verif_hashCorrectness proof of hash.     PROP ( )
            RETURN (Vint (Int.repr (hashtable_get sigma contents)))
            SEP (hashtable_rep contents p; cstring Ews sigma s).

        -Definition incr_list_spec : ident × funspec :=
        +Definition incr_list_spec : ident × funspec :=
         DECLARE _incr_list
        WITH r0: val, al: list (list byte × Z), s: val,
        -      sigma : list byte, gv: globals
        WITH r0: val, al: list (list byte × Z), s: val,
        +      sigma : list byte, gv: globals
         PRE [ tptr (tptr tcell), tptr tschar ]
        -    PROP (list_get sigma al < Int.max_unsigned)
        +    PROP (list_get sigma al < Int.max_unsigned)
            PARAMS (r0; s) GLOBALS(gv)
            SEP (listboxrep al r0; cstring Ews sigma s; mem_mgr gv)
         POST [ tvoid ]
              PROP ( ) RETURN ()
              SEP (listboxrep (list_incr sigma al) r0;
                   cstring Ews sigma s; mem_mgr gv).

        -Definition incr_spec : ident × funspec :=
        +Definition incr_spec : ident × funspec :=
         DECLARE _incr
        WITH p: val, contents: hashtable_contents, s: val,
        -      sigma : list byte, gv: globals
        WITH p: val, contents: hashtable_contents, s: val,
        +      sigma : list byte, gv: globals
         PRE [ tptr (Tstruct _hashtable noattr), tptr tschar ]
        -    PROP (hashtable_get sigma contents < Int.max_unsigned)
        +    PROP (hashtable_get sigma contents < Int.max_unsigned)
            PARAMS (p; s) GLOBALS(gv)
            SEP (hashtable_rep contents p; cstring Ews sigma s; mem_mgr gv)
         POST [ tvoid ]
        @@ -357,11 +357,11 @@

        Verif_hashCorrectness proof of hash.
        Definition Gprog : funspecs :=
        -        ltac:(with_library prog [
        -                   strcmp_spec; strcpy_spec; strlen_spec; hash_spec;
        -                   new_cell_spec; copy_string_spec; get_spec; incr_spec;
        +        ltac:(with_library prog [
        +                   strcmp_spec; strcpy_spec; strlen_spec; hash_spec;
        +                   new_cell_spec; copy_string_spec; get_spec; incr_spec;
                           incr_list_spec
        ]).
        ]).
        @@ -419,7 +419,7 @@

        Verif_hashCorrectness proof of hash. Lemma body_copy_string: semax_body Vprog Gprog f_copy_string copy_string_spec.
        Proof.
        start_function.
        -assert_PROP (Zlength sigma + 1 Ptrofs.max_unsigned) by entailer!.
        +assert_PROP (Zlength sigma + 1 Ptrofs.max_unsigned) by entailer!.
        (* FILL IN HERE *) Admitted.

        @@ -454,7 +454,7 @@

        Verif_hashCorrectness proof of hash.
        Lemma iter_sepcon_listrep_local_facts:
          bl, iter_sepcon (uncurry listrep) bl
        -                    |-- !! Forall is_pointer_or_null (map snd bl).
        +                    |-- !! Forall is_pointer_or_null (map snd bl).
        Proof.
        (* Hint: use induction and sep_apply. *)
        (* FILL IN HERE *) Admitted.

        @@ -470,14 +470,14 @@

        Verif_hashCorrectness proof of hash.

        Lemma iter_sepcon_split3:
        -   {A}{d: Inhabitant A} (i: Z) (al: list A) (f: A mpred),
        -   0 i < Zlength al
        -  (iter_sepcon f al =
        +   {A}{d: Inhabitant A} (i: Z) (al: list A) (f: A mpred),
        +   0 i < Zlength al
        +  (iter_sepcon f al =
           iter_sepcon f (sublist 0 i al) × f (Znth i al)
        -    × iter_sepcon f (sublist (i+1) (Zlength al) al))%logic.
        +    × iter_sepcon f (sublist (i+1) (Zlength al) al))%logic.
        Proof.
        intros.
        -rewrite <- (sublist_same 0 (Zlength al) al) at 1 by auto.
        +rewrite <- (sublist_same 0 (Zlength al) al) at 1 by auto.
        (* Hint: rewrite (sublist_split LO MID HI) by lia, where you choose
            values for LO MID HI. 
          Also useful:  rewrite sublist_len_1    and    iter_sepcon_app.
        @@ -498,7 +498,7 @@

        Verif_hashCorrectness proof of hash.  (* This lemma is useful as the very last thing to do in body_new_table *)
          n,
          emp
        -  |-- iter_sepcon (uncurry listrep) (repeat ([], nullval) n).
        +  |-- iter_sepcon (uncurry listrep) (repeat ([], nullval) n).
        (* FILL IN HERE *) Admitted.

        Lemma body_new_table: semax_body Vprog Gprog f_new_table new_table_spec.
        Proof.
        @@ -584,14 +584,14 @@

        Verif_hashCorrectness proof of hash. Lemma listrep_traverse_step:
           al key count p' p,
          list_cell key count p' p |--
        -     listrep al p' −∗ listrep ((key, count) :: al) p.
        +     listrep al p' −∗ listrep ((key, count) :: al) p.
        (* FILL IN HERE *) Admitted.

        Lemma listrep_traverse_step_example:
          kp key count al q p b0 p0,
            cstring Ews key kp ×
        -    (listrep ((key, count) :: al) p −∗ listrep b0 p0) ×
        -    malloc_token Ews (tarray tschar (Zlength key + 1)) kp ×
        -    data_at Ews tcell (kp, (Vint (Int.repr count), q)) p ×
        +    (listrep ((key, count) :: al) p −∗ listrep b0 p0) ×
        +    malloc_token Ews (tarray tschar (Zlength key + 1)) kp ×
        +    data_at Ews tcell (kp, (Vint (Int.repr count), q)) p ×
            malloc_token Ews tcell p ×
            listrep al q
          |-- listrep b0 p0.
        @@ -607,7 +607,7 @@

        Verif_hashCorrectness proof of hash. (* FILL IN HERE *) Admitted.

        Lemma listrep_traverse_finish:
          al p,
        -   listrep nil nullval × (listrep nil nullval −∗ listrep al p)
        +   listrep nil nullval × (listrep nil nullval −∗ listrep al p)
          |-- listrep al p.
        (* FILL IN HERE *) Admitted.
        @@ -637,12 +637,12 @@

        Verif_hashCorrectness proof of hash.

        apply seq_assoc1; assert_after 1
        - (EX cts:list (list (list byte × Z) × val),
        -  PROP (contents = map fst cts )
        + (EX cts:list (list (list byte × Z) × val),
        +  PROP (contents = map fst cts )
          LOCAL (temp _h (Vint (Int.repr (hashfun sigma)));
                 temp _table table; temp _s s)
          SEP (cstring Ews sigma s; malloc_token Ews thashtable table;
        -       data_at Ews thashtable (map snd cts) table;
        +       data_at Ews thashtable (map snd cts) table;
               iter_sepcon (uncurry listrep) cts))%assert.
        {
         (* FILL IN HERE *) admit.
        @@ -670,7 +670,7 @@

        Verif_hashCorrectness proof of hash.

        -assert (0 hashfun sigma mod N < N).
        +assert (0 hashfun sigma mod N < N).
        @@ -679,7 +679,7 @@

        Verif_hashCorrectness proof of hash.

          (* FILL IN HERE *) admit.
        -assert_PROP (Zlength cts = N) as H1.
        +assert_PROP (Zlength cts = N) as H1.
        @@ -709,7 +709,7 @@

        Verif_hashCorrectness proof of hash.
         { (* FILL IN HERE *) admit.
         }
        -set (h := hashfun sigma mod N) in ×.
        +set (h := hashfun sigma mod N) in ×.
        @@ -718,12 +718,12 @@

        Verif_hashCorrectness proof of hash.

        eapply semax_pre; [ instantiate (1:=
        -  PROP ( ) LOCAL (temp _p (snd (Znth h cts)); temp _s s)
        +  PROP ( ) LOCAL (temp _p (snd (Znth h cts)); temp _s s)
          SEP (cstring Ews sigma s; malloc_token Ews thashtable table;
        -       data_at Ews thashtable (map snd cts) table;
        +       data_at Ews thashtable (map snd cts) table;
               iter_sepcon (uncurry listrep) (sublist 0 h cts);
        -        listrep (fst (Znth h cts)) (snd (Znth h cts));
        -       iter_sepcon (uncurry listrep) (sublist (h + 1) (Zlength cts) cts))) | ].
        +        listrep (fst (Znth h cts)) (snd (Znth h cts));
        +       iter_sepcon (uncurry listrep) (sublist (h + 1) (Zlength cts) cts))) | ].
        { (* FILL IN HERE *) admit.
        }

        @@ -761,7 +761,7 @@

        Verif_hashCorrectness proof of hash.
        forward_while
        - (EX b: list (list byte × Z), EX p: val,
        + (EX b: list (list byte × Z), EX p: val,
            PROP( (* FILL IN HERE the explanation of how b relates to b0.
                  In particular, as you walk down the list past keys that
                  don't match sigma, the result you would obtain by
        @@ -802,7 +802,7 @@

        Verif_hashCorrectness proof of hash.

         {
        -   assert_PROP False. {
        +   assert_PROP False. {
           (* FILL IN HERE *) admit.
           }
           contradiction.
        @@ -890,7 +890,7 @@

        Verif_hashCorrectness proof of hash. cell. Our separation-logic description of this is listboxrep.

        -Print listboxrep. (* = fun (al : list (list byte * Z)) (r : val) =>
        +Print listboxrep. (* = fun (al : list (list byte * Z)) (r : val) =>
             EX p : val, data_at Ews (tptr tcell) p r * listrep al p   *)

        @@ -964,20 +964,20 @@

        Verif_hashCorrectness proof of hash. Lemma listboxrep_traverse:
           p kp key count r,
             cstring Ews key kp ×
        -     malloc_token Ews (tarray tschar (Zlength key + 1)) kp ×
        -     field_at Ews tcell [StructField _key] kp p ×
        -     field_at Ews tcell [StructField _count] (Vint (Int.repr count)) p ×
        -     spacer Ews (nested_field_offset tcell [StructField _count] + sizeof tuint)
        -                       (nested_field_offset tcell [StructField _next]) p ×
        +     malloc_token Ews (tarray tschar (Zlength key + 1)) kp ×
        +     field_at Ews tcell [StructField _key] kp p ×
        +     field_at Ews tcell [StructField _count] (Vint (Int.repr count)) p ×
        +     spacer Ews (nested_field_offset tcell [StructField _count] + sizeof tuint)
        +                       (nested_field_offset tcell [StructField _next]) p ×
             malloc_token Ews tcell p ×
             data_at Ews (tptr tcell) p r
           |--
        -     ALL dl: list (list byte × Z),
        -       listboxrep dl (field_address tcell [StructField _next] p)
        -       −∗ listboxrep ((key, count) :: dl) r.
        +     ALL dl: list (list byte × Z),
        +       listboxrep dl (field_address tcell [StructField _next] p)
        +       −∗ listboxrep ((key, count) :: dl) r.
        Proof.
          intros.
        -  simpl spacer.
        +  simpl spacer.
         apply allp_right; intro dl.
         applywand_sepcon_adjoint.

        @@ -1000,12 +1000,12 @@

        Verif_hashCorrectness proof of hash.

        -Check (field_at_data_at Ews tcell [StructField _next]). (* =
        +Check (field_at_data_at Ews tcell [StructField _next]). (* =
          forall v p, 
               field_at Ews tcell StructField _next v p =
               data_at Ews (nested_field_type tcell StructField _next) v
                 (field_address tcell StructField _next p). *)

        -Eval simpl in (nested_field_type tcell [StructField _next]).
        +Eval simpl in (nested_field_type tcell [StructField _next]).
          (* = tptr (Tstruct _cell noattr) *)

        (* FILL IN HERE *) Admitted.
        @@ -1020,17 +1020,17 @@

        Verif_hashCorrectness proof of hash.
        Lemma listboxrep_traverse32:
           p kp key count r,
        -     Archi.ptr64 = false
        +     Archi.ptr64 = false
             cstring Ews key kp ×
        -     malloc_token Ews (tarray tschar (Zlength key + 1)) kp ×
        -     field_at Ews tcell [StructField _key] kp p ×
        -     field_at Ews tcell [StructField _count] (Vint (Int.repr count)) p ×
        +     malloc_token Ews (tarray tschar (Zlength key + 1)) kp ×
        +     field_at Ews tcell [StructField _key] kp p ×
        +     field_at Ews tcell [StructField _count] (Vint (Int.repr count)) p ×
             malloc_token Ews tcell p ×
             data_at Ews (tptr tcell) p r
           |--
        -     ALL dl: list (list byte × Z),
        -       listboxrep dl (field_address tcell [StructField _next] p)
        -       −∗ listboxrep ((key, count) :: dl) r.
        +     ALL dl: list (list byte × Z),
        +       listboxrep dl (field_address tcell [StructField _next] p)
        +       −∗ listboxrep ((key, count) :: dl) r.
        Proof.
        intros.
        inv H; (* Solve the goal if we are in 64-bit mode *)
        @@ -1089,12 +1089,12 @@

        Verif_hashCorrectness proof of hash.
        Lemma example_split_struct:
          p (x y z: val),
        -      data_at Ews tcell (x,(y,z)) p
        -   = (field_at Ews tcell [StructField _key] x p
        -     × field_at Ews tcell [StructField _count] y p
        -     × spacer Ews (nested_field_offset tcell [StructField _count] + sizeof tuint)
        -                       (nested_field_offset tcell [StructField _next]) p
        -      × field_at Ews tcell [StructField _next] z p)%logic.
        +      data_at Ews tcell (x,(y,z)) p
        +   = (field_at Ews tcell [StructField _key] x p
        +     × field_at Ews tcell [StructField _count] y p
        +     × spacer Ews (nested_field_offset tcell [StructField _count] + sizeof tuint)
        +                       (nested_field_offset tcell [StructField _next]) p
        +      × field_at Ews tcell [StructField _next] z p)%logic.
        Proof.
        intros.
        unfold_data_at (data_at _ _ _ p).
        @@ -1115,9 +1115,9 @@

        Verif_hashCorrectness proof of hash. Lemma example_field_at_data_at:
          p (z: val),
        -   field_at Ews tcell [StructField _next] z p =
        +   field_at Ews tcell [StructField _next] z p =
           data_at Ews (tptr tcell) z
        -    (field_address tcell [StructField _next] p).
        +    (field_address tcell [StructField _next] p).
        Proof.
        intros.
         rewrite field_at_data_at.
        @@ -1135,9 +1135,9 @@

        Verif_hashCorrectness proof of hash. Lemma example_field_at_data_at':
          p (z: val),
        -   field_at Ews tcell [StructField _next] z p |--
        +   field_at Ews tcell [StructField _next] z p |--
           data_at Ews (tptr tcell) z
        -    (offset_val (2 × sizeof size_t) p).
        +    (offset_val (2 × sizeof size_t) p).
        Proof.
        intros.
         rewrite field_at_data_at.
        @@ -1157,8 +1157,8 @@

        Verif_hashCorrectness proof of hash. Lemma example_field_at_data_at'':
          p (z: val),
           data_at Ews (tptr tcell) z
        -    (offset_val (2 × sizeof size_t) p)
        |-- field_at Ews tcell [StructField _next] z p.
        +    (offset_val (2 × sizeof size_t) p)
        |-- field_at Ews tcell [StructField _next] z p.
        Proof.
         intros.
         rewrite field_at_data_at.
        @@ -1177,10 +1177,10 @@

        Verif_hashCorrectness proof of hash.
        Lemma example_field_at_data_at''':
          p (z: val),
        -  field_compatible tcell [StructField _next] p
        +  field_compatible tcell [StructField _next] p
           data_at Ews (tptr tcell) z
        -    (offset_val (2 × sizeof size_t) p)
        |-- field_at Ews tcell [StructField _next] z p.
        +    (offset_val (2 × sizeof size_t) p)
        |-- field_at Ews tcell [StructField _next] z p.
        Proof.
         intros.
         rewrite field_at_data_at.
        @@ -1196,7 +1196,7 @@

        Verif_hashCorrectness proof of hash. Why is that? The answer is in the definition of field_address:

        -Print field_address. (* = 
        +Print field_address. (* = 
           fun {cs : compspecs} (t : type) (gfs : list gfield) (p : val) =>
            if field_compatible_dec t gfs p 
            then offset_val (nested_field_offset t gfs) p 
        @@ -1252,7 +1252,7 @@

        Verif_hashCorrectness proof of hash.

        -Print field_compatible. (* = 
        +Print field_compatible. (* = 
          fun {cs : compspecs} (t : type) (gfs : list gfield) (p : val) =>
          isptr p /\
          complete_legal_cosu_type t = true /\
        @@ -1362,7 +1362,7 @@

        Verif_hashCorrectness proof of hash.

        -Print field_compatible0. (* = 
        +Print field_compatible0. (* = 
          fun {cs : compspecs} (t : type) (gfs : list gfield) (p : val) =>
          isptr p /\
          complete_legal_cosu_type t = true /\
        @@ -1455,7 +1455,7 @@

        Verif_hashCorrectness proof of hash. Here (array_with_hole sh t lo hi n al p) means

        -Print array_with_hole.
        +Print array_with_hole.
        (*  : !! field_compatible (tarray t n)  p &&
              (ALL cl : list (reptype t) ,
                 data_at sh (tarray t (hi - lo)) cl
        @@ -1499,17 +1499,17 @@

        Verif_hashCorrectness proof of hash.
        Lemma body_incr_field_address_lemma:
        -   (table: val) (h : Z),
        -  0 h < N
        -  field_compatible (tarray (tptr tcell) N) []
        -    (field_address thashtable [StructField _buckets] table)
        -  field_compatible (tptr tcell) []
        +   (table: val) (h : Z),
        +  0 h < N
        +  field_compatible (tarray (tptr tcell) N) []
        +    (field_address thashtable [StructField _buckets] table)
        +  field_compatible (tptr tcell) []
            (field_address0 (tarray (tptr tcell) N)
        -       [ArraySubsc h]
        -       (field_address thashtable [StructField _buckets] table))
        -  offset_val (sizeof (tptr tcell) × h) table =
        -  field_address0 (tarray (tptr tcell) N) [ArraySubsc h]
        -    (field_address thashtable [StructField _buckets] table).
        +       [ArraySubsc h]
        +       (field_address thashtable [StructField _buckets] table))
        +  offset_val (sizeof (tptr tcell) × h) table =
        +  field_address0 (tarray (tptr tcell) N) [ArraySubsc h]
        +    (field_address thashtable [StructField _buckets] table).
        Proof.
          intros.
        @@ -1534,7 +1534,7 @@

        Verif_hashCorrectness proof of hash.   al table,
            data_at Ews thashtable al table
            |-- data_at Ews (tarray (tptr tcell) N) al
        -           (field_address thashtable [StructField _buckets] table).
        +           (field_address thashtable [StructField _buckets] table).
        Proof.
        intros.
        unfold_data_at (data_at _ _ _ table).
        @@ -1563,7 +1563,7 @@

        Verif_hashCorrectness proof of hash.

        subst MORE_COMMANDS; unfold abbreviate; match goal withsemax _ _ (Ssequence ?c1 (Ssequence ?c2 ?c3)) _apply (semax_unfold_seq (Ssequence (Ssequence c1 c2) c3)); [ reflexivity | ] end.
        -pose (j := EX cts: list (list (list byte × Z) × val), PROP (contents = map fst cts; 0 hashfun sigma mod N < N; Zlength cts = N) LOCAL (temp _b (Vint (Int.repr (hashfun sigma mod N))); temp _h (Vint (Int.repr (hashfun sigma))); temp _table table; temp _s s; gvars gv) SEP (cstring Ews sigma s; malloc_token Ews thashtable table; data_at Ews (tarray (tptr tcell) N) (map snd cts) (field_address thashtable [StructField _buckets] table); iter_sepcon (uncurry listrep) cts; mem_mgr gv)); apply semax_seq' with j; subst j; abbreviate_semax.
        +pose (j := EX cts: list (list (list byte × Z) × val), PROP (contents = map fst cts; 0 hashfun sigma mod N < N; Zlength cts = N) LOCAL (temp _b (Vint (Int.repr (hashfun sigma mod N))); temp _h (Vint (Int.repr (hashfun sigma))); temp _table table; temp _s s; gvars gv) SEP (cstring Ews sigma s; malloc_token Ews thashtable table; data_at Ews (tarray (tptr tcell) N) (map snd cts) (field_address thashtable [StructField _buckets] table); iter_sepcon (uncurry listrep) cts; mem_mgr gv)); apply semax_seq' with j; subst j; abbreviate_semax.
        {
         (* FILL IN HERE *) admit.
         }
        @@ -1572,8 +1572,8 @@

        Verif_hashCorrectness proof of hash. subst contents.
        unfold hashtable_get in Hmax.
        rewrite Zlength_map, H1 in Hmax.
        -set (h := hashfun sigma mod N) in ×.
        -erewrite (wand_slice_array h (h+1) N _ (tptr tcell))
        +set (h := hashfun sigma mod N) in ×.
        +erewrite (wand_slice_array h (h+1) N _ (tptr tcell))
          by first [rep_lia | list_solve ].

        @@ -1592,12 +1592,12 @@

        Verif_hashCorrectness proof of hash.
        -(* 2024-12-27 01:34 *)
        +(* 2026-01-06 14:19 *)

        diff --git a/vc-current/Verif_hash.v b/vc-current/Verif_hash.v index 8fbd636b0..854f0e2e1 100644 --- a/vc-current/Verif_hash.v +++ b/vc-current/Verif_hash.v @@ -1140,4 +1140,4 @@ erewrite (wand_slice_array h (h+1) N _ (tptr tcell)) (* FILL IN HERE *) Admitted. (** [] *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/Verif_reverse.html b/vc-current/Verif_reverse.html index f4547b7d0..177fe2674 100644 --- a/vc-current/Verif_reverse.html +++ b/vc-current/Verif_reverse.html @@ -35,7 +35,7 @@

        Verif_reverseLinked lists in Verifia
        - This chapter demonstrates some more features of Verifiable C. + This chapter demonstrates some more features of Verifiable C. There are no exercises in this chapter.
        @@ -114,12 +114,12 @@

        Verif_reverseLinked lists in Verifia

        -Fixpoint listrep (sigma: list val) (p: val) : mpred :=
        +Fixpoint listrep (sigma: list val) (p: val) : mpred :=
         match sigma with
        - | h::hs
        -    EX y:val, data_at Tsh t_list (h,y) p × listrep hs y
        - | nil
        -    !! (p = nullval) && emp
        + | h::hs
        +    EX y:val, data_at Tsh t_list (h,y) p × listrep hs y
        + | nil
        +    !! (p = nullval) && emp
         end.
        @@ -136,8 +136,8 @@

        Verif_reverseLinked lists in Verifia But if sigma is nil, then p is the null pointer, and the memory footprint is empty (emp). The fact p=nullval is a pure - proposition (Coq Prop); we inject this into the assertion language - (Coq mpred) using the !! operator. + proposition (Rocq Prop); we inject this into the assertion language + (Rocq mpred) using the !! operator.
        @@ -183,7 +183,7 @@

        Verif_reverseLinked lists in Verifia Lemma data_at_isptr_example1:
           (h y p : val) ,
        -   data_at Tsh t_list (h,y) p |-- !! isptr p.
        +   data_at Tsh t_list (h,y) p |-- !! isptr p.
        Proof.
        intros.

        @@ -193,7 +193,7 @@

        Verif_reverseLinked lists in Verifia or a floating-point number:

        -Print isptr.
        +Print isptr.
          (* = fun v : val => match v with Vptr _ _ => True | _ => False end *)
        @@ -205,7 +205,7 @@

        Verif_reverseLinked lists in Verifia Qed.

        Lemma data_at_isptr_example2:
           (h y p : val) ,
        -   data_at Tsh t_list (h,y) p |-- !! isptr p.
        +   data_at Tsh t_list (h,y) p |-- !! isptr p.
        Proof.
        intros.

        @@ -271,7 +271,7 @@

        Verif_reverseLinked lists in Verifia Lemma listrep_facts_example:
          sigma p,
        -   listrep sigma p |-- !! (isptr p p=nullval).
        +   listrep sigma p |-- !! (isptr p p=nullval).
        Proof.
        intros.
        entailer!.
        @@ -285,7 +285,7 @@

        Verif_reverseLinked lists in Verifia Abort.

        Lemma listrep_facts_example:
          sigma p,
        -   listrep sigma p |-- !! (isptr p p=nullval).
        +   listrep sigma p |-- !! (isptr p p=nullval).
        Proof.
        intros.

        @@ -309,7 +309,7 @@

        Verif_reverseLinked lists in Verifia Lemma listrep_local_facts:
           sigma p,
           listrep sigma p |--
        -   !! (is_pointer_or_null p (p=nullval sigma=nil)).
        +   !! (is_pointer_or_null p (p=nullval sigma=nil)).

        @@ -442,9 +442,9 @@

        Verif_reverseLinked lists in Verifia The predicate isptr excludes the null pointer,

        -Print isptr.
        +Print isptr.
          (* = fun v : val => match v with Vptr _ _ => True | _ => False end *)
        -Print nullval.
        +Print nullval.
          (* = if Archi.ptr64 then Vlong Int64.zero else Vint Int.zero *)
        @@ -485,7 +485,7 @@

        Verif_reverseLinked lists in Verifia Lemma struct_list_valid_pointer_example:
           h y p,
        -   data_at Tsh t_list (h,y) p |-- valid_pointer p.
        +   data_at Tsh t_list (h,y) p |-- valid_pointer p.
        Proof.
          intros.
          auto with valid_pointer.
        @@ -578,14 +578,14 @@

        Verif_reverseLinked lists in Verifia and the postcondition guaranteed by the function.

        -Definition reverse_spec : ident × funspec :=
        +Definition reverse_spec : ident × funspec :=
         DECLARE _reverse
        -  WITH sigma : list val, p: val
        +  WITH sigma : list val, p: val
          PRE [ tptr t_list ]
             PROP () PARAMS (p) SEP (listrep sigma p)
          POST [ (tptr t_list) ]
            EX q:val,
        -     PROP () RETURN (q) SEP (listrep(rev sigma) q).
        +     PROP () RETURN (q) SEP (listrep(rev sigma) q).
        @@ -601,7 +601,7 @@

        Verif_reverseLinked lists in Verifia "pointer to struct list"

      • -
      • PARAMS: The parameter contains the Coq value p; +
      • PARAMS: The parameter contains the Rocq value p;
      • SEP: in memory at address p there is a linked list @@ -640,7 +640,7 @@

        Verif_reverseLinked lists in Verifia only one.
        -Definition Gprog : funspecs := [ reverse_spec ].
        +Definition Gprog : funspecs := [ reverse_spec ].
        @@ -668,7 +668,7 @@

        Verif_reverseLinked lists in Verifia
        As usual, the current assertion (precondition) is derived from the PRE - clause of the function specification, reverse_spec, and the current command + clause of the function specification, reverse_spec, and the current command w=0; ...more... is the function body of f_reverse.
        @@ -731,16 +731,16 @@

        Verif_reverseLinked lists in Verifia
        forward_while
        -   (EX s1: list val, EX s2 : list val,
        -    EX w: val, EX v: val,
        -     PROP (sigma = rev s1 ++ s2)
        +   (EX s1: list val, EX s2 : list val,
        +    EX w: val, EX v: val,
        +     PROP (sigma = rev s1 ++ s2)
             LOCAL (temp _w w; temp _v v)
             SEP (listrep s1 w; listrep s2 v)).
        -The forward_while tactic leaves four subgoals, - which we mark with - (the Coq "bullet") +The forward_while tactic leaves four subgoals, + which we mark with - (the Rocq "bullet")
        - (* Prove that (current) precondition implies the loop invariant *)
        @@ -757,7 +757,7 @@

        Verif_reverseLinked lists in Verifia

        -Exists (@nil val) sigma nullval p.
        +Exists (@nil val) sigma nullval p.
        @@ -879,7 +879,7 @@

        Verif_reverseLinked lists in Verifia

        -Now, above the line, we have v=nullval and isptr v; +Now, above the line, we have v=nullval and isptr v; this is a contradiction.
        @@ -940,7 +940,7 @@

        Verif_reverseLinked lists in Verifia

        -   Exists (h::s1,r,v,y).
        +   Exists (h::s1,r,v,y).
        @@ -950,15 +950,15 @@

        Verif_reverseLinked lists in Verifia
           entailer!.
        -   × simpl. rewrite app_ass. auto.
        +   × simpl. rewrite app_ass. auto.
           × unfold listrep at 3; fold listrep.
             Exists w. entailer!.

        - (* after the loop *)
          
        -As usual in any Hoare logic (including Separation Logic), the - postcondition of a while-loop is {Inv /\ not Test}, where Inv is the +As usual in any Hoare logic (including Separation Logic), the + postcondition of a while-loop is {Inv /\ not Test}, where Inv is the loop invariant and Test is the loop test. Here, all the EXistentials and PROPs of the loop invariant have been moved above the line as s1,s2,w,v,HRE,H. @@ -984,10 +984,10 @@

        Verif_reverseLinked lists in Verifia
        Exists w; entailer!.
        -rewrite (proj1 H1) by auto.
        +rewrite (proj1 H1) by auto.
        unfold listrep at 2; fold listrep.
        entailer!.
        -rewrite <- app_nil_end, rev_involutive.
        +rewrite app_nil_r, rev_involutive.
        auto.
        Qed.
        @@ -1030,11 +1030,11 @@

        Verif_reverseLinked lists in Verifia

        -Lemma listrep_len_ge2_fact: (a b x: val) (l: list val),
        -  listrep (a :: b :: l) x |--
        +Lemma listrep_len_ge2_fact: (a b x: val) (l: list val),
        +  listrep (a :: b :: l) x |--
          EX y: val, EX z: val,
        -      data_at Tsh t_list (a,y) x ×
        -      data_at Tsh t_list (b,z) y ×
        +      data_at Tsh t_list (a,y) x ×
        +      data_at Tsh t_list (b,z) y ×
              listrep l z.
        Proof.
          intros.
        @@ -1043,11 +1043,11 @@

        Verif_reverseLinked lists in Verifia   Exists y z.
          cancel.
        Qed.

        -Lemma listrep_len_ge2_address_different: (a b x y z: val) (l: list val),
        -  data_at Tsh t_list (a,y) x ×
        -  data_at Tsh t_list (b,z) y ×
        +Lemma listrep_len_ge2_address_different: (a b x y z: val) (l: list val),
        +  data_at Tsh t_list (a,y) x ×
        +  data_at Tsh t_list (b,z) y ×
          listrep l z |--
        -  !! (x y).
        +  !! (x y).
        Proof.
          intros.

        @@ -1070,7 +1070,7 @@

        Verif_reverseLinked lists in Verifia
          destruct (Val.eq x y); [| apply prop_right; auto].
          subst x.
        -  sep_apply (data_at_conflict Tsh t_list (a, y)).
        +  sep_apply (data_at_conflict Tsh t_list (a, y)).
          + auto.
          + entailer!.
        Qed.
        @@ -1109,18 +1109,18 @@

        Verif_reverseLinked lists in Verifia Lemma body_reverse_step:
          {Espec : OracleKind}
        -  (sigma : list val)
        -  (s1 : list val)
        +  (sigma : list val)
        +  (s1 : list val)
          (h : val)
        -  (r : list val)
        +  (r : list val)
          (w v : val)
          (HRE : isptr v)
        -  (H : sigma = rev s1 ++ h :: r)
        +  (H : sigma = rev s1 ++ h :: r)
          (y : val),
        -  semax (func_tycontext f_reverse Vprog Gprog nil)
        +  semax (func_tycontext f_reverse Vprog Gprog nil)
            (PROP ( )
             LOCAL (temp _t y; temp _w w; temp _v v)
        -     SEP (listrep s1 w; data_at Tsh t_list (h, y) v; listrep r y))
        +     SEP (listrep s1 w; data_at Tsh t_list (h, y) v; listrep r y))
            (Ssequence
               (Sassign
                  (Efield
        @@ -1133,7 +1133,7 @@

        Verif_reverseLinked lists in Verifia     (normal_ret_assert
               (PROP ( )
                LOCAL (temp _v y; temp _w v; temp _t y)
        -        SEP (listrep s1 w; data_at Tsh t_list (h, w) v; listrep r y))).
        +        SEP (listrep s1 w; data_at Tsh t_list (h, w) v; listrep r y))).
        Proof.
          intros.
          abbreviate_semax.
        @@ -1181,12 +1181,12 @@

        Verif_reverseLinked lists in Verifia

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)

        diff --git a/vc-current/Verif_reverse.v b/vc-current/Verif_reverse.v index 0cfe88cfd..44f926859 100644 --- a/vc-current/Verif_reverse.v +++ b/vc-current/Verif_reverse.v @@ -76,8 +76,8 @@ Fixpoint listrep (sigma: list val) (p: val) : mpred := But if [sigma] is [nil], then [p] is the null pointer, and the memory footprint is empty ([emp]). The fact [p=nullval] is a pure - proposition (Coq [Prop]); we inject this into the assertion language - (Coq [mpred]) using the [!!] operator. + proposition (Rocq [Prop]); we inject this into the assertion language + (Rocq [mpred]) using the [!!] operator. Because [!!P] (for a proposition [P]) does not specify any footprint (whether empty or otherwise), we do not use the separating conjunction @@ -342,7 +342,7 @@ Definition reverse_spec : ident * funspec := - The PREcondition says, - There is one function-parameter, whose C type is "pointer to struct list" - - PARAMS: The parameter contains the Coq value [p]; + - PARAMS: The parameter contains the Rocq value [p]; - SEP: in memory at address [p] there is a linked list representing [sigma]. - The POSTcondition says, @@ -423,7 +423,7 @@ forward_while SEP (listrep s1 w; listrep s2 v)). (** The forward_while tactic leaves four subgoals, - which we mark with - (the Coq "bullet") *) + which we mark with - (the Rocq "bullet") *) - (* Prove that (current) precondition implies the loop invariant *) hint. @@ -582,7 +582,7 @@ Exists w; entailer!. rewrite (proj1 H1) by auto. unfold listrep at 2; fold listrep. entailer!. -rewrite <- app_nil_end, rev_involutive. +rewrite app_nil_r, rev_involutive. auto. Qed. @@ -743,4 +743,4 @@ Abort. Separation logic is essential for reasoning about updates to these structures. Verifiable C's SEP clause ensures separation between all its conjuncts. *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/Verif_stack.html b/vc-current/Verif_stack.html index 5b9c5b49d..2fb9ced50 100644 --- a/vc-current/Verif_stack.html +++ b/vc-current/Verif_stack.html @@ -171,11 +171,11 @@

        Verif_stackStack ADT implemented by Definition malloc_spec_example :=
         DECLARE _malloc
        WITH t:type, gv: globals
        WITH t:type, gv: globals
         PRE [ tuint ]
        -    PROP (0 sizeof t Int.max_unsigned;
        -          complete_legal_cosu_type t = true;
        -          natural_aligned natural_alignment t = true)
        +    PROP (0 sizeof t Int.max_unsigned;
        +          complete_legal_cosu_type t = true;
        +          natural_aligned natural_alignment t = true)
            PARAMS (Vint (Int.repr (sizeof t)))
            SEP (mem_mgr gv)
         POST [ tptr tvoid ] EX p:_,
        @@ -186,7 +186,7 @@

        Verif_stackStack ADT implemented by             else (malloc_token Ews t p × data_at_ Ews t p)).

        Definition free_spec_example :=
         DECLARE _free
        WITH t: type, p:val, gv: globals
        WITH t: type, p:val, gv: globals
         PRE [ tptr tvoid ]
             PROP ()
             PARAMS (p)
        @@ -218,13 +218,13 @@

        Verif_stackStack ADT implemented by

        -Fixpoint listrep (il: list Z) (p: val) : mpred :=
        +Fixpoint listrep (il: list Z) (p: val) : mpred :=
         match il with
        - | i::il'EX y: val,
        + | i::il'EX y: val,
                malloc_token Ews (Tstruct _cons noattr) p ×
        -        data_at Ews (Tstruct _cons noattr) (Vint (Int.repr i),y) p ×
        +        data_at Ews (Tstruct _cons noattr) (Vint (Int.repr i),y) p ×
                listrep il' y
        - | nil!! (p = nullval) && emp
        + | nil!! (p = nullval) && emp
         end.
        @@ -246,7 +246,7 @@

        Verif_stackStack ADT implemented by
        Lemma listrep_local_prop: il p, listrep il p |--
        -        !! (is_pointer_or_null p (p=nullval il=nil)).
        +        !! (is_pointer_or_null p (p=nullval il=nil)).
        @@ -292,7 +292,7 @@

        Verif_stackStack ADT implemented by

        -Definition stack (il: list Z) (p: val) :=
        +Definition stack (il: list Z) (p: val) :=
         EX q: val,
          malloc_token Ews (Tstruct _stack noattr) p ×
          data_at Ews (Tstruct _stack noattr) q p ×
        @@ -325,29 +325,29 @@

        Verif_stackStack ADT implemented by

        -Definition newstack_spec : ident × funspec :=
        +Definition newstack_spec : ident × funspec :=
         DECLARE _newstack
        WITH gv: globals
        WITH gv: globals
         PRE [ ]
            PROP () PARAMS() GLOBALS(gv) SEP (mem_mgr gv)
         POST [ tptr (Tstruct _stack noattr) ]
        -    EX p: val, PROP ( ) RETURN (p) SEP (stack nil p; mem_mgr gv).

        -Definition push_spec : ident × funspec :=
        +    EX p: val, PROP ( ) RETURN (p) SEP (stack nil p; mem_mgr gv).

        +Definition push_spec : ident × funspec :=
         DECLARE _push
        WITH p: val, i: Z, il: list Z, gv: globals
        WITH p: val, i: Z, il: list Z, gv: globals
         PRE [ tptr (Tstruct _stack noattr), tint ]
        -    PROP (Int.min_signed i Int.max_signed)
        +    PROP (Int.min_signed i Int.max_signed)
            PARAMS (p; Vint (Int.repr i)) GLOBALS(gv)
            SEP (stack il p; mem_mgr gv)
         POST [ tvoid ]
        -    PROP ( ) RETURN () SEP (stack (i::il) p; mem_mgr gv).

        -Definition pop_spec : ident × funspec :=
        +    PROP ( ) RETURN () SEP (stack (i::il) p; mem_mgr gv).

        +Definition pop_spec : ident × funspec :=
         DECLARE _pop
        WITH p: val, i: Z, il: list Z, gv: globals
        WITH p: val, i: Z, il: list Z, gv: globals
         PRE [ tptr (Tstruct _stack noattr) ]
            PROP ()
            PARAMS (p) GLOBALS(gv)
        -    SEP (stack (i::il) p; mem_mgr gv)
        +    SEP (stack (i::il) p; mem_mgr gv)
         POST [ tint ]
            PROP ( ) RETURN (Vint (Int.repr i)) SEP (stack il p; mem_mgr gv).
        @@ -358,9 +358,9 @@

        Verif_stackStack ADT implemented by
        Definition Gprog : funspecs :=
        -        ltac:(with_library prog [
        -                   newstack_spec; push_spec; pop_spec
        ]).
        +        ltac:(with_library prog [
        +                   newstack_spec; push_spec; pop_spec
        ]).
        @@ -421,7 +421,7 @@

        Verif_stackStack ADT implemented by Lemma body_push: semax_body Vprog Gprog f_push push_spec.
        Proof.
        start_function.
        -forward_call (Tstruct _cons noattr, gv).
        +forward_call (Tstruct _cons noattr, gv).
        (* FILL IN HERE *) Admitted.

        @@ -442,12 +442,12 @@

        Verif_stackStack ADT implemented by
        -(* 2024-12-27 01:34 *)
        +(* 2026-01-06 14:19 *)
        diff --git a/vc-current/Verif_stack.v b/vc-current/Verif_stack.v index e06c52e18..c546c957b 100644 --- a/vc-current/Verif_stack.v +++ b/vc-current/Verif_stack.v @@ -303,4 +303,4 @@ start_function. (* FILL IN HERE *) Admitted. (** [] *) -(* 2024-12-27 01:34 *) +(* 2026-01-06 14:19 *) diff --git a/vc-current/Verif_strlib.html b/vc-current/Verif_strlib.html index 3aa51ff19..ac7061bc0 100644 --- a/vc-current/Verif_strlib.html +++ b/vc-current/Verif_strlib.html @@ -71,7 +71,7 @@

        Verif_strlibString functions< else if(d1 < d2) return -1; else if(d1 > d2) return 1; } - } + }
        @@ -87,7 +87,7 @@

        Verif_strlibString functions< #[export] Instance CompSpecs : compspecs. make_compspecs prog. Defined.
        Definition Vprog : varspecs. mk_varspecs prog. Defined.
        Require Import VC.hints. (* Import special hints for this tutorial. *)
        -Require Import Coq.Strings.Ascii.
        +Require Import Stdlib.Strings.Ascii.
        @@ -95,12 +95,12 @@

        Verif_strlibString functions<
        - Coq represents a string as a list-like Inductive of Ascii + Rocq represents a string as a list-like Inductive of Ascii characters:

        Locate string. (* Coq.Strings.String.string *)
        -Print string.
        +Print string.
        (* Inductive string : Set :=
            EmptyString : string | String : Ascii.ascii -> string -> string *)

        @@ -108,16 +108,16 @@

        Verif_strlibString functions<
        The C programming language represents a character as a byte, that is, an 8-bit signed or unsigned integer. - In Coq represent the 8-bit integers using the byte type. + In Rocq represent the 8-bit integers using the byte type.
        -Print byte. (* Notation byte := Byte.int *)
        +Print byte. (* Notation byte := Byte.int *)
        CompCert's Byte module is an 8-bit instantiation of the n-bit integers, just as the Int module is a 32-bit - instantiation. + instantiation.
        @@ -130,20 +130,20 @@

        Verif_strlibString functions<

        -We can convert a Coq string to a list of bytes: +We can convert a Rocq string to a list of bytes:
        -Fixpoint string_to_list_byte (s: string) : list byte :=
        +Fixpoint string_to_list_byte (s: string) : list byte :=
          match s with
        -  | EmptyStringnil
        -  | String a s'Byte.repr (Z.of_N (Ascii.N_of_ascii a))
        -                                      :: string_to_list_byte s'
        +  | EmptyStringnil
        +  | String a s'Byte.repr (Z.of_N (Ascii.N_of_ascii a))
        +                                      :: string_to_list_byte s'
          end.

        Definition Hello := "Hello"%string.
        Definition Hello' := string_to_list_byte Hello.

        Eval simpl in string_to_list_byte Hello.
        (* = Byte.repr 72; Byte.repr 101; Byte.repr 108;(* = Byte.repr 72; Byte.repr 101; Byte.repr 108; Byte.repr 108; Byte.repr 111   :   list byte *)

        Section StringDemo.

          Variable p : val. (* Suppose we have an address in memory *)
        @@ -154,7 +154,7 @@

        Verif_strlibString functions< with the signed-character type:

        -Print tschar. (* = Tint I8 Signed noattr : type *)
        +Print tschar. (* = Tint I8 Signed noattr : type *)
        Check (data_at Tsh tschar (Vint (Int.repr 72)) p). (* : mpred *)
        @@ -176,7 +176,7 @@

        Verif_strlibString functions< Vbyte is not a primitive CompCert value, it is a definition:
        -Print Vbyte. (* = fun c : byte => Vint (Int.repr (Byte.signed c))
        +Print Vbyte. (* = fun c : byte => Vint (Int.repr (Byte.signed c))
             : byte -> val *)


        Goal Vbyte (Byte.repr 72) = Vint (Int.repr 72).
        Proof. reflexivity. Qed.

        @@ -197,7 +197,7 @@

        Verif_strlibString functions<
        Locate cstring. (* VST.floyd.entailer.cstring *)
        -Print cstring. (* =
        +Print cstring. (* =
          fun {CS : compspecs} (sh : Share.t) (s : list byte) (p : val) =>
          !! (~ In Byte.zero s) &&
          data_at sh (tarray tschar (Zlength s + 1)) (map Vbyte (s++Byte.zero)) p *)

        @@ -218,8 +218,8 @@

        Verif_strlibString functions<
        Check (
        -  !! (¬ In Byte.zero Hello') &&
        -  data_at Tsh (tarray tschar (5 + 1)) (map Vbyte (Hello'++[Byte.zero])) p ).
        +  !! (¬ In Byte.zero Hello') &&
        +  data_at Tsh (tarray tschar (5 + 1)) (map Vbyte (Hello'++[Byte.zero])) p ).
        @@ -230,12 +230,12 @@

        Verif_strlibString functions<
        Sometimes we know that there is a null-terminated string inside an array of - length n. That is, there are k nonnull characters (where k<n), + length n. That is, there are k nonnull characters (where k<n), followed by a null character, followed by n-(k+1) uninitialized (or don't-care) characters. We represent this with the cstringn predicate.

        -Print cstringn. (* =
        +Print cstringn. (* =
         fun {CS : compspecs} (sh : Share.t) (s : list byte) (n : Z) (p : val) =>
         !! (~ In Byte.zero s) &&
         data_at sh (tarray tschar n)
        @@ -254,20 +254,17 @@

        Verif_strlibString functions< proof goals similar to the one exemplified by this lemma:

        -Lemma demonstrate_cstring1:
        i contents
        -   (H: ¬ In Byte.zero contents)
        -   (H0: Znth i (contents ++ [Byte.zero]) Byte.zero)
        -   (H1: 0 i Zlength contents),
        -   0 i + 1 < Zlength (contents ++ [Byte.zero]).
        +Lemma demonstrate_cstring1:
        i contents
        +   (H: ¬ In Byte.zero contents)
        +   (H0: Znth i (contents ++ [Byte.zero]) Byte.zero)
        +   (H1: 0 i Zlength contents),
        +   0 i + 1 < Zlength (contents ++ [Byte.zero]).
        Proof.
        intros.
        - -
        - A null-terminated string is an array of characters with three parts:
        • The contents of the string, none of which is the '\0' character; @@ -280,7 +277,7 @@

          Verif_strlibString functions<

        - When processing a string, you should maintain three kinds of + When processing a string, you should maintain three kinds of assumptions above the line:
        • Hypothesis H above the line says that none of the @@ -292,12 +289,12 @@

          Verif_strlibString functions<
        • Hypothesis H0 typically comes from a loop test, s[i]!=0
        • -
        • H1 typically comes from a loop invariant: suppose a +
        • H1 typically comes from a loop invariant: suppose a
        a loop iteration variable _i (with value i) - is traversing the array. We expect that loop to go up to but + is traversing the array. We expect that loop to go up to but no farther than the null character, that is, one past the contents.
        @@ -306,7 +303,7 @@

        Verif_strlibString functions< that i < Zlength contents.

        -assert (H7: i < Zlength contents) by cstring.
        +assert (H7: i < Zlength contents) by cstring.
        @@ -326,12 +323,12 @@

        Verif_strlibString functions< therefore s[i]=0.

        -Lemma demonstrate_cstring2:
        i contents
        -   (H: ¬ In Byte.zero contents)
        -   (H0: Znth i (contents ++ [Byte.zero]) = Byte.zero)
        -   (H1: 0 i Zlength contents),
        -   i = Zlength contents.
        +Lemma demonstrate_cstring2:
        i contents
        +   (H: ¬ In Byte.zero contents)
        +   (H0: Znth i (contents ++ [Byte.zero]) = Byte.zero)
        +   (H1: 0 i Zlength contents),
        +   i = Zlength contents.
        Proof.
        intros.
        @@ -355,15 +352,15 @@

        Verif_strlibString functions<
        Definition strlen_spec :=
         DECLARE _strlen
        -  WITH sh: share, s : list byte, str: val
        +  WITH sh: share, s : list byte, str: val
          PRE [ tptr tschar ]
        -    PROP (readable_share sh)
        -    PARAMS (str)
        -    SEP (cstring sh s str)
        +    PROP (readable_share sh)
        +    PARAMS (str)
        +    SEP (cstring sh s str)
          POST [ size_t ]
            PROP ()
        -    RETURN (Vptrofs (Ptrofs.repr (Zlength s)))
        -    SEP (cstring sh s str).
        +    RETURN (Vptrofs (Ptrofs.repr (Zlength s)))
        +    SEP (cstring sh s str).
        @@ -372,15 +369,15 @@

        Verif_strlibString functions<
        - Programmers use size_t when writing C programs that are + Programmers use size_t when writing C programs that are portable to 64-bit and 32-bit installations; this typedef stands for whatever size of unsigned (long) integer is the same size as a pointer. In Verifiable C, size_t is the corresponding C unsigned type:

        -Print size_t.
        -(*   = if Archi.ptr64 
        -         then Tlong Unsigned noattr 
        +Print size_t.
        +(*   = if Archi.ptr64
        +         then Tlong Unsigned noattr
                 else Tint I32 Unsigned noattr *)

        @@ -391,7 +388,7 @@

        Verif_strlibString functions< for either Vlong or Vint, depending:

        -Print Vptrofs.
        +Print Vptrofs.
        (*  =  fun n : ptrofs =>
                  if Archi.ptr64
                  then Vlong (Ptrofs.to_int64 n)
        @@ -399,8 +396,8 @@

        Verif_strlibString functions<

        -The unpronounceable "ptrofs" stands for "pointer offset". - It's a CompCert thing. Don't ask. +The unpronounceable "ptrofs" stands for "pointer offset". + It's a CompCert thing. Don't ask. The argument of Vptrofs is a ptrofs, that is Ptrofs.int. The module Ptrofs is isomorphic to Int64 in a 64-bit configuration, and isomorphic to Int in a 32-bit configuration. Isomorphic, @@ -427,15 +424,15 @@

        Verif_strlibString functions<
        Definition strcpy_spec :=
         DECLARE _strcpy
        -  WITH wsh: share, rsh: share, dest : val, n : Z, src : val, s : list byte
        +  WITH wsh: share, rsh: share, dest : val, n : Z, src : val, s : list byte
          PRE [ tptr tschar, tptr tschar ]
        -    PROP (writable_share wsh; readable_share rsh; Zlength s < n)
        -    PARAMS (dest; src)
        -    SEP (data_at_ wsh (tarray tschar n) dest; cstring rsh s src)
        +    PROP (writable_share wsh; readable_share rsh; Zlength s < n)
        +    PARAMS (dest; src)
        +    SEP (data_at_ wsh (tarray tschar n) dest; cstring rsh s src)
          POST [ tptr tschar ]
            PROP ()
        -    RETURN (dest)
        -    SEP (cstringn wsh s n dest; cstring rsh s src).
        +    RETURN (dest)
        +    SEP (cstringn wsh s n dest; cstring rsh s src).
        @@ -446,18 +443,18 @@

        Verif_strlibString functions<
        Definition strcmp_spec :=
         DECLARE _strcmp
        -  WITH sh1: share, sh2: share, str1 : val, s1 : list byte, str2 : val,
        -       s2 : list byte
        +  WITH sh1: share, sh2: share, str1 : val, s1 : list byte, str2 : val,
        +       s2 : list byte
          PRE [ tptr tschar, tptr tschar ]
        -    PROP (readable_share sh1; readable_share sh2)
        -    PARAMS (str1; str2)
        -    SEP (cstring sh1 s1 str1; cstring sh2 s2 str2)
        +    PROP (readable_share sh1; readable_share sh2)
        +    PARAMS (str1; str2)
        +    SEP (cstring sh1 s1 str1; cstring sh2 s2 str2)
          POST [ tint ]
        -   EX i : int,
        -    PROP (if Int.eq_dec i Int.zero then s1 = s2 else s1 s2)
        -    RETURN (Vint i)
        -    SEP (cstring sh1 s1 str1; cstring sh2 s2 str2).

        -Definition Gprog : funspecs := [ strlen_spec; strcpy_spec; strcmp_spec ].
        +   EX i : int,
        +    PROP (if Int.eq_dec i Int.zero then s1 = s2 else s1 s2)
        +    RETURN (Vint i)
        +    SEP (cstring sh1 s1 str1; cstring sh2 s2 str2).

        +Definition Gprog : funspecs := [ strlen_spec; strcpy_spec; strcmp_spec ].
        @@ -528,7 +525,7 @@

        Verif_strlibString functions< Providing continue: Inv2 is optional, as is break: Inv3. In many cases the forward_loop tactic can figure out that the continue: invariant is not needed (if the loop doesn't contain a continue statement), - or the break: postcondition is not needed (if there's no break + or the break: postcondition is not needed (if there's no break statement, or if there are no commands after the loop).
        @@ -536,11 +533,11 @@

        Verif_strlibString functions< So let's try this loop with only a single loop invariant:

        -forward_loop (EX i : Z,
        -  PROP (0 i < Zlength s + 1)
        -  LOCAL (temp _str str; temp _i (Vptrofs (Ptrofs.repr i)))
        -  SEP (data_at sh (tarray tschar (Zlength s + 1))
        -          (map Vbyte (s ++ [Byte.zero])) str)).
        +forward_loop (EX i : Z,
        +  PROP (0 i < Zlength s + 1)
        +  LOCAL (temp _str str; temp _i (Vptrofs (Ptrofs.repr i)))
        +  SEP (data_at sh (tarray tschar (Zlength s + 1))
        +          (map Vbyte (s ++ [Byte.zero])) str)).
        @@ -585,22 +582,22 @@

        Verif_strlibString functions< proofs scripts portable by using Ptrofs.

        -Print Vptrofs. (* = 
        +Print Vptrofs. (* =
         fun n : ptrofs =>
        -   if Archi.ptr64 then Vlong (Ptrofs.to_int64 n) 
        +   if Archi.ptr64 then Vlong (Ptrofs.to_int64 n)
                          else Vint (Ptrofs.to_int n)
             : ptrofs -> val  *)

        -And therefore, _i is a C variable of type size_t, - i is a Coq variable of type Z, and and Vptrofs (Ptrofs.repr i) +And therefore, _i is a C variable of type size_t, + i is a Rocq variable of type Z, and and Vptrofs (Ptrofs.repr i) is a CompCert val that represents i as a val.
        -assert (Example: Archi.ptr64=false
        -           n, Vptrofs (Ptrofs.repr n) = Vint (Int.repr n)). {
        +assert (Example: Archi.ptr64=false
        +           n, Vptrofs (Ptrofs.repr n) = Vint (Int.repr n)). {
         intro Hx; try discriminate Hx. (* in case Archi.ptr64 = true *)
          (* In a 32-bit C system: *)
        all: intros.
        @@ -635,18 +632,18 @@

        Verif_strlibString functions<

        Lemma strcpy_then_clause:
        -   (wsh: share) (dest: val) (n: Z) (s: list byte),
        -  Zlength s < n
        -  ¬ In Byte.zero s
        -    data_at wsh (tarray tschar n)
        -      (map Vbyte (sublist 0 (Zlength s) s) ++
        -       upd_Znth 0 (Zrepeat Vundef (n - Zlength s))
        -         (Vint (Int.repr (Byte.signed (Znth (Zlength s) (s ++ [Byte.zero]))))))
        -      dest
        -  |-- data_at wsh (tarray tschar n)
        -        (map Vbyte (s ++ [Byte.zero]) ++
        -             Zrepeat Vundef (n - (Zlength s + 1)))
        -        dest.
        +   (wsh: share) (dest: val) (n: Z) (s: list byte),
        +  Zlength s < n
        +  ¬ In Byte.zero s
        +    data_at wsh (tarray tschar n)
        +      (map Vbyte (sublist 0 (Zlength s) s) ++
        +       upd_Znth 0 (Zrepeat Vundef (n - Zlength s))
        +         (Vint (Int.repr (Byte.signed (Znth (Zlength s) (s ++ [Byte.zero]))))))
        +      dest
        +  |-- data_at wsh (tarray tschar n)
        +        (map Vbyte (s ++ [Byte.zero]) ++
        +             Zrepeat Vundef (n - (Zlength s + 1)))
        +        dest.
        Proof.
        intros.
        apply derives_refl'.
        @@ -667,18 +664,18 @@

        Verif_strlibString functions<

        -Lemma strcpy_else_clause: wsh dest n s i,
        -  Zlength s < n
        -  ¬ In Byte.zero s
        -  0 i < Zlength s + 1
        -  Znth i (s ++ [Byte.zero]) Byte.zero
        -     data_at wsh (tarray tschar n)
        -      (upd_Znth i (map Vbyte (sublist 0 i s)
        -                       ++ Zrepeat Vundef (n - i))
        -             (Vint (Int.repr (Byte.signed (Znth i (s ++ [Byte.zero])))))) dest
        -  |-- data_at wsh (tarray tschar n)
        -      (map Vbyte (sublist 0 (i + 1) s)
        -           ++ Zrepeat Vundef (n - (i + 1))) dest.
        +Lemma strcpy_else_clause: wsh dest n s i,
        +  Zlength s < n
        +  ¬ In Byte.zero s
        +  0 i < Zlength s + 1
        +  Znth i (s ++ [Byte.zero]) Byte.zero
        +     data_at wsh (tarray tschar n)
        +      (upd_Znth i (map Vbyte (sublist 0 i s)
        +                       ++ Zrepeat Vundef (n - i))
        +             (Vint (Int.repr (Byte.signed (Znth i (s ++ [Byte.zero])))))) dest
        +  |-- data_at wsh (tarray tschar n)
        +      (map Vbyte (sublist 0 (i + 1) s)
        +           ++ Zrepeat Vundef (n - (i + 1))) dest.
        Proof.
        intros.
        apply derives_refl'.
        @@ -703,15 +700,15 @@

        Verif_strlibString functions<

        Lemma data_at_Vundef_example:
        -   i n sh p,
        -    0 i < n
        -  data_at sh (tarray tschar n)
        -          (Zrepeat (Vbyte Byte.zero) (i+1)
        -             ++ Zrepeat Vundef (n-(i+1))) p
        |--
        -  data_at sh (tarray tschar n)
        -          (Zrepeat (Vbyte Byte.zero) i
        -             ++ Zrepeat Vundef (n-i)) p.
        +   i n sh p,
        +    0 i < n
        +  data_at sh (tarray tschar n)
        +          (Zrepeat (Vbyte Byte.zero) (i+1)
        +             ++ Zrepeat Vundef (n-(i+1))) p
        |--
        +  data_at sh (tarray tschar n)
        +          (Zrepeat (Vbyte Byte.zero) i
        +             ++ Zrepeat Vundef (n-i)) p.
        Proof.
        intros.
        @@ -730,9 +727,9 @@

        Verif_strlibString functions< apply derives_refl'.
        f_equal.
        rewrite <- Zrepeat_app by lia.
        -replace (n-i) with (1 + (n-(i+1))) by lia.
        +replace (n-i) with (1 + (n-(i+1))) by lia.
        rewrite <- Zrepeat_app by lia.
        -rewrite !app_assoc.
        +rewrite !app_assoc.
        f_equal.
        f_equal.

        @@ -744,23 +741,23 @@

        Verif_strlibString functions<
        Abort.

        Lemma data_at_Vundef_example:
        -   i n sh p,
        -    0 i < n
        -  data_at sh (tarray tschar n)
        -          (Zrepeat (Vbyte Byte.zero) (i+1)
        -             ++ Zrepeat Vundef (n-(i+1))) p
        |--
        -  data_at sh (tarray tschar n)
        -          (Zrepeat (Vbyte Byte.zero) i
        -             ++ Zrepeat Vundef (n-i) ) p.
        +   i n sh p,
        +    0 i < n
        +  data_at sh (tarray tschar n)
        +          (Zrepeat (Vbyte Byte.zero) (i+1)
        +             ++ Zrepeat Vundef (n-(i+1))) p
        |--
        +  data_at sh (tarray tschar n)
        +          (Zrepeat (Vbyte Byte.zero) i
        +             ++ Zrepeat Vundef (n-i) ) p.
        Proof.
        intros.
        rewrite <- Zrepeat_app by lia.
        -replace (n-i) with (1 + (n-(i+1))) by lia.
        +replace (n-i) with (1 + (n-(i+1))) by lia.
        rewrite <- Zrepeat_app by lia.
        -rewrite <- !app_assoc.
        +rewrite <- !app_assoc.
        Check split2_data_at_Tarray_app.
        -(*  forall (cs : compspecs) (mid n : Z) (sh : Share.t) 
        +(*  forall (cs : compspecs) (mid n : Z) (sh : Share.t)
            (t : type) (v1 v2 : list (reptype t)) (p : val),
          Zlength v1 = mid ->
          Zlength v2 = n - mid ->
        @@ -783,9 +780,9 @@

        Verif_strlibString functions<
        Lemma cancel_example:
        sh i j p q,
        -   data_at sh tint (Vint i) p × data_at sh tint (Vint j) q
        |-- data_at sh tint (Vint i) p × data_at sh tint (Vundef) q.
        sh i j p q,
        +   data_at sh tint (Vint i) p × data_at sh tint (Vint j) q
        |-- data_at sh tint (Vint i) p × data_at sh tint (Vundef) q.
        Proof.
        intros.
        @@ -802,7 +799,7 @@

        Verif_strlibString functions<

        apply sepcon_derives.
        --
        +-
        @@ -824,7 +821,7 @@

        Verif_strlibString functions<

        -The moral of the story is: When proving +The moral of the story is: When proving
           data_at sh t a p |-- data_at sh t b p if (a=b) you can simplify the goal using @@ -850,12 +847,12 @@

        Verif_strlibString functions< unfold cstring,cstringn in ×.
        forward.
        Intros.
        -forward_loop (EX i : Z,
        -  PROP (0 i < Zlength s + 1)
        -  LOCAL (temp _i (Vptrofs (Ptrofs.repr i)); temp _dest dest; temp _src src)
        +forward_loop (EX i : Z,
        +  PROP (0 i < Zlength s + 1)
        +  LOCAL (temp _i (Vptrofs (Ptrofs.repr i)); temp _dest dest; temp _src src)
          SEP (data_at wsh (tarray tschar n)
        -        (map Vbyte (sublist 0 i s) ++ Zrepeat Vundef (n - i)) dest;
        -       data_at rsh (tarray tschar (Zlength s + 1)) (map Vbyte (s ++ [Byte.zero])) src)).
        +        (map Vbyte (sublist 0 i s) ++ Zrepeat Vundef (n - i)) dest;
        +       data_at rsh (tarray tschar (Zlength s + 1)) (map Vbyte (s ++ [Byte.zero])) src)).
        + (* Prove the precondition implies the loop invariant *)
        (* FILL IN HERE *) admit.
        + (* Prove the loop body *)
        @@ -888,19 +885,19 @@

        Verif_strlibString functions<

        -Definition stringlit_1_contents := Hello' ++ [Byte.zero].

        +Definition stringlit_1_contents := Hello' ++ [Byte.zero].

        Definition example_call_strcpy_spec :=
         DECLARE _example_call_strcpy
        -  WITH gv: globals
        +  WITH gv: globals
          PRE [ ]
            PROP ()
        -    PARAMS() GLOBALS (gv)
        -    SEP (cstring Ews Hello' (gv ___stringlit_1))
        +    PARAMS() GLOBALS (gv)
        +    SEP (cstring Ews Hello' (gv ___stringlit_1))
          POST [ tint ]
            PROP ()
        -    RETURN (Vint (Int.repr (Z.of_N (Ascii.N_of_ascii "H"%char))))
        -    SEP (cstring Ews Hello' (gv ___stringlit_1)).

        -Lemma body_example_call_strcpy: semax_body Vprog Gprog
        +    RETURN (Vint (Int.repr (Z.of_N (Ascii.N_of_ascii "H"%char))))
        +    SEP (cstring Ews Hello' (gv ___stringlit_1)).

        +Lemma body_example_call_strcpy: semax_body Vprog Gprog
                 f_example_call_strcpy example_call_strcpy_spec.
        Proof.
        start_function.
        @@ -936,12 +933,12 @@

        Verif_strlibString functions<
        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)

        diff --git a/vc-current/Verif_strlib.v b/vc-current/Verif_strlib.v index 780f7a6fe..7ca2f9ca2 100644 --- a/vc-current/Verif_strlib.v +++ b/vc-current/Verif_strlib.v @@ -43,12 +43,12 @@ Require Import VC.strlib. #[export] Instance CompSpecs : compspecs. make_compspecs prog. Defined. Definition Vprog : varspecs. mk_varspecs prog. Defined. Require Import VC.hints. (* Import special hints for this tutorial. *) -Require Import Coq.Strings.Ascii. +Require Import Stdlib.Strings.Ascii. (* ################################################################# *) (** * Representation of null-terminated strings. *) -(** Coq represents a string as a list-like Inductive of Ascii +(** Rocq represents a string as a list-like Inductive of Ascii characters: *) Locate string. (* Coq.Strings.String.string *) Print string. @@ -57,7 +57,7 @@ Print string. (** The C programming language represents a _character_ as a byte, that is, an 8-bit signed or unsigned integer. - In Coq represent the 8-bit integers using the [byte] type. *) + In Rocq represent the 8-bit integers using the [byte] type. *) Print byte. (* Notation byte := Byte.int CompCert's [Byte] module is an 8-bit instantiation of @@ -69,7 +69,7 @@ Print byte. (* Notation byte := Byte.int Search byte. (* Too long a list of theorems to reproduce here! *) -(** We can convert a Coq string to a list of bytes: *) +(** We can convert a Rocq string to a list of bytes: *) Fixpoint string_to_list_byte (s: string) : list byte := match s with @@ -381,7 +381,7 @@ Print Vptrofs. (* = : ptrofs -> val And therefore, [_i] is a C variable of type [size_t], - [i] is a Coq variable of type [Z], and and [Vptrofs (Ptrofs.repr i)] + [i] is a Rocq variable of type [Z], and and [Vptrofs (Ptrofs.repr i)] is a CompCert [val] that _represents_ [i] as a [val]. *) assert (Example: Archi.ptr64=false -> @@ -628,4 +628,4 @@ Lemma body_strcmp: semax_body Vprog Gprog f_strcmp strcmp_spec. (* FILL IN HERE *) Admitted. (** [] *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/Verif_sumarray.html b/vc-current/Verif_sumarray.html index ad508a5e3..7b23d1ada 100644 --- a/vc-current/Verif_sumarray.html +++ b/vc-current/Verif_sumarray.html @@ -39,7 +39,7 @@

        Verif_sumarrayIntroduction to Verifi
        - The Verified Software Toolchain is a toolset for proving the functional + The Verified Software Toolchain is a toolset for proving the functional correctness of C programs, with
        • a program logic called Verifiable C, based on separation logic. @@ -49,11 +49,11 @@

          Verif_sumarrayIntroduction to Verifi the program logic to your program.

        • -
        • a soundness proof in Coq, guaranteeing that whatever properties you +
        • a soundness proof in Rocq, guaranteeing that whatever properties you prove about your program will actually hold in any execution of the C source-language operational semantics. And this proof composes with the correctness proof of the CompCert verified optimizing C compiler, - so you can also get a guarantee about the behavior of the assembly + so you can also get a guarantee about the behavior of the assembly language program.
        • @@ -72,14 +72,14 @@

          Verif_sumarrayIntroduction to Verifi
          - The first two chapters (this one and Verif_reverse) are a + The first two chapters (this one and Verif_reverse) are a feature-by-feature introduction to Verifiable C, demonstrated on two example C programs: adding up an array and reversing a linked list. - These chapters are best understood if you step through them in Coq, where + These chapters are best understood if you step through them in Rocq, where you can see the proof goals at each stage; they are less useful to read in HTML. These two chapters closely follow the first 48 mini-chapters of the Verifiable C Reference Manual, VC.pdf, that is distributed with VST -- - and you can find a copy distributed with this volume of Software + and you can find a copy distributed with this volume of Software Foundations. The first two chapters have no exercises.
          @@ -92,7 +92,7 @@

          Verif_sumarrayIntroduction to Verifi
          - The remaining 7 chapters are mainly exercises. The best way to learn + The remaining 7 chapters are mainly exercises. The best way to learn is by doing it yourself -- so each chapter presents a little C program, and guides you through verifying it yourself. The "capstone exercise" is the verification of a hash table with external chaining. @@ -150,7 +150,7 @@

          Verif_sumarrayIntroduction to Verifi
          - The output of clightgen would be a file sumarray.v that contains the Coq + The output of clightgen would be a file sumarray.v that contains the Rocq inductive data structure describing the syntax trees of the source program. You can open sumarray.v in the current directory and inspect it. @@ -172,7 +172,7 @@

          Verif_sumarrayIntroduction to Verifi For larger programs, one would typically break this down into three or more files:
            -
          • Functional model (often in the form of a Coq function) +
          • Functional model (often in the form of a Rocq function)
          • API specification @@ -226,7 +226,7 @@

            Verif_sumarrayIntroduction to Verifi

        -Definition sum_Z : list Z Z := fold_right Z.add 0.
        +Definition sum_Z : list Z Z := fold_right Z.add 0.
        @@ -236,7 +236,7 @@

        Verif_sumarrayIntroduction to Verifi
        Lemma sum_Z_app:
        -   a b, sum_Z (a++b) = sum_Z a + sum_Z b.
        +   a b, sum_Z (a++b) = sum_Z a + sum_Z b.
        Proof.
          intros. induction a; simpl; lia.
        Qed.
        @@ -264,17 +264,17 @@

        Verif_sumarrayIntroduction to Verifi

        -Definition sumarray_spec : ident × funspec :=
        +Definition sumarray_spec : ident × funspec :=
        DECLARE _sumarray
        WITH a: val, sh : share, contents : list Z, size: Z
        WITH a: val, sh : share, contents : list Z, size: Z
         PRE [ tptr tuint, tint ]
        -  PROP (readable_share sh; 0 size Int.max_signed;
        -         Forall (fun x ⇒ 0 x Int.max_unsigned) contents)
        +  PROP (readable_share sh; 0 size Int.max_signed;
        +         Forall (fun x ⇒ 0 x Int.max_unsigned) contents)
          PARAMS (a; Vint (Int.repr size))
        -  SEP (data_at sh (tarray tuint size) (map Vint (map Int.repr contents)) a)
        +  SEP (data_at sh (tarray tuint size) (map Vint (map Int.repr contents)) a)
         POST [ tuint ]
          PROP () RETURN (Vint (Int.repr (sum_Z contents)))
        -  SEP (data_at sh (tarray tuint size) (map Vint (map Int.repr contents)) a).
        +  SEP (data_at sh (tarray tuint size) (map Vint (map Int.repr contents)) a).
        @@ -283,14 +283,14 @@

        Verif_sumarrayIntroduction to Verifi a function-specification. The identifier _sumarray comes directly from the C program, as parsed by clightgen. If you are curious, you can look in sumarray.v (the output of clightgen) for - Definition _sumarray := .... Later in sumarray.v, you can see + Definition _sumarray := .... Later in sumarray.v, you can see Definition f_sumarray that is the C-language function body (represented as a syntax tree).
        A function is specified by its precondition and its - postcondition. The WITH clause quantifies over Coq values that + postcondition. The WITH clause quantifies over Rocq values that may appear in both the precondition and the postcondition. The precondition has access to the function parameters (in this case a and size) and the postcondition has access @@ -301,7 +301,7 @@

        Verif_sumarrayIntroduction to Verifi Function preconditions, postconditions, and loop invariants are assertions about the state of variables and memory at a particular program point. In an assertion PROP(P) LOCAL(Q) SEP(R), the - propositions in the sequence P are all of Coq type Prop. They + propositions in the sequence P are all of Rocq type Prop. They describe things that are true independent of program state. In the precondition above, the statement 0 size Int.max_signed is true just within the scope of the quantification of the variable @@ -335,7 +335,7 @@

        Verif_sumarrayIntroduction to Verifi type is defined by CompCert as,

        -Print val.
        +Print val.
        (*
         Inductive val: Type :=
         | Vundef: val
        @@ -397,11 +397,11 @@

        Verif_sumarrayIntroduction to Verifi
        Definition main_spec :=
         DECLARE _main
        -  WITH gv : globals
        -  PRE [] main_pre prog tt gv
        -  POST [ tint ]
        -     PROP()
        -     RETURN (Vint (Int.repr (1+2+3+4)))
        +  WITH gv : globals
        +  PRE [] main_pre prog tt gv
        +  POST [ tint ]
        +     PROP()
        +     RETURN (Vint (Int.repr (1+2+3+4)))
             SEP(TT).
        @@ -466,7 +466,7 @@

        Verif_sumarrayIntroduction to Verifi
        (* Packaging the API specs all together. *)
        -Definition Gprog := [sumarray_spec; main_spec].
        +Definition Gprog := [sumarray_spec; main_spec].
        @@ -481,9 +481,9 @@

        Verif_sumarrayIntroduction to Verifi

        -Print Vprog.
        +Print Vprog.
        (*   = (_four, tarray tuint 4)  : varspecs *)
        -Print varspecs.
        +Print varspecs.
        (*   = list (ident * type) *)
        @@ -522,7 +522,7 @@

        Verif_sumarrayIntroduction to Verifi
        If you are reading this as a static document, you should consider - switching to your favorite Coq development environment, in which you + switching to your favorite Rocq development environment, in which you can step through the rest of this chapter, tactic by tactic, and examine the proof state at each point.
        @@ -583,9 +583,9 @@

        Verif_sumarrayIntroduction to Verifi
        - We do Hoare logic proof by forward symbolic execution. At the beginning + We do Hoare logic proof by forward symbolic execution. At the beginning of this function body, our proof goal is a Hoare triple about the statement - (i=0; ...more commands...). In a forward Hoare logic proof of + (i=0; ...more commands...). In a forward Hoare logic proof of {P}(i=0;...more...){R} we might first apply the sequence rule,
             {P}(i=0;){Q}  {Q}(...more...){R}
        @@ -624,7 +624,7 @@ 

        Verif_sumarrayIntroduction to Verifi When doing forward symbolic execution (forward Floyd/Hoare proof) through a large function, you don't usually want to see the entire function-body in your proof subgoal. Therefore the system abbreviates - some things for you, using the magic of Coq's implicit arguments. + some things for you, using the magic of Rocq's implicit arguments.

        @@ -717,13 +717,13 @@

        Verif_sumarrayIntroduction to Verifi

        forward_while
        - (EX i: Z,
        -   PROP (0 i size)
        + (EX i: Z,
        +   PROP (0 i size)
           LOCAL (temp _a a;
                  temp _i (Vint (Int.repr i));
                  temp _n (Vint (Int.repr size));
                  temp _s (Vint (Int.repr (sum_Z (sublist 0 i contents)))))
        -   SEP (data_at sh (tarray tuint size) (map Vint (map Int.repr contents)) a)).
        +   SEP (data_at sh (tarray tuint size) (map Vint (map Int.repr contents)) a)).
        @@ -756,7 +756,7 @@

        Verif_sumarrayIntroduction to Verifi
        - This proof goal is an entailment, ENTAIL Delta, P |-- Q, meaning + This proof goal is an entailment, ENTAIL Delta, P |-- Q, meaning "in context Delta, any state that satisfies P will also satisfy Q."
        @@ -764,7 +764,7 @@

        Verif_sumarrayIntroduction to Verifi In this case, the right-hand-side of this entailment is existentially quantified; it says: there exists a value i such that (among other things) temp _i (Vint (Int.repr i)), that is, the C variable _i contains the - value i. But the left-hand-side of the entailment says + value i. But the left-hand-side of the entailment says temp _i (Vint (Int.repr 0)), that is, the C variable _i contains 0.
        @@ -774,12 +774,12 @@

        Verif_sumarrayIntroduction to Verifi
        Set Nested Proofs Allowed.
        -Goal (f: ZZ) (x: Z), f(x)=0 i:Z, f(x)=i.
        +Goal (f: ZZ) (x: Z), f(x)=0 i:Z, f(x)=i.
          intros.
        -To prove such a goal, one uses Coq's "exists" tactic to +To prove such a goal, one uses Rocq's "exists" tactic to demonstrate a value for i:
        @@ -912,7 +912,7 @@

        Verif_sumarrayIntroduction to Verifi

        -assert_PROP (Zlength contents = size). {
        +assert_PROP (Zlength contents = size). {

        @@ -983,7 +983,7 @@

        Verif_sumarrayIntroduction to Verifi postcondition of the loop body) entails the loop invariant.

        Exists (i+1).
        Exists (i+1).
         entailer!.
         f_equal. f_equal.
        @@ -1005,13 +1005,13 @@

        Verif_sumarrayIntroduction to Verifi

        rewrite (sublist_split 0 i (i+1)) by lia.
        rewrite (sublist_split 0 i (i+1)) by lia.
         rewrite sum_Z_app. rewrite (sublist_one i) by lia.
         simpl. lia.
        -After the loop, our precondition is the conjunction of the loop +After the loop, our precondition is the conjunction of the loop invariant and the negation of the loop test.
        @@ -1056,7 +1056,7 @@

        Verif_sumarrayIntroduction to Verifi

        (* Contents of the extern global initialized array "_four" *)
        -Definition four_contents := [1; 2; 3; 4].

        +Definition four_contents := [1; 2; 3; 4].

        Lemma body_main: semax_body Vprog Gprog f_main main_spec.
        Proof.
          start_function.
        @@ -1103,7 +1103,7 @@

        Verif_sumarrayIntroduction to Verifi

        forward_call (*  s = sumarray(four,4); *)
        -  (gv _four, Ews, four_contents, 4).
        +  (gv _four, Ews, four_contents, 4).
        @@ -1141,7 +1141,7 @@

        Verif_sumarrayIntroduction to Verifi

        -#[export] Existing Instance NullExtension.Espec.
        +#[export] Existing Instance NullExtension.Espec.
        @@ -1158,7 +1158,7 @@

        Verif_sumarrayIntroduction to Verifi

        -Lemma prog_correct: semax_prog prog tt Vprog Gprog.
        +Lemma prog_correct: semax_prog prog tt Vprog Gprog.
        Proof.
        prove_semax_prog.

        semax_func_cons body_sumarray.
        @@ -1175,12 +1175,12 @@

        Verif_sumarrayIntroduction to Verifi

        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)

        diff --git a/vc-current/Verif_sumarray.v b/vc-current/Verif_sumarray.v index cc61c9bec..c58376dd8 100644 --- a/vc-current/Verif_sumarray.v +++ b/vc-current/Verif_sumarray.v @@ -8,7 +8,7 @@ - a _program logic_ called Verifiable C, based on separation logic. - a _proof automation system_ called VST-Floyd that assists you in applying the program logic to your program. - - a soundness proof in Coq, guaranteeing that whatever properties you + - a soundness proof in Rocq, guaranteeing that whatever properties you prove about your program will actually hold in any execution of the C source-language operational semantics. And this proof _composes_ with the correctness proof of the CompCert verified optimizing C compiler, @@ -27,7 +27,7 @@ (** The first two chapters (this one and [Verif_reverse]) are a feature-by-feature introduction to Verifiable C, demonstrated on two example C programs: adding up an array and reversing a linked list. - These chapters are best understood if you step through them in Coq, where + These chapters are best understood if you step through them in Rocq, where you can see the proof goals at each stage; they are less useful to read in HTML. These two chapters closely follow the first 48 mini-chapters of the _Verifiable C Reference Manual_, [VC.pdf], that is distributed with VST -- @@ -90,7 +90,7 @@ You would have installed [clightgen] as part of the CompCert tools, by mentioning the -clightgen option when you run ./configure when building CompCert. - The output of [clightgen] would be a file [sumarray.v] that contains the Coq + The output of [clightgen] would be a file [sumarray.v] that contains the Rocq inductive data structure describing the syntax trees of the source program. You can open [sumarray.v] in the current directory and inspect it. *) @@ -106,7 +106,7 @@ For larger programs, one would typically break this down into three or more files: - - Functional model (often in the form of a Coq function) + - Functional model (often in the form of a Rocq function) - API specification - Function-body correctness proofs, one per file. *) @@ -189,7 +189,7 @@ DECLARE _sumarray as a syntax tree). A function is specified by its _precondition_ and its - _postcondition_. The [WITH] clause quantifies over Coq values that + _postcondition_. The [WITH] clause quantifies over Rocq values that may appear in both the precondition and the postcondition. The precondition has access to the function parameters (in this case [a] and [size]) and the postcondition has access @@ -198,7 +198,7 @@ DECLARE _sumarray Function preconditions, postconditions, and loop invariants are _assertions_ about the state of variables and memory at a particular program point. In an assertion [PROP(P) LOCAL(Q) SEP(R)], the - propositions in the sequence [P] are all of Coq type [Prop]. They + propositions in the sequence [P] are all of Rocq type [Prop]. They describe things that are true independent of program state. In the precondition above, the statement [0 <= size <= Int.max_signed] is true _just within the scope of the quantification of the variable_ @@ -351,7 +351,7 @@ Lemma body_sumarray: semax_body Vprog Gprog f_sumarray sumarray_spec. Proof. (** If you are reading this as a static document, you should consider - switching to your favorite Coq development environment, in which you + switching to your favorite Rocq development environment, in which you can step through the rest of this chapter, tactic by tactic, and examine the proof state at each point. *) @@ -423,7 +423,7 @@ Check (temp _i (Vint (Int.repr 0))). (* : localdef, the type of LOCAL assertio When doing forward symbolic execution (forward Floyd/Hoare proof) through a large function, you don't usually want to see the entire function-body in your proof subgoal. Therefore the system abbreviates - some things for you, using the magic of Coq's implicit arguments. *) + some things for you, using the magic of Rocq's implicit arguments. *) Check @abbreviate. (* : forall A : Type, A -> A *) @@ -520,7 +520,7 @@ Set Nested Proofs Allowed. Goal forall (f: Z->Z) (x: Z), f(x)=0 -> exists i:Z, f(x)=i. intros. -(** To prove such a goal, one uses Coq's "exists" tactic to +(** To prove such a goal, one uses Rocq's "exists" tactic to demonstrate a value for [i]: *) exists 0. auto. @@ -777,4 +777,4 @@ Qed. (** Recommended: read VC.pdf Chapters 23-49 (up to _Pointer comparisons_) *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/Verif_triang.html b/vc-current/Verif_triang.html index a0be53a6b..a6aa03d5d 100644 --- a/vc-current/Verif_triang.html +++ b/vc-current/Verif_triang.html @@ -91,7 +91,7 @@

        Verif_triangA client of the stack fu
        Lemma nat_sub_add_yuck:
        -  ¬ ( a b: nat, a-b+b=a)%nat.
        +  ¬ ( a b: nat, a-b+b=a)%nat.
        Proof.
        intros.
        intro.
        @@ -103,11 +103,11 @@

        Verif_triangA client of the stack fu
        This just shows that if the negative numbers did not exist, it would be necessary to construct them! In reasoning about programs, as in many other - kinds of mathematics, we should use the integers. In Coq the type is called Z. + kinds of mathematics, we should use the integers. In Rocq the type is called Z.
        Lemma Z_sub_add_ok:
        -   a b : Z, a-b+b=a.
        +   a b : Z, a-b+b=a.
        Proof. intros. lia. Qed.
        @@ -115,13 +115,13 @@

        Verif_triangA client of the stack fu The Z type does have an inductive definition . . .

        -Print Z.
        +Print Z.
        (* Inductive Z : Set := Z0 : Z | Zpos : positive -> Z | Zneg : positive -> Z *)
        but we generally prefer to reason abstractly about Z, using the lemmas - in the Coq library (that the Coq developers proved from the inductive + in the Rocq library (that the Rocq developers proved from the inductive definition). The induction principle on Z, that's automatically derived from this Inductive definition, is not the one we usually want to use!
        @@ -132,16 +132,16 @@

        Verif_triangA client of the stack fu

        -Fixpoint decreasing_nat (n: nat) : list nat :=
        match n with S n'n :: decreasing_nat n' | Onil end.
        +Fixpoint decreasing_nat (n: nat) : list nat :=
        match n with S n'n :: decreasing_nat n' | Onil end.
        But in the integers Z, we cannot simply pattern-match on successor ...
        -Fail Fixpoint decreasing_Z (n: Z) : list Z :=
        match n with Z.succ n'n :: decreasing_Z n' | 0 ⇒ nil end.
        +Fail Fixpoint decreasing_Z (n: Z) : list Z :=
        match n with Z.succ n'n :: decreasing_Z n' | 0 ⇒ nil end.
        @@ -153,13 +153,13 @@

        Verif_triangA client of the stack fu

        -Fixpoint decreasing_Z1_aux (n: nat) : list Z :=
        +Fixpoint decreasing_Z1_aux (n: nat) : list Z :=
          match n with
        -  | S n'Z.of_nat n :: decreasing_Z1_aux n'
        -  | Onil
        +  | S n'Z.of_nat n :: decreasing_Z1_aux n'
        +  | Onil
          end.
        -Definition decreasing_Z1 (n: Z) : list Z :=
        -     decreasing_Z1_aux (Z.to_nat n).
        +Definition decreasing_Z1 (n: Z) : list Z :=
        +     decreasing_Z1_aux (Z.to_nat n).
        @@ -169,9 +169,9 @@

        Verif_triangA client of the stack fu

        -Check Z_gt_dec. (*   : forall x y : Z, {x > y} + {~ x > y} *)

        -Function decreasing (n: Z) {measure Z.to_nat n}:=
        if Z_gt_dec n 0 then n :: decreasing (n-1) else nil.
        +Check Z_gt_dec. (*   : forall x y : Z, {x > y} + {~ x > y} *)

        +Function decreasing (n: Z) {measure Z.to_nat n}:=
        if Z_gt_dec n 0 then n :: decreasing (n-1) else nil.
        Proof.
        @@ -185,26 +185,26 @@

        Verif_triangA client of the stack fu
        lia.
        -Defined. (* Terminate your Function declarations with Defined instead 
        - of Qed, so that Coq will be able to use your function in computations. *)

        +Defined. (* Terminate your Function declarations with Defined instead
        + of Qed, so that Rocq will be able to use your function in computations. *)

        Exercise: 2 stars, standard (Zinduction)

        - Coq's standard induction principle for Z is not the one we usually + Rocq's standard induction principle for Z is not the one we usually want, so let us define a more natural induction scheme:
        -Lemma Zinduction: (P: Z Prop),
        -  P 0
        -  ( i, 0 < i P (i-1) P i)
        -   n, 0 n P n.
        +Lemma Zinduction: (P: Z Prop),
        +  P 0
        +  ( i, 0 < i P (i-1) P i)
        +   n, 0 n P n.
        Proof.
        intros.
        -rewrite <- (Z2Nat.id n) in × by lia.
        -set (j := Z.to_nat n) in ×. clearbody j.
        -Check inj_S. (* Hint!  this may be useful *)
        -Print Z.succ. (* Hint!  Z.succ(x) unfolds to x+1 *)
        +rewrite <- (Z2Nat.id n) in × by lia.
        +set (j := Z.to_nat n) in ×. clearbody j.
        +Check inj_S. (* Hint!  this may be useful *)
        +Print Z.succ. (* Hint!  Z.succ(x) unfolds to x+1 *)
        (* FILL IN HERE *) Admitted.
        @@ -217,7 +217,7 @@

        Verif_triangA client of the stack fu
        -Definition add_list: list Z Z := fold_right Z.add 0.
        +Definition add_list: list Z Z := fold_right Z.add 0.
        @@ -230,8 +230,8 @@

        Verif_triangA client of the stack fu
        Lemma add_list_decreasing_eq_alt: n,
        -  0 n
        -  (2 × (add_list (decreasing n)))%Z = (n × (n+1))%Z.
        +  0 n
        +  (2 × (add_list (decreasing n)))%Z = (n × (n+1))%Z.
        Proof.
          intros.
          pattern n; apply Zinduction.
        @@ -241,7 +241,7 @@

        Verif_triangA client of the stack fu
        WARNING! When using functions defined by Function, don't unfold them! - Temporarily remove the (* comment *) brackets from the next line to see + Temporarily remove the (* comment *) brackets from the next line to see what happens!
        @@ -249,9 +249,9 @@

        Verif_triangA client of the stack fu

        -Instead of unfolding decreasing we use the equation that Coq automagically +Instead of unfolding decreasing we use the equation that Rocq automagically defines for the Function. Try the command Search decreasing. to see all - the reasoning principles that Coq defined for the new Function. We will + the reasoning principles that Rocq defined for the new Function. We will use this one:
        @@ -262,7 +262,7 @@

        Verif_triangA client of the stack fu
        during the proof of this lemma, you may find the ring_simplify tactic useful. Read -about it in the Coq reference manual. Basically, +about it in the Rocq reference manual. Basically, it takes formulas with multiplication and addition, and simplifies them. But you can do this without ring_simplify, using just ordinary rewriting @@ -271,11 +271,11 @@

        Verif_triangA client of the stack fu
        (* FILL IN HERE *) Admitted.

        Lemma add_list_decreasing_eq: n,
        -  0 n
        -  add_list (decreasing n) = n × (n+1) / 2.
        +  0 n
        +  add_list (decreasing n) = n × (n+1) / 2.
        Proof.
          intros.
        -  apply Z.div_unique_exact.
        +  apply Z.div_unique_exact.
        (* FILL IN HERE *) Admitted.
        @@ -295,16 +295,16 @@

        Verif_triangA client of the stack fu

        -Fixpoint listrep (il: list Z) (p: val) : mpred :=
        +Fixpoint listrep (il: list Z) (p: val) : mpred :=
         match il with
        - | i::il'EX y: val,
        + | i::il'EX y: val,
                malloc_token Ews (Tstruct _cons noattr) p ×
        -        data_at Ews (Tstruct _cons noattr) (Vint (Int.repr i),y) p ×
        +        data_at Ews (Tstruct _cons noattr) (Vint (Int.repr i),y) p ×
                listrep il' y
        - | nil!! (p = nullval) && emp
        + | nil!! (p = nullval) && emp
         end.

        Lemma listrep_local_prop: il p, listrep il p |--
        -        !! (is_pointer_or_null p (p=nullval il=nil)).
        +        !! (is_pointer_or_null p (p=nullval il=nil)).
        Proof.
        induction il; intro; simpl.
        entailer!. intuition.
        @@ -328,9 +328,9 @@

        Verif_triangA client of the stack fu

        -Definition stack (il: list Z) (p: val) :=
        +Definition stack (il: list Z) (p: val) :=
         EX q: val,
        -  malloc_token Ews (Tstruct _stack noattr) p ×
        +  malloc_token Ews (Tstruct _stack noattr) p ×
          data_at Ews (Tstruct _stack noattr) q p × listrep il q.

        Lemma stack_local_prop: il p, stack il p |-- !! (isptr p).
        Proof.
        @@ -342,30 +342,30 @@

        Verif_triangA client of the stack fu Proof.
        (* FILL IN HERE *) Admitted.
        #[export] Hint Resolve stack_valid_pointer : valid_pointer.

        -Definition newstack_spec : ident × funspec :=
        +Definition newstack_spec : ident × funspec :=
         DECLARE _newstack
        WITH gv: globals
        PRE [ ]
        WITH gv: globals
        PRE [ ]
            PROP () PARAMS() GLOBALS(gv) SEP (mem_mgr gv)
        POST [ tptr (Tstruct _stack noattr) ]
        -    EX p: val, PROP ( ) RETURN (p) SEP (stack nil p; mem_mgr gv).

        -Definition push_spec : ident × funspec :=
        POST [ tptr (Tstruct _stack noattr) ]
        +    EX p: val, PROP ( ) RETURN (p) SEP (stack nil p; mem_mgr gv).

        +Definition push_spec : ident × funspec :=
         DECLARE _push
        WITH p: val, i: Z, il: list Z, gv: globals
        PRE [ tptr (Tstruct _stack noattr), tint ]
        -    PROP (Int.min_signed i Int.max_signed)
        -    PARAMS (p; Vint (Int.repr i)) GLOBALS(gv)
        WITH p: val, i: Z, il: list Z, gv: globals
        PRE [ tptr (Tstruct _stack noattr), tint ]
        +    PROP (Int.min_signed i Int.max_signed)
        +    PARAMS (p; Vint (Int.repr i)) GLOBALS(gv)
            SEP (stack il p; mem_mgr gv)
        POST [ tvoid ]
        -    PROP ( ) RETURN() SEP (stack (i::il) p; mem_mgr gv).

        -Definition pop_spec : ident × funspec :=
        POST [ tvoid ]
        +    PROP ( ) RETURN() SEP (stack (i::il) p; mem_mgr gv).

        +Definition pop_spec : ident × funspec :=
         DECLARE _pop
        WITH p: val, i: Z, il: list Z, gv: globals
        PRE [ tptr (Tstruct _stack noattr) ]
        -    PROP ()
        -    PARAMS (p) GLOBALS(gv)
        -    SEP (stack (i::il) p; mem_mgr gv)
        POST [ tint ]
        WITH p: val, i: Z, il: list Z, gv: globals
        PRE [ tptr (Tstruct _stack noattr) ]
        +    PROP ()
        +    PARAMS (p) GLOBALS(gv)
        +    SEP (stack (i::il) p; mem_mgr gv)
        POST [ tint ]
            PROP ( ) RETURN (Vint (Int.repr i)) SEP (stack il p; mem_mgr gv).

        @@ -377,7 +377,7 @@

        Verif_triangA client of the stack fu
        - Spend a few minutes studying these funspecs, and compare to the + Spend a few minutes studying these funspecs, and compare to the implementations in stack.c, until you understand why these might be appropriate specifications.

        @@ -385,31 +385,31 @@

        Verif_triangA client of the stack fu Definition push_increasing_spec :=
         DECLARE _push_increasing
        WITH st: val, n: Z, gv: globals
        WITH st: val, n: Z, gv: globals
         PRE [ tptr (Tstruct _stack noattr), tint ]
        -   PROP (0 n Int.max_signed)
        +   PROP (0 n Int.max_signed)
           PARAMS (st; Vint (Int.repr n)) GLOBALS(gv)
        -   SEP (stack nil st; mem_mgr gv)
        +   SEP (stack nil st; mem_mgr gv)
         POST [ tvoid ]
           PROP() RETURN() SEP (stack (decreasing n) st; mem_mgr gv).

        Definition pop_and_add_spec :=
         DECLARE _pop_and_add
        WITH st: val, il: list Z, gv: globals
        WITH st: val, il: list Z, gv: globals
         PRE [ tptr (Tstruct _stack noattr), tint ]
        -   PROP (Zlength il Int.max_signed;
        -         Forall (Z.le 0) il;
        -         add_list il Int.max_signed)
        -   PARAMS (st; Vint (Int.repr (Zlength il))) GLOBALS(gv)
        +   PROP (Zlength il Int.max_signed;
        +         Forall (Z.le 0) il;
        +         add_list il Int.max_signed)
        +   PARAMS (st; Vint (Int.repr (Zlength il))) GLOBALS(gv)
           SEP (stack il st; mem_mgr gv)
         POST [ tint ]
        -   PROP()
        +   PROP()
           RETURN (Vint (Int.repr (add_list il)))
        -   SEP (stack nil st; mem_mgr gv).

        +   SEP (stack nil st; mem_mgr gv).

        Definition main_spec :=
         DECLARE _main
        WITH gv: globals
        PRE [ ] main_pre prog tt gv
        POST [ tint ]
        WITH gv: globals
        PRE [ ] main_pre prog tt gv
        POST [ tint ]
           PROP( ) RETURN (Vint (Int.repr 55)) SEP( TT ).

        @@ -419,10 +419,10 @@

        Verif_triangA client of the stack fu
        Definition Gprog : funspecs :=
        -        ltac:(with_library prog [
        -                   newstack_spec; push_spec; pop_spec;
        -                   push_increasing_spec; pop_and_add_spec; main_spec
        ]).
        +        ltac:(with_library prog [
        +                   newstack_spec; push_spec; pop_spec;
        +                   push_increasing_spec; pop_and_add_spec; main_spec
        ]).
        @@ -448,12 +448,12 @@

        Verif_triangA client of the stack fu

        Lemma add_list_app:
        -   al bl, add_list (al++bl) = add_list al + add_list bl.
        +   al bl, add_list (al++bl) = add_list al + add_list bl.
        (* FILL IN HERE *) Admitted.

        Lemma add_list_nonneg:
          il,
        -  Forall (Z.le 0) il
        -  0 add_list il.
        +  Forall (Z.le 0) il
        +  0 add_list il.
        (* FILL IN HERE *) Admitted.
        @@ -467,16 +467,16 @@

        Verif_triangA client of the stack fu
        Lemma add_list_sublist_bounds:
          lo hi K il,
        -  0 lo hi
        -  hi Zlength il
        -  Forall (Z.le 0) il
        -  0 add_list il K
        -  0 add_list (sublist lo hi il) K.
        +  0 lo hi
        +  hi Zlength il
        +  Forall (Z.le 0) il
        +  0 add_list il K
        +  0 add_list (sublist lo hi il) K.
        Proof.
        -Hint: you don't need induction. Useful lemmas are, sublist_same, +Hint: you don't need induction. Useful lemmas are, sublist_same, sublist_split, add_list_nonneg, add_list_app, Forall_sublist, and use the hint tactic to learn when the list_solve tactic will be useful.
        @@ -495,7 +495,7 @@

        Verif_triangA client of the stack fu Suppose we've already added up the first i of them (let i=2 for example), that is, 5+4=9, and we want to add the next one, that is, the ith one. That is, we want to add 9+3. How do we know that won't overflow - the range of C-language signed integer arithmetic? + the range of C-language signed integer arithmetic?
        @@ -506,26 +506,26 @@

        Verif_triangA client of the stack fu
        Lemma add_another:
        il,
        -   Forall (Z.le 0) il
        -   add_list il Int.max_signed
        -   i : Z,
        -  0 i < Zlength il
        -  Int.min_signed Int.signed (Int.repr (add_list (sublist 0 i il))) +
        -           Int.signed (Int.repr (Znth i il)) Int.max_signed.
        il,
        +   Forall (Z.le 0) il
        +   add_list il Int.max_signed
        +   i : Z,
        +  0 i < Zlength il
        +  Int.min_signed Int.signed (Int.repr (add_list (sublist 0 i il))) +
        +           Int.signed (Int.repr (Znth i il)) Int.max_signed.
        Proof.
        intros.
        -assert (0 add_list il). {
        +assert (0 add_list il). {
          (* FILL IN HERE *) admit.
        }
        assert (0 add_list (sublist 0 i il) Int.max_signed). {
        assert (0 add_list (sublist 0 i il) Int.max_signed). {
          (* FILL IN HERE *) admit.
         }
        assert (H4: 0 add_list (sublist 0 (i+1) il) Int.max_signed). {
        assert (H4: 0 add_list (sublist 0 (i+1) il) Int.max_signed). {
          (* FILL IN HERE *) admit.
         }
        assert (0 Znth i il Int.max_signed). {
        -  replace (Znth i il) with (add_list (sublist i (i+1) il)).
        assert (0 Znth i il Int.max_signed). {
        +  replace (Znth i il) with (add_list (sublist i (i+1) il)).
          -
           (* FILL IN HERE *) admit.
          -
        @@ -535,13 +535,13 @@

        Verif_triangA client of the stack fu

        - Next: Int.signed (Int.repr (add_list (sublist 0 i il))) + Next: Int.signed (Int.repr (add_list (sublist 0 i il))) = add_list (sublist 0 i il). To prove that, we'll use Int.signed_repr:
        Check Int.signed_repr.
        -(*   :   forall z : Z,   Int.min_signed <= z <= Int.max_signed -> 
        +(*   :   forall z : Z,   Int.min_signed <= z <= Int.max_signed ->
                             Int.signed (Int.repr z) = z. *)

        rewrite Int.signed_repr by rep_lia.
        @@ -552,7 +552,7 @@

        Verif_triangA client of the stack fu

        rewrite Int.signed_repr by rep_lia.

        -rewrite (sublist_split 0 i (i+1)) in H4 by list_solve.
        +rewrite (sublist_split 0 i (i+1)) in H4 by list_solve.
        rewrite add_list_app in H4.
        rewrite sublist_len_1 in H4 by list_solve.
        simpl in H4.
        @@ -573,29 +573,29 @@

        Verif_triangA client of the stack fu start_function.
        forward.
        forward.
        -forward_while (EX i:Z,
        -   PROP(0 i Zlength il)
        -   LOCAL (temp _st st;
        -          temp _i (Vint (Int.repr i));
        -          temp _n (Vint (Int.repr (Zlength il)));
        +forward_while (EX i:Z,
        +   PROP(0 i Zlength il)
        +   LOCAL (temp _st st;
        +          temp _i (Vint (Int.repr i));
        +          temp _n (Vint (Int.repr (Zlength il)));
                 gvars gv)
        -   SEP (stack (sublist i (Zlength il) il) st; mem_mgr gv)).
        +   SEP (stack (sublist i (Zlength il) il) st; mem_mgr gv)).
        + (* Prove that the precondition implies the loop invariant *)
        (* FILL IN HERE *) admit.
        + (* "type-check the expression": prove the loop test evaluates *)
        entailer!.
        + (* Prove the loop body preserves the loop invariant *)
        -forward_call (st, Znth i il, sublist (i+1) (Zlength il) il, gv).
        +forward_call (st, Znth i il, sublist (i+1) (Zlength il) il, gv).

        -This forward_call couldn't quite figure out the "Frame" for the - function call. That is, it couldn't match up - stack (sublist i (Zlength il) il) st with +This forward_call couldn't quite figure out the "Frame" for the + function call. That is, it couldn't match up + stack (sublist i (Zlength il) il) st with
            stack (Znth i il :: sublist (i + 1) (Zlength il) il) st. - You have to help, by doing some rewrites with - sublist_split, sublist_len_1 that prove + You have to help, by doing some rewrites with + sublist_split, sublist_len_1 that prove
          sublist i (Zlength il) il = Znth i il :: sublist (i+1) (Zlength il) il. When you've rewritten the goal into, @@ -616,9 +616,9 @@

        Verif_triangA client of the stack fu

        -oops! we can't go forward through _s = _s + _t; +oops! we can't go forward through _s = _s + _t; because we forgot to mention temp _s in the loop invariant! - Time to start over. + Time to start over.
        @@ -660,7 +660,7 @@

        Verif_triangA client of the stack fu

        -We assume that triang.c is linked with an implementation of +We assume that triang.c is linked with an implementation of malloc/free. That assumption is expressed by the create_mem_mgr axiom, which we can sep_apply here. On the other hand, if we want a complete verified system including libraries, then instead of @@ -684,12 +684,12 @@

        Verif_triangA client of the stack fu
        -(* 2024-12-27 01:34 *)
        +(* 2026-01-07 13:38 *)

        diff --git a/vc-current/Verif_triang.v b/vc-current/Verif_triang.v index bf6f527e9..38720198a 100644 --- a/vc-current/Verif_triang.v +++ b/vc-current/Verif_triang.v @@ -56,7 +56,7 @@ Qed. (** This just shows that if the negative numbers did not exist, it would be necessary to construct them! In reasoning about programs, as in many other - kinds of mathematics, we should use the integers. In Coq the type is called [Z]. *) + kinds of mathematics, we should use the integers. In Rocq the type is called [Z]. *) Lemma Z_sub_add_ok: forall a b : Z, a-b+b=a. Proof. intros. lia. Qed. @@ -66,7 +66,7 @@ Print Z. (* Inductive Z : Set := Z0 : Z | Zpos : positive -> Z | Zneg : positive -> Z but we generally prefer to reason _abstractly_ about Z, using the lemmas - in the Coq library (that the Coq developers proved from the inductive + in the Rocq library (that the Rocq developers proved from the inductive definition). The induction principle on Z, that's automatically derived from this Inductive definition, is not the one we usually want to use! *) @@ -110,11 +110,11 @@ Proof. show that if [n>0] then [Z.to_nat (n-1) < Z.to_nat n]. *) lia. Defined. (* Terminate your [Function] declarations with [Defined] instead - of [Qed], so that Coq will be able to use your function in computations. *) + of [Qed], so that Rocq will be able to use your function in computations. *) (** **** Exercise: 2 stars, standard (Zinduction) - Coq's standard induction principle for Z is not the one we usually + Rocq's standard induction principle for Z is not the one we usually want, so let us define a more natural induction scheme: *) Lemma Zinduction: forall (P: Z -> Prop), P 0 -> @@ -151,9 +151,9 @@ Proof. what happens! *) (* unfold decreasing. *) -(** Instead of unfolding [decreasing] we use the equation that Coq automagically +(** Instead of unfolding [decreasing] we use the equation that Rocq automagically defines for the Function. Try the command [Search decreasing.] to see all - the reasoning principles that Coq defined for the new [Function]. We will + the reasoning principles that Rocq defined for the new [Function]. We will use this one: *) Check decreasing_equation. @@ -161,7 +161,7 @@ Check decreasing_equation. (** during the proof of this lemma, you may find the [ring_simplify] tactic useful. Read -about it in the Coq reference manual. Basically, +about it in the Rocq reference manual. Basically, it takes formulas with multiplication and addition, and simplifies them. But you can do this without [ring_simplify], using just ordinary rewriting @@ -482,4 +482,4 @@ sep_apply (create_mem_mgr gv). (* FILL IN HERE *) Admitted. (** [] *) -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/append.c b/vc-current/append.c index 23f32431a..2535e47d8 100644 --- a/vc-current/append.c +++ b/vc-current/append.c @@ -1,30 +1,30 @@ -#include - -struct list {int head; struct list *tail;}; - -struct list *append (struct list *x, struct list *y) { - struct list *t, *u; - if (x==NULL) - return y; - else { - t = x; - u = t->tail; - while (u!=NULL) { - t = u; - u = t->tail; - } - t->tail = y; - return x; - } -} - -struct list * append2 (struct list * x, struct list * y) { - struct list * * retp, * * curp; - retp = & x; - curp = & x; - while ( * curp != NULL ) { - curp = & (( * curp ) -> tail); - } - * curp = y; - return * retp; -} +#include + +struct list {int head; struct list *tail;}; + +struct list *append (struct list *x, struct list *y) { + struct list *t, *u; + if (x==NULL) + return y; + else { + t = x; + u = t->tail; + while (u!=NULL) { + t = u; + u = t->tail; + } + t->tail = y; + return x; + } +} + +struct list * append2 (struct list * x, struct list * y) { + struct list * * retp, * * curp; + retp = & x; + curp = & x; + while ( * curp != NULL ) { + curp = & (( * curp ) -> tail); + } + * curp = y; + return * retp; +} diff --git a/vc-current/append.v b/vc-current/append.v index 1b798d48b..b56be4371 100644 --- a/vc-current/append.v +++ b/vc-current/append.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "append.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 5%positive. Definition ___builtin_bswap16 : ident := 7%positive. Definition ___builtin_bswap32 : ident := 6%positive. Definition ___builtin_bswap64 : ident := 4%positive. +Definition ___builtin_cls : ident := 29%positive. +Definition ___builtin_clsl : ident := 30%positive. +Definition ___builtin_clsll : ident := 31%positive. Definition ___builtin_clz : ident := 8%positive. Definition ___builtin_clzl : ident := 9%positive. Definition ___builtin_clzll : ident := 10%positive. Definition ___builtin_ctz : ident := 11%positive. Definition ___builtin_ctzl : ident := 12%positive. Definition ___builtin_ctzll : ident := 13%positive. -Definition ___builtin_debug : ident := 39%positive. +Definition ___builtin_debug : ident := 38%positive. Definition ___builtin_expect : ident := 28%positive. Definition ___builtin_fabs : ident := 14%positive. Definition ___builtin_fabsf : ident := 15%positive. -Definition ___builtin_fmadd : ident := 31%positive. -Definition ___builtin_fmax : ident := 29%positive. -Definition ___builtin_fmin : ident := 30%positive. -Definition ___builtin_fmsub : ident := 32%positive. -Definition ___builtin_fnmadd : ident := 33%positive. -Definition ___builtin_fnmsub : ident := 34%positive. +Definition ___builtin_fmadd : ident := 32%positive. +Definition ___builtin_fmax : ident := 36%positive. +Definition ___builtin_fmin : ident := 37%positive. +Definition ___builtin_fmsub : ident := 33%positive. +Definition ___builtin_fnmadd : ident := 34%positive. +Definition ___builtin_fnmsub : ident := 35%positive. Definition ___builtin_fsqrt : ident := 16%positive. Definition ___builtin_membar : ident := 22%positive. Definition ___builtin_memcpy_aligned : ident := 18%positive. -Definition ___builtin_read16_reversed : ident := 35%positive. -Definition ___builtin_read32_reversed : ident := 36%positive. Definition ___builtin_sel : ident := 19%positive. Definition ___builtin_sqrt : ident := 17%positive. Definition ___builtin_unreachable : ident := 27%positive. @@ -53,42 +54,40 @@ Definition ___builtin_va_arg : ident := 24%positive. Definition ___builtin_va_copy : ident := 25%positive. Definition ___builtin_va_end : ident := 26%positive. Definition ___builtin_va_start : ident := 23%positive. -Definition ___builtin_write16_reversed : ident := 37%positive. -Definition ___builtin_write32_reversed : ident := 38%positive. -Definition ___compcert_i64_dtos : ident := 52%positive. -Definition ___compcert_i64_dtou : ident := 53%positive. -Definition ___compcert_i64_sar : ident := 64%positive. -Definition ___compcert_i64_sdiv : ident := 58%positive. -Definition ___compcert_i64_shl : ident := 62%positive. -Definition ___compcert_i64_shr : ident := 63%positive. -Definition ___compcert_i64_smod : ident := 60%positive. -Definition ___compcert_i64_smulh : ident := 65%positive. -Definition ___compcert_i64_stod : ident := 54%positive. -Definition ___compcert_i64_stof : ident := 56%positive. -Definition ___compcert_i64_udiv : ident := 59%positive. -Definition ___compcert_i64_umod : ident := 61%positive. -Definition ___compcert_i64_umulh : ident := 66%positive. -Definition ___compcert_i64_utod : ident := 55%positive. -Definition ___compcert_i64_utof : ident := 57%positive. -Definition ___compcert_va_composite : ident := 51%positive. -Definition ___compcert_va_float64 : ident := 50%positive. -Definition ___compcert_va_int32 : ident := 48%positive. -Definition ___compcert_va_int64 : ident := 49%positive. -Definition _append : ident := 44%positive. -Definition _append2 : ident := 47%positive. -Definition _curp : ident := 46%positive. -Definition _head : ident := 1%positive. -Definition _list : ident := 3%positive. -Definition _main : ident := 67%positive. -Definition _retp : ident := 45%positive. -Definition _t : ident := 42%positive. -Definition _tail : ident := 2%positive. -Definition _u : ident := 43%positive. -Definition _x : ident := 40%positive. -Definition _y : ident := 41%positive. -Definition _t'1 : ident := 68%positive. -Definition _t'2 : ident := 69%positive. -Definition _t'3 : ident := 70%positive. +Definition ___compcert_i64_dtos : ident := 51%positive. +Definition ___compcert_i64_dtou : ident := 52%positive. +Definition ___compcert_i64_sar : ident := 63%positive. +Definition ___compcert_i64_sdiv : ident := 57%positive. +Definition ___compcert_i64_shl : ident := 61%positive. +Definition ___compcert_i64_shr : ident := 62%positive. +Definition ___compcert_i64_smod : ident := 59%positive. +Definition ___compcert_i64_smulh : ident := 64%positive. +Definition ___compcert_i64_stod : ident := 53%positive. +Definition ___compcert_i64_stof : ident := 55%positive. +Definition ___compcert_i64_udiv : ident := 58%positive. +Definition ___compcert_i64_umod : ident := 60%positive. +Definition ___compcert_i64_umulh : ident := 65%positive. +Definition ___compcert_i64_utod : ident := 54%positive. +Definition ___compcert_i64_utof : ident := 56%positive. +Definition ___compcert_va_composite : ident := 50%positive. +Definition ___compcert_va_float64 : ident := 49%positive. +Definition ___compcert_va_int32 : ident := 47%positive. +Definition ___compcert_va_int64 : ident := 48%positive. +Definition _append : ident := 43%positive. +Definition _append2 : ident := 46%positive. +Definition _curp : ident := 45%positive. +Definition _head : ident := 2%positive. +Definition _list : ident := 1%positive. +Definition _main : ident := 66%positive. +Definition _retp : ident := 44%positive. +Definition _t : ident := 41%positive. +Definition _tail : ident := 3%positive. +Definition _u : ident := 42%positive. +Definition _x : ident := 39%positive. +Definition _y : ident := 40%positive. +Definition _t'1 : ident := 67%positive. +Definition _t'2 : ident := 68%positive. +Definition _t'3 : ident := 69%positive. Definition f_append := {| fn_return := (tptr (Tstruct _list noattr)); @@ -198,292 +197,272 @@ Definition composites : list composite_definition := Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (_append, Gfun(Internal f_append)) :: (_append2, Gfun(Internal f_append2)) :: nil). Definition public_idents : list ident := -(_append2 :: _append :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: +(_append2 :: _append :: ___builtin_debug :: ___builtin_fmin :: + ___builtin_fmax :: ___builtin_fnmsub :: ___builtin_fnmadd :: + ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_clsll :: + ___builtin_clsl :: ___builtin_cls :: ___builtin_expect :: + ___builtin_unreachable :: ___builtin_va_end :: ___builtin_va_copy :: + ___builtin_va_arg :: ___builtin_va_start :: ___builtin_membar :: + ___builtin_annot_intval :: ___builtin_annot :: ___builtin_sel :: + ___builtin_memcpy_aligned :: ___builtin_sqrt :: ___builtin_fsqrt :: + ___builtin_fabsf :: ___builtin_fabs :: ___builtin_ctzll :: + ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: ___builtin_clzl :: + ___builtin_clz :: ___builtin_bswap16 :: ___builtin_bswap32 :: + ___builtin_bswap :: ___builtin_bswap64 :: ___compcert_i64_umulh :: + ___compcert_i64_smulh :: ___compcert_i64_sar :: ___compcert_i64_shr :: + ___compcert_i64_shl :: ___compcert_i64_umod :: ___compcert_i64_smod :: + ___compcert_i64_udiv :: ___compcert_i64_sdiv :: ___compcert_i64_utof :: + ___compcert_i64_stof :: ___compcert_i64_utod :: ___compcert_i64_stod :: + ___compcert_i64_dtou :: ___compcert_i64_dtos :: ___compcert_va_composite :: ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/append32.v b/vc-current/append32.v deleted file mode 100644 index ff97df9b8..000000000 --- a/vc-current/append32.v +++ /dev/null @@ -1,488 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "append.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 20%positive. -Definition ___builtin_annot_intval : ident := 21%positive. -Definition ___builtin_bswap : ident := 5%positive. -Definition ___builtin_bswap16 : ident := 7%positive. -Definition ___builtin_bswap32 : ident := 6%positive. -Definition ___builtin_bswap64 : ident := 4%positive. -Definition ___builtin_clz : ident := 8%positive. -Definition ___builtin_clzl : ident := 9%positive. -Definition ___builtin_clzll : ident := 10%positive. -Definition ___builtin_ctz : ident := 11%positive. -Definition ___builtin_ctzl : ident := 12%positive. -Definition ___builtin_ctzll : ident := 13%positive. -Definition ___builtin_debug : ident := 39%positive. -Definition ___builtin_expect : ident := 28%positive. -Definition ___builtin_fabs : ident := 14%positive. -Definition ___builtin_fabsf : ident := 15%positive. -Definition ___builtin_fmadd : ident := 31%positive. -Definition ___builtin_fmax : ident := 29%positive. -Definition ___builtin_fmin : ident := 30%positive. -Definition ___builtin_fmsub : ident := 32%positive. -Definition ___builtin_fnmadd : ident := 33%positive. -Definition ___builtin_fnmsub : ident := 34%positive. -Definition ___builtin_fsqrt : ident := 16%positive. -Definition ___builtin_membar : ident := 22%positive. -Definition ___builtin_memcpy_aligned : ident := 18%positive. -Definition ___builtin_read16_reversed : ident := 35%positive. -Definition ___builtin_read32_reversed : ident := 36%positive. -Definition ___builtin_sel : ident := 19%positive. -Definition ___builtin_sqrt : ident := 17%positive. -Definition ___builtin_unreachable : ident := 27%positive. -Definition ___builtin_va_arg : ident := 24%positive. -Definition ___builtin_va_copy : ident := 25%positive. -Definition ___builtin_va_end : ident := 26%positive. -Definition ___builtin_va_start : ident := 23%positive. -Definition ___builtin_write16_reversed : ident := 37%positive. -Definition ___builtin_write32_reversed : ident := 38%positive. -Definition ___compcert_i64_dtos : ident := 52%positive. -Definition ___compcert_i64_dtou : ident := 53%positive. -Definition ___compcert_i64_sar : ident := 64%positive. -Definition ___compcert_i64_sdiv : ident := 58%positive. -Definition ___compcert_i64_shl : ident := 62%positive. -Definition ___compcert_i64_shr : ident := 63%positive. -Definition ___compcert_i64_smod : ident := 60%positive. -Definition ___compcert_i64_smulh : ident := 65%positive. -Definition ___compcert_i64_stod : ident := 54%positive. -Definition ___compcert_i64_stof : ident := 56%positive. -Definition ___compcert_i64_udiv : ident := 59%positive. -Definition ___compcert_i64_umod : ident := 61%positive. -Definition ___compcert_i64_umulh : ident := 66%positive. -Definition ___compcert_i64_utod : ident := 55%positive. -Definition ___compcert_i64_utof : ident := 57%positive. -Definition ___compcert_va_composite : ident := 51%positive. -Definition ___compcert_va_float64 : ident := 50%positive. -Definition ___compcert_va_int32 : ident := 48%positive. -Definition ___compcert_va_int64 : ident := 49%positive. -Definition _append : ident := 44%positive. -Definition _append2 : ident := 47%positive. -Definition _curp : ident := 46%positive. -Definition _head : ident := 1%positive. -Definition _list : ident := 3%positive. -Definition _main : ident := 67%positive. -Definition _retp : ident := 45%positive. -Definition _t : ident := 42%positive. -Definition _tail : ident := 2%positive. -Definition _u : ident := 43%positive. -Definition _x : ident := 40%positive. -Definition _y : ident := 41%positive. -Definition _t'1 : ident := 68%positive. -Definition _t'2 : ident := 69%positive. -Definition _t'3 : ident := 70%positive. - -Definition f_append := {| - fn_return := (tptr (Tstruct _list noattr)); - fn_callconv := cc_default; - fn_params := ((_x, (tptr (Tstruct _list noattr))) :: - (_y, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_t, (tptr (Tstruct _list noattr))) :: - (_u, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Sifthenelse (Ebinop Oeq (Etempvar _x (tptr (Tstruct _list noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) - (Sreturn (Some (Etempvar _y (tptr (Tstruct _list noattr))))) - (Ssequence - (Sset _t (Etempvar _x (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _u - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail (tptr (Tstruct _list noattr)))) - (Ssequence - (Swhile - (Ebinop One (Etempvar _u (tptr (Tstruct _list noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) - (Ssequence - (Sset _t (Etempvar _u (tptr (Tstruct _list noattr)))) - (Sset _u - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr)))))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail (tptr (Tstruct _list noattr))) - (Etempvar _y (tptr (Tstruct _list noattr)))) - (Sreturn (Some (Etempvar _x (tptr (Tstruct _list noattr)))))))))) -|}. - -Definition f_append2 := {| - fn_return := (tptr (Tstruct _list noattr)); - fn_callconv := cc_default; - fn_params := ((_x, (tptr (Tstruct _list noattr))) :: - (_y, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := ((_x, (tptr (Tstruct _list noattr))) :: nil); - fn_temps := ((_retp, (tptr (tptr (Tstruct _list noattr)))) :: - (_curp, (tptr (tptr (Tstruct _list noattr)))) :: - (_t'3, (tptr (Tstruct _list noattr))) :: - (_t'2, (tptr (Tstruct _list noattr))) :: - (_t'1, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Ssequence - (Sassign (Evar _x (tptr (Tstruct _list noattr))) - (Etempvar _x (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _retp - (Eaddrof (Evar _x (tptr (Tstruct _list noattr))) - (tptr (tptr (Tstruct _list noattr))))) - (Ssequence - (Sset _curp - (Eaddrof (Evar _x (tptr (Tstruct _list noattr))) - (tptr (tptr (Tstruct _list noattr))))) - (Ssequence - (Sloop - (Ssequence - (Ssequence - (Sset _t'3 - (Ederef (Etempvar _curp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr)))) - (Sifthenelse (Ebinop One - (Etempvar _t'3 (tptr (Tstruct _list noattr))) - (Ecast (Econst_int (Int.repr 0) tint) - (tptr tvoid)) tint) - Sskip - Sbreak)) - (Ssequence - (Sset _t'2 - (Ederef (Etempvar _curp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr)))) - (Sset _curp - (Eaddrof - (Efield - (Ederef (Etempvar _t'2 (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr))) - (tptr (tptr (Tstruct _list noattr))))))) - Sskip) - (Ssequence - (Sassign - (Ederef (Etempvar _curp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr))) - (Etempvar _y (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _t'1 - (Ederef (Etempvar _retp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr)))) - (Sreturn (Some (Etempvar _t'1 (tptr (Tstruct _list noattr))))))))))) -|}. - -Definition composites : list composite_definition := -(Composite _list Struct - (Member_plain _head tint :: - Member_plain _tail (tptr (Tstruct _list noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_append, Gfun(Internal f_append)) :: - (_append2, Gfun(Internal f_append2)) :: nil). - -Definition public_idents : list ident := -(_append2 :: _append :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/append64.v b/vc-current/append64.v deleted file mode 100644 index 514974313..000000000 --- a/vc-current/append64.v +++ /dev/null @@ -1,488 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "append.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 20%positive. -Definition ___builtin_annot_intval : ident := 21%positive. -Definition ___builtin_bswap : ident := 5%positive. -Definition ___builtin_bswap16 : ident := 7%positive. -Definition ___builtin_bswap32 : ident := 6%positive. -Definition ___builtin_bswap64 : ident := 4%positive. -Definition ___builtin_clz : ident := 8%positive. -Definition ___builtin_clzl : ident := 9%positive. -Definition ___builtin_clzll : ident := 10%positive. -Definition ___builtin_ctz : ident := 11%positive. -Definition ___builtin_ctzl : ident := 12%positive. -Definition ___builtin_ctzll : ident := 13%positive. -Definition ___builtin_debug : ident := 39%positive. -Definition ___builtin_expect : ident := 28%positive. -Definition ___builtin_fabs : ident := 14%positive. -Definition ___builtin_fabsf : ident := 15%positive. -Definition ___builtin_fmadd : ident := 31%positive. -Definition ___builtin_fmax : ident := 29%positive. -Definition ___builtin_fmin : ident := 30%positive. -Definition ___builtin_fmsub : ident := 32%positive. -Definition ___builtin_fnmadd : ident := 33%positive. -Definition ___builtin_fnmsub : ident := 34%positive. -Definition ___builtin_fsqrt : ident := 16%positive. -Definition ___builtin_membar : ident := 22%positive. -Definition ___builtin_memcpy_aligned : ident := 18%positive. -Definition ___builtin_read16_reversed : ident := 35%positive. -Definition ___builtin_read32_reversed : ident := 36%positive. -Definition ___builtin_sel : ident := 19%positive. -Definition ___builtin_sqrt : ident := 17%positive. -Definition ___builtin_unreachable : ident := 27%positive. -Definition ___builtin_va_arg : ident := 24%positive. -Definition ___builtin_va_copy : ident := 25%positive. -Definition ___builtin_va_end : ident := 26%positive. -Definition ___builtin_va_start : ident := 23%positive. -Definition ___builtin_write16_reversed : ident := 37%positive. -Definition ___builtin_write32_reversed : ident := 38%positive. -Definition ___compcert_i64_dtos : ident := 52%positive. -Definition ___compcert_i64_dtou : ident := 53%positive. -Definition ___compcert_i64_sar : ident := 64%positive. -Definition ___compcert_i64_sdiv : ident := 58%positive. -Definition ___compcert_i64_shl : ident := 62%positive. -Definition ___compcert_i64_shr : ident := 63%positive. -Definition ___compcert_i64_smod : ident := 60%positive. -Definition ___compcert_i64_smulh : ident := 65%positive. -Definition ___compcert_i64_stod : ident := 54%positive. -Definition ___compcert_i64_stof : ident := 56%positive. -Definition ___compcert_i64_udiv : ident := 59%positive. -Definition ___compcert_i64_umod : ident := 61%positive. -Definition ___compcert_i64_umulh : ident := 66%positive. -Definition ___compcert_i64_utod : ident := 55%positive. -Definition ___compcert_i64_utof : ident := 57%positive. -Definition ___compcert_va_composite : ident := 51%positive. -Definition ___compcert_va_float64 : ident := 50%positive. -Definition ___compcert_va_int32 : ident := 48%positive. -Definition ___compcert_va_int64 : ident := 49%positive. -Definition _append : ident := 44%positive. -Definition _append2 : ident := 47%positive. -Definition _curp : ident := 46%positive. -Definition _head : ident := 1%positive. -Definition _list : ident := 3%positive. -Definition _main : ident := 67%positive. -Definition _retp : ident := 45%positive. -Definition _t : ident := 42%positive. -Definition _tail : ident := 2%positive. -Definition _u : ident := 43%positive. -Definition _x : ident := 40%positive. -Definition _y : ident := 41%positive. -Definition _t'1 : ident := 68%positive. -Definition _t'2 : ident := 69%positive. -Definition _t'3 : ident := 70%positive. - -Definition f_append := {| - fn_return := (tptr (Tstruct _list noattr)); - fn_callconv := cc_default; - fn_params := ((_x, (tptr (Tstruct _list noattr))) :: - (_y, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_t, (tptr (Tstruct _list noattr))) :: - (_u, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Sifthenelse (Ebinop Oeq (Etempvar _x (tptr (Tstruct _list noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) - (Sreturn (Some (Etempvar _y (tptr (Tstruct _list noattr))))) - (Ssequence - (Sset _t (Etempvar _x (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _u - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail (tptr (Tstruct _list noattr)))) - (Ssequence - (Swhile - (Ebinop One (Etempvar _u (tptr (Tstruct _list noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) - (Ssequence - (Sset _t (Etempvar _u (tptr (Tstruct _list noattr)))) - (Sset _u - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr)))))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail (tptr (Tstruct _list noattr))) - (Etempvar _y (tptr (Tstruct _list noattr)))) - (Sreturn (Some (Etempvar _x (tptr (Tstruct _list noattr)))))))))) -|}. - -Definition f_append2 := {| - fn_return := (tptr (Tstruct _list noattr)); - fn_callconv := cc_default; - fn_params := ((_x, (tptr (Tstruct _list noattr))) :: - (_y, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := ((_x, (tptr (Tstruct _list noattr))) :: nil); - fn_temps := ((_retp, (tptr (tptr (Tstruct _list noattr)))) :: - (_curp, (tptr (tptr (Tstruct _list noattr)))) :: - (_t'3, (tptr (Tstruct _list noattr))) :: - (_t'2, (tptr (Tstruct _list noattr))) :: - (_t'1, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Ssequence - (Sassign (Evar _x (tptr (Tstruct _list noattr))) - (Etempvar _x (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _retp - (Eaddrof (Evar _x (tptr (Tstruct _list noattr))) - (tptr (tptr (Tstruct _list noattr))))) - (Ssequence - (Sset _curp - (Eaddrof (Evar _x (tptr (Tstruct _list noattr))) - (tptr (tptr (Tstruct _list noattr))))) - (Ssequence - (Sloop - (Ssequence - (Ssequence - (Sset _t'3 - (Ederef (Etempvar _curp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr)))) - (Sifthenelse (Ebinop One - (Etempvar _t'3 (tptr (Tstruct _list noattr))) - (Ecast (Econst_int (Int.repr 0) tint) - (tptr tvoid)) tint) - Sskip - Sbreak)) - (Ssequence - (Sset _t'2 - (Ederef (Etempvar _curp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr)))) - (Sset _curp - (Eaddrof - (Efield - (Ederef (Etempvar _t'2 (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr))) - (tptr (tptr (Tstruct _list noattr))))))) - Sskip) - (Ssequence - (Sassign - (Ederef (Etempvar _curp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr))) - (Etempvar _y (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _t'1 - (Ederef (Etempvar _retp (tptr (tptr (Tstruct _list noattr)))) - (tptr (Tstruct _list noattr)))) - (Sreturn (Some (Etempvar _t'1 (tptr (Tstruct _list noattr))))))))))) -|}. - -Definition composites : list composite_definition := -(Composite _list Struct - (Member_plain _head tint :: - Member_plain _tail (tptr (Tstruct _list noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_append, Gfun(Internal f_append)) :: - (_append2, Gfun(Internal f_append2)) :: nil). - -Definition public_idents : list ident := -(_append2 :: _append :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/common/css/secf.css b/vc-current/common/css/secf.css new file mode 100644 index 000000000..4acd60b6e --- /dev/null +++ b/vc-current/common/css/secf.css @@ -0,0 +1,10 @@ +/* Styles for SF: V42: Security Foundations */ + +/* Background */ +body { background-image: url('../media/image/security_foundations_bg.jpg'); } + +#header { background-color: rgba(192, 125, 98, 0.53); } + +/* This volume's color */ +.section, ul#menu li.section_name, div.button, td.logical_tab, .ui-state-active { background-color: #c07d62; } + diff --git a/vc-current/common/css/sf.css b/vc-current/common/css/sf.css index cf68ffddf..c9d1faf73 100644 --- a/vc-current/common/css/sf.css +++ b/vc-current/common/css/sf.css @@ -831,8 +831,8 @@ table.vc tbody tr td.tab { background-color: rgb(159, 125, 140); } table.slf { background-color: rgba(219, 178, 127, 0.5); } table.slf tbody tr td.tab { background-color: rgb(219, 178, 127); } -/* Suggested background color for next volume */ -/* #c07d62 */ +table.secf { background-color: rgba(192, 125, 98, 0.5); } +table.secf tbody tr td.tab { background-color: #c07d62; } .ui-draggable, .ui-droppable { background-position: top; diff --git a/vc-current/common/media/font/Open-Sans-300/LICENSE.txt b/vc-current/common/media/font/Open-Sans-300/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-300/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-300/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-300italic/LICENSE.txt b/vc-current/common/media/font/Open-Sans-300italic/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-300italic/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-300italic/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-600/LICENSE.txt b/vc-current/common/media/font/Open-Sans-600/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-600/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-600/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-600italic/LICENSE.txt b/vc-current/common/media/font/Open-Sans-600italic/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-600italic/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-600italic/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-700/LICENSE.txt b/vc-current/common/media/font/Open-Sans-700/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-700/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-700/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-700italic/LICENSE.txt b/vc-current/common/media/font/Open-Sans-700italic/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-700italic/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-700italic/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-800/LICENSE.txt b/vc-current/common/media/font/Open-Sans-800/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-800/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-800/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-800italic/LICENSE.txt b/vc-current/common/media/font/Open-Sans-800italic/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-800italic/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-800italic/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-italic/LICENSE.txt b/vc-current/common/media/font/Open-Sans-italic/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-italic/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-italic/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/font/Open-Sans-regular/LICENSE.txt b/vc-current/common/media/font/Open-Sans-regular/LICENSE.txt index d64569567..75b52484e 100755 --- a/vc-current/common/media/font/Open-Sans-regular/LICENSE.txt +++ b/vc-current/common/media/font/Open-Sans-regular/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vc-current/common/media/image/secf_icon.jpg b/vc-current/common/media/image/secf_icon.jpg new file mode 100644 index 000000000..1cad3b002 Binary files /dev/null and b/vc-current/common/media/image/secf_icon.jpg differ diff --git a/vc-current/common/media/image/security_foundations_bg.jpg b/vc-current/common/media/image/security_foundations_bg.jpg new file mode 100644 index 000000000..09bfd04d4 Binary files /dev/null and b/vc-current/common/media/image/security_foundations_bg.jpg differ diff --git a/vc-current/common/media/image/security_foundations_bg_unfaded.jpg b/vc-current/common/media/image/security_foundations_bg_unfaded.jpg new file mode 100644 index 000000000..113383d99 Binary files /dev/null and b/vc-current/common/media/image/security_foundations_bg_unfaded.jpg differ diff --git a/vc-current/coqindex.html b/vc-current/coqindex.html index bdc37538a..b28157285 100644 --- a/vc-current/coqindex.html +++ b/vc-current/coqindex.html @@ -40,58 +40,26 @@ G H I -J -K +J +K L M N O P -Q +Q R S T U V W -X -Y +X +Y Z _ other -(1260 entries) - - -Binder Index -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -_ -other -(820 entries) +(440 entries) Module Index @@ -155,7 +123,7 @@ Z _ other -(8 entries) +(9 entries) Library Index @@ -241,7 +209,7 @@ P Q R -S +S T U V @@ -251,7 +219,7 @@ Z _ other -(14 entries) +(13 entries) Projection Index @@ -350,6 +318,38 @@ (6 entries) +Abbreviation Index +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +_ +other +(1 entry) + + Definition Index A B @@ -379,7 +379,7 @@ Z _ other -(192 entries) +(191 entries) Record Index @@ -424,47 +424,9 @@

        Global Index

        add_list_decreasing_eq [lemma, in Verif_triang]
        add_list_decreasing_eq_alt [lemma, in Verif_triang]
        add_list [definition, in Verif_triang]
        -al:103 [binder, in Verif_hash]
        -al:108 [binder, in Verif_hash]
        -al:11 [binder, in Hashfun]
        -al:126 [binder, in Verif_hash]
        -al:130 [binder, in Verif_hash]
        -al:131 [binder, in Verif_hash]
        -al:139 [binder, in Verif_hash]
        -al:144 [binder, in Verif_hash]
        -al:178 [binder, in Verif_hash]
        -al:19 [binder, in Hashfun]
        -al:64 [binder, in Verif_hash]
        -al:65 [binder, in Verif_hash]
        -al:7 [binder, in Hashfun]
        -al:87 [binder, in Verif_triang]
        append_spec [definition, in Verif_append1]
        -a:1 [binder, in Verif_triang]
        -a:1 [binder, in Verif_sumarray]
        -A:123 [binder, in Verif_hash]
        -a:21 [binder, in Verif_append1]
        -a:24 [binder, in Verif_append1]
        -a:25 [binder, in Verif_append2]
        -a:25 [binder, in Hashfun]
        -a:28 [binder, in Verif_append1]
        -a:3 [binder, in Verif_triang]
        -a:3 [binder, in Verif_sumarray]
        -a:38 [binder, in Verif_reverse]
        -A:42 [binder, in Verif_append2]
        -a:44 [binder, in Verif_reverse]
        -a:45 [binder, in Verif_append2]
        -A:47 [binder, in Verif_append2]
        -A:68 [binder, in Verif_hash]
        -a:8 [binder, in Verif_sumarray]
        -a:80 [binder, in Verif_append2]
        -a:86 [binder, in Verif_append1]
        -a:89 [binder, in Verif_append1]
        -a:96 [binder, in Verif_append1]


        B

        Bib [library]
        -bl:122 [binder, in Verif_hash]
        -bl:75 [binder, in Verif_hash]
        -bl:88 [binder, in Verif_triang]
        body_incr [lemma, in Verif_hash]
        body_incr_field_address_lemma [lemma, in Verif_hash]
        body_incr_list [lemma, in Verif_hash]
        @@ -507,22 +469,6 @@

        Global Index

        body_newstack [lemma, in Verif_stack]
        body_push [lemma, in Verif_stack]
        body_pop [lemma, in Verif_stack]
        -b0:142 [binder, in Verif_hash]
        -b:148 [binder, in Verif_hash]
        -b:150 [binder, in Verif_hash]
        -b:2 [binder, in Verif_triang]
        -b:2 [binder, in Verif_sumarray]
        -b:25 [binder, in Verif_append1]
        -b:29 [binder, in Verif_append1]
        -b:33 [binder, in Verif_append2]
        -b:38 [binder, in Verif_append2]
        -b:39 [binder, in Verif_reverse]
        -b:4 [binder, in Verif_triang]
        -b:45 [binder, in Verif_reverse]
        -b:54 [binder, in Verif_append1]
        -b:59 [binder, in Verif_append1]
        -B:69 [binder, in Verif_hash]
        -b:90 [binder, in Verif_append1]


        C

        cancel_example [lemma, in Verif_strlib]
        CompSpecs [instance, in Verif_hash]
        @@ -539,29 +485,6 @@

        Global Index

        CompSpecs [instance, in VSU_main]
        CompSpecs [instance, in Verif_strlib]
        CompSpecs [instance, in Verif_stack]
        -contents:10 [binder, in Verif_sumarray]
        -contents:11 [binder, in Verif_strlib]
        -contents:113 [binder, in Verif_hash]
        -contents:118 [binder, in Verif_hash]
        -contents:15 [binder, in Verif_append2]
        -contents:15 [binder, in Verif_append1]
        -contents:15 [binder, in Hashfun]
        -contents:17 [binder, in Hashfun]
        -contents:30 [binder, in Verif_hash]
        -contents:32 [binder, in Verif_hash]
        -contents:46 [binder, in Verif_append1]
        -contents:48 [binder, in Verif_append1]
        -contents:5 [binder, in Verif_sumarray]
        -contents:54 [binder, in Verif_append2]
        -contents:57 [binder, in Verif_append2]
        -contents:6 [binder, in Verif_strlib]
        -contents:73 [binder, in Verif_hash]
        -contents:76 [binder, in Verif_hash]
        -contents:78 [binder, in Verif_hash]
        -contents:79 [binder, in Verif_append1]
        -contents:85 [binder, in Verif_append1]
        -contents:95 [binder, in Verif_hash]
        -contents:99 [binder, in Verif_hash]
        copy_string_spec [definition, in Verif_hash]
        coreVSU [definition, in VSU_main2]
        coreVSU [definition, in VSU_main]
        @@ -574,37 +497,6 @@

        Global Index

        COUNT_TABLE.key [axiom, in Hashfun]
        COUNT_TABLE.table [axiom, in Hashfun]
        COUNT_TABLE [module, in Hashfun]
        -count:133 [binder, in Verif_hash]
        -count:138 [binder, in Verif_hash]
        -count:155 [binder, in Verif_hash]
        -count:161 [binder, in Verif_hash]
        -count:34 [binder, in Verif_hash]
        -count:39 [binder, in Verif_hash]
        -count:43 [binder, in Verif_hash]
        -count:48 [binder, in Verif_hash]
        -count:61 [binder, in Verif_hash]
        -count:85 [binder, in Verif_hash]
        -count:90 [binder, in Verif_hash]
        -cs:12 [binder, in VSU_stdlib]
        -cs:26 [binder, in Spec_stdlib]
        -cs:31 [binder, in Spec_stdlib]
        -cs:36 [binder, in Spec_stdlib]
        -cs:42 [binder, in Spec_stdlib]
        -cs:48 [binder, in Spec_stdlib]
        -cs:5 [binder, in VSU_stdlib]
        -cs:55 [binder, in Spec_stdlib]
        -cs:58 [binder, in Spec_stdlib]
        -cs:8 [binder, in VSU_stdlib]
        -cts:146 [binder, in Verif_hash]
        -cts:147 [binder, in Verif_hash]
        -cts:180 [binder, in Verif_hash]
        -cts:181 [binder, in Verif_hash]
        -cts:22 [binder, in Hashfun]
        -cts:24 [binder, in Hashfun]
        -cts:58 [binder, in Hashfun]
        -cts:62 [binder, in Hashfun]
        -c:30 [binder, in Verif_append1]
        -C:70 [binder, in Verif_hash]


        D

        data_at_thashtable_tarray [lemma, in Verif_hash]
        data_at_isptr_example2 [lemma, in Verif_reverse]
        @@ -617,20 +509,11 @@

        Global Index

        decreasing_nat [definition, in Verif_triang]
        demonstrate_cstring2 [lemma, in Verif_strlib]
        demonstrate_cstring1 [lemma, in Verif_strlib]
        -dest:10 [binder, in Verif_hash]
        -dest:14 [binder, in Verif_hash]
        -dest:23 [binder, in Verif_strlib]
        -dest:29 [binder, in Verif_strlib]
        -dest:51 [binder, in Verif_strlib]
        -dest:55 [binder, in Verif_strlib]
        Digression [module, in VSU_stdlib2]
        Digression.N [definition, in VSU_stdlib2]
        Digression.N_eq [definition, in VSU_stdlib2]
        Digression.N' [definition, in VSU_stdlib2]
        Digression.N'' [definition, in VSU_stdlib2]
        -dl:157 [binder, in Verif_hash]
        -dl:163 [binder, in Verif_hash]
        -d:124 [binder, in Verif_hash]


        E

        empty_table [definition, in Hashfun]
        emp_lbseg [lemma, in Verif_append2]
        @@ -638,10 +521,6 @@

        Global Index

        emp_wand_emp_left [lemma, in Verif_append2]
        emp_wand_emp_right [lemma, in Verif_append2]
        EqDec_string [instance, in Hashfun]
        -Espec:10 [binder, in VSU_stdlib]
        -Espec:4 [binder, in VSU_stdlib]
        -Espec:50 [binder, in Verif_reverse]
        -Espec:7 [binder, in VSU_stdlib]
        example_field_at_data_at''' [lemma, in Verif_hash]
        example_field_at_data_at'' [lemma, in Verif_hash]
        example_field_at_data_at' [lemma, in Verif_hash]
        @@ -654,7 +533,6 @@

        Global Index

        freelistrep [definition, in VSU_stdlib2]
        freelistrep_valid_pointer [lemma, in VSU_stdlib2]
        freelistrep_local_prop [lemma, in VSU_stdlib2]
        -frees:22 [binder, in VSU_stdlib2]
        free_spec_sub [lemma, in Spec_stdlib]
        free_spec [definition, in Spec_stdlib]
        free_spec_sz [definition, in Spec_stdlib]
        @@ -668,9 +546,6 @@

        Global Index

        FunTable.incr [definition, in Hashfun]
        FunTable.key [definition, in Hashfun]
        FunTable.table [definition, in Hashfun]
        -f:127 [binder, in Verif_hash]
        -f:16 [binder, in Verif_sumarray]
        -f:71 [binder, in Verif_hash]


        G

        get_spec [definition, in Verif_hash]
        Gprog [definition, in Verif_hash]
        @@ -680,69 +555,6 @@

        Global Index

        Gprog [definition, in Verif_reverse]
        Gprog [definition, in Verif_strlib]
        Gprog [definition, in Verif_stack]
        -gv:1 [binder, in VSU_main2]
        -gv:1 [binder, in VSU_main]
        -gv:106 [binder, in Verif_hash]
        -gv:11 [binder, in Spec_stack]
        -gv:11 [binder, in Verif_stack]
        -gv:111 [binder, in Verif_hash]
        -gv:116 [binder, in Verif_hash]
        -gv:12 [binder, in Verif_sumarray]
        -gv:12 [binder, in Spec_stack]
        -gv:121 [binder, in Verif_hash]
        -gv:13 [binder, in VSU_stdlib]
        -gv:13 [binder, in Verif_sumarray]
        -gv:14 [binder, in Spec_stdlib]
        -gv:16 [binder, in Spec_stdlib]
        -gv:17 [binder, in Spec_stack]
        -gv:19 [binder, in VSU_stdlib2]
        -gv:19 [binder, in VSU_stack]
        -gv:2 [binder, in VSU_main2]
        -gv:2 [binder, in VSU_stdlib]
        -gv:2 [binder, in Spec_triang]
        -gv:2 [binder, in VSU_main]
        -gv:2 [binder, in Verif_stack]
        -gv:20 [binder, in Spec_stdlib]
        -gv:21 [binder, in VSU_stack]
        -gv:21 [binder, in Spec_stack]
        -gv:23 [binder, in Spec_stdlib]
        -gv:23 [binder, in VSU_stdlib2]
        -gv:24 [binder, in Verif_hash]
        -gv:25 [binder, in Spec_stack]
        -gv:27 [binder, in Verif_hash]
        -gv:28 [binder, in Verif_stack]
        -gv:29 [binder, in Spec_stack]
        -gv:29 [binder, in Verif_stack]
        -gv:3 [binder, in Spec_triang]
        -gv:34 [binder, in Verif_stack]
        -gv:38 [binder, in Verif_stack]
        -gv:4 [binder, in Verif_stack]
        -gv:42 [binder, in Verif_stack]
        -gv:44 [binder, in Spec_stdlib]
        -gv:45 [binder, in Spec_stdlib]
        -gv:46 [binder, in Verif_stack]
        -gv:51 [binder, in Spec_stdlib]
        -gv:53 [binder, in Spec_stdlib]
        -gv:54 [binder, in Verif_triang]
        -gv:55 [binder, in Verif_triang]
        -gv:60 [binder, in Verif_triang]
        -gv:64 [binder, in Verif_triang]
        -gv:68 [binder, in Verif_triang]
        -gv:72 [binder, in Verif_triang]
        -gv:74 [binder, in Verif_strlib]
        -gv:75 [binder, in Verif_triang]
        -gv:75 [binder, in Verif_strlib]
        -gv:78 [binder, in Verif_triang]
        -gv:8 [binder, in Verif_stack]
        -gv:80 [binder, in Verif_hash]
        -gv:81 [binder, in Verif_hash]
        -gv:81 [binder, in Verif_triang]
        -gv:84 [binder, in Verif_triang]
        -gv:85 [binder, in Verif_triang]
        -gv:86 [binder, in Verif_triang]
        -gv:87 [binder, in Verif_hash]
        -gv:92 [binder, in Verif_hash]
        -gx:14 [binder, in VSU_stdlib]


        H

        hashfun [definition, in Hashfun]
        Hashfun [library]
        @@ -760,63 +572,7 @@

        Global Index

        hash_spec [definition, in Verif_hash]
        Hello [definition, in Verif_strlib]
        Hello' [definition, in Verif_strlib]
        -hi:91 [binder, in Verif_triang]
        -HRE:57 [binder, in Verif_reverse]
        -hs:51 [binder, in Verif_append1]
        -H0:13 [binder, in Verif_strlib]
        -H0:8 [binder, in Verif_strlib]
        -H1:14 [binder, in Verif_strlib]
        -H1:9 [binder, in Verif_strlib]
        -h:1 [binder, in Hashfun]
        -H:12 [binder, in Verif_strlib]
        -h:177 [binder, in Verif_hash]
        -h:18 [binder, in Verif_reverse]
        -h:18 [binder, in Hashfun]
        -h:27 [binder, in Hashfun]
        -h:50 [binder, in Verif_append1]
        -h:53 [binder, in Verif_reverse]
        -H:58 [binder, in Verif_reverse]
        -h:6 [binder, in Verif_reverse]
        -H:7 [binder, in Verif_strlib]
        -h:9 [binder, in Verif_reverse]


        I

        -il:11 [binder, in VSU_stack]
        -il:12 [binder, in Verif_stack]
        -il:14 [binder, in VSU_stack]
        -il:16 [binder, in VSU_stack]
        -il:16 [binder, in Spec_stack]
        -il:17 [binder, in Verif_stack]
        -il:19 [binder, in Verif_stack]
        -il:2 [binder, in VSU_stack]
        -il:20 [binder, in Spec_stack]
        -il:21 [binder, in Verif_stack]
        -il:24 [binder, in Spec_stack]
        -il:24 [binder, in Verif_stack]
        -il:26 [binder, in Verif_stack]
        -il:28 [binder, in Spec_stack]
        -il:3 [binder, in Spec_stack]
        -il:33 [binder, in Verif_stack]
        -il:37 [binder, in Verif_stack]
        -il:38 [binder, in Verif_triang]
        -il:41 [binder, in Verif_stack]
        -il:43 [binder, in Verif_triang]
        -il:45 [binder, in Verif_triang]
        -il:45 [binder, in Verif_stack]
        -il:47 [binder, in Verif_triang]
        -il:50 [binder, in Verif_triang]
        -il:52 [binder, in Verif_triang]
        -il:59 [binder, in Verif_triang]
        -il:6 [binder, in Spec_stack]
        -il:63 [binder, in Verif_triang]
        -il:67 [binder, in Verif_triang]
        -il:7 [binder, in VSU_stack]
        -il:71 [binder, in Verif_triang]
        -il:80 [binder, in Verif_triang]
        -il:83 [binder, in Verif_triang]
        -il:89 [binder, in Verif_triang]
        -il:9 [binder, in VSU_stack]
        -il:93 [binder, in Verif_triang]
        -il:94 [binder, in Verif_triang]
        implies_and_adjoint [lemma, in Verif_append2]
        incr_spec [definition, in Verif_hash]
        incr_list_spec [definition, in Verif_hash]
        @@ -837,83 +593,6 @@

        Global Index

        Int_repr_eq_mod [lemma, in Hashfun]
        iter_sepcon_split3 [lemma, in Verif_hash]
        iter_sepcon_listrep_local_facts [lemma, in Verif_hash]
        -i:10 [binder, in Verif_strlib]
        -i:125 [binder, in Verif_hash]
        -i:14 [binder, in Verif_sumarray]
        -i:15 [binder, in Verif_sumarray]
        -i:15 [binder, in Spec_stack]
        -i:18 [binder, in Verif_sumarray]
        -i:19 [binder, in Spec_stack]
        -i:20 [binder, in VSU_stdlib2]
        -i:23 [binder, in Spec_stack]
        -i:24 [binder, in Spec_stdlib]
        -i:25 [binder, in Spec_stdlib]
        -i:27 [binder, in Spec_stack]
        -i:29 [binder, in Hashfun]
        -i:31 [binder, in Hashfun]
        -i:32 [binder, in Verif_stack]
        -i:34 [binder, in Verif_triang]
        -i:36 [binder, in Verif_stack]
        -i:40 [binder, in Verif_stack]
        -i:44 [binder, in Verif_stack]
        -i:45 [binder, in Verif_strlib]
        -i:46 [binder, in Verif_strlib]
        -i:47 [binder, in Verif_strlib]
        -i:5 [binder, in Verif_strlib]
        -i:58 [binder, in Verif_triang]
        -i:58 [binder, in Verif_strlib]
        -i:59 [binder, in Verif_strlib]
        -i:59 [binder, in Hashfun]
        -i:62 [binder, in Verif_triang]
        -i:63 [binder, in Verif_strlib]
        -i:66 [binder, in Verif_triang]
        -i:68 [binder, in Verif_strlib]
        -i:70 [binder, in Verif_triang]
        -i:72 [binder, in Verif_strlib]
        -i:73 [binder, in Verif_strlib]
        -i:9 [binder, in Verif_hash]
        -i:95 [binder, in Verif_triang]
        -i:96 [binder, in Verif_triang]
        -i:97 [binder, in Verif_triang]
        -

        J

        -j:42 [binder, in Hashfun]
        -j:55 [binder, in Hashfun]
        -j:69 [binder, in Verif_strlib]
        -j:70 [binder, in Hashfun]
        -

        K

        -key:132 [binder, in Verif_hash]
        -key:137 [binder, in Verif_hash]
        -key:154 [binder, in Verif_hash]
        -key:160 [binder, in Verif_hash]
        -key:33 [binder, in Verif_hash]
        -key:38 [binder, in Verif_hash]
        -key:42 [binder, in Verif_hash]
        -key:46 [binder, in Verif_hash]
        -key:60 [binder, in Verif_hash]
        -key:84 [binder, in Verif_hash]
        -key:89 [binder, in Verif_hash]
        -kp:136 [binder, in Verif_hash]
        -kp:153 [binder, in Verif_hash]
        -kp:159 [binder, in Verif_hash]
        -kp:37 [binder, in Verif_hash]
        -kp:47 [binder, in Verif_hash]
        -k':51 [binder, in Hashfun]
        -k:37 [binder, in Hashfun]
        -k:39 [binder, in Hashfun]
        -k:43 [binder, in Hashfun]
        -k:46 [binder, in Hashfun]
        -k:47 [binder, in Hashfun]
        -k:49 [binder, in Hashfun]
        -k:52 [binder, in Hashfun]
        -k:53 [binder, in Hashfun]
        -k:56 [binder, in Hashfun]
        -k:61 [binder, in Hashfun]
        -k:63 [binder, in Hashfun]
        -k:65 [binder, in Hashfun]
        -k:67 [binder, in Hashfun]
        -k:68 [binder, in Hashfun]
        -k:71 [binder, in Hashfun]
        -K:92 [binder, in Verif_triang]


        L

        lbseg [definition, in Verif_append2]
        lbseg_lbseg [lemma, in Verif_append2]
        @@ -961,8 +640,6 @@

        Global Index

        list_get [definition, in Hashfun]
        loopy_lseg_no_connection [lemma, in Verif_append1]
        loopy_lseg_not_bad [lemma, in Verif_append1]
        -lo:28 [binder, in Hashfun]
        -lo:90 [binder, in Verif_triang]
        lseg [definition, in Verif_append1]
        lseg_lseg_inv [lemma, in Verif_append1]
        lseg_listrep_equiv [lemma, in Verif_append1]
        @@ -971,8 +648,6 @@

        Global Index

        lseg_maybe_loop [lemma, in Verif_append1]
        lseg2listrep [lemma, in Verif_append1]
        lseg2wlseg [lemma, in Verif_append2]
        -l:41 [binder, in Verif_reverse]
        -l:49 [binder, in Verif_reverse]


        M

        M [definition, in VSU_main2]
        M [axiom, in VSU_stdlib]
        @@ -1025,13 +700,6 @@

        Global Index

        MF_imported_specs [definition, in VSU_stdlib2]
        MF_ASI [definition, in VSU_stdlib2]
        modus_ponens_wand_from_adjoint [lemma, in Verif_append2]
        -M:27 [binder, in Spec_stdlib]
        -M:32 [binder, in Spec_stdlib]
        -M:37 [binder, in Spec_stdlib]
        -M:41 [binder, in Spec_stdlib]
        -M:47 [binder, in Spec_stdlib]
        -M:54 [binder, in Spec_stdlib]
        -M:57 [binder, in Spec_stdlib]


        N

        N [definition, in VSU_stdlib2]
        N [definition, in Hashfun]
        @@ -1041,53 +709,13 @@

        Global Index

        newstack_spec [definition, in Verif_stack]
        new_cell_spec [definition, in Verif_hash]
        new_table_spec [definition, in Verif_hash]
        -next:35 [binder, in Verif_hash]
        -next:40 [binder, in Verif_hash]
        -next:44 [binder, in Verif_hash]
        -next:86 [binder, in Verif_hash]
        -next:91 [binder, in Verif_hash]
        nt_lseg_list [lemma, in Verif_append1]
        nt_lseg_nt_lseg [lemma, in Verif_append1]
        nt_lseg [definition, in Verif_append1]
        N_eq [definition, in VSU_stdlib2]
        N_eq [lemma, in Hashfun]
        -n:1 [binder, in VSU_stdlib2]
        -n:11 [binder, in Verif_hash]
        -n:11 [binder, in VSU_stdlib2]
        -n:11 [binder, in Verif_triang]
        -n:128 [binder, in Verif_hash]
        -n:13 [binder, in Spec_stdlib]
        -n:14 [binder, in Verif_triang]
        -n:15 [binder, in Verif_hash]
        -n:15 [binder, in Spec_stdlib]
        -n:15 [binder, in Verif_triang]
        -n:16 [binder, in VSU_stdlib]
        -n:17 [binder, in Verif_triang]
        -n:18 [binder, in Spec_stdlib]
        -n:18 [binder, in Verif_triang]
        -n:20 [binder, in Verif_triang]
        -n:21 [binder, in Spec_stdlib]
        -n:21 [binder, in Verif_triang]
        -n:22 [binder, in Verif_triang]
        -n:24 [binder, in Verif_strlib]
        -n:30 [binder, in Verif_strlib]
        -n:35 [binder, in Verif_triang]
        -n:36 [binder, in Verif_triang]
        -n:37 [binder, in Verif_triang]
        -n:48 [binder, in Verif_strlib]
        -n:49 [binder, in Verif_strlib]
        -n:5 [binder, in Verif_triang]
        -n:52 [binder, in Verif_strlib]
        -n:56 [binder, in Verif_strlib]
        -n:6 [binder, in VSU_stdlib2]
        -n:60 [binder, in Verif_strlib]
        -n:64 [binder, in Verif_strlib]
        -n:74 [binder, in Verif_triang]
        -n:77 [binder, in Verif_triang]
        -n:8 [binder, in VSU_stdlib2]
        -n:8 [binder, in Verif_triang]


        P

        -placeholder_spec [definition, in VSU_stdlib]
        +placeholder_spec [abbreviation, in VSU_stdlib]
        pop_and_add_spec [definition, in Verif_triang]
        pop_spec [definition, in Verif_triang]
        pop_spec [definition, in Spec_stack]
        @@ -1101,215 +729,18 @@

        Global Index

        push_spec [definition, in Spec_stack]
        push_increasing_spec [definition, in VSU_triang]
        push_spec [definition, in Verif_stack]
        -p':134 [binder, in Verif_hash]
        -p':49 [binder, in Verif_hash]
        -p':62 [binder, in Verif_hash]
        -P':9 [binder, in Verif_append2]
        -p0:143 [binder, in Verif_hash]
        -P:1 [binder, in Verif_append2]
        -p:10 [binder, in Spec_stdlib]
        -p:10 [binder, in VSU_stack]
        -p:10 [binder, in Verif_stack]
        -p:11 [binder, in Verif_reverse]
        -p:112 [binder, in Verif_hash]
        -p:117 [binder, in Verif_hash]
        -P:12 [binder, in Verif_append2]
        -p:12 [binder, in VSU_stdlib2]
        -p:12 [binder, in VSU_stack]
        -p:129 [binder, in Verif_hash]
        -p:13 [binder, in Verif_reverse]
        -p:13 [binder, in Spec_stack]
        -p:13 [binder, in Verif_stack]
        -p:135 [binder, in Verif_hash]
        -p:14 [binder, in Spec_stack]
        -p:141 [binder, in Verif_hash]
        -p:145 [binder, in Verif_hash]
        -p:149 [binder, in Verif_hash]
        -p:15 [binder, in VSU_stdlib2]
        -p:15 [binder, in VSU_stack]
        -p:15 [binder, in Verif_reverse]
        -p:151 [binder, in Verif_hash]
        -p:152 [binder, in Verif_hash]
        -p:158 [binder, in Verif_hash]
        -p:164 [binder, in Verif_hash]
        -p:168 [binder, in Verif_hash]
        -p:17 [binder, in Spec_stdlib]
        -p:17 [binder, in VSU_stack]
        -p:17 [binder, in Verif_reverse]
        -p:170 [binder, in Verif_hash]
        -p:172 [binder, in Verif_hash]
        -p:174 [binder, in Verif_hash]
        -p:18 [binder, in VSU_stdlib2]
        -p:18 [binder, in Spec_stack]
        -p:18 [binder, in Verif_stack]
        -p:19 [binder, in Spec_stdlib]
        -p:2 [binder, in VSU_stdlib2]
        -p:2 [binder, in Verif_append1]
        -p:2 [binder, in Verif_reverse]
        -p:20 [binder, in Verif_reverse]
        -p:20 [binder, in Verif_stack]
        -p:21 [binder, in VSU_stdlib2]
        -p:22 [binder, in Spec_stdlib]
        -p:22 [binder, in VSU_stack]
        -p:22 [binder, in Verif_reverse]
        -p:22 [binder, in Spec_stack]
        -p:22 [binder, in Verif_stack]
        -p:24 [binder, in Verif_reverse]
        -p:25 [binder, in Verif_stack]
        -p:26 [binder, in Verif_reverse]
        -p:26 [binder, in Spec_stack]
        -p:27 [binder, in Verif_stack]
        -p:28 [binder, in Verif_hash]
        -p:28 [binder, in Verif_reverse]
        -p:3 [binder, in VSU_stack]
        -p:30 [binder, in Verif_stack]
        -p:31 [binder, in Verif_stack]
        -P:33 [binder, in Verif_triang]
        -p:35 [binder, in Spec_stdlib]
        -p:35 [binder, in Verif_stack]
        -p:36 [binder, in Verif_hash]
        -p:39 [binder, in Verif_triang]
        -p:39 [binder, in Verif_stack]
        -P:4 [binder, in Verif_append2]
        -p:4 [binder, in Spec_stack]
        -p:40 [binder, in Spec_stdlib]
        -p:41 [binder, in Verif_hash]
        -P:43 [binder, in Verif_append2]
        -p:43 [binder, in Verif_append1]
        -p:43 [binder, in Verif_stack]
        -p:44 [binder, in Verif_triang]
        -p:45 [binder, in Verif_hash]
        -p:45 [binder, in Verif_append1]
        -p:46 [binder, in Spec_stdlib]
        -p:46 [binder, in Verif_triang]
        -P:48 [binder, in Verif_append2]
        -p:48 [binder, in Verif_triang]
        -p:5 [binder, in Verif_stack]
        -p:50 [binder, in Verif_hash]
        -p:50 [binder, in Spec_stdlib]
        -p:51 [binder, in Verif_triang]
        -p:52 [binder, in Spec_stdlib]
        -p:53 [binder, in Verif_triang]
        -p:56 [binder, in Verif_triang]
        -p:57 [binder, in Verif_hash]
        -p:57 [binder, in Verif_triang]
        -p:59 [binder, in Verif_hash]
        -P:6 [binder, in Verif_append2]
        -p:6 [binder, in Spec_stdlib]
        -p:61 [binder, in Verif_triang]
        -p:62 [binder, in Verif_strlib]
        -p:63 [binder, in Verif_hash]
        -p:65 [binder, in Verif_triang]
        -p:66 [binder, in Verif_strlib]
        -p:67 [binder, in Verif_hash]
        -p:69 [binder, in Verif_triang]
        -p:7 [binder, in VSU_stdlib2]
        -p:7 [binder, in Spec_stack]
        -p:7 [binder, in Verif_stack]
        -p:70 [binder, in Verif_strlib]
        -p:74 [binder, in Verif_hash]
        -p:77 [binder, in Verif_hash]
        -p:79 [binder, in Verif_hash]
        -P:8 [binder, in Verif_append2]
        -p:8 [binder, in VSU_stack]
        -p:8 [binder, in Verif_reverse]
        -p:82 [binder, in Verif_hash]
        -p:9 [binder, in VSU_stdlib2]
        -p:93 [binder, in Verif_hash]
        -p:94 [binder, in Verif_hash]
        -p:98 [binder, in Verif_hash]
        -

        Q

        -Q':11 [binder, in Verif_append2]
        -Q:10 [binder, in Verif_append2]
        -Q:13 [binder, in Verif_append2]
        -q:13 [binder, in VSU_stack]
        -q:140 [binder, in Verif_hash]
        -Q:2 [binder, in Verif_append2]
        -q:23 [binder, in Verif_stack]
        -q:29 [binder, in Verif_reverse]
        -Q:44 [binder, in Verif_append2]
        -Q:49 [binder, in Verif_append2]
        -q:49 [binder, in Verif_triang]
        -Q:5 [binder, in Verif_append2]
        -Q:7 [binder, in Verif_append2]
        -q:71 [binder, in Verif_strlib]


        R

        release_needed [definition, in Preface]
        -ret:15 [binder, in VSU_stdlib]
        reverse_spec [definition, in Verif_reverse]
        -rsh:22 [binder, in Verif_strlib]
        -rsh:28 [binder, in Verif_strlib]
        -r0:102 [binder, in Verif_hash]
        -r0:107 [binder, in Verif_hash]
        -R:14 [binder, in Verif_append2]
        -r:14 [binder, in Verif_append1]
        -r:156 [binder, in Verif_hash]
        -r:162 [binder, in Verif_hash]
        -R:3 [binder, in Verif_append2]
        -R:50 [binder, in Verif_append2]
        -r:54 [binder, in Verif_reverse]
        -r:66 [binder, in Verif_hash]


        S

        semax_func_cons_malloc_aux [lemma, in VSU_stdlib]
        -sh1:33 [binder, in Verif_strlib]
        -sh1:39 [binder, in Verif_strlib]
        -sh2:34 [binder, in Verif_strlib]
        -sh2:40 [binder, in Verif_strlib]
        -sh:10 [binder, in VSU_stdlib2]
        -sh:13 [binder, in VSU_stdlib2]
        -sh:15 [binder, in Verif_strlib]
        -sh:16 [binder, in VSU_stdlib2]
        -sh:18 [binder, in Verif_strlib]
        -sh:28 [binder, in Spec_stdlib]
        -sh:33 [binder, in Spec_stdlib]
        -sh:38 [binder, in Spec_stdlib]
        -sh:4 [binder, in Spec_stdlib]
        -sh:4 [binder, in Verif_sumarray]
        -sh:61 [binder, in Verif_strlib]
        -sh:65 [binder, in Verif_strlib]
        -sh:67 [binder, in Verif_strlib]
        -sh:8 [binder, in Spec_stdlib]
        -sh:9 [binder, in Verif_sumarray]
        -sigma:1 [binder, in Verif_append1]
        -sigma:1 [binder, in Verif_reverse]
        -sigma:101 [binder, in Verif_hash]
        -sigma:105 [binder, in Verif_hash]
        -sigma:110 [binder, in Verif_hash]
        -sigma:115 [binder, in Verif_hash]
        -sigma:12 [binder, in Verif_reverse]
        -sigma:120 [binder, in Verif_hash]
        -sigma:14 [binder, in Verif_reverse]
        -sigma:16 [binder, in Verif_reverse]
        -sigma:21 [binder, in Verif_reverse]
        -sigma:21 [binder, in Hashfun]
        -sigma:23 [binder, in Verif_hash]
        -sigma:23 [binder, in Verif_reverse]
        -sigma:23 [binder, in Hashfun]
        -sigma:25 [binder, in Verif_reverse]
        -sigma:26 [binder, in Verif_hash]
        -sigma:26 [binder, in Hashfun]
        -sigma:27 [binder, in Verif_reverse]
        -sigma:30 [binder, in Hashfun]
        -sigma:42 [binder, in Verif_append1]
        -sigma:44 [binder, in Verif_append1]
        -sigma:51 [binder, in Verif_hash]
        -sigma:51 [binder, in Verif_reverse]
        -sigma:56 [binder, in Verif_hash]
        -sigma:58 [binder, in Verif_hash]
        -sigma:97 [binder, in Verif_hash]
        singleton_wlseg [lemma, in Verif_append2]
        singleton_nt_lseg' [lemma, in Verif_append1]
        singleton_nt_lseg [lemma, in Verif_append1]
        singleton_lseg [lemma, in Verif_append1]
        -size:11 [binder, in Verif_sumarray]
        -size:6 [binder, in Verif_sumarray]
        Spec_stdlib [library]
        Spec_stack [library]
        Spec_triang [library]
        -src:12 [binder, in Verif_hash]
        -src:16 [binder, in Verif_hash]
        -src:25 [binder, in Verif_strlib]
        -src:31 [binder, in Verif_strlib]
        STACK [definition, in VSU_main2]
        STACK [definition, in VSU_stack]
        stack [definition, in VSU_stack]
        @@ -1324,7 +755,6 @@

        Global Index

        stackrep [projection, in Spec_stack]
        stackrep_valid_pointer [projection, in Spec_stack]
        stackrep_local_facts [projection, in Spec_stack]
        -stackrep_nil [axiom, in VSU_triang]
        stacktriangVSU [lemma, in VSU_main2]
        stacktriangVSU [definition, in VSU_main]
        stacktriangVSU1 [definition, in VSU_main2]
        @@ -1357,121 +787,11 @@

        Global Index

        strlen_spec [definition, in Verif_hash]
        strlen_spec [definition, in Verif_strlib]
        struct_list_valid_pointer_example [lemma, in Verif_reverse]
        -str1:1 [binder, in Verif_hash]
        -str1:35 [binder, in Verif_strlib]
        -str1:41 [binder, in Verif_strlib]
        -str1:5 [binder, in Verif_hash]
        -str2:3 [binder, in Verif_hash]
        -str2:37 [binder, in Verif_strlib]
        -str2:43 [binder, in Verif_strlib]
        -str2:7 [binder, in Verif_hash]
        -str:17 [binder, in Verif_strlib]
        -str:19 [binder, in Verif_hash]
        -str:20 [binder, in Verif_strlib]
        -str:21 [binder, in Verif_hash]
        -st:3 [binder, in VSU_triang]
        -st:73 [binder, in Verif_triang]
        -st:76 [binder, in Verif_triang]
        -st:79 [binder, in Verif_triang]
        -st:82 [binder, in Verif_triang]
        sumarray_spec [definition, in Verif_sumarray]
        sum_Z_app [lemma, in Verif_sumarray]
        sum_Z [definition, in Verif_sumarray]
        surely_malloc_spec [definition, in VSU_stack]
        -sz:14 [binder, in VSU_stdlib2]
        -sz:17 [binder, in VSU_stdlib2]
        -sz:5 [binder, in Spec_stdlib]
        -sz:9 [binder, in Spec_stdlib]
        -s1a:32 [binder, in Verif_append2]
        -s1a:37 [binder, in Verif_append2]
        -s1a:53 [binder, in Verif_append1]
        -s1a:58 [binder, in Verif_append1]
        -s1c:34 [binder, in Verif_append2]
        -s1c:39 [binder, in Verif_append2]
        -s1c:55 [binder, in Verif_append1]
        -s1c:60 [binder, in Verif_append1]
        -s1:101 [binder, in Verif_append1]
        -s1:12 [binder, in Verif_append1]
        -s1:2 [binder, in Verif_hash]
        -s1:20 [binder, in Verif_append2]
        -s1:28 [binder, in Verif_append2]
        -s1:30 [binder, in Verif_reverse]
        -s1:33 [binder, in Verif_append1]
        -s1:34 [binder, in Verif_reverse]
        -s1:36 [binder, in Verif_strlib]
        -s1:38 [binder, in Verif_append1]
        -s1:42 [binder, in Verif_strlib]
        -s1:52 [binder, in Verif_reverse]
        -s1:6 [binder, in Verif_hash]
        -s1:62 [binder, in Verif_append2]
        -s1:67 [binder, in Verif_append2]
        -s1:69 [binder, in Verif_append1]
        -s1:74 [binder, in Verif_append1]
        -s1:8 [binder, in Verif_append1]
        -s1:94 [binder, in Verif_append1]
        -s2:102 [binder, in Verif_append1]
        -s2:13 [binder, in Verif_append1]
        -s2:21 [binder, in Verif_append2]
        -s2:29 [binder, in Verif_append2]
        -s2:31 [binder, in Verif_reverse]
        -s2:34 [binder, in Verif_append1]
        -s2:35 [binder, in Verif_reverse]
        -s2:38 [binder, in Verif_strlib]
        -s2:39 [binder, in Verif_append1]
        -s2:4 [binder, in Verif_hash]
        -s2:44 [binder, in Verif_strlib]
        -s2:63 [binder, in Verif_append2]
        -s2:68 [binder, in Verif_append2]
        -s2:70 [binder, in Verif_append1]
        -s2:75 [binder, in Verif_append1]
        -s2:8 [binder, in Verif_hash]
        -s2:9 [binder, in Verif_append1]
        -s2:95 [binder, in Verif_append1]
        -s:1 [binder, in Verif_strlib]
        -s:10 [binder, in Hashfun]
        -s:100 [binder, in Verif_hash]
        -s:104 [binder, in Verif_hash]
        -s:109 [binder, in Verif_hash]
        -s:114 [binder, in Verif_hash]
        -s:119 [binder, in Verif_hash]
        -s:13 [binder, in Verif_hash]
        -s:14 [binder, in Hashfun]
        -s:16 [binder, in Verif_strlib]
        -s:16 [binder, in Hashfun]
        -s:17 [binder, in Verif_hash]
        -s:18 [binder, in Verif_hash]
        -s:19 [binder, in Verif_strlib]
        -s:2 [binder, in Hashfun]
        -s:20 [binder, in Verif_hash]
        -s:20 [binder, in Hashfun]
        -s:22 [binder, in Verif_hash]
        -s:25 [binder, in Verif_hash]
        -s:26 [binder, in Verif_strlib]
        -s:29 [binder, in Verif_hash]
        -s:31 [binder, in Verif_hash]
        -s:32 [binder, in Verif_strlib]
        -s:5 [binder, in Hashfun]
        -s:53 [binder, in Verif_strlib]
        -s:57 [binder, in Verif_strlib]
        -s:6 [binder, in Hashfun]
        -s:60 [binder, in Hashfun]
        -s:63 [binder, in Verif_append1]
        -s:65 [binder, in Verif_append1]
        -s:67 [binder, in Verif_append1]
        -s:71 [binder, in Verif_append2]
        -s:74 [binder, in Verif_append2]
        -s:76 [binder, in Verif_append2]
        -s:78 [binder, in Verif_append2]
        -s:83 [binder, in Verif_hash]
        -s:88 [binder, in Verif_hash]
        -s:96 [binder, in Verif_hash]


        T

        -table:176 [binder, in Verif_hash]
        -table:179 [binder, in Verif_hash]
        -tail:18 [binder, in Verif_append2]
        -tail:60 [binder, in Verif_append2]
        -tbl:64 [binder, in Hashfun]
        -tbl:66 [binder, in Hashfun]
        tcell [definition, in Verif_hash]
        tcell [definition, in VSU_stdlib2]
        thashtable [definition, in Verif_hash]
        @@ -1481,6 +801,7 @@

        Global Index

        TriangVSU [definition, in VSU_triang]
        triangVSU [definition, in VSU_main]
        triang_spec [definition, in Spec_triang]
        +Triang_VSU.stackrep_nil [variable, in VSU_triang]
        Triang_Vprog [definition, in VSU_triang]
        Triang_Gprog [definition, in VSU_triang]
        Triang_internals [definition, in VSU_triang]
        @@ -1492,31 +813,6 @@

        Global Index

        t_list_box [definition, in Verif_append2]
        t_list [definition, in Verif_append1]
        t_list [definition, in Verif_reverse]
        -t:1 [binder, in Verif_stack]
        -t:18 [binder, in VSU_stack]
        -t:20 [binder, in VSU_stack]
        -t:29 [binder, in Spec_stdlib]
        -t:3 [binder, in Verif_stack]
        -t:34 [binder, in Spec_stdlib]
        -t:35 [binder, in Verif_append2]
        -t:39 [binder, in Spec_stdlib]
        -t:40 [binder, in Verif_append2]
        -t:40 [binder, in Hashfun]
        -t:43 [binder, in Spec_stdlib]
        -t:44 [binder, in Hashfun]
        -t:48 [binder, in Hashfun]
        -t:49 [binder, in Spec_stdlib]
        -t:50 [binder, in Hashfun]
        -t:54 [binder, in Hashfun]
        -t:56 [binder, in Spec_stdlib]
        -t:56 [binder, in Verif_append1]
        -t:57 [binder, in Hashfun]
        -t:59 [binder, in Spec_stdlib]
        -t:6 [binder, in Verif_stack]
        -t:61 [binder, in Verif_append1]
        -t:69 [binder, in Hashfun]
        -t:72 [binder, in Hashfun]
        -t:9 [binder, in Verif_stack]


        U

        uncurry [definition, in Verif_hash]
        Unnamed_thm6 [definition, in Verif_hash]
        @@ -1532,11 +828,6 @@

        Global Index

        Unnamed_thm [definition, in Verif_strlib]
        Unnamed_thm [definition, in Preface]
        Unnamed_thm [definition, in Preface]
        -u:100 [binder, in Verif_append1]
        -u:36 [binder, in Verif_append2]
        -u:41 [binder, in Verif_append2]
        -u:57 [binder, in Verif_append1]
        -u:62 [binder, in Verif_append1]


        V

        Verif_append1 [library]
        Verif_triang [library]
        @@ -1562,10 +853,6 @@

        Global Index

        VSU_triang [library]
        VSU_main2 [library]
        VSU_main [library]
        -v:30 [binder, in Spec_stdlib]
        -v:33 [binder, in Verif_reverse]
        -v:37 [binder, in Verif_reverse]
        -v:56 [binder, in Verif_reverse]


        W

        wandQ_frame_ver_mpred [lemma, in Verif_append2]
        wandQ_frame_elim_mpred [lemma, in Verif_append2]
        @@ -1585,969 +872,10 @@

        Global Index

        wlseg_list [lemma, in Verif_append2]
        wlseg_wlseg [lemma, in Verif_append2]
        wlseg2lseg_nullval [lemma, in Verif_append2]
        -wsh:21 [binder, in Verif_strlib]
        -wsh:27 [binder, in Verif_strlib]
        -wsh:50 [binder, in Verif_strlib]
        -wsh:54 [binder, in Verif_strlib]
        -w:32 [binder, in Verif_reverse]
        -w:36 [binder, in Verif_reverse]
        -w:55 [binder, in Verif_reverse]
        -

        X

        -xy:72 [binder, in Verif_hash]
        -x:10 [binder, in Verif_append1]
        -x:103 [binder, in Verif_append1]
        -x:16 [binder, in Verif_append2]
        -x:16 [binder, in Verif_append1]
        -x:165 [binder, in Verif_hash]
        -x:17 [binder, in VSU_stdlib]
        -x:17 [binder, in Verif_sumarray]
        -x:19 [binder, in Verif_append2]
        -x:22 [binder, in Verif_append2]
        -x:22 [binder, in Verif_append1]
        -x:26 [binder, in Verif_append2]
        -x:26 [binder, in Verif_append1]
        -x:30 [binder, in Verif_append2]
        -x:31 [binder, in Verif_append1]
        -x:35 [binder, in Verif_append1]
        -x:40 [binder, in Verif_append1]
        -x:40 [binder, in Verif_reverse]
        -x:46 [binder, in Verif_append2]
        -x:46 [binder, in Verif_reverse]
        -x:47 [binder, in Verif_append1]
        -x:49 [binder, in Verif_append1]
        -x:51 [binder, in Verif_append2]
        -x:52 [binder, in Verif_hash]
        -x:52 [binder, in Verif_append2]
        -x:53 [binder, in Verif_append2]
        -x:55 [binder, in Verif_append2]
        -x:58 [binder, in Verif_append2]
        -x:6 [binder, in Verif_append1]
        -x:61 [binder, in Verif_append2]
        -x:64 [binder, in Verif_append2]
        -x:64 [binder, in Verif_append1]
        -x:66 [binder, in Verif_append1]
        -x:68 [binder, in Verif_append1]
        -x:69 [binder, in Verif_append2]
        -x:7 [binder, in Verif_sumarray]
        -x:71 [binder, in Verif_append1]
        -x:72 [binder, in Verif_append2]
        -x:75 [binder, in Verif_append2]
        -x:76 [binder, in Verif_append1]
        -x:77 [binder, in Verif_append2]
        -x:79 [binder, in Verif_append2]
        -x:80 [binder, in Verif_append1]
        -x:81 [binder, in Verif_append2]
        -x:87 [binder, in Verif_append1]
        -x:91 [binder, in Verif_append1]
        -x:97 [binder, in Verif_append1]
        -

        Y

        -y:10 [binder, in Verif_reverse]
        -y:104 [binder, in Verif_append1]
        -y:11 [binder, in Verif_append1]
        -y:16 [binder, in Verif_stack]
        -y:166 [binder, in Verif_hash]
        -y:17 [binder, in Verif_append2]
        -y:19 [binder, in Verif_reverse]
        -y:20 [binder, in Verif_append1]
        -y:23 [binder, in Verif_append2]
        -y:23 [binder, in Verif_append1]
        -y:27 [binder, in Verif_append2]
        -y:27 [binder, in Verif_append1]
        -y:31 [binder, in Verif_append2]
        -y:32 [binder, in Verif_append1]
        -y:36 [binder, in Verif_append1]
        -y:41 [binder, in Verif_append1]
        -y:42 [binder, in Verif_triang]
        -y:42 [binder, in Verif_reverse]
        -y:47 [binder, in Verif_reverse]
        -y:5 [binder, in VSU_stdlib2]
        -y:5 [binder, in Verif_append1]
        -y:5 [binder, in Verif_reverse]
        -y:52 [binder, in Verif_append1]
        -y:55 [binder, in Verif_hash]
        -y:56 [binder, in Verif_append2]
        -y:59 [binder, in Verif_append2]
        -y:59 [binder, in Verif_reverse]
        -y:6 [binder, in VSU_stack]
        -y:65 [binder, in Verif_append2]
        -y:7 [binder, in Verif_append1]
        -y:7 [binder, in Verif_reverse]
        -y:70 [binder, in Verif_append2]
        -y:73 [binder, in Verif_append2]
        -y:73 [binder, in Verif_append1]
        -y:77 [binder, in Verif_append1]
        -y:82 [binder, in Verif_append2]
        -y:84 [binder, in Verif_append1]
        -y:88 [binder, in Verif_append1]
        -y:92 [binder, in Verif_append1]
        -y:98 [binder, in Verif_append1]


        Z

        Zinduction [lemma, in Verif_triang]
        Zlength_hashtable_incr [lemma, in Hashfun]
        Z_sub_add_ok [lemma, in Verif_triang]
        -z:167 [binder, in Verif_hash]
        -z:169 [binder, in Verif_hash]
        -z:17 [binder, in Verif_append1]
        -z:171 [binder, in Verif_hash]
        -z:173 [binder, in Verif_hash]
        -z:175 [binder, in Verif_hash]
        -z:24 [binder, in Verif_append2]
        -z:37 [binder, in Verif_append1]
        -z:43 [binder, in Verif_reverse]
        -z:48 [binder, in Verif_reverse]
        -z:66 [binder, in Verif_append2]
        -z:72 [binder, in Verif_append1]
        -z:78 [binder, in Verif_append1]
        -z:81 [binder, in Verif_append1]
        -z:93 [binder, in Verif_append1]
        -z:99 [binder, in Verif_append1]
        -


        -

        Binder Index

        -

        A

        -al:103 [in Verif_hash]
        -al:108 [in Verif_hash]
        -al:11 [in Hashfun]
        -al:126 [in Verif_hash]
        -al:130 [in Verif_hash]
        -al:131 [in Verif_hash]
        -al:139 [in Verif_hash]
        -al:144 [in Verif_hash]
        -al:178 [in Verif_hash]
        -al:19 [in Hashfun]
        -al:64 [in Verif_hash]
        -al:65 [in Verif_hash]
        -al:7 [in Hashfun]
        -al:87 [in Verif_triang]
        -a:1 [in Verif_triang]
        -a:1 [in Verif_sumarray]
        -A:123 [in Verif_hash]
        -a:21 [in Verif_append1]
        -a:24 [in Verif_append1]
        -a:25 [in Verif_append2]
        -a:25 [in Hashfun]
        -a:28 [in Verif_append1]
        -a:3 [in Verif_triang]
        -a:3 [in Verif_sumarray]
        -a:38 [in Verif_reverse]
        -A:42 [in Verif_append2]
        -a:44 [in Verif_reverse]
        -a:45 [in Verif_append2]
        -A:47 [in Verif_append2]
        -A:68 [in Verif_hash]
        -a:8 [in Verif_sumarray]
        -a:80 [in Verif_append2]
        -a:86 [in Verif_append1]
        -a:89 [in Verif_append1]
        -a:96 [in Verif_append1]
        -

        B

        -bl:122 [in Verif_hash]
        -bl:75 [in Verif_hash]
        -bl:88 [in Verif_triang]
        -b0:142 [in Verif_hash]
        -b:148 [in Verif_hash]
        -b:150 [in Verif_hash]
        -b:2 [in Verif_triang]
        -b:2 [in Verif_sumarray]
        -b:25 [in Verif_append1]
        -b:29 [in Verif_append1]
        -b:33 [in Verif_append2]
        -b:38 [in Verif_append2]
        -b:39 [in Verif_reverse]
        -b:4 [in Verif_triang]
        -b:45 [in Verif_reverse]
        -b:54 [in Verif_append1]
        -b:59 [in Verif_append1]
        -B:69 [in Verif_hash]
        -b:90 [in Verif_append1]
        -

        C

        -contents:10 [in Verif_sumarray]
        -contents:11 [in Verif_strlib]
        -contents:113 [in Verif_hash]
        -contents:118 [in Verif_hash]
        -contents:15 [in Verif_append2]
        -contents:15 [in Verif_append1]
        -contents:15 [in Hashfun]
        -contents:17 [in Hashfun]
        -contents:30 [in Verif_hash]
        -contents:32 [in Verif_hash]
        -contents:46 [in Verif_append1]
        -contents:48 [in Verif_append1]
        -contents:5 [in Verif_sumarray]
        -contents:54 [in Verif_append2]
        -contents:57 [in Verif_append2]
        -contents:6 [in Verif_strlib]
        -contents:73 [in Verif_hash]
        -contents:76 [in Verif_hash]
        -contents:78 [in Verif_hash]
        -contents:79 [in Verif_append1]
        -contents:85 [in Verif_append1]
        -contents:95 [in Verif_hash]
        -contents:99 [in Verif_hash]
        -count:133 [in Verif_hash]
        -count:138 [in Verif_hash]
        -count:155 [in Verif_hash]
        -count:161 [in Verif_hash]
        -count:34 [in Verif_hash]
        -count:39 [in Verif_hash]
        -count:43 [in Verif_hash]
        -count:48 [in Verif_hash]
        -count:61 [in Verif_hash]
        -count:85 [in Verif_hash]
        -count:90 [in Verif_hash]
        -cs:12 [in VSU_stdlib]
        -cs:26 [in Spec_stdlib]
        -cs:31 [in Spec_stdlib]
        -cs:36 [in Spec_stdlib]
        -cs:42 [in Spec_stdlib]
        -cs:48 [in Spec_stdlib]
        -cs:5 [in VSU_stdlib]
        -cs:55 [in Spec_stdlib]
        -cs:58 [in Spec_stdlib]
        -cs:8 [in VSU_stdlib]
        -cts:146 [in Verif_hash]
        -cts:147 [in Verif_hash]
        -cts:180 [in Verif_hash]
        -cts:181 [in Verif_hash]
        -cts:22 [in Hashfun]
        -cts:24 [in Hashfun]
        -cts:58 [in Hashfun]
        -cts:62 [in Hashfun]
        -c:30 [in Verif_append1]
        -C:70 [in Verif_hash]
        -

        D

        -dest:10 [in Verif_hash]
        -dest:14 [in Verif_hash]
        -dest:23 [in Verif_strlib]
        -dest:29 [in Verif_strlib]
        -dest:51 [in Verif_strlib]
        -dest:55 [in Verif_strlib]
        -dl:157 [in Verif_hash]
        -dl:163 [in Verif_hash]
        -d:124 [in Verif_hash]
        -

        E

        -Espec:10 [in VSU_stdlib]
        -Espec:4 [in VSU_stdlib]
        -Espec:50 [in Verif_reverse]
        -Espec:7 [in VSU_stdlib]
        -

        F

        -frees:22 [in VSU_stdlib2]
        -f:127 [in Verif_hash]
        -f:16 [in Verif_sumarray]
        -f:71 [in Verif_hash]
        -

        G

        -gv:1 [in VSU_main2]
        -gv:1 [in VSU_main]
        -gv:106 [in Verif_hash]
        -gv:11 [in Spec_stack]
        -gv:11 [in Verif_stack]
        -gv:111 [in Verif_hash]
        -gv:116 [in Verif_hash]
        -gv:12 [in Verif_sumarray]
        -gv:12 [in Spec_stack]
        -gv:121 [in Verif_hash]
        -gv:13 [in VSU_stdlib]
        -gv:13 [in Verif_sumarray]
        -gv:14 [in Spec_stdlib]
        -gv:16 [in Spec_stdlib]
        -gv:17 [in Spec_stack]
        -gv:19 [in VSU_stdlib2]
        -gv:19 [in VSU_stack]
        -gv:2 [in VSU_main2]
        -gv:2 [in VSU_stdlib]
        -gv:2 [in Spec_triang]
        -gv:2 [in VSU_main]
        -gv:2 [in Verif_stack]
        -gv:20 [in Spec_stdlib]
        -gv:21 [in VSU_stack]
        -gv:21 [in Spec_stack]
        -gv:23 [in Spec_stdlib]
        -gv:23 [in VSU_stdlib2]
        -gv:24 [in Verif_hash]
        -gv:25 [in Spec_stack]
        -gv:27 [in Verif_hash]
        -gv:28 [in Verif_stack]
        -gv:29 [in Spec_stack]
        -gv:29 [in Verif_stack]
        -gv:3 [in Spec_triang]
        -gv:34 [in Verif_stack]
        -gv:38 [in Verif_stack]
        -gv:4 [in Verif_stack]
        -gv:42 [in Verif_stack]
        -gv:44 [in Spec_stdlib]
        -gv:45 [in Spec_stdlib]
        -gv:46 [in Verif_stack]
        -gv:51 [in Spec_stdlib]
        -gv:53 [in Spec_stdlib]
        -gv:54 [in Verif_triang]
        -gv:55 [in Verif_triang]
        -gv:60 [in Verif_triang]
        -gv:64 [in Verif_triang]
        -gv:68 [in Verif_triang]
        -gv:72 [in Verif_triang]
        -gv:74 [in Verif_strlib]
        -gv:75 [in Verif_triang]
        -gv:75 [in Verif_strlib]
        -gv:78 [in Verif_triang]
        -gv:8 [in Verif_stack]
        -gv:80 [in Verif_hash]
        -gv:81 [in Verif_hash]
        -gv:81 [in Verif_triang]
        -gv:84 [in Verif_triang]
        -gv:85 [in Verif_triang]
        -gv:86 [in Verif_triang]
        -gv:87 [in Verif_hash]
        -gv:92 [in Verif_hash]
        -gx:14 [in VSU_stdlib]
        -

        H

        -hi:91 [in Verif_triang]
        -HRE:57 [in Verif_reverse]
        -hs:51 [in Verif_append1]
        -H0:13 [in Verif_strlib]
        -H0:8 [in Verif_strlib]
        -H1:14 [in Verif_strlib]
        -H1:9 [in Verif_strlib]
        -h:1 [in Hashfun]
        -H:12 [in Verif_strlib]
        -h:177 [in Verif_hash]
        -h:18 [in Verif_reverse]
        -h:18 [in Hashfun]
        -h:27 [in Hashfun]
        -h:50 [in Verif_append1]
        -h:53 [in Verif_reverse]
        -H:58 [in Verif_reverse]
        -h:6 [in Verif_reverse]
        -H:7 [in Verif_strlib]
        -h:9 [in Verif_reverse]
        -

        I

        -il:11 [in VSU_stack]
        -il:12 [in Verif_stack]
        -il:14 [in VSU_stack]
        -il:16 [in VSU_stack]
        -il:16 [in Spec_stack]
        -il:17 [in Verif_stack]
        -il:19 [in Verif_stack]
        -il:2 [in VSU_stack]
        -il:20 [in Spec_stack]
        -il:21 [in Verif_stack]
        -il:24 [in Spec_stack]
        -il:24 [in Verif_stack]
        -il:26 [in Verif_stack]
        -il:28 [in Spec_stack]
        -il:3 [in Spec_stack]
        -il:33 [in Verif_stack]
        -il:37 [in Verif_stack]
        -il:38 [in Verif_triang]
        -il:41 [in Verif_stack]
        -il:43 [in Verif_triang]
        -il:45 [in Verif_triang]
        -il:45 [in Verif_stack]
        -il:47 [in Verif_triang]
        -il:50 [in Verif_triang]
        -il:52 [in Verif_triang]
        -il:59 [in Verif_triang]
        -il:6 [in Spec_stack]
        -il:63 [in Verif_triang]
        -il:67 [in Verif_triang]
        -il:7 [in VSU_stack]
        -il:71 [in Verif_triang]
        -il:80 [in Verif_triang]
        -il:83 [in Verif_triang]
        -il:89 [in Verif_triang]
        -il:9 [in VSU_stack]
        -il:93 [in Verif_triang]
        -il:94 [in Verif_triang]
        -i:10 [in Verif_strlib]
        -i:125 [in Verif_hash]
        -i:14 [in Verif_sumarray]
        -i:15 [in Verif_sumarray]
        -i:15 [in Spec_stack]
        -i:18 [in Verif_sumarray]
        -i:19 [in Spec_stack]
        -i:20 [in VSU_stdlib2]
        -i:23 [in Spec_stack]
        -i:24 [in Spec_stdlib]
        -i:25 [in Spec_stdlib]
        -i:27 [in Spec_stack]
        -i:29 [in Hashfun]
        -i:31 [in Hashfun]
        -i:32 [in Verif_stack]
        -i:34 [in Verif_triang]
        -i:36 [in Verif_stack]
        -i:40 [in Verif_stack]
        -i:44 [in Verif_stack]
        -i:45 [in Verif_strlib]
        -i:46 [in Verif_strlib]
        -i:47 [in Verif_strlib]
        -i:5 [in Verif_strlib]
        -i:58 [in Verif_triang]
        -i:58 [in Verif_strlib]
        -i:59 [in Verif_strlib]
        -i:59 [in Hashfun]
        -i:62 [in Verif_triang]
        -i:63 [in Verif_strlib]
        -i:66 [in Verif_triang]
        -i:68 [in Verif_strlib]
        -i:70 [in Verif_triang]
        -i:72 [in Verif_strlib]
        -i:73 [in Verif_strlib]
        -i:9 [in Verif_hash]
        -i:95 [in Verif_triang]
        -i:96 [in Verif_triang]
        -i:97 [in Verif_triang]
        -

        J

        -j:42 [in Hashfun]
        -j:55 [in Hashfun]
        -j:69 [in Verif_strlib]
        -j:70 [in Hashfun]
        -

        K

        -key:132 [in Verif_hash]
        -key:137 [in Verif_hash]
        -key:154 [in Verif_hash]
        -key:160 [in Verif_hash]
        -key:33 [in Verif_hash]
        -key:38 [in Verif_hash]
        -key:42 [in Verif_hash]
        -key:46 [in Verif_hash]
        -key:60 [in Verif_hash]
        -key:84 [in Verif_hash]
        -key:89 [in Verif_hash]
        -kp:136 [in Verif_hash]
        -kp:153 [in Verif_hash]
        -kp:159 [in Verif_hash]
        -kp:37 [in Verif_hash]
        -kp:47 [in Verif_hash]
        -k':51 [in Hashfun]
        -k:37 [in Hashfun]
        -k:39 [in Hashfun]
        -k:43 [in Hashfun]
        -k:46 [in Hashfun]
        -k:47 [in Hashfun]
        -k:49 [in Hashfun]
        -k:52 [in Hashfun]
        -k:53 [in Hashfun]
        -k:56 [in Hashfun]
        -k:61 [in Hashfun]
        -k:63 [in Hashfun]
        -k:65 [in Hashfun]
        -k:67 [in Hashfun]
        -k:68 [in Hashfun]
        -k:71 [in Hashfun]
        -K:92 [in Verif_triang]
        -

        L

        -lo:28 [in Hashfun]
        -lo:90 [in Verif_triang]
        -l:41 [in Verif_reverse]
        -l:49 [in Verif_reverse]
        -

        M

        -M:27 [in Spec_stdlib]
        -M:32 [in Spec_stdlib]
        -M:37 [in Spec_stdlib]
        -M:41 [in Spec_stdlib]
        -M:47 [in Spec_stdlib]
        -M:54 [in Spec_stdlib]
        -M:57 [in Spec_stdlib]
        -

        N

        -next:35 [in Verif_hash]
        -next:40 [in Verif_hash]
        -next:44 [in Verif_hash]
        -next:86 [in Verif_hash]
        -next:91 [in Verif_hash]
        -n:1 [in VSU_stdlib2]
        -n:11 [in Verif_hash]
        -n:11 [in VSU_stdlib2]
        -n:11 [in Verif_triang]
        -n:128 [in Verif_hash]
        -n:13 [in Spec_stdlib]
        -n:14 [in Verif_triang]
        -n:15 [in Verif_hash]
        -n:15 [in Spec_stdlib]
        -n:15 [in Verif_triang]
        -n:16 [in VSU_stdlib]
        -n:17 [in Verif_triang]
        -n:18 [in Spec_stdlib]
        -n:18 [in Verif_triang]
        -n:20 [in Verif_triang]
        -n:21 [in Spec_stdlib]
        -n:21 [in Verif_triang]
        -n:22 [in Verif_triang]
        -n:24 [in Verif_strlib]
        -n:30 [in Verif_strlib]
        -n:35 [in Verif_triang]
        -n:36 [in Verif_triang]
        -n:37 [in Verif_triang]
        -n:48 [in Verif_strlib]
        -n:49 [in Verif_strlib]
        -n:5 [in Verif_triang]
        -n:52 [in Verif_strlib]
        -n:56 [in Verif_strlib]
        -n:6 [in VSU_stdlib2]
        -n:60 [in Verif_strlib]
        -n:64 [in Verif_strlib]
        -n:74 [in Verif_triang]
        -n:77 [in Verif_triang]
        -n:8 [in VSU_stdlib2]
        -n:8 [in Verif_triang]
        -

        P

        -p':134 [in Verif_hash]
        -p':49 [in Verif_hash]
        -p':62 [in Verif_hash]
        -P':9 [in Verif_append2]
        -p0:143 [in Verif_hash]
        -P:1 [in Verif_append2]
        -p:10 [in Spec_stdlib]
        -p:10 [in VSU_stack]
        -p:10 [in Verif_stack]
        -p:11 [in Verif_reverse]
        -p:112 [in Verif_hash]
        -p:117 [in Verif_hash]
        -P:12 [in Verif_append2]
        -p:12 [in VSU_stdlib2]
        -p:12 [in VSU_stack]
        -p:129 [in Verif_hash]
        -p:13 [in Verif_reverse]
        -p:13 [in Spec_stack]
        -p:13 [in Verif_stack]
        -p:135 [in Verif_hash]
        -p:14 [in Spec_stack]
        -p:141 [in Verif_hash]
        -p:145 [in Verif_hash]
        -p:149 [in Verif_hash]
        -p:15 [in VSU_stdlib2]
        -p:15 [in VSU_stack]
        -p:15 [in Verif_reverse]
        -p:151 [in Verif_hash]
        -p:152 [in Verif_hash]
        -p:158 [in Verif_hash]
        -p:164 [in Verif_hash]
        -p:168 [in Verif_hash]
        -p:17 [in Spec_stdlib]
        -p:17 [in VSU_stack]
        -p:17 [in Verif_reverse]
        -p:170 [in Verif_hash]
        -p:172 [in Verif_hash]
        -p:174 [in Verif_hash]
        -p:18 [in VSU_stdlib2]
        -p:18 [in Spec_stack]
        -p:18 [in Verif_stack]
        -p:19 [in Spec_stdlib]
        -p:2 [in VSU_stdlib2]
        -p:2 [in Verif_append1]
        -p:2 [in Verif_reverse]
        -p:20 [in Verif_reverse]
        -p:20 [in Verif_stack]
        -p:21 [in VSU_stdlib2]
        -p:22 [in Spec_stdlib]
        -p:22 [in VSU_stack]
        -p:22 [in Verif_reverse]
        -p:22 [in Spec_stack]
        -p:22 [in Verif_stack]
        -p:24 [in Verif_reverse]
        -p:25 [in Verif_stack]
        -p:26 [in Verif_reverse]
        -p:26 [in Spec_stack]
        -p:27 [in Verif_stack]
        -p:28 [in Verif_hash]
        -p:28 [in Verif_reverse]
        -p:3 [in VSU_stack]
        -p:30 [in Verif_stack]
        -p:31 [in Verif_stack]
        -P:33 [in Verif_triang]
        -p:35 [in Spec_stdlib]
        -p:35 [in Verif_stack]
        -p:36 [in Verif_hash]
        -p:39 [in Verif_triang]
        -p:39 [in Verif_stack]
        -P:4 [in Verif_append2]
        -p:4 [in Spec_stack]
        -p:40 [in Spec_stdlib]
        -p:41 [in Verif_hash]
        -P:43 [in Verif_append2]
        -p:43 [in Verif_append1]
        -p:43 [in Verif_stack]
        -p:44 [in Verif_triang]
        -p:45 [in Verif_hash]
        -p:45 [in Verif_append1]
        -p:46 [in Spec_stdlib]
        -p:46 [in Verif_triang]
        -P:48 [in Verif_append2]
        -p:48 [in Verif_triang]
        -p:5 [in Verif_stack]
        -p:50 [in Verif_hash]
        -p:50 [in Spec_stdlib]
        -p:51 [in Verif_triang]
        -p:52 [in Spec_stdlib]
        -p:53 [in Verif_triang]
        -p:56 [in Verif_triang]
        -p:57 [in Verif_hash]
        -p:57 [in Verif_triang]
        -p:59 [in Verif_hash]
        -P:6 [in Verif_append2]
        -p:6 [in Spec_stdlib]
        -p:61 [in Verif_triang]
        -p:62 [in Verif_strlib]
        -p:63 [in Verif_hash]
        -p:65 [in Verif_triang]
        -p:66 [in Verif_strlib]
        -p:67 [in Verif_hash]
        -p:69 [in Verif_triang]
        -p:7 [in VSU_stdlib2]
        -p:7 [in Spec_stack]
        -p:7 [in Verif_stack]
        -p:70 [in Verif_strlib]
        -p:74 [in Verif_hash]
        -p:77 [in Verif_hash]
        -p:79 [in Verif_hash]
        -P:8 [in Verif_append2]
        -p:8 [in VSU_stack]
        -p:8 [in Verif_reverse]
        -p:82 [in Verif_hash]
        -p:9 [in VSU_stdlib2]
        -p:93 [in Verif_hash]
        -p:94 [in Verif_hash]
        -p:98 [in Verif_hash]
        -

        Q

        -Q':11 [in Verif_append2]
        -Q:10 [in Verif_append2]
        -Q:13 [in Verif_append2]
        -q:13 [in VSU_stack]
        -q:140 [in Verif_hash]
        -Q:2 [in Verif_append2]
        -q:23 [in Verif_stack]
        -q:29 [in Verif_reverse]
        -Q:44 [in Verif_append2]
        -Q:49 [in Verif_append2]
        -q:49 [in Verif_triang]
        -Q:5 [in Verif_append2]
        -Q:7 [in Verif_append2]
        -q:71 [in Verif_strlib]
        -

        R

        -ret:15 [in VSU_stdlib]
        -rsh:22 [in Verif_strlib]
        -rsh:28 [in Verif_strlib]
        -r0:102 [in Verif_hash]
        -r0:107 [in Verif_hash]
        -R:14 [in Verif_append2]
        -r:14 [in Verif_append1]
        -r:156 [in Verif_hash]
        -r:162 [in Verif_hash]
        -R:3 [in Verif_append2]
        -R:50 [in Verif_append2]
        -r:54 [in Verif_reverse]
        -r:66 [in Verif_hash]
        -

        S

        -sh1:33 [in Verif_strlib]
        -sh1:39 [in Verif_strlib]
        -sh2:34 [in Verif_strlib]
        -sh2:40 [in Verif_strlib]
        -sh:10 [in VSU_stdlib2]
        -sh:13 [in VSU_stdlib2]
        -sh:15 [in Verif_strlib]
        -sh:16 [in VSU_stdlib2]
        -sh:18 [in Verif_strlib]
        -sh:28 [in Spec_stdlib]
        -sh:33 [in Spec_stdlib]
        -sh:38 [in Spec_stdlib]
        -sh:4 [in Spec_stdlib]
        -sh:4 [in Verif_sumarray]
        -sh:61 [in Verif_strlib]
        -sh:65 [in Verif_strlib]
        -sh:67 [in Verif_strlib]
        -sh:8 [in Spec_stdlib]
        -sh:9 [in Verif_sumarray]
        -sigma:1 [in Verif_append1]
        -sigma:1 [in Verif_reverse]
        -sigma:101 [in Verif_hash]
        -sigma:105 [in Verif_hash]
        -sigma:110 [in Verif_hash]
        -sigma:115 [in Verif_hash]
        -sigma:12 [in Verif_reverse]
        -sigma:120 [in Verif_hash]
        -sigma:14 [in Verif_reverse]
        -sigma:16 [in Verif_reverse]
        -sigma:21 [in Verif_reverse]
        -sigma:21 [in Hashfun]
        -sigma:23 [in Verif_hash]
        -sigma:23 [in Verif_reverse]
        -sigma:23 [in Hashfun]
        -sigma:25 [in Verif_reverse]
        -sigma:26 [in Verif_hash]
        -sigma:26 [in Hashfun]
        -sigma:27 [in Verif_reverse]
        -sigma:30 [in Hashfun]
        -sigma:42 [in Verif_append1]
        -sigma:44 [in Verif_append1]
        -sigma:51 [in Verif_hash]
        -sigma:51 [in Verif_reverse]
        -sigma:56 [in Verif_hash]
        -sigma:58 [in Verif_hash]
        -sigma:97 [in Verif_hash]
        -size:11 [in Verif_sumarray]
        -size:6 [in Verif_sumarray]
        -src:12 [in Verif_hash]
        -src:16 [in Verif_hash]
        -src:25 [in Verif_strlib]
        -src:31 [in Verif_strlib]
        -str1:1 [in Verif_hash]
        -str1:35 [in Verif_strlib]
        -str1:41 [in Verif_strlib]
        -str1:5 [in Verif_hash]
        -str2:3 [in Verif_hash]
        -str2:37 [in Verif_strlib]
        -str2:43 [in Verif_strlib]
        -str2:7 [in Verif_hash]
        -str:17 [in Verif_strlib]
        -str:19 [in Verif_hash]
        -str:20 [in Verif_strlib]
        -str:21 [in Verif_hash]
        -st:3 [in VSU_triang]
        -st:73 [in Verif_triang]
        -st:76 [in Verif_triang]
        -st:79 [in Verif_triang]
        -st:82 [in Verif_triang]
        -sz:14 [in VSU_stdlib2]
        -sz:17 [in VSU_stdlib2]
        -sz:5 [in Spec_stdlib]
        -sz:9 [in Spec_stdlib]
        -s1a:32 [in Verif_append2]
        -s1a:37 [in Verif_append2]
        -s1a:53 [in Verif_append1]
        -s1a:58 [in Verif_append1]
        -s1c:34 [in Verif_append2]
        -s1c:39 [in Verif_append2]
        -s1c:55 [in Verif_append1]
        -s1c:60 [in Verif_append1]
        -s1:101 [in Verif_append1]
        -s1:12 [in Verif_append1]
        -s1:2 [in Verif_hash]
        -s1:20 [in Verif_append2]
        -s1:28 [in Verif_append2]
        -s1:30 [in Verif_reverse]
        -s1:33 [in Verif_append1]
        -s1:34 [in Verif_reverse]
        -s1:36 [in Verif_strlib]
        -s1:38 [in Verif_append1]
        -s1:42 [in Verif_strlib]
        -s1:52 [in Verif_reverse]
        -s1:6 [in Verif_hash]
        -s1:62 [in Verif_append2]
        -s1:67 [in Verif_append2]
        -s1:69 [in Verif_append1]
        -s1:74 [in Verif_append1]
        -s1:8 [in Verif_append1]
        -s1:94 [in Verif_append1]
        -s2:102 [in Verif_append1]
        -s2:13 [in Verif_append1]
        -s2:21 [in Verif_append2]
        -s2:29 [in Verif_append2]
        -s2:31 [in Verif_reverse]
        -s2:34 [in Verif_append1]
        -s2:35 [in Verif_reverse]
        -s2:38 [in Verif_strlib]
        -s2:39 [in Verif_append1]
        -s2:4 [in Verif_hash]
        -s2:44 [in Verif_strlib]
        -s2:63 [in Verif_append2]
        -s2:68 [in Verif_append2]
        -s2:70 [in Verif_append1]
        -s2:75 [in Verif_append1]
        -s2:8 [in Verif_hash]
        -s2:9 [in Verif_append1]
        -s2:95 [in Verif_append1]
        -s:1 [in Verif_strlib]
        -s:10 [in Hashfun]
        -s:100 [in Verif_hash]
        -s:104 [in Verif_hash]
        -s:109 [in Verif_hash]
        -s:114 [in Verif_hash]
        -s:119 [in Verif_hash]
        -s:13 [in Verif_hash]
        -s:14 [in Hashfun]
        -s:16 [in Verif_strlib]
        -s:16 [in Hashfun]
        -s:17 [in Verif_hash]
        -s:18 [in Verif_hash]
        -s:19 [in Verif_strlib]
        -s:2 [in Hashfun]
        -s:20 [in Verif_hash]
        -s:20 [in Hashfun]
        -s:22 [in Verif_hash]
        -s:25 [in Verif_hash]
        -s:26 [in Verif_strlib]
        -s:29 [in Verif_hash]
        -s:31 [in Verif_hash]
        -s:32 [in Verif_strlib]
        -s:5 [in Hashfun]
        -s:53 [in Verif_strlib]
        -s:57 [in Verif_strlib]
        -s:6 [in Hashfun]
        -s:60 [in Hashfun]
        -s:63 [in Verif_append1]
        -s:65 [in Verif_append1]
        -s:67 [in Verif_append1]
        -s:71 [in Verif_append2]
        -s:74 [in Verif_append2]
        -s:76 [in Verif_append2]
        -s:78 [in Verif_append2]
        -s:83 [in Verif_hash]
        -s:88 [in Verif_hash]
        -s:96 [in Verif_hash]
        -

        T

        -table:176 [in Verif_hash]
        -table:179 [in Verif_hash]
        -tail:18 [in Verif_append2]
        -tail:60 [in Verif_append2]
        -tbl:64 [in Hashfun]
        -tbl:66 [in Hashfun]
        -t:1 [in Verif_stack]
        -t:18 [in VSU_stack]
        -t:20 [in VSU_stack]
        -t:29 [in Spec_stdlib]
        -t:3 [in Verif_stack]
        -t:34 [in Spec_stdlib]
        -t:35 [in Verif_append2]
        -t:39 [in Spec_stdlib]
        -t:40 [in Verif_append2]
        -t:40 [in Hashfun]
        -t:43 [in Spec_stdlib]
        -t:44 [in Hashfun]
        -t:48 [in Hashfun]
        -t:49 [in Spec_stdlib]
        -t:50 [in Hashfun]
        -t:54 [in Hashfun]
        -t:56 [in Spec_stdlib]
        -t:56 [in Verif_append1]
        -t:57 [in Hashfun]
        -t:59 [in Spec_stdlib]
        -t:6 [in Verif_stack]
        -t:61 [in Verif_append1]
        -t:69 [in Hashfun]
        -t:72 [in Hashfun]
        -t:9 [in Verif_stack]
        -

        U

        -u:100 [in Verif_append1]
        -u:36 [in Verif_append2]
        -u:41 [in Verif_append2]
        -u:57 [in Verif_append1]
        -u:62 [in Verif_append1]
        -

        V

        -v:30 [in Spec_stdlib]
        -v:33 [in Verif_reverse]
        -v:37 [in Verif_reverse]
        -v:56 [in Verif_reverse]
        -

        W

        -wsh:21 [in Verif_strlib]
        -wsh:27 [in Verif_strlib]
        -wsh:50 [in Verif_strlib]
        -wsh:54 [in Verif_strlib]
        -w:32 [in Verif_reverse]
        -w:36 [in Verif_reverse]
        -w:55 [in Verif_reverse]
        -

        X

        -xy:72 [in Verif_hash]
        -x:10 [in Verif_append1]
        -x:103 [in Verif_append1]
        -x:16 [in Verif_append2]
        -x:16 [in Verif_append1]
        -x:165 [in Verif_hash]
        -x:17 [in VSU_stdlib]
        -x:17 [in Verif_sumarray]
        -x:19 [in Verif_append2]
        -x:22 [in Verif_append2]
        -x:22 [in Verif_append1]
        -x:26 [in Verif_append2]
        -x:26 [in Verif_append1]
        -x:30 [in Verif_append2]
        -x:31 [in Verif_append1]
        -x:35 [in Verif_append1]
        -x:40 [in Verif_append1]
        -x:40 [in Verif_reverse]
        -x:46 [in Verif_append2]
        -x:46 [in Verif_reverse]
        -x:47 [in Verif_append1]
        -x:49 [in Verif_append1]
        -x:51 [in Verif_append2]
        -x:52 [in Verif_hash]
        -x:52 [in Verif_append2]
        -x:53 [in Verif_append2]
        -x:55 [in Verif_append2]
        -x:58 [in Verif_append2]
        -x:6 [in Verif_append1]
        -x:61 [in Verif_append2]
        -x:64 [in Verif_append2]
        -x:64 [in Verif_append1]
        -x:66 [in Verif_append1]
        -x:68 [in Verif_append1]
        -x:69 [in Verif_append2]
        -x:7 [in Verif_sumarray]
        -x:71 [in Verif_append1]
        -x:72 [in Verif_append2]
        -x:75 [in Verif_append2]
        -x:76 [in Verif_append1]
        -x:77 [in Verif_append2]
        -x:79 [in Verif_append2]
        -x:80 [in Verif_append1]
        -x:81 [in Verif_append2]
        -x:87 [in Verif_append1]
        -x:91 [in Verif_append1]
        -x:97 [in Verif_append1]
        -

        Y

        -y:10 [in Verif_reverse]
        -y:104 [in Verif_append1]
        -y:11 [in Verif_append1]
        -y:16 [in Verif_stack]
        -y:166 [in Verif_hash]
        -y:17 [in Verif_append2]
        -y:19 [in Verif_reverse]
        -y:20 [in Verif_append1]
        -y:23 [in Verif_append2]
        -y:23 [in Verif_append1]
        -y:27 [in Verif_append2]
        -y:27 [in Verif_append1]
        -y:31 [in Verif_append2]
        -y:32 [in Verif_append1]
        -y:36 [in Verif_append1]
        -y:41 [in Verif_append1]
        -y:42 [in Verif_triang]
        -y:42 [in Verif_reverse]
        -y:47 [in Verif_reverse]
        -y:5 [in VSU_stdlib2]
        -y:5 [in Verif_append1]
        -y:5 [in Verif_reverse]
        -y:52 [in Verif_append1]
        -y:55 [in Verif_hash]
        -y:56 [in Verif_append2]
        -y:59 [in Verif_append2]
        -y:59 [in Verif_reverse]
        -y:6 [in VSU_stack]
        -y:65 [in Verif_append2]
        -y:7 [in Verif_append1]
        -y:7 [in Verif_reverse]
        -y:70 [in Verif_append2]
        -y:73 [in Verif_append2]
        -y:73 [in Verif_append1]
        -y:77 [in Verif_append1]
        -y:82 [in Verif_append2]
        -y:84 [in Verif_append1]
        -y:88 [in Verif_append1]
        -y:92 [in Verif_append1]
        -y:98 [in Verif_append1]
        -

        Z

        -z:167 [in Verif_hash]
        -z:169 [in Verif_hash]
        -z:17 [in Verif_append1]
        -z:171 [in Verif_hash]
        -z:173 [in Verif_hash]
        -z:175 [in Verif_hash]
        -z:24 [in Verif_append2]
        -z:37 [in Verif_append1]
        -z:43 [in Verif_reverse]
        -z:48 [in Verif_reverse]
        -z:66 [in Verif_append2]
        -z:72 [in Verif_append1]
        -z:78 [in Verif_append1]
        -z:81 [in Verif_append1]
        -z:93 [in Verif_append1]
        -z:99 [in Verif_append1]



        Module Index

        C

        @@ -2569,6 +897,7 @@

        Variable Index

        StringDemo.p [in Verif_strlib]


        T

        TriangASI.M [in Spec_triang]
        +Triang_VSU.stackrep_nil [in VSU_triang]
        Triang_VSU.STACK [in VSU_triang]
        Triang_VSU.M [in VSU_triang]



        @@ -2805,8 +1134,6 @@

        Axiom Index



        M

        M [in VSU_stdlib]
        make_mem_mgr [in VSU_stdlib]
        -

        S

        -stackrep_nil [in VSU_triang]



        Projection Index

        M

        @@ -2849,6 +1176,10 @@

        Section Index

        TriangASI [in Spec_triang]
        Triang_VSU [in VSU_triang]



        +

        Abbreviation Index

        +

        P

        +placeholder_spec [in VSU_stdlib]
        +


        Definition Index

        A

        add_list [in Verif_triang]
        @@ -2973,7 +1304,6 @@

        Definition Index

        nt_lseg [in Verif_append1]
        N_eq [in VSU_stdlib2]


        P

        -placeholder_spec [in VSU_stdlib]
        pop_and_add_spec [in Verif_triang]
        pop_spec [in Verif_triang]
        pop_spec [in Spec_stack]
        @@ -3078,58 +1408,26 @@

        Record Index

        G H I -J -K +J +K L M N O P -Q +Q R S T U V W -X -Y +X +Y Z _ other -(1260 entries) - - -Binder Index -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -_ -other -(820 entries) +(440 entries) Module Index @@ -3193,7 +1491,7 @@

        Record Index

        Z _ other -(8 entries) +(9 entries) Library Index @@ -3279,7 +1577,7 @@

        Record Index

        P Q R -S +S T U V @@ -3289,7 +1587,7 @@

        Record Index

        Z _ other -(14 entries) +(13 entries) Projection Index @@ -3388,6 +1686,38 @@

        Record Index

        (6 entries) +Abbreviation Index +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +_ +other +(1 entry) + + Definition Index A B @@ -3417,7 +1747,7 @@

        Record Index

        Z _ other -(192 entries) +(191 entries) Record Index @@ -3452,7 +1782,7 @@

        Record Index

        (2 entries) -
        This page has been generated by coqdoc +
        This page has been generated by coqdoc diff --git a/vc-current/hash.v b/vc-current/hash.v index 567efb760..296b3355f 100644 --- a/vc-current/hash.v +++ b/vc-current/hash.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "hash.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 8%positive. Definition ___builtin_bswap16 : ident := 10%positive. Definition ___builtin_bswap32 : ident := 9%positive. Definition ___builtin_bswap64 : ident := 7%positive. +Definition ___builtin_cls : ident := 32%positive. +Definition ___builtin_clsl : ident := 33%positive. +Definition ___builtin_clsll : ident := 34%positive. Definition ___builtin_clz : ident := 11%positive. Definition ___builtin_clzl : ident := 12%positive. Definition ___builtin_clzll : ident := 13%positive. Definition ___builtin_ctz : ident := 14%positive. Definition ___builtin_ctzl : ident := 15%positive. Definition ___builtin_ctzll : ident := 16%positive. -Definition ___builtin_debug : ident := 42%positive. +Definition ___builtin_debug : ident := 41%positive. Definition ___builtin_expect : ident := 31%positive. Definition ___builtin_fabs : ident := 17%positive. Definition ___builtin_fabsf : ident := 18%positive. -Definition ___builtin_fmadd : ident := 34%positive. -Definition ___builtin_fmax : ident := 32%positive. -Definition ___builtin_fmin : ident := 33%positive. -Definition ___builtin_fmsub : ident := 35%positive. -Definition ___builtin_fnmadd : ident := 36%positive. -Definition ___builtin_fnmsub : ident := 37%positive. +Definition ___builtin_fmadd : ident := 35%positive. +Definition ___builtin_fmax : ident := 39%positive. +Definition ___builtin_fmin : ident := 40%positive. +Definition ___builtin_fmsub : ident := 36%positive. +Definition ___builtin_fnmadd : ident := 37%positive. +Definition ___builtin_fnmsub : ident := 38%positive. Definition ___builtin_fsqrt : ident := 19%positive. Definition ___builtin_membar : ident := 25%positive. Definition ___builtin_memcpy_aligned : ident := 21%positive. -Definition ___builtin_read16_reversed : ident := 38%positive. -Definition ___builtin_read32_reversed : ident := 39%positive. Definition ___builtin_sel : ident := 22%positive. Definition ___builtin_sqrt : ident := 20%positive. Definition ___builtin_unreachable : ident := 30%positive. @@ -53,63 +54,61 @@ Definition ___builtin_va_arg : ident := 27%positive. Definition ___builtin_va_copy : ident := 28%positive. Definition ___builtin_va_end : ident := 29%positive. Definition ___builtin_va_start : ident := 26%positive. -Definition ___builtin_write16_reversed : ident := 40%positive. -Definition ___builtin_write32_reversed : ident := 41%positive. -Definition ___compcert_i64_dtos : ident := 70%positive. -Definition ___compcert_i64_dtou : ident := 71%positive. -Definition ___compcert_i64_sar : ident := 82%positive. -Definition ___compcert_i64_sdiv : ident := 76%positive. -Definition ___compcert_i64_shl : ident := 80%positive. -Definition ___compcert_i64_shr : ident := 81%positive. -Definition ___compcert_i64_smod : ident := 78%positive. -Definition ___compcert_i64_smulh : ident := 83%positive. -Definition ___compcert_i64_stod : ident := 72%positive. -Definition ___compcert_i64_stof : ident := 74%positive. -Definition ___compcert_i64_udiv : ident := 77%positive. -Definition ___compcert_i64_umod : ident := 79%positive. -Definition ___compcert_i64_umulh : ident := 84%positive. -Definition ___compcert_i64_utod : ident := 73%positive. -Definition ___compcert_i64_utof : ident := 75%positive. -Definition ___compcert_va_composite : ident := 69%positive. -Definition ___compcert_va_float64 : ident := 68%positive. -Definition ___compcert_va_int32 : ident := 66%positive. -Definition ___compcert_va_int64 : ident := 67%positive. -Definition _b : ident := 59%positive. -Definition _buckets : ident := 5%positive. -Definition _c : ident := 51%positive. -Definition _cell : ident := 4%positive. -Definition _copy_string : ident := 54%positive. -Definition _count : ident := 2%positive. -Definition _exit : ident := 44%positive. -Definition _get : ident := 60%positive. -Definition _h : ident := 58%positive. -Definition _hash : ident := 52%positive. -Definition _hashtable : ident := 6%positive. -Definition _i : ident := 50%positive. -Definition _incr : ident := 64%positive. -Definition _incr_list : ident := 63%positive. -Definition _incrx : ident := 65%positive. -Definition _key : ident := 1%positive. -Definition _main : ident := 85%positive. -Definition _malloc : ident := 43%positive. -Definition _n : ident := 49%positive. -Definition _new_cell : ident := 56%positive. -Definition _new_table : ident := 55%positive. -Definition _next : ident := 3%positive. -Definition _p : ident := 53%positive. -Definition _r : ident := 62%positive. -Definition _r0 : ident := 61%positive. -Definition _s : ident := 48%positive. -Definition _strcmp : ident := 47%positive. -Definition _strcpy : ident := 46%positive. -Definition _strlen : ident := 45%positive. -Definition _table : ident := 57%positive. -Definition _t'1 : ident := 86%positive. -Definition _t'2 : ident := 87%positive. -Definition _t'3 : ident := 88%positive. -Definition _t'4 : ident := 89%positive. -Definition _t'5 : ident := 90%positive. -Definition _t'6 : ident := 91%positive. +Definition ___compcert_i64_dtos : ident := 69%positive. +Definition ___compcert_i64_dtou : ident := 70%positive. +Definition ___compcert_i64_sar : ident := 81%positive. +Definition ___compcert_i64_sdiv : ident := 75%positive. +Definition ___compcert_i64_shl : ident := 79%positive. +Definition ___compcert_i64_shr : ident := 80%positive. +Definition ___compcert_i64_smod : ident := 77%positive. +Definition ___compcert_i64_smulh : ident := 82%positive. +Definition ___compcert_i64_stod : ident := 71%positive. +Definition ___compcert_i64_stof : ident := 73%positive. +Definition ___compcert_i64_udiv : ident := 76%positive. +Definition ___compcert_i64_umod : ident := 78%positive. +Definition ___compcert_i64_umulh : ident := 83%positive. +Definition ___compcert_i64_utod : ident := 72%positive. +Definition ___compcert_i64_utof : ident := 74%positive. +Definition ___compcert_va_composite : ident := 68%positive. +Definition ___compcert_va_float64 : ident := 67%positive. +Definition ___compcert_va_int32 : ident := 65%positive. +Definition ___compcert_va_int64 : ident := 66%positive. +Definition _b : ident := 58%positive. +Definition _buckets : ident := 6%positive. +Definition _c : ident := 50%positive. +Definition _cell : ident := 1%positive. +Definition _copy_string : ident := 53%positive. +Definition _count : ident := 3%positive. +Definition _exit : ident := 43%positive. +Definition _get : ident := 59%positive. +Definition _h : ident := 57%positive. +Definition _hash : ident := 51%positive. +Definition _hashtable : ident := 5%positive. +Definition _i : ident := 49%positive. +Definition _incr : ident := 63%positive. +Definition _incr_list : ident := 62%positive. +Definition _incrx : ident := 64%positive. +Definition _key : ident := 2%positive. +Definition _main : ident := 84%positive. +Definition _malloc : ident := 42%positive. +Definition _n : ident := 48%positive. +Definition _new_cell : ident := 55%positive. +Definition _new_table : ident := 54%positive. +Definition _next : ident := 4%positive. +Definition _p : ident := 52%positive. +Definition _r : ident := 61%positive. +Definition _r0 : ident := 60%positive. +Definition _s : ident := 47%positive. +Definition _strcmp : ident := 46%positive. +Definition _strcpy : ident := 45%positive. +Definition _strlen : ident := 44%positive. +Definition _table : ident := 56%positive. +Definition _t'1 : ident := 85%positive. +Definition _t'2 : ident := 86%positive. +Definition _t'3 : ident := 87%positive. +Definition _t'4 : ident := 88%positive. +Definition _t'5 : ident := 89%positive. +Definition _t'6 : ident := 90%positive. Definition f_hash := {| fn_return := tuint; @@ -158,7 +157,7 @@ Definition f_copy_string := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _strlen (Tfunction (Tcons (tptr tschar) Tnil) tulong cc_default)) + (Evar _strlen (Tfunction ((tptr tschar) :: nil) tulong cc_default)) ((Etempvar _s (tptr tschar)) :: nil)) (Sset _n (Ebinop Oadd (Etempvar _t'1 tulong) (Econst_int (Int.repr 1) tint) @@ -166,19 +165,17 @@ Definition f_copy_string := {| (Ssequence (Ssequence (Scall (Some _t'2) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) + (Evar _malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Etempvar _n tulong) :: nil)) (Sset _p (Etempvar _t'2 (tptr tvoid)))) (Ssequence (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr tschar)) tint) - (Scall None - (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) + (Scall None (Evar _exit (Tfunction (tint :: nil) tvoid cc_default)) ((Econst_int (Int.repr 1) tint) :: nil)) Sskip) (Ssequence (Scall None - (Evar _strcpy (Tfunction - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) + (Evar _strcpy (Tfunction ((tptr tschar) :: (tptr tschar) :: nil) (tptr tschar) cc_default)) ((Etempvar _p (tptr tschar)) :: (Etempvar _s (tptr tschar)) :: nil)) (Sreturn (Some (Etempvar _p (tptr tschar)))))))) @@ -195,14 +192,14 @@ Definition f_new_table := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) + (Evar _malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Esizeof (Tstruct _hashtable noattr) tulong) :: nil)) (Sset _p (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _hashtable noattr))))) (Ssequence (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr (Tstruct _hashtable noattr))) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) + (Scall None (Evar _exit (Tfunction (tint :: nil) tvoid cc_default)) ((Econst_int (Int.repr 1) tint) :: nil)) Sskip) (Ssequence @@ -242,21 +239,21 @@ Definition f_new_cell := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) + (Evar _malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Esizeof (Tstruct _cell noattr) tulong) :: nil)) (Sset _p (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cell noattr))))) (Ssequence (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr (Tstruct _cell noattr))) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) + (Scall None (Evar _exit (Tfunction (tint :: nil) tvoid cc_default)) ((Econst_int (Int.repr 1) tint) :: nil)) Sskip) (Ssequence (Ssequence (Scall (Some _t'2) - (Evar _copy_string (Tfunction (Tcons (tptr tschar) Tnil) - (tptr tschar) cc_default)) + (Evar _copy_string (Tfunction ((tptr tschar) :: nil) (tptr tschar) + cc_default)) ((Etempvar _key (tptr tschar)) :: nil)) (Sassign (Efield @@ -291,7 +288,7 @@ Definition f_get := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) + (Evar _hash (Tfunction ((tptr tschar) :: nil) tuint cc_default)) ((Etempvar _s (tptr tschar)) :: nil)) (Sset _h (Etempvar _t'1 tuint))) (Ssequence @@ -320,9 +317,8 @@ Definition f_get := {| (Tstruct _cell noattr)) _key (tptr tschar))) (Scall (Some _t'2) (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) + ((tptr tschar) :: (tptr tschar) :: nil) + tint cc_default)) ((Etempvar _t'4 (tptr tschar)) :: (Etempvar _s (tptr tschar)) :: nil))) (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) @@ -369,10 +365,8 @@ Definition f_incr_list := {| (Ssequence (Scall (Some _t'1) (Evar _new_cell (Tfunction - (Tcons (tptr tschar) - (Tcons tint - (Tcons (tptr (Tstruct _cell noattr)) - Tnil))) + ((tptr tschar) :: tint :: + (tptr (Tstruct _cell noattr)) :: nil) (tptr (Tstruct _cell noattr)) cc_default)) ((Etempvar _s (tptr tschar)) :: (Econst_int (Int.repr 1) tint) :: @@ -392,8 +386,7 @@ Definition f_incr_list := {| (Tstruct _cell noattr)) _key (tptr tschar))) (Scall (Some _t'2) (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint + ((tptr tschar) :: (tptr tschar) :: nil) tint cc_default)) ((Etempvar _t'4 (tptr tschar)) :: (Etempvar _s (tptr tschar)) :: nil))) @@ -432,7 +425,7 @@ Definition f_incr := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) + (Evar _hash (Tfunction ((tptr tschar) :: nil) tuint cc_default)) ((Etempvar _s (tptr tschar)) :: nil)) (Sset _h (Etempvar _t'1 tuint))) (Ssequence @@ -441,8 +434,8 @@ Definition f_incr := {| tuint)) (Scall None (Evar _incr_list (Tfunction - (Tcons (tptr (tptr (Tstruct _cell noattr))) - (Tcons (tptr tschar) Tnil)) tvoid cc_default)) + ((tptr (tptr (Tstruct _cell noattr))) :: + (tptr tschar) :: nil) tvoid cc_default)) ((Ebinop Oadd (Efield (Ederef (Etempvar _table (tptr (Tstruct _hashtable noattr))) @@ -467,7 +460,7 @@ Definition f_incrx := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) + (Evar _hash (Tfunction ((tptr tschar) :: nil) tuint cc_default)) ((Etempvar _s (tptr tschar)) :: nil)) (Sset _h (Etempvar _t'1 tuint))) (Ssequence @@ -496,9 +489,8 @@ Definition f_incrx := {| (Tstruct _cell noattr)) _key (tptr tschar))) (Scall (Some _t'2) (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) + ((tptr tschar) :: (tptr tschar) :: nil) + tint cc_default)) ((Etempvar _t'6 (tptr tschar)) :: (Etempvar _s (tptr tschar)) :: nil))) (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) @@ -536,11 +528,9 @@ Definition f_incrx := {| (tptr (Tstruct _cell noattr)))) (Scall (Some _t'3) (Evar _new_cell (Tfunction - (Tcons (tptr tschar) - (Tcons tint - (Tcons (tptr (Tstruct _cell noattr)) - Tnil))) (tptr (Tstruct _cell noattr)) - cc_default)) + ((tptr tschar) :: tint :: + (tptr (Tstruct _cell noattr)) :: nil) + (tptr (Tstruct _cell noattr)) cc_default)) ((Etempvar _s (tptr tschar)) :: (Econst_int (Int.repr 1) tint) :: (Etempvar _t'4 (tptr (Tstruct _cell noattr))) :: nil))) @@ -569,287 +559,266 @@ Definition composites : list composite_definition := Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: + (_malloc, Gfun(External EF_malloc (tulong :: nil) (tptr tvoid) cc_default)) :: (_exit, Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xvoid cc_default)) + (tint :: nil) tvoid cc_default)) :: (_strlen, Gfun(External (EF_external "strlen" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tschar) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tschar) :: nil) tulong cc_default)) :: (_strcpy, Gfun(External (EF_external "strcpy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) (tptr tschar) - cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xptr + cc_default)) ((tptr tschar) :: (tptr tschar) :: nil) + (tptr tschar) cc_default)) :: (_strcmp, Gfun(External (EF_external "strcmp" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tint - cc_default)) - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) tint cc_default)) :: - (_hash, Gfun(Internal f_hash)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xint + cc_default)) ((tptr tschar) :: (tptr tschar) :: nil) + tint cc_default)) :: (_hash, Gfun(Internal f_hash)) :: (_copy_string, Gfun(Internal f_copy_string)) :: (_new_table, Gfun(Internal f_new_table)) :: (_new_cell, Gfun(Internal f_new_cell)) :: (_get, Gfun(Internal f_get)) :: @@ -859,29 +828,26 @@ Definition global_definitions : list (ident * globdef fundef type) := Definition public_idents : list ident := (_incrx :: _incr :: _incr_list :: _get :: _new_cell :: _new_table :: _copy_string :: _hash :: _strcmp :: _strcpy :: _strlen :: _exit :: - _malloc :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). + _malloc :: ___builtin_debug :: ___builtin_fmin :: ___builtin_fmax :: + ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: + ___builtin_fmadd :: ___builtin_clsll :: ___builtin_clsl :: ___builtin_cls :: + ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: + ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: + ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: + ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: + ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: + ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: + ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: + ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: + ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: + ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: + ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: + ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: + ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: + ___compcert_va_composite :: ___compcert_va_float64 :: + ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/hash32.v b/vc-current/hash32.v deleted file mode 100644 index 92c5c4e1e..000000000 --- a/vc-current/hash32.v +++ /dev/null @@ -1,886 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "hash.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 23%positive. -Definition ___builtin_annot_intval : ident := 24%positive. -Definition ___builtin_bswap : ident := 8%positive. -Definition ___builtin_bswap16 : ident := 10%positive. -Definition ___builtin_bswap32 : ident := 9%positive. -Definition ___builtin_bswap64 : ident := 7%positive. -Definition ___builtin_clz : ident := 11%positive. -Definition ___builtin_clzl : ident := 12%positive. -Definition ___builtin_clzll : ident := 13%positive. -Definition ___builtin_ctz : ident := 14%positive. -Definition ___builtin_ctzl : ident := 15%positive. -Definition ___builtin_ctzll : ident := 16%positive. -Definition ___builtin_debug : ident := 42%positive. -Definition ___builtin_expect : ident := 31%positive. -Definition ___builtin_fabs : ident := 17%positive. -Definition ___builtin_fabsf : ident := 18%positive. -Definition ___builtin_fmadd : ident := 34%positive. -Definition ___builtin_fmax : ident := 32%positive. -Definition ___builtin_fmin : ident := 33%positive. -Definition ___builtin_fmsub : ident := 35%positive. -Definition ___builtin_fnmadd : ident := 36%positive. -Definition ___builtin_fnmsub : ident := 37%positive. -Definition ___builtin_fsqrt : ident := 19%positive. -Definition ___builtin_membar : ident := 25%positive. -Definition ___builtin_memcpy_aligned : ident := 21%positive. -Definition ___builtin_read16_reversed : ident := 38%positive. -Definition ___builtin_read32_reversed : ident := 39%positive. -Definition ___builtin_sel : ident := 22%positive. -Definition ___builtin_sqrt : ident := 20%positive. -Definition ___builtin_unreachable : ident := 30%positive. -Definition ___builtin_va_arg : ident := 27%positive. -Definition ___builtin_va_copy : ident := 28%positive. -Definition ___builtin_va_end : ident := 29%positive. -Definition ___builtin_va_start : ident := 26%positive. -Definition ___builtin_write16_reversed : ident := 40%positive. -Definition ___builtin_write32_reversed : ident := 41%positive. -Definition ___compcert_i64_dtos : ident := 70%positive. -Definition ___compcert_i64_dtou : ident := 71%positive. -Definition ___compcert_i64_sar : ident := 82%positive. -Definition ___compcert_i64_sdiv : ident := 76%positive. -Definition ___compcert_i64_shl : ident := 80%positive. -Definition ___compcert_i64_shr : ident := 81%positive. -Definition ___compcert_i64_smod : ident := 78%positive. -Definition ___compcert_i64_smulh : ident := 83%positive. -Definition ___compcert_i64_stod : ident := 72%positive. -Definition ___compcert_i64_stof : ident := 74%positive. -Definition ___compcert_i64_udiv : ident := 77%positive. -Definition ___compcert_i64_umod : ident := 79%positive. -Definition ___compcert_i64_umulh : ident := 84%positive. -Definition ___compcert_i64_utod : ident := 73%positive. -Definition ___compcert_i64_utof : ident := 75%positive. -Definition ___compcert_va_composite : ident := 69%positive. -Definition ___compcert_va_float64 : ident := 68%positive. -Definition ___compcert_va_int32 : ident := 66%positive. -Definition ___compcert_va_int64 : ident := 67%positive. -Definition _b : ident := 59%positive. -Definition _buckets : ident := 5%positive. -Definition _c : ident := 51%positive. -Definition _cell : ident := 4%positive. -Definition _copy_string : ident := 54%positive. -Definition _count : ident := 2%positive. -Definition _exit : ident := 44%positive. -Definition _get : ident := 60%positive. -Definition _h : ident := 58%positive. -Definition _hash : ident := 52%positive. -Definition _hashtable : ident := 6%positive. -Definition _i : ident := 50%positive. -Definition _incr : ident := 64%positive. -Definition _incr_list : ident := 63%positive. -Definition _incrx : ident := 65%positive. -Definition _key : ident := 1%positive. -Definition _main : ident := 85%positive. -Definition _malloc : ident := 43%positive. -Definition _n : ident := 49%positive. -Definition _new_cell : ident := 56%positive. -Definition _new_table : ident := 55%positive. -Definition _next : ident := 3%positive. -Definition _p : ident := 53%positive. -Definition _r : ident := 62%positive. -Definition _r0 : ident := 61%positive. -Definition _s : ident := 48%positive. -Definition _strcmp : ident := 47%positive. -Definition _strcpy : ident := 46%positive. -Definition _strlen : ident := 45%positive. -Definition _table : ident := 57%positive. -Definition _t'1 : ident := 86%positive. -Definition _t'2 : ident := 87%positive. -Definition _t'3 : ident := 88%positive. -Definition _t'4 : ident := 89%positive. -Definition _t'5 : ident := 90%positive. -Definition _t'6 : ident := 91%positive. - -Definition f_hash := {| - fn_return := tuint; - fn_callconv := cc_default; - fn_params := ((_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_n, tuint) :: (_i, tuint) :: (_c, tint) :: nil); - fn_body := -(Ssequence - (Sset _n (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _c - (Ederef - (Ebinop Oadd (Etempvar _s (tptr tschar)) (Etempvar _i tuint) - (tptr tschar)) tschar)) - (Ssequence - (Swhile - (Etempvar _c tint) - (Ssequence - (Sset _n - (Ebinop Oadd - (Ebinop Omul (Etempvar _n tuint) - (Econst_int (Int.repr 65599) tuint) tuint) - (Ecast (Etempvar _c tint) tuint) tuint)) - (Ssequence - (Sset _i - (Ebinop Oadd (Etempvar _i tuint) - (Econst_int (Int.repr 1) tint) tuint)) - (Sset _c - (Ederef - (Ebinop Oadd (Etempvar _s (tptr tschar)) - (Etempvar _i tuint) (tptr tschar)) tschar))))) - (Sreturn (Some (Etempvar _n tuint))))))) -|}. - -Definition f_copy_string := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_n, tuint) :: (_p, (tptr tschar)) :: (_t'2, (tptr tvoid)) :: - (_t'1, tuint) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _strlen (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _n - (Ebinop Oadd (Etempvar _t'1 tuint) (Econst_int (Int.repr 1) tint) - tuint))) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) cc_default)) - ((Etempvar _n tuint) :: nil)) - (Sset _p (Etempvar _t'2 (tptr tvoid)))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr tschar)) tint) - (Scall None - (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Scall None - (Evar _strcpy (Tfunction - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) - (tptr tschar) cc_default)) - ((Etempvar _p (tptr tschar)) :: (Etempvar _s (tptr tschar)) :: nil)) - (Sreturn (Some (Etempvar _p (tptr tschar)))))))) -|}. - -Definition f_new_table := {| - fn_return := (tptr (Tstruct _hashtable noattr)); - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_i, tint) :: (_p, (tptr (Tstruct _hashtable noattr))) :: - (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _hashtable noattr) tuint) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _hashtable noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool - (Etempvar _p (tptr (Tstruct _hashtable noattr))) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - (Sifthenelse (Ebinop Olt (Etempvar _i tint) - (Econst_int (Int.repr 109) tint) tint) - Sskip - Sbreak) - (Sassign - (Ederef - (Ebinop Oadd - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) - (Etempvar _i tint) (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)))) - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) - tint)))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _hashtable noattr)))))))) -|}. - -Definition f_new_cell := {| - fn_return := (tptr (Tstruct _cell noattr)); - fn_callconv := cc_default; - fn_params := ((_key, (tptr tschar)) :: (_count, tint) :: - (_next, (tptr (Tstruct _cell noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _cell noattr))) :: - (_t'2, (tptr tschar)) :: (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _cell noattr) tuint) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cell noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr (Tstruct _cell noattr))) - tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _copy_string (Tfunction (Tcons (tptr tschar) Tnil) - (tptr tschar) cc_default)) - ((Etempvar _key (tptr tschar)) :: nil)) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar)) - (Etempvar _t'2 (tptr tschar)))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint) (Etempvar _count tint)) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next (tptr (Tstruct _cell noattr))) - (Etempvar _next (tptr (Tstruct _cell noattr)))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _cell noattr)))))))))) -|}. - -Definition f_get := {| - fn_return := tuint; - fn_callconv := cc_default; - fn_params := ((_table, (tptr (Tstruct _hashtable noattr))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_h, tuint) :: (_b, tuint) :: - (_p, (tptr (Tstruct _cell noattr))) :: (_t'2, tint) :: - (_t'1, tuint) :: (_t'4, (tptr tschar)) :: (_t'3, tuint) :: - nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _h (Etempvar _t'1 tuint))) - (Ssequence - (Sset _b - (Ebinop Omod (Etempvar _h tuint) (Econst_int (Int.repr 109) tint) - tuint)) - (Ssequence - (Sset _p - (Ederef - (Ebinop Oadd - (Efield - (Ederef (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) (Etempvar _b tuint) - (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Ssequence - (Swhile - (Etempvar _p (tptr (Tstruct _cell noattr))) - (Ssequence - (Ssequence - (Ssequence - (Sset _t'4 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar))) - (Scall (Some _t'2) - (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) - ((Etempvar _t'4 (tptr tschar)) :: - (Etempvar _s (tptr tschar)) :: nil))) - (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) - (Econst_int (Int.repr 0) tint) tint) - (Ssequence - (Sset _t'3 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint)) - (Sreturn (Some (Etempvar _t'3 tuint)))) - Sskip)) - (Sset _p - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next - (tptr (Tstruct _cell noattr)))))) - (Sreturn (Some (Econst_int (Int.repr 0) tint))))))) -|}. - -Definition f_incr_list := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_r0, (tptr (tptr (Tstruct _cell noattr)))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _cell noattr))) :: - (_r, (tptr (tptr (Tstruct _cell noattr)))) :: (_t'2, tint) :: - (_t'1, (tptr (Tstruct _cell noattr))) :: - (_t'4, (tptr tschar)) :: (_t'3, tuint) :: nil); - fn_body := -(Ssequence - (Sset _r (Etempvar _r0 (tptr (tptr (Tstruct _cell noattr))))) - (Sloop - (Ssequence - Sskip - (Ssequence - (Sset _p - (Ederef (Etempvar _r (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Ssequence - (Sifthenelse (Eunop Onotbool - (Etempvar _p (tptr (Tstruct _cell noattr))) tint) - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _new_cell (Tfunction - (Tcons (tptr tschar) - (Tcons tint - (Tcons (tptr (Tstruct _cell noattr)) - Tnil))) - (tptr (Tstruct _cell noattr)) cc_default)) - ((Etempvar _s (tptr tschar)) :: - (Econst_int (Int.repr 1) tint) :: - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) :: - nil)) - (Sassign - (Ederef (Etempvar _r (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr))) - (Etempvar _t'1 (tptr (Tstruct _cell noattr))))) - (Sreturn None)) - Sskip) - (Ssequence - (Ssequence - (Sset _t'4 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar))) - (Scall (Some _t'2) - (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) - ((Etempvar _t'4 (tptr tschar)) :: - (Etempvar _s (tptr tschar)) :: nil))) - (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) - (Econst_int (Int.repr 0) tint) tint) - (Ssequence - (Ssequence - (Sset _t'3 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint)) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint) - (Ebinop Oadd (Etempvar _t'3 tuint) - (Econst_int (Int.repr 1) tint) tuint))) - (Sreturn None)) - Sskip))))) - (Sset _r - (Eaddrof - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next (tptr (Tstruct _cell noattr))) - (tptr (tptr (Tstruct _cell noattr))))))) -|}. - -Definition f_incr := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_table, (tptr (Tstruct _hashtable noattr))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_h, tuint) :: (_b, tuint) :: (_t'1, tuint) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _h (Etempvar _t'1 tuint))) - (Ssequence - (Sset _b - (Ebinop Omod (Etempvar _h tuint) (Econst_int (Int.repr 109) tint) - tuint)) - (Scall None - (Evar _incr_list (Tfunction - (Tcons (tptr (tptr (Tstruct _cell noattr))) - (Tcons (tptr tschar) Tnil)) tvoid cc_default)) - ((Ebinop Oadd - (Efield - (Ederef (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) (Etempvar _b tuint) - (tptr (tptr (Tstruct _cell noattr)))) :: - (Etempvar _s (tptr tschar)) :: nil)))) -|}. - -Definition f_incrx := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_table, (tptr (Tstruct _hashtable noattr))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_h, tuint) :: (_b, tuint) :: - (_p, (tptr (Tstruct _cell noattr))) :: - (_t'3, (tptr (Tstruct _cell noattr))) :: (_t'2, tint) :: - (_t'1, tuint) :: (_t'6, (tptr tschar)) :: (_t'5, tuint) :: - (_t'4, (tptr (Tstruct _cell noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _h (Etempvar _t'1 tuint))) - (Ssequence - (Sset _b - (Ebinop Omod (Etempvar _h tuint) (Econst_int (Int.repr 109) tint) - tuint)) - (Ssequence - (Sset _p - (Ederef - (Ebinop Oadd - (Efield - (Ederef (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) (Etempvar _b tuint) - (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Ssequence - (Swhile - (Etempvar _p (tptr (Tstruct _cell noattr))) - (Ssequence - (Ssequence - (Ssequence - (Sset _t'6 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar))) - (Scall (Some _t'2) - (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) - ((Etempvar _t'6 (tptr tschar)) :: - (Etempvar _s (tptr tschar)) :: nil))) - (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) - (Econst_int (Int.repr 0) tint) tint) - (Ssequence - (Ssequence - (Sset _t'5 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint)) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint) - (Ebinop Oadd (Etempvar _t'5 tuint) - (Econst_int (Int.repr 1) tint) tuint))) - (Sreturn None)) - Sskip)) - (Sset _p - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next - (tptr (Tstruct _cell noattr)))))) - (Ssequence - (Ssequence - (Sset _t'4 - (Ederef - (Ebinop Oadd - (Efield - (Ederef - (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) - (Etempvar _b tuint) (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Scall (Some _t'3) - (Evar _new_cell (Tfunction - (Tcons (tptr tschar) - (Tcons tint - (Tcons (tptr (Tstruct _cell noattr)) - Tnil))) (tptr (Tstruct _cell noattr)) - cc_default)) - ((Etempvar _s (tptr tschar)) :: - (Econst_int (Int.repr 1) tint) :: - (Etempvar _t'4 (tptr (Tstruct _cell noattr))) :: nil))) - (Sassign - (Ederef - (Ebinop Oadd - (Efield - (Ederef - (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) - (Etempvar _b tuint) (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr))) - (Etempvar _t'3 (tptr (Tstruct _cell noattr))))))))) -|}. - -Definition composites : list composite_definition := -(Composite _cell Struct - (Member_plain _key (tptr tschar) :: Member_plain _count tuint :: - Member_plain _next (tptr (Tstruct _cell noattr)) :: nil) - noattr :: - Composite _hashtable Struct - (Member_plain _buckets (tarray (tptr (Tstruct _cell noattr)) 109) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tuint Tnil) (tptr tvoid) cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_strlen, - Gfun(External (EF_external "strlen" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tschar) Tnil) tuint cc_default)) :: - (_strcpy, - Gfun(External (EF_external "strcpy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) (tptr tschar) - cc_default)) :: - (_strcmp, - Gfun(External (EF_external "strcmp" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) tint cc_default)) :: - (_hash, Gfun(Internal f_hash)) :: - (_copy_string, Gfun(Internal f_copy_string)) :: - (_new_table, Gfun(Internal f_new_table)) :: - (_new_cell, Gfun(Internal f_new_cell)) :: (_get, Gfun(Internal f_get)) :: - (_incr_list, Gfun(Internal f_incr_list)) :: - (_incr, Gfun(Internal f_incr)) :: (_incrx, Gfun(Internal f_incrx)) :: nil). - -Definition public_idents : list ident := -(_incrx :: _incr :: _incr_list :: _get :: _new_cell :: _new_table :: - _copy_string :: _hash :: _strcmp :: _strcpy :: _strlen :: _exit :: - _malloc :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/hash64.v b/vc-current/hash64.v deleted file mode 100644 index e0c8a79f7..000000000 --- a/vc-current/hash64.v +++ /dev/null @@ -1,886 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "hash.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 23%positive. -Definition ___builtin_annot_intval : ident := 24%positive. -Definition ___builtin_bswap : ident := 8%positive. -Definition ___builtin_bswap16 : ident := 10%positive. -Definition ___builtin_bswap32 : ident := 9%positive. -Definition ___builtin_bswap64 : ident := 7%positive. -Definition ___builtin_clz : ident := 11%positive. -Definition ___builtin_clzl : ident := 12%positive. -Definition ___builtin_clzll : ident := 13%positive. -Definition ___builtin_ctz : ident := 14%positive. -Definition ___builtin_ctzl : ident := 15%positive. -Definition ___builtin_ctzll : ident := 16%positive. -Definition ___builtin_debug : ident := 42%positive. -Definition ___builtin_expect : ident := 31%positive. -Definition ___builtin_fabs : ident := 17%positive. -Definition ___builtin_fabsf : ident := 18%positive. -Definition ___builtin_fmadd : ident := 34%positive. -Definition ___builtin_fmax : ident := 32%positive. -Definition ___builtin_fmin : ident := 33%positive. -Definition ___builtin_fmsub : ident := 35%positive. -Definition ___builtin_fnmadd : ident := 36%positive. -Definition ___builtin_fnmsub : ident := 37%positive. -Definition ___builtin_fsqrt : ident := 19%positive. -Definition ___builtin_membar : ident := 25%positive. -Definition ___builtin_memcpy_aligned : ident := 21%positive. -Definition ___builtin_read16_reversed : ident := 38%positive. -Definition ___builtin_read32_reversed : ident := 39%positive. -Definition ___builtin_sel : ident := 22%positive. -Definition ___builtin_sqrt : ident := 20%positive. -Definition ___builtin_unreachable : ident := 30%positive. -Definition ___builtin_va_arg : ident := 27%positive. -Definition ___builtin_va_copy : ident := 28%positive. -Definition ___builtin_va_end : ident := 29%positive. -Definition ___builtin_va_start : ident := 26%positive. -Definition ___builtin_write16_reversed : ident := 40%positive. -Definition ___builtin_write32_reversed : ident := 41%positive. -Definition ___compcert_i64_dtos : ident := 70%positive. -Definition ___compcert_i64_dtou : ident := 71%positive. -Definition ___compcert_i64_sar : ident := 82%positive. -Definition ___compcert_i64_sdiv : ident := 76%positive. -Definition ___compcert_i64_shl : ident := 80%positive. -Definition ___compcert_i64_shr : ident := 81%positive. -Definition ___compcert_i64_smod : ident := 78%positive. -Definition ___compcert_i64_smulh : ident := 83%positive. -Definition ___compcert_i64_stod : ident := 72%positive. -Definition ___compcert_i64_stof : ident := 74%positive. -Definition ___compcert_i64_udiv : ident := 77%positive. -Definition ___compcert_i64_umod : ident := 79%positive. -Definition ___compcert_i64_umulh : ident := 84%positive. -Definition ___compcert_i64_utod : ident := 73%positive. -Definition ___compcert_i64_utof : ident := 75%positive. -Definition ___compcert_va_composite : ident := 69%positive. -Definition ___compcert_va_float64 : ident := 68%positive. -Definition ___compcert_va_int32 : ident := 66%positive. -Definition ___compcert_va_int64 : ident := 67%positive. -Definition _b : ident := 59%positive. -Definition _buckets : ident := 5%positive. -Definition _c : ident := 51%positive. -Definition _cell : ident := 4%positive. -Definition _copy_string : ident := 54%positive. -Definition _count : ident := 2%positive. -Definition _exit : ident := 44%positive. -Definition _get : ident := 60%positive. -Definition _h : ident := 58%positive. -Definition _hash : ident := 52%positive. -Definition _hashtable : ident := 6%positive. -Definition _i : ident := 50%positive. -Definition _incr : ident := 64%positive. -Definition _incr_list : ident := 63%positive. -Definition _incrx : ident := 65%positive. -Definition _key : ident := 1%positive. -Definition _main : ident := 85%positive. -Definition _malloc : ident := 43%positive. -Definition _n : ident := 49%positive. -Definition _new_cell : ident := 56%positive. -Definition _new_table : ident := 55%positive. -Definition _next : ident := 3%positive. -Definition _p : ident := 53%positive. -Definition _r : ident := 62%positive. -Definition _r0 : ident := 61%positive. -Definition _s : ident := 48%positive. -Definition _strcmp : ident := 47%positive. -Definition _strcpy : ident := 46%positive. -Definition _strlen : ident := 45%positive. -Definition _table : ident := 57%positive. -Definition _t'1 : ident := 86%positive. -Definition _t'2 : ident := 87%positive. -Definition _t'3 : ident := 88%positive. -Definition _t'4 : ident := 89%positive. -Definition _t'5 : ident := 90%positive. -Definition _t'6 : ident := 91%positive. - -Definition f_hash := {| - fn_return := tuint; - fn_callconv := cc_default; - fn_params := ((_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_n, tuint) :: (_i, tulong) :: (_c, tint) :: nil); - fn_body := -(Ssequence - (Sset _n (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _i (Ecast (Econst_int (Int.repr 0) tint) tulong)) - (Ssequence - (Sset _c - (Ederef - (Ebinop Oadd (Etempvar _s (tptr tschar)) (Etempvar _i tulong) - (tptr tschar)) tschar)) - (Ssequence - (Swhile - (Etempvar _c tint) - (Ssequence - (Sset _n - (Ebinop Oadd - (Ebinop Omul (Etempvar _n tuint) - (Econst_int (Int.repr 65599) tuint) tuint) - (Ecast (Etempvar _c tint) tuint) tuint)) - (Ssequence - (Sset _i - (Ebinop Oadd (Etempvar _i tulong) - (Econst_int (Int.repr 1) tint) tulong)) - (Sset _c - (Ederef - (Ebinop Oadd (Etempvar _s (tptr tschar)) - (Etempvar _i tulong) (tptr tschar)) tschar))))) - (Sreturn (Some (Etempvar _n tuint))))))) -|}. - -Definition f_copy_string := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_n, tulong) :: (_p, (tptr tschar)) :: (_t'2, (tptr tvoid)) :: - (_t'1, tulong) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _strlen (Tfunction (Tcons (tptr tschar) Tnil) tulong cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _n - (Ebinop Oadd (Etempvar _t'1 tulong) (Econst_int (Int.repr 1) tint) - tulong))) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) - ((Etempvar _n tulong) :: nil)) - (Sset _p (Etempvar _t'2 (tptr tvoid)))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr tschar)) tint) - (Scall None - (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Scall None - (Evar _strcpy (Tfunction - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) - (tptr tschar) cc_default)) - ((Etempvar _p (tptr tschar)) :: (Etempvar _s (tptr tschar)) :: nil)) - (Sreturn (Some (Etempvar _p (tptr tschar)))))))) -|}. - -Definition f_new_table := {| - fn_return := (tptr (Tstruct _hashtable noattr)); - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_i, tint) :: (_p, (tptr (Tstruct _hashtable noattr))) :: - (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _hashtable noattr) tulong) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _hashtable noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool - (Etempvar _p (tptr (Tstruct _hashtable noattr))) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - (Sifthenelse (Ebinop Olt (Etempvar _i tint) - (Econst_int (Int.repr 109) tint) tint) - Sskip - Sbreak) - (Sassign - (Ederef - (Ebinop Oadd - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) - (Etempvar _i tint) (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)))) - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) - tint)))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _hashtable noattr)))))))) -|}. - -Definition f_new_cell := {| - fn_return := (tptr (Tstruct _cell noattr)); - fn_callconv := cc_default; - fn_params := ((_key, (tptr tschar)) :: (_count, tint) :: - (_next, (tptr (Tstruct _cell noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _cell noattr))) :: - (_t'2, (tptr tschar)) :: (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _cell noattr) tulong) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cell noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr (Tstruct _cell noattr))) - tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _copy_string (Tfunction (Tcons (tptr tschar) Tnil) - (tptr tschar) cc_default)) - ((Etempvar _key (tptr tschar)) :: nil)) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar)) - (Etempvar _t'2 (tptr tschar)))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint) (Etempvar _count tint)) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next (tptr (Tstruct _cell noattr))) - (Etempvar _next (tptr (Tstruct _cell noattr)))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _cell noattr)))))))))) -|}. - -Definition f_get := {| - fn_return := tuint; - fn_callconv := cc_default; - fn_params := ((_table, (tptr (Tstruct _hashtable noattr))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_h, tuint) :: (_b, tuint) :: - (_p, (tptr (Tstruct _cell noattr))) :: (_t'2, tint) :: - (_t'1, tuint) :: (_t'4, (tptr tschar)) :: (_t'3, tuint) :: - nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _h (Etempvar _t'1 tuint))) - (Ssequence - (Sset _b - (Ebinop Omod (Etempvar _h tuint) (Econst_int (Int.repr 109) tint) - tuint)) - (Ssequence - (Sset _p - (Ederef - (Ebinop Oadd - (Efield - (Ederef (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) (Etempvar _b tuint) - (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Ssequence - (Swhile - (Etempvar _p (tptr (Tstruct _cell noattr))) - (Ssequence - (Ssequence - (Ssequence - (Sset _t'4 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar))) - (Scall (Some _t'2) - (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) - ((Etempvar _t'4 (tptr tschar)) :: - (Etempvar _s (tptr tschar)) :: nil))) - (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) - (Econst_int (Int.repr 0) tint) tint) - (Ssequence - (Sset _t'3 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint)) - (Sreturn (Some (Etempvar _t'3 tuint)))) - Sskip)) - (Sset _p - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next - (tptr (Tstruct _cell noattr)))))) - (Sreturn (Some (Econst_int (Int.repr 0) tint))))))) -|}. - -Definition f_incr_list := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_r0, (tptr (tptr (Tstruct _cell noattr)))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _cell noattr))) :: - (_r, (tptr (tptr (Tstruct _cell noattr)))) :: (_t'2, tint) :: - (_t'1, (tptr (Tstruct _cell noattr))) :: - (_t'4, (tptr tschar)) :: (_t'3, tuint) :: nil); - fn_body := -(Ssequence - (Sset _r (Etempvar _r0 (tptr (tptr (Tstruct _cell noattr))))) - (Sloop - (Ssequence - Sskip - (Ssequence - (Sset _p - (Ederef (Etempvar _r (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Ssequence - (Sifthenelse (Eunop Onotbool - (Etempvar _p (tptr (Tstruct _cell noattr))) tint) - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _new_cell (Tfunction - (Tcons (tptr tschar) - (Tcons tint - (Tcons (tptr (Tstruct _cell noattr)) - Tnil))) - (tptr (Tstruct _cell noattr)) cc_default)) - ((Etempvar _s (tptr tschar)) :: - (Econst_int (Int.repr 1) tint) :: - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) :: - nil)) - (Sassign - (Ederef (Etempvar _r (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr))) - (Etempvar _t'1 (tptr (Tstruct _cell noattr))))) - (Sreturn None)) - Sskip) - (Ssequence - (Ssequence - (Sset _t'4 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar))) - (Scall (Some _t'2) - (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) - ((Etempvar _t'4 (tptr tschar)) :: - (Etempvar _s (tptr tschar)) :: nil))) - (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) - (Econst_int (Int.repr 0) tint) tint) - (Ssequence - (Ssequence - (Sset _t'3 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint)) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint) - (Ebinop Oadd (Etempvar _t'3 tuint) - (Econst_int (Int.repr 1) tint) tuint))) - (Sreturn None)) - Sskip))))) - (Sset _r - (Eaddrof - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next (tptr (Tstruct _cell noattr))) - (tptr (tptr (Tstruct _cell noattr))))))) -|}. - -Definition f_incr := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_table, (tptr (Tstruct _hashtable noattr))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_h, tuint) :: (_b, tuint) :: (_t'1, tuint) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _h (Etempvar _t'1 tuint))) - (Ssequence - (Sset _b - (Ebinop Omod (Etempvar _h tuint) (Econst_int (Int.repr 109) tint) - tuint)) - (Scall None - (Evar _incr_list (Tfunction - (Tcons (tptr (tptr (Tstruct _cell noattr))) - (Tcons (tptr tschar) Tnil)) tvoid cc_default)) - ((Ebinop Oadd - (Efield - (Ederef (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) (Etempvar _b tuint) - (tptr (tptr (Tstruct _cell noattr)))) :: - (Etempvar _s (tptr tschar)) :: nil)))) -|}. - -Definition f_incrx := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_table, (tptr (Tstruct _hashtable noattr))) :: - (_s, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_h, tuint) :: (_b, tuint) :: - (_p, (tptr (Tstruct _cell noattr))) :: - (_t'3, (tptr (Tstruct _cell noattr))) :: (_t'2, tint) :: - (_t'1, tuint) :: (_t'6, (tptr tschar)) :: (_t'5, tuint) :: - (_t'4, (tptr (Tstruct _cell noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _hash (Tfunction (Tcons (tptr tschar) Tnil) tuint cc_default)) - ((Etempvar _s (tptr tschar)) :: nil)) - (Sset _h (Etempvar _t'1 tuint))) - (Ssequence - (Sset _b - (Ebinop Omod (Etempvar _h tuint) (Econst_int (Int.repr 109) tint) - tuint)) - (Ssequence - (Sset _p - (Ederef - (Ebinop Oadd - (Efield - (Ederef (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) (Etempvar _b tuint) - (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Ssequence - (Swhile - (Etempvar _p (tptr (Tstruct _cell noattr))) - (Ssequence - (Ssequence - (Ssequence - (Sset _t'6 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _key (tptr tschar))) - (Scall (Some _t'2) - (Evar _strcmp (Tfunction - (Tcons (tptr tschar) - (Tcons (tptr tschar) Tnil)) tint - cc_default)) - ((Etempvar _t'6 (tptr tschar)) :: - (Etempvar _s (tptr tschar)) :: nil))) - (Sifthenelse (Ebinop Oeq (Etempvar _t'2 tint) - (Econst_int (Int.repr 0) tint) tint) - (Ssequence - (Ssequence - (Sset _t'5 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint)) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _count tuint) - (Ebinop Oadd (Etempvar _t'5 tuint) - (Econst_int (Int.repr 1) tint) tuint))) - (Sreturn None)) - Sskip)) - (Sset _p - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _next - (tptr (Tstruct _cell noattr)))))) - (Ssequence - (Ssequence - (Sset _t'4 - (Ederef - (Ebinop Oadd - (Efield - (Ederef - (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) - (Etempvar _b tuint) (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr)))) - (Scall (Some _t'3) - (Evar _new_cell (Tfunction - (Tcons (tptr tschar) - (Tcons tint - (Tcons (tptr (Tstruct _cell noattr)) - Tnil))) (tptr (Tstruct _cell noattr)) - cc_default)) - ((Etempvar _s (tptr tschar)) :: - (Econst_int (Int.repr 1) tint) :: - (Etempvar _t'4 (tptr (Tstruct _cell noattr))) :: nil))) - (Sassign - (Ederef - (Ebinop Oadd - (Efield - (Ederef - (Etempvar _table (tptr (Tstruct _hashtable noattr))) - (Tstruct _hashtable noattr)) _buckets - (tarray (tptr (Tstruct _cell noattr)) 109)) - (Etempvar _b tuint) (tptr (tptr (Tstruct _cell noattr)))) - (tptr (Tstruct _cell noattr))) - (Etempvar _t'3 (tptr (Tstruct _cell noattr))))))))) -|}. - -Definition composites : list composite_definition := -(Composite _cell Struct - (Member_plain _key (tptr tschar) :: Member_plain _count tuint :: - Member_plain _next (tptr (Tstruct _cell noattr)) :: nil) - noattr :: - Composite _hashtable Struct - (Member_plain _buckets (tarray (tptr (Tstruct _cell noattr)) 109) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_strlen, - Gfun(External (EF_external "strlen" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tschar) Tnil) tulong cc_default)) :: - (_strcpy, - Gfun(External (EF_external "strcpy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) (tptr tschar) - cc_default)) :: - (_strcmp, - Gfun(External (EF_external "strcmp" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tint - cc_default)) - (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) tint cc_default)) :: - (_hash, Gfun(Internal f_hash)) :: - (_copy_string, Gfun(Internal f_copy_string)) :: - (_new_table, Gfun(Internal f_new_table)) :: - (_new_cell, Gfun(Internal f_new_cell)) :: (_get, Gfun(Internal f_get)) :: - (_incr_list, Gfun(Internal f_incr_list)) :: - (_incr, Gfun(Internal f_incr)) :: (_incrx, Gfun(Internal f_incrx)) :: nil). - -Definition public_idents : list ident := -(_incrx :: _incr :: _incr_list :: _get :: _new_cell :: _new_table :: - _copy_string :: _hash :: _strcmp :: _strcpy :: _strlen :: _exit :: - _malloc :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/hints.v b/vc-current/hints.v index fa93513df..0e43d782c 100644 --- a/vc-current/hints.v +++ b/vc-current/hints.v @@ -5,7 +5,7 @@ Ltac verif_stack_free_hint1 := match goal with |- semax ?D (PROPx _ (LOCALx ?Q (SEPx ?R))) (Ssequence - (Scall _ (Evar ?free (Tfunction (Tcons (tptr tvoid) Tnil) tvoid cc_default)) + (Scall _ (Evar ?free (Tfunction [tptr tvoid] tvoid cc_default)) (Etempvar ?i _ :: _)) _) _ => match Q with context [temp i ?q] => match R with context [data_at _ ?t _ q] => @@ -28,7 +28,7 @@ Ltac verif_stack_malloc_hint1_aux D R c := match c with | Ssequence ?c1 _ => verif_stack_malloc_hint1_aux D R c1 | Scall _ (Evar ?malloc - (Tfunction (Tcons tuint Tnil) (tptr tvoid) cc_default)) + (Tfunction [tuint] (tptr tvoid) cc_default)) (cons (Esizeof ?t _) nil) => match R with context [mem_mgr ?gv] => idtac "try 'forward_call (" t "," gv ")'" @@ -51,4 +51,4 @@ Ltac vc_special_hint := Ltac hint_special ::= try vc_special_hint. -(* 2024-12-27 01:34 *) +(* 2026-01-07 13:38 *) diff --git a/vc-current/index.html b/vc-current/index.html index 87d0944c2..46e4995e0 100644 --- a/vc-current/index.html +++ b/vc-current/index.html @@ -44,8 +44,8 @@
        -

        Version 1.2.2 (2024-12-27 01:37, Coq 8.19.2)
        - Compatible with VST 2.12

        +

        Version 2.0 (2026-01-07 13:39, Rocq 9.0.0)
        + Compatible with VST 2.16

        diff --git a/vc-current/main2.v b/vc-current/main2.v index e756646e0..9cf6e37c2 100644 --- a/vc-current/main2.v +++ b/vc-current/main2.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "main2.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 2%positive. Definition ___builtin_bswap16 : ident := 4%positive. Definition ___builtin_bswap32 : ident := 3%positive. Definition ___builtin_bswap64 : ident := 1%positive. +Definition ___builtin_cls : ident := 26%positive. +Definition ___builtin_clsl : ident := 27%positive. +Definition ___builtin_clsll : ident := 28%positive. Definition ___builtin_clz : ident := 5%positive. Definition ___builtin_clzl : ident := 6%positive. Definition ___builtin_clzll : ident := 7%positive. Definition ___builtin_ctz : ident := 8%positive. Definition ___builtin_ctzl : ident := 9%positive. Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. +Definition ___builtin_debug : ident := 35%positive. Definition ___builtin_expect : ident := 25%positive. Definition ___builtin_fabs : ident := 11%positive. Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. +Definition ___builtin_fmadd : ident := 29%positive. +Definition ___builtin_fmax : ident := 33%positive. +Definition ___builtin_fmin : ident := 34%positive. +Definition ___builtin_fmsub : ident := 30%positive. +Definition ___builtin_fnmadd : ident := 31%positive. +Definition ___builtin_fnmsub : ident := 32%positive. Definition ___builtin_fsqrt : ident := 13%positive. Definition ___builtin_membar : ident := 19%positive. Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. Definition ___builtin_sel : ident := 16%positive. Definition ___builtin_sqrt : ident := 14%positive. Definition ___builtin_unreachable : ident := 24%positive. @@ -53,61 +54,59 @@ Definition ___builtin_va_arg : ident := 21%positive. Definition ___builtin_va_copy : ident := 22%positive. Definition ___builtin_va_end : ident := 23%positive. Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. +Definition ___compcert_i64_dtos : ident := 44%positive. +Definition ___compcert_i64_dtou : ident := 45%positive. +Definition ___compcert_i64_sar : ident := 56%positive. +Definition ___compcert_i64_sdiv : ident := 50%positive. +Definition ___compcert_i64_shl : ident := 54%positive. +Definition ___compcert_i64_shr : ident := 55%positive. +Definition ___compcert_i64_smod : ident := 52%positive. +Definition ___compcert_i64_smulh : ident := 57%positive. +Definition ___compcert_i64_stod : ident := 46%positive. +Definition ___compcert_i64_stof : ident := 48%positive. +Definition ___compcert_i64_udiv : ident := 51%positive. +Definition ___compcert_i64_umod : ident := 53%positive. +Definition ___compcert_i64_umulh : ident := 58%positive. +Definition ___compcert_i64_utod : ident := 47%positive. +Definition ___compcert_i64_utof : ident := 49%positive. +Definition ___compcert_va_composite : ident := 43%positive. +Definition ___compcert_va_float64 : ident := 42%positive. +Definition ___compcert_va_int32 : ident := 40%positive. +Definition ___compcert_va_int64 : ident := 41%positive. Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. +Definition _b : ident := 62%positive. +Definition _c : ident := 63%positive. +Definition _cell : ident := 60%positive. +Definition _cons : ident := 71%positive. +Definition _d : ident := 64%positive. +Definition _exit : ident := 38%positive. +Definition _free : ident := 37%positive. +Definition _freelist : ident := 67%positive. +Definition _i : ident := 78%positive. +Definition _main : ident := 59%positive. +Definition _malloc : ident := 36%positive. +Definition _n : ident := 68%positive. +Definition _newstack : ident := 77%positive. Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pop_and_add : ident := 87%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _push_increasing : ident := 84%positive. -Definition _q : ident := 80%positive. -Definition _s : ident := 86%positive. -Definition _st : ident := 83%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _t : ident := 85%positive. +Definition _p : ident := 69%positive. +Definition _placeholder : ident := 39%positive. +Definition _pool : ident := 65%positive. +Definition _pool_index : ident := 66%positive. +Definition _pop : ident := 81%positive. +Definition _pop_and_add : ident := 86%positive. +Definition _pp : ident := 70%positive. +Definition _push : ident := 80%positive. +Definition _push_increasing : ident := 83%positive. +Definition _q : ident := 79%positive. +Definition _s : ident := 85%positive. +Definition _st : ident := 82%positive. +Definition _stack : ident := 74%positive. +Definition _surely_malloc : ident := 76%positive. +Definition _t : ident := 84%positive. Definition _top : ident := 75%positive. -Definition _triang : ident := 88%positive. +Definition _triang : ident := 87%positive. Definition _value : ident := 72%positive. -Definition _t'1 : ident := 89%positive. +Definition _t'1 : ident := 88%positive. Definition f_main := {| fn_return := tint; @@ -119,7 +118,7 @@ Definition f_main := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _triang (Tfunction (Tcons tint Tnil) tint cc_default)) + (Evar _triang (Tfunction (tint :: nil) tint cc_default)) ((Econst_int (Int.repr 10) tint) :: nil)) (Sreturn (Some (Etempvar _t'1 tint)))) (Sreturn (Some (Econst_int (Int.repr 0) tint)))) @@ -131,295 +130,275 @@ nil. Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (_triang, Gfun(External (EF_external "triang" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tint Tnil) tint cc_default)) :: (_main, Gfun(Internal f_main)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: (_main, Gfun(Internal f_main)) :: nil). Definition public_idents : list ident := -(_main :: _triang :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: +(_main :: _triang :: ___builtin_debug :: ___builtin_fmin :: + ___builtin_fmax :: ___builtin_fnmsub :: ___builtin_fnmadd :: + ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_clsll :: + ___builtin_clsl :: ___builtin_cls :: ___builtin_expect :: + ___builtin_unreachable :: ___builtin_va_end :: ___builtin_va_copy :: + ___builtin_va_arg :: ___builtin_va_start :: ___builtin_membar :: + ___builtin_annot_intval :: ___builtin_annot :: ___builtin_sel :: + ___builtin_memcpy_aligned :: ___builtin_sqrt :: ___builtin_fsqrt :: + ___builtin_fabsf :: ___builtin_fabs :: ___builtin_ctzll :: + ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: ___builtin_clzl :: + ___builtin_clz :: ___builtin_bswap16 :: ___builtin_bswap32 :: + ___builtin_bswap :: ___builtin_bswap64 :: ___compcert_i64_umulh :: + ___compcert_i64_smulh :: ___compcert_i64_sar :: ___compcert_i64_shr :: + ___compcert_i64_shl :: ___compcert_i64_umod :: ___compcert_i64_smod :: + ___compcert_i64_udiv :: ___compcert_i64_sdiv :: ___compcert_i64_utof :: + ___compcert_i64_stof :: ___compcert_i64_utod :: ___compcert_i64_stod :: + ___compcert_i64_dtou :: ___compcert_i64_dtos :: ___compcert_va_composite :: ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/main232.v b/vc-current/main232.v deleted file mode 100644 index 69b174d4b..000000000 --- a/vc-current/main232.v +++ /dev/null @@ -1,424 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "main2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. -Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pop_and_add : ident := 87%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _push_increasing : ident := 84%positive. -Definition _q : ident := 80%positive. -Definition _s : ident := 86%positive. -Definition _st : ident := 83%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _t : ident := 85%positive. -Definition _top : ident := 75%positive. -Definition _triang : ident := 88%positive. -Definition _value : ident := 72%positive. -Definition _t'1 : ident := 89%positive. - -Definition f_main := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_t'1, tint) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _triang (Tfunction (Tcons tint Tnil) tint cc_default)) - ((Econst_int (Int.repr 10) tint) :: nil)) - (Sreturn (Some (Etempvar _t'1 tint)))) - (Sreturn (Some (Econst_int (Int.repr 0) tint)))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_triang, - Gfun(External (EF_external "triang" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tint Tnil) tint cc_default)) :: (_main, Gfun(Internal f_main)) :: - nil). - -Definition public_idents : list ident := -(_main :: _triang :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/main264.v b/vc-current/main264.v deleted file mode 100644 index 0dcbcafa4..000000000 --- a/vc-current/main264.v +++ /dev/null @@ -1,424 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "main2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. -Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pop_and_add : ident := 87%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _push_increasing : ident := 84%positive. -Definition _q : ident := 80%positive. -Definition _s : ident := 86%positive. -Definition _st : ident := 83%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _t : ident := 85%positive. -Definition _top : ident := 75%positive. -Definition _triang : ident := 88%positive. -Definition _value : ident := 72%positive. -Definition _t'1 : ident := 89%positive. - -Definition f_main := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_t'1, tint) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _triang (Tfunction (Tcons tint Tnil) tint cc_default)) - ((Econst_int (Int.repr 10) tint) :: nil)) - (Sreturn (Some (Etempvar _t'1 tint)))) - (Sreturn (Some (Econst_int (Int.repr 0) tint)))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_triang, - Gfun(External (EF_external "triang" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tint Tnil) tint cc_default)) :: (_main, Gfun(Internal f_main)) :: - nil). - -Definition public_idents : list ident := -(_main :: _triang :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/reverse.c b/vc-current/reverse.c index 00ca3edc0..42f49c124 100644 --- a/vc-current/reverse.c +++ b/vc-current/reverse.c @@ -1,40 +1,40 @@ -#include - -struct list {unsigned head; struct list *tail;}; - -struct list three[] = { - {1, three+1}, {2, three+2}, {3, NULL} -}; - -unsigned sumlist (struct list *p) { - unsigned s = 0; - struct list *t = p; - unsigned h; - while (t) { - h = t->head; - t = t->tail; - s = s + h; - } - return s; -} - -struct list *reverse (struct list *p) { - struct list *w, *t, *v; - w = NULL; - v = p; - while (v) { - t = v->tail; - v->tail = w; - w = v; - v = t; - } - return w; -} - -int main (void) { - struct list *r; unsigned s; - r = reverse(three); - s = sumlist(r); - return (int)s; -} - +#include + +struct list {unsigned head; struct list *tail;}; + +struct list three[] = { + {1, three+1}, {2, three+2}, {3, NULL} +}; + +unsigned sumlist (struct list *p) { + unsigned s = 0; + struct list *t = p; + unsigned h; + while (t) { + h = t->head; + t = t->tail; + s = s + h; + } + return s; +} + +struct list *reverse (struct list *p) { + struct list *w, *t, *v; + w = NULL; + v = p; + while (v) { + t = v->tail; + v->tail = w; + w = v; + v = t; + } + return w; +} + +int main (void) { + struct list *r; unsigned s; + r = reverse(three); + s = sumlist(r); + return (int)s; +} + diff --git a/vc-current/reverse.v b/vc-current/reverse.v index 684b45cb4..2608122d8 100644 --- a/vc-current/reverse.v +++ b/vc-current/reverse.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "reverse.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 5%positive. Definition ___builtin_bswap16 : ident := 7%positive. Definition ___builtin_bswap32 : ident := 6%positive. Definition ___builtin_bswap64 : ident := 4%positive. +Definition ___builtin_cls : ident := 29%positive. +Definition ___builtin_clsl : ident := 30%positive. +Definition ___builtin_clsll : ident := 31%positive. Definition ___builtin_clz : ident := 8%positive. Definition ___builtin_clzl : ident := 9%positive. Definition ___builtin_clzll : ident := 10%positive. Definition ___builtin_ctz : ident := 11%positive. Definition ___builtin_ctzl : ident := 12%positive. Definition ___builtin_ctzll : ident := 13%positive. -Definition ___builtin_debug : ident := 39%positive. +Definition ___builtin_debug : ident := 38%positive. Definition ___builtin_expect : ident := 28%positive. Definition ___builtin_fabs : ident := 14%positive. Definition ___builtin_fabsf : ident := 15%positive. -Definition ___builtin_fmadd : ident := 31%positive. -Definition ___builtin_fmax : ident := 29%positive. -Definition ___builtin_fmin : ident := 30%positive. -Definition ___builtin_fmsub : ident := 32%positive. -Definition ___builtin_fnmadd : ident := 33%positive. -Definition ___builtin_fnmsub : ident := 34%positive. +Definition ___builtin_fmadd : ident := 32%positive. +Definition ___builtin_fmax : ident := 36%positive. +Definition ___builtin_fmin : ident := 37%positive. +Definition ___builtin_fmsub : ident := 33%positive. +Definition ___builtin_fnmadd : ident := 34%positive. +Definition ___builtin_fnmsub : ident := 35%positive. Definition ___builtin_fsqrt : ident := 16%positive. Definition ___builtin_membar : ident := 22%positive. Definition ___builtin_memcpy_aligned : ident := 18%positive. -Definition ___builtin_read16_reversed : ident := 35%positive. -Definition ___builtin_read32_reversed : ident := 36%positive. Definition ___builtin_sel : ident := 19%positive. Definition ___builtin_sqrt : ident := 17%positive. Definition ___builtin_unreachable : ident := 27%positive. @@ -53,43 +54,41 @@ Definition ___builtin_va_arg : ident := 24%positive. Definition ___builtin_va_copy : ident := 25%positive. Definition ___builtin_va_end : ident := 26%positive. Definition ___builtin_va_start : ident := 23%positive. -Definition ___builtin_write16_reversed : ident := 37%positive. -Definition ___builtin_write32_reversed : ident := 38%positive. -Definition ___compcert_i64_dtos : ident := 55%positive. -Definition ___compcert_i64_dtou : ident := 56%positive. -Definition ___compcert_i64_sar : ident := 67%positive. -Definition ___compcert_i64_sdiv : ident := 61%positive. -Definition ___compcert_i64_shl : ident := 65%positive. -Definition ___compcert_i64_shr : ident := 66%positive. -Definition ___compcert_i64_smod : ident := 63%positive. -Definition ___compcert_i64_smulh : ident := 68%positive. -Definition ___compcert_i64_stod : ident := 57%positive. -Definition ___compcert_i64_stof : ident := 59%positive. -Definition ___compcert_i64_udiv : ident := 62%positive. -Definition ___compcert_i64_umod : ident := 64%positive. -Definition ___compcert_i64_umulh : ident := 69%positive. -Definition ___compcert_i64_utod : ident := 58%positive. -Definition ___compcert_i64_utof : ident := 60%positive. -Definition ___compcert_va_composite : ident := 54%positive. -Definition ___compcert_va_float64 : ident := 53%positive. -Definition ___compcert_va_int32 : ident := 51%positive. -Definition ___compcert_va_int64 : ident := 52%positive. -Definition _h : ident := 44%positive. -Definition _head : ident := 1%positive. -Definition _list : ident := 3%positive. -Definition _main : ident := 50%positive. -Definition _p : ident := 41%positive. -Definition _r : ident := 49%positive. -Definition _reverse : ident := 48%positive. -Definition _s : ident := 42%positive. -Definition _sumlist : ident := 45%positive. -Definition _t : ident := 43%positive. -Definition _tail : ident := 2%positive. -Definition _three : ident := 40%positive. -Definition _v : ident := 47%positive. -Definition _w : ident := 46%positive. -Definition _t'1 : ident := 70%positive. -Definition _t'2 : ident := 71%positive. +Definition ___compcert_i64_dtos : ident := 54%positive. +Definition ___compcert_i64_dtou : ident := 55%positive. +Definition ___compcert_i64_sar : ident := 66%positive. +Definition ___compcert_i64_sdiv : ident := 60%positive. +Definition ___compcert_i64_shl : ident := 64%positive. +Definition ___compcert_i64_shr : ident := 65%positive. +Definition ___compcert_i64_smod : ident := 62%positive. +Definition ___compcert_i64_smulh : ident := 67%positive. +Definition ___compcert_i64_stod : ident := 56%positive. +Definition ___compcert_i64_stof : ident := 58%positive. +Definition ___compcert_i64_udiv : ident := 61%positive. +Definition ___compcert_i64_umod : ident := 63%positive. +Definition ___compcert_i64_umulh : ident := 68%positive. +Definition ___compcert_i64_utod : ident := 57%positive. +Definition ___compcert_i64_utof : ident := 59%positive. +Definition ___compcert_va_composite : ident := 53%positive. +Definition ___compcert_va_float64 : ident := 52%positive. +Definition ___compcert_va_int32 : ident := 50%positive. +Definition ___compcert_va_int64 : ident := 51%positive. +Definition _h : ident := 43%positive. +Definition _head : ident := 2%positive. +Definition _list : ident := 1%positive. +Definition _main : ident := 49%positive. +Definition _p : ident := 40%positive. +Definition _r : ident := 48%positive. +Definition _reverse : ident := 47%positive. +Definition _s : ident := 41%positive. +Definition _sumlist : ident := 44%positive. +Definition _t : ident := 42%positive. +Definition _tail : ident := 3%positive. +Definition _three : ident := 39%positive. +Definition _v : ident := 46%positive. +Definition _w : ident := 45%positive. +Definition _t'1 : ident := 69%positive. +Definition _t'2 : ident := 70%positive. Definition v_three := {| gvar_info := (tarray (Tstruct _list noattr) 3); @@ -180,16 +179,15 @@ Definition f_main := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _reverse (Tfunction (Tcons (tptr (Tstruct _list noattr)) Tnil) + (Evar _reverse (Tfunction ((tptr (Tstruct _list noattr)) :: nil) (tptr (Tstruct _list noattr)) cc_default)) ((Evar _three (tarray (Tstruct _list noattr) 3)) :: nil)) (Sset _r (Etempvar _t'1 (tptr (Tstruct _list noattr))))) (Ssequence (Ssequence (Scall (Some _t'2) - (Evar _sumlist (Tfunction - (Tcons (tptr (Tstruct _list noattr)) Tnil) tuint - cc_default)) + (Evar _sumlist (Tfunction ((tptr (Tstruct _list noattr)) :: nil) + tuint cc_default)) ((Etempvar _r (tptr (Tstruct _list noattr))) :: nil)) (Sset _s (Etempvar _t'2 tuint))) (Sreturn (Some (Ecast (Etempvar _s tuint) tint))))) @@ -205,264 +203,246 @@ Definition composites : list composite_definition := Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (_three, Gvar v_three) :: (_sumlist, Gfun(Internal f_sumlist)) :: (_reverse, Gfun(Internal f_reverse)) :: (_main, Gfun(Internal f_main)) :: @@ -470,10 +450,9 @@ Definition global_definitions : list (ident * globdef fundef type) := Definition public_idents : list ident := (_main :: _reverse :: _sumlist :: _three :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: + ___builtin_fmin :: ___builtin_fmax :: ___builtin_fnmsub :: + ___builtin_fnmadd :: ___builtin_fmsub :: ___builtin_fmadd :: + ___builtin_clsll :: ___builtin_clsl :: ___builtin_cls :: ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: @@ -490,8 +469,7 @@ Definition public_idents : list ident := ___compcert_va_composite :: ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/reverse32.v b/vc-current/reverse32.v deleted file mode 100644 index b8c0d588c..000000000 --- a/vc-current/reverse32.v +++ /dev/null @@ -1,495 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "reverse.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 20%positive. -Definition ___builtin_annot_intval : ident := 21%positive. -Definition ___builtin_bswap : ident := 5%positive. -Definition ___builtin_bswap16 : ident := 7%positive. -Definition ___builtin_bswap32 : ident := 6%positive. -Definition ___builtin_bswap64 : ident := 4%positive. -Definition ___builtin_clz : ident := 8%positive. -Definition ___builtin_clzl : ident := 9%positive. -Definition ___builtin_clzll : ident := 10%positive. -Definition ___builtin_ctz : ident := 11%positive. -Definition ___builtin_ctzl : ident := 12%positive. -Definition ___builtin_ctzll : ident := 13%positive. -Definition ___builtin_debug : ident := 39%positive. -Definition ___builtin_expect : ident := 28%positive. -Definition ___builtin_fabs : ident := 14%positive. -Definition ___builtin_fabsf : ident := 15%positive. -Definition ___builtin_fmadd : ident := 31%positive. -Definition ___builtin_fmax : ident := 29%positive. -Definition ___builtin_fmin : ident := 30%positive. -Definition ___builtin_fmsub : ident := 32%positive. -Definition ___builtin_fnmadd : ident := 33%positive. -Definition ___builtin_fnmsub : ident := 34%positive. -Definition ___builtin_fsqrt : ident := 16%positive. -Definition ___builtin_membar : ident := 22%positive. -Definition ___builtin_memcpy_aligned : ident := 18%positive. -Definition ___builtin_read16_reversed : ident := 35%positive. -Definition ___builtin_read32_reversed : ident := 36%positive. -Definition ___builtin_sel : ident := 19%positive. -Definition ___builtin_sqrt : ident := 17%positive. -Definition ___builtin_unreachable : ident := 27%positive. -Definition ___builtin_va_arg : ident := 24%positive. -Definition ___builtin_va_copy : ident := 25%positive. -Definition ___builtin_va_end : ident := 26%positive. -Definition ___builtin_va_start : ident := 23%positive. -Definition ___builtin_write16_reversed : ident := 37%positive. -Definition ___builtin_write32_reversed : ident := 38%positive. -Definition ___compcert_i64_dtos : ident := 55%positive. -Definition ___compcert_i64_dtou : ident := 56%positive. -Definition ___compcert_i64_sar : ident := 67%positive. -Definition ___compcert_i64_sdiv : ident := 61%positive. -Definition ___compcert_i64_shl : ident := 65%positive. -Definition ___compcert_i64_shr : ident := 66%positive. -Definition ___compcert_i64_smod : ident := 63%positive. -Definition ___compcert_i64_smulh : ident := 68%positive. -Definition ___compcert_i64_stod : ident := 57%positive. -Definition ___compcert_i64_stof : ident := 59%positive. -Definition ___compcert_i64_udiv : ident := 62%positive. -Definition ___compcert_i64_umod : ident := 64%positive. -Definition ___compcert_i64_umulh : ident := 69%positive. -Definition ___compcert_i64_utod : ident := 58%positive. -Definition ___compcert_i64_utof : ident := 60%positive. -Definition ___compcert_va_composite : ident := 54%positive. -Definition ___compcert_va_float64 : ident := 53%positive. -Definition ___compcert_va_int32 : ident := 51%positive. -Definition ___compcert_va_int64 : ident := 52%positive. -Definition _h : ident := 44%positive. -Definition _head : ident := 1%positive. -Definition _list : ident := 3%positive. -Definition _main : ident := 50%positive. -Definition _p : ident := 41%positive. -Definition _r : ident := 49%positive. -Definition _reverse : ident := 48%positive. -Definition _s : ident := 42%positive. -Definition _sumlist : ident := 45%positive. -Definition _t : ident := 43%positive. -Definition _tail : ident := 2%positive. -Definition _three : ident := 40%positive. -Definition _v : ident := 47%positive. -Definition _w : ident := 46%positive. -Definition _t'1 : ident := 70%positive. -Definition _t'2 : ident := 71%positive. - -Definition v_three := {| - gvar_info := (tarray (Tstruct _list noattr) 3); - gvar_init := (Init_int32 (Int.repr 1) :: - Init_addrof _three (Ptrofs.repr 8) :: - Init_int32 (Int.repr 2) :: - Init_addrof _three (Ptrofs.repr 16) :: - Init_int32 (Int.repr 3) :: Init_int32 (Int.repr 0) :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition f_sumlist := {| - fn_return := tuint; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_s, tuint) :: (_t, (tptr (Tstruct _list noattr))) :: - (_h, tuint) :: nil); - fn_body := -(Ssequence - (Sset _s (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _t (Etempvar _p (tptr (Tstruct _list noattr)))) - (Ssequence - (Swhile - (Etempvar _t (tptr (Tstruct _list noattr))) - (Ssequence - (Sset _h - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _head tuint)) - (Ssequence - (Sset _t - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr)))) - (Sset _s - (Ebinop Oadd (Etempvar _s tuint) (Etempvar _h tuint) tuint))))) - (Sreturn (Some (Etempvar _s tuint)))))) -|}. - -Definition f_reverse := {| - fn_return := (tptr (Tstruct _list noattr)); - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_w, (tptr (Tstruct _list noattr))) :: - (_t, (tptr (Tstruct _list noattr))) :: - (_v, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Ssequence - (Sset _w (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))) - (Ssequence - (Sset _v (Etempvar _p (tptr (Tstruct _list noattr)))) - (Ssequence - (Swhile - (Etempvar _v (tptr (Tstruct _list noattr))) - (Ssequence - (Sset _t - (Efield - (Ederef (Etempvar _v (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail (tptr (Tstruct _list noattr)))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _v (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr))) - (Etempvar _w (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _w (Etempvar _v (tptr (Tstruct _list noattr)))) - (Sset _v (Etempvar _t (tptr (Tstruct _list noattr)))))))) - (Sreturn (Some (Etempvar _w (tptr (Tstruct _list noattr)))))))) -|}. - -Definition f_main := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_r, (tptr (Tstruct _list noattr))) :: (_s, tuint) :: - (_t'2, tuint) :: (_t'1, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _reverse (Tfunction (Tcons (tptr (Tstruct _list noattr)) Tnil) - (tptr (Tstruct _list noattr)) cc_default)) - ((Evar _three (tarray (Tstruct _list noattr) 3)) :: nil)) - (Sset _r (Etempvar _t'1 (tptr (Tstruct _list noattr))))) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _sumlist (Tfunction - (Tcons (tptr (Tstruct _list noattr)) Tnil) tuint - cc_default)) - ((Etempvar _r (tptr (Tstruct _list noattr))) :: nil)) - (Sset _s (Etempvar _t'2 tuint))) - (Sreturn (Some (Ecast (Etempvar _s tuint) tint))))) - (Sreturn (Some (Econst_int (Int.repr 0) tint)))) -|}. - -Definition composites : list composite_definition := -(Composite _list Struct - (Member_plain _head tuint :: - Member_plain _tail (tptr (Tstruct _list noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_three, Gvar v_three) :: (_sumlist, Gfun(Internal f_sumlist)) :: - (_reverse, Gfun(Internal f_reverse)) :: (_main, Gfun(Internal f_main)) :: - nil). - -Definition public_idents : list ident := -(_main :: _reverse :: _sumlist :: _three :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: - ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: - ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: - ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: - ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: - ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: - ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: - ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: - ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: - ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: - ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: - ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: - ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: - ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: - ___compcert_va_composite :: ___compcert_va_float64 :: - ___compcert_va_int64 :: ___compcert_va_int32 :: nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/reverse64.v b/vc-current/reverse64.v deleted file mode 100644 index 72fee6d49..000000000 --- a/vc-current/reverse64.v +++ /dev/null @@ -1,496 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "reverse.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 20%positive. -Definition ___builtin_annot_intval : ident := 21%positive. -Definition ___builtin_bswap : ident := 5%positive. -Definition ___builtin_bswap16 : ident := 7%positive. -Definition ___builtin_bswap32 : ident := 6%positive. -Definition ___builtin_bswap64 : ident := 4%positive. -Definition ___builtin_clz : ident := 8%positive. -Definition ___builtin_clzl : ident := 9%positive. -Definition ___builtin_clzll : ident := 10%positive. -Definition ___builtin_ctz : ident := 11%positive. -Definition ___builtin_ctzl : ident := 12%positive. -Definition ___builtin_ctzll : ident := 13%positive. -Definition ___builtin_debug : ident := 39%positive. -Definition ___builtin_expect : ident := 28%positive. -Definition ___builtin_fabs : ident := 14%positive. -Definition ___builtin_fabsf : ident := 15%positive. -Definition ___builtin_fmadd : ident := 31%positive. -Definition ___builtin_fmax : ident := 29%positive. -Definition ___builtin_fmin : ident := 30%positive. -Definition ___builtin_fmsub : ident := 32%positive. -Definition ___builtin_fnmadd : ident := 33%positive. -Definition ___builtin_fnmsub : ident := 34%positive. -Definition ___builtin_fsqrt : ident := 16%positive. -Definition ___builtin_membar : ident := 22%positive. -Definition ___builtin_memcpy_aligned : ident := 18%positive. -Definition ___builtin_read16_reversed : ident := 35%positive. -Definition ___builtin_read32_reversed : ident := 36%positive. -Definition ___builtin_sel : ident := 19%positive. -Definition ___builtin_sqrt : ident := 17%positive. -Definition ___builtin_unreachable : ident := 27%positive. -Definition ___builtin_va_arg : ident := 24%positive. -Definition ___builtin_va_copy : ident := 25%positive. -Definition ___builtin_va_end : ident := 26%positive. -Definition ___builtin_va_start : ident := 23%positive. -Definition ___builtin_write16_reversed : ident := 37%positive. -Definition ___builtin_write32_reversed : ident := 38%positive. -Definition ___compcert_i64_dtos : ident := 55%positive. -Definition ___compcert_i64_dtou : ident := 56%positive. -Definition ___compcert_i64_sar : ident := 67%positive. -Definition ___compcert_i64_sdiv : ident := 61%positive. -Definition ___compcert_i64_shl : ident := 65%positive. -Definition ___compcert_i64_shr : ident := 66%positive. -Definition ___compcert_i64_smod : ident := 63%positive. -Definition ___compcert_i64_smulh : ident := 68%positive. -Definition ___compcert_i64_stod : ident := 57%positive. -Definition ___compcert_i64_stof : ident := 59%positive. -Definition ___compcert_i64_udiv : ident := 62%positive. -Definition ___compcert_i64_umod : ident := 64%positive. -Definition ___compcert_i64_umulh : ident := 69%positive. -Definition ___compcert_i64_utod : ident := 58%positive. -Definition ___compcert_i64_utof : ident := 60%positive. -Definition ___compcert_va_composite : ident := 54%positive. -Definition ___compcert_va_float64 : ident := 53%positive. -Definition ___compcert_va_int32 : ident := 51%positive. -Definition ___compcert_va_int64 : ident := 52%positive. -Definition _h : ident := 44%positive. -Definition _head : ident := 1%positive. -Definition _list : ident := 3%positive. -Definition _main : ident := 50%positive. -Definition _p : ident := 41%positive. -Definition _r : ident := 49%positive. -Definition _reverse : ident := 48%positive. -Definition _s : ident := 42%positive. -Definition _sumlist : ident := 45%positive. -Definition _t : ident := 43%positive. -Definition _tail : ident := 2%positive. -Definition _three : ident := 40%positive. -Definition _v : ident := 47%positive. -Definition _w : ident := 46%positive. -Definition _t'1 : ident := 70%positive. -Definition _t'2 : ident := 71%positive. - -Definition v_three := {| - gvar_info := (tarray (Tstruct _list noattr) 3); - gvar_init := (Init_int32 (Int.repr 1) :: Init_space 4 :: - Init_addrof _three (Ptrofs.repr 16) :: - Init_int32 (Int.repr 2) :: Init_space 4 :: - Init_addrof _three (Ptrofs.repr 32) :: - Init_int32 (Int.repr 3) :: Init_space 4 :: - Init_int64 (Int64.repr 0) :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition f_sumlist := {| - fn_return := tuint; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_s, tuint) :: (_t, (tptr (Tstruct _list noattr))) :: - (_h, tuint) :: nil); - fn_body := -(Ssequence - (Sset _s (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _t (Etempvar _p (tptr (Tstruct _list noattr)))) - (Ssequence - (Swhile - (Etempvar _t (tptr (Tstruct _list noattr))) - (Ssequence - (Sset _h - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _head tuint)) - (Ssequence - (Sset _t - (Efield - (Ederef (Etempvar _t (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr)))) - (Sset _s - (Ebinop Oadd (Etempvar _s tuint) (Etempvar _h tuint) tuint))))) - (Sreturn (Some (Etempvar _s tuint)))))) -|}. - -Definition f_reverse := {| - fn_return := (tptr (Tstruct _list noattr)); - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _list noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_w, (tptr (Tstruct _list noattr))) :: - (_t, (tptr (Tstruct _list noattr))) :: - (_v, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Ssequence - (Sset _w (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))) - (Ssequence - (Sset _v (Etempvar _p (tptr (Tstruct _list noattr)))) - (Ssequence - (Swhile - (Etempvar _v (tptr (Tstruct _list noattr))) - (Ssequence - (Sset _t - (Efield - (Ederef (Etempvar _v (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail (tptr (Tstruct _list noattr)))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _v (tptr (Tstruct _list noattr))) - (Tstruct _list noattr)) _tail - (tptr (Tstruct _list noattr))) - (Etempvar _w (tptr (Tstruct _list noattr)))) - (Ssequence - (Sset _w (Etempvar _v (tptr (Tstruct _list noattr)))) - (Sset _v (Etempvar _t (tptr (Tstruct _list noattr)))))))) - (Sreturn (Some (Etempvar _w (tptr (Tstruct _list noattr)))))))) -|}. - -Definition f_main := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_r, (tptr (Tstruct _list noattr))) :: (_s, tuint) :: - (_t'2, tuint) :: (_t'1, (tptr (Tstruct _list noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _reverse (Tfunction (Tcons (tptr (Tstruct _list noattr)) Tnil) - (tptr (Tstruct _list noattr)) cc_default)) - ((Evar _three (tarray (Tstruct _list noattr) 3)) :: nil)) - (Sset _r (Etempvar _t'1 (tptr (Tstruct _list noattr))))) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _sumlist (Tfunction - (Tcons (tptr (Tstruct _list noattr)) Tnil) tuint - cc_default)) - ((Etempvar _r (tptr (Tstruct _list noattr))) :: nil)) - (Sset _s (Etempvar _t'2 tuint))) - (Sreturn (Some (Ecast (Etempvar _s tuint) tint))))) - (Sreturn (Some (Econst_int (Int.repr 0) tint)))) -|}. - -Definition composites : list composite_definition := -(Composite _list Struct - (Member_plain _head tuint :: - Member_plain _tail (tptr (Tstruct _list noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_three, Gvar v_three) :: (_sumlist, Gfun(Internal f_sumlist)) :: - (_reverse, Gfun(Internal f_reverse)) :: (_main, Gfun(Internal f_main)) :: - nil). - -Definition public_idents : list ident := -(_main :: _reverse :: _sumlist :: _three :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: - ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: - ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: - ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: - ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: - ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: - ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: - ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: - ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: - ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: - ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: - ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: - ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: - ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: - ___compcert_va_composite :: ___compcert_va_float64 :: - ___compcert_va_int64 :: ___compcert_va_int32 :: nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stack.v b/vc-current/stack.v index bbf1a1963..0b6b30fa1 100644 --- a/vc-current/stack.v +++ b/vc-current/stack.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "stack.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 7%positive. Definition ___builtin_bswap16 : ident := 9%positive. Definition ___builtin_bswap32 : ident := 8%positive. Definition ___builtin_bswap64 : ident := 6%positive. +Definition ___builtin_cls : ident := 31%positive. +Definition ___builtin_clsl : ident := 32%positive. +Definition ___builtin_clsll : ident := 33%positive. Definition ___builtin_clz : ident := 10%positive. Definition ___builtin_clzl : ident := 11%positive. Definition ___builtin_clzll : ident := 12%positive. Definition ___builtin_ctz : ident := 13%positive. Definition ___builtin_ctzl : ident := 14%positive. Definition ___builtin_ctzll : ident := 15%positive. -Definition ___builtin_debug : ident := 41%positive. +Definition ___builtin_debug : ident := 40%positive. Definition ___builtin_expect : ident := 30%positive. Definition ___builtin_fabs : ident := 16%positive. Definition ___builtin_fabsf : ident := 17%positive. -Definition ___builtin_fmadd : ident := 33%positive. -Definition ___builtin_fmax : ident := 31%positive. -Definition ___builtin_fmin : ident := 32%positive. -Definition ___builtin_fmsub : ident := 34%positive. -Definition ___builtin_fnmadd : ident := 35%positive. -Definition ___builtin_fnmsub : ident := 36%positive. +Definition ___builtin_fmadd : ident := 34%positive. +Definition ___builtin_fmax : ident := 38%positive. +Definition ___builtin_fmin : ident := 39%positive. +Definition ___builtin_fmsub : ident := 35%positive. +Definition ___builtin_fnmadd : ident := 36%positive. +Definition ___builtin_fnmsub : ident := 37%positive. Definition ___builtin_fsqrt : ident := 18%positive. Definition ___builtin_membar : ident := 24%positive. Definition ___builtin_memcpy_aligned : ident := 20%positive. -Definition ___builtin_read16_reversed : ident := 37%positive. -Definition ___builtin_read32_reversed : ident := 38%positive. Definition ___builtin_sel : ident := 21%positive. Definition ___builtin_sqrt : ident := 19%positive. Definition ___builtin_unreachable : ident := 29%positive. @@ -53,50 +54,48 @@ Definition ___builtin_va_arg : ident := 26%positive. Definition ___builtin_va_copy : ident := 27%positive. Definition ___builtin_va_end : ident := 28%positive. Definition ___builtin_va_start : ident := 25%positive. -Definition ___builtin_write16_reversed : ident := 39%positive. -Definition ___builtin_write32_reversed : ident := 40%positive. -Definition ___compcert_i64_dtos : ident := 62%positive. -Definition ___compcert_i64_dtou : ident := 63%positive. -Definition ___compcert_i64_sar : ident := 74%positive. -Definition ___compcert_i64_sdiv : ident := 68%positive. -Definition ___compcert_i64_shl : ident := 72%positive. -Definition ___compcert_i64_shr : ident := 73%positive. -Definition ___compcert_i64_smod : ident := 70%positive. -Definition ___compcert_i64_smulh : ident := 75%positive. -Definition ___compcert_i64_stod : ident := 64%positive. -Definition ___compcert_i64_stof : ident := 66%positive. -Definition ___compcert_i64_udiv : ident := 69%positive. -Definition ___compcert_i64_umod : ident := 71%positive. -Definition ___compcert_i64_umulh : ident := 76%positive. -Definition ___compcert_i64_utod : ident := 65%positive. -Definition ___compcert_i64_utof : ident := 67%positive. -Definition ___compcert_va_composite : ident := 61%positive. -Definition ___compcert_va_float64 : ident := 60%positive. -Definition ___compcert_va_int32 : ident := 58%positive. -Definition ___compcert_va_int64 : ident := 59%positive. -Definition _cons : ident := 3%positive. -Definition _exit : ident := 44%positive. -Definition _free : ident := 43%positive. -Definition _i : ident := 47%positive. -Definition _main : ident := 57%positive. -Definition _malloc : ident := 42%positive. -Definition _n : ident := 52%positive. -Definition _newstack : ident := 46%positive. -Definition _next : ident := 2%positive. -Definition _p : ident := 45%positive. -Definition _pop : ident := 50%positive. -Definition _pop_and_add : ident := 56%positive. -Definition _push : ident := 49%positive. -Definition _push_increasing : ident := 53%positive. -Definition _q : ident := 48%positive. -Definition _s : ident := 55%positive. -Definition _st : ident := 51%positive. -Definition _stack : ident := 5%positive. -Definition _t : ident := 54%positive. -Definition _top : ident := 4%positive. -Definition _value : ident := 1%positive. -Definition _t'1 : ident := 77%positive. -Definition _t'2 : ident := 78%positive. +Definition ___compcert_i64_dtos : ident := 61%positive. +Definition ___compcert_i64_dtou : ident := 62%positive. +Definition ___compcert_i64_sar : ident := 73%positive. +Definition ___compcert_i64_sdiv : ident := 67%positive. +Definition ___compcert_i64_shl : ident := 71%positive. +Definition ___compcert_i64_shr : ident := 72%positive. +Definition ___compcert_i64_smod : ident := 69%positive. +Definition ___compcert_i64_smulh : ident := 74%positive. +Definition ___compcert_i64_stod : ident := 63%positive. +Definition ___compcert_i64_stof : ident := 65%positive. +Definition ___compcert_i64_udiv : ident := 68%positive. +Definition ___compcert_i64_umod : ident := 70%positive. +Definition ___compcert_i64_umulh : ident := 75%positive. +Definition ___compcert_i64_utod : ident := 64%positive. +Definition ___compcert_i64_utof : ident := 66%positive. +Definition ___compcert_va_composite : ident := 60%positive. +Definition ___compcert_va_float64 : ident := 59%positive. +Definition ___compcert_va_int32 : ident := 57%positive. +Definition ___compcert_va_int64 : ident := 58%positive. +Definition _cons : ident := 1%positive. +Definition _exit : ident := 43%positive. +Definition _free : ident := 42%positive. +Definition _i : ident := 46%positive. +Definition _main : ident := 56%positive. +Definition _malloc : ident := 41%positive. +Definition _n : ident := 51%positive. +Definition _newstack : ident := 45%positive. +Definition _next : ident := 3%positive. +Definition _p : ident := 44%positive. +Definition _pop : ident := 49%positive. +Definition _pop_and_add : ident := 55%positive. +Definition _push : ident := 48%positive. +Definition _push_increasing : ident := 52%positive. +Definition _q : ident := 47%positive. +Definition _s : ident := 54%positive. +Definition _st : ident := 50%positive. +Definition _stack : ident := 4%positive. +Definition _t : ident := 53%positive. +Definition _top : ident := 5%positive. +Definition _value : ident := 2%positive. +Definition _t'1 : ident := 76%positive. +Definition _t'2 : ident := 77%positive. Definition f_newstack := {| fn_return := (tptr (Tstruct _stack noattr)); @@ -109,14 +108,14 @@ Definition f_newstack := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) + (Evar _malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Esizeof (Tstruct _stack noattr) tulong) :: nil)) (Sset _p (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _stack noattr))))) (Ssequence (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr (Tstruct _stack noattr))) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) + (Scall None (Evar _exit (Tfunction (tint :: nil) tvoid cc_default)) ((Econst_int (Int.repr 1) tint) :: nil)) Sskip) (Ssequence @@ -139,14 +138,14 @@ Definition f_push := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) + (Evar _malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Esizeof (Tstruct _cons noattr) tulong) :: nil)) (Sset _q (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cons noattr))))) (Ssequence (Sifthenelse (Eunop Onotbool (Etempvar _q (tptr (Tstruct _cons noattr))) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) + (Scall None (Evar _exit (Tfunction (tint :: nil) tvoid cc_default)) ((Econst_int (Int.repr 1) tint) :: nil)) Sskip) (Ssequence @@ -203,7 +202,7 @@ Definition f_pop := {| (Tstruct _cons noattr)) _value tint)) (Ssequence (Scall None - (Evar _free (Tfunction (Tcons (tptr tvoid) Tnil) tvoid cc_default)) + (Evar _free (Tfunction ((tptr tvoid) :: nil) tvoid cc_default)) ((Etempvar _q (tptr (Tstruct _cons noattr))) :: nil)) (Sreturn (Some (Etempvar _i tint))))))) |}. @@ -224,8 +223,8 @@ Definition f_push_increasing := {| (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) tint)) (Scall None (Evar _push (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) + ((tptr (Tstruct _stack noattr)) :: tint :: nil) tvoid + cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Etempvar _i tint) :: nil))))) |}. @@ -247,9 +246,8 @@ Definition f_pop_and_add := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _pop (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint - cc_default)) + (Evar _pop (Tfunction ((tptr (Tstruct _stack noattr)) :: nil) + tint cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: nil)) (Sset _t (Etempvar _t'1 tint))) (Ssequence @@ -274,22 +272,22 @@ Definition f_main := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _newstack (Tfunction Tnil (tptr (Tstruct _stack noattr)) + (Evar _newstack (Tfunction nil (tptr (Tstruct _stack noattr)) cc_default)) nil) (Sset _st (Etempvar _t'1 (tptr (Tstruct _stack noattr))))) (Ssequence (Scall None (Evar _push_increasing (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) + ((tptr (Tstruct _stack noattr)) :: tint :: + nil) tvoid cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Econst_int (Int.repr 10) tint) :: nil)) (Ssequence (Ssequence (Scall (Some _t'2) (Evar _pop_and_add (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tint cc_default)) + ((tptr (Tstruct _stack noattr)) :: tint :: + nil) tint cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Econst_int (Int.repr 10) tint) :: nil)) (Sset _s (Etempvar _t'2 tint))) @@ -309,272 +307,253 @@ Definition composites : list composite_definition := Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (_malloc, Gfun(External EF_malloc (tulong :: nil) (tptr tvoid) cc_default)) :: + (_free, Gfun(External EF_free ((tptr tvoid) :: nil) tvoid cc_default)) :: (_exit, Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xvoid cc_default)) + (tint :: nil) tvoid cc_default)) :: (_newstack, Gfun(Internal f_newstack)) :: (_push, Gfun(Internal f_push)) :: (_pop, Gfun(Internal f_pop)) :: (_push_increasing, Gfun(Internal f_push_increasing)) :: @@ -583,29 +562,27 @@ Definition global_definitions : list (ident * globdef fundef type) := Definition public_idents : list ident := (_main :: _pop_and_add :: _push_increasing :: _pop :: _push :: _newstack :: - _exit :: _free :: _malloc :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: - ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: - ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: - ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: - ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: - ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: - ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: - ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: - ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: - ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: - ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: - ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: - ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: - ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: - ___compcert_va_composite :: ___compcert_va_float64 :: - ___compcert_va_int64 :: ___compcert_va_int32 :: nil). + _exit :: _free :: _malloc :: ___builtin_debug :: ___builtin_fmin :: + ___builtin_fmax :: ___builtin_fnmsub :: ___builtin_fnmadd :: + ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_clsll :: + ___builtin_clsl :: ___builtin_cls :: ___builtin_expect :: + ___builtin_unreachable :: ___builtin_va_end :: ___builtin_va_copy :: + ___builtin_va_arg :: ___builtin_va_start :: ___builtin_membar :: + ___builtin_annot_intval :: ___builtin_annot :: ___builtin_sel :: + ___builtin_memcpy_aligned :: ___builtin_sqrt :: ___builtin_fsqrt :: + ___builtin_fabsf :: ___builtin_fabs :: ___builtin_ctzll :: + ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: ___builtin_clzl :: + ___builtin_clz :: ___builtin_bswap16 :: ___builtin_bswap32 :: + ___builtin_bswap :: ___builtin_bswap64 :: ___compcert_i64_umulh :: + ___compcert_i64_smulh :: ___compcert_i64_sar :: ___compcert_i64_shr :: + ___compcert_i64_shl :: ___compcert_i64_umod :: ___compcert_i64_smod :: + ___compcert_i64_udiv :: ___compcert_i64_sdiv :: ___compcert_i64_utof :: + ___compcert_i64_stof :: ___compcert_i64_utod :: ___compcert_i64_stod :: + ___compcert_i64_dtou :: ___compcert_i64_dtos :: ___compcert_va_composite :: + ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: + nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/stack2.v b/vc-current/stack2.v index a7fb16926..03cf9cfa8 100644 --- a/vc-current/stack2.v +++ b/vc-current/stack2.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "stack2.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 2%positive. Definition ___builtin_bswap16 : ident := 4%positive. Definition ___builtin_bswap32 : ident := 3%positive. Definition ___builtin_bswap64 : ident := 1%positive. +Definition ___builtin_cls : ident := 26%positive. +Definition ___builtin_clsl : ident := 27%positive. +Definition ___builtin_clsll : ident := 28%positive. Definition ___builtin_clz : ident := 5%positive. Definition ___builtin_clzl : ident := 6%positive. Definition ___builtin_clzll : ident := 7%positive. Definition ___builtin_ctz : ident := 8%positive. Definition ___builtin_ctzl : ident := 9%positive. Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. +Definition ___builtin_debug : ident := 35%positive. Definition ___builtin_expect : ident := 25%positive. Definition ___builtin_fabs : ident := 11%positive. Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. +Definition ___builtin_fmadd : ident := 29%positive. +Definition ___builtin_fmax : ident := 33%positive. +Definition ___builtin_fmin : ident := 34%positive. +Definition ___builtin_fmsub : ident := 30%positive. +Definition ___builtin_fnmadd : ident := 31%positive. +Definition ___builtin_fnmsub : ident := 32%positive. Definition ___builtin_fsqrt : ident := 13%positive. Definition ___builtin_membar : ident := 19%positive. Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. Definition ___builtin_sel : ident := 16%positive. Definition ___builtin_sqrt : ident := 14%positive. Definition ___builtin_unreachable : ident := 24%positive. @@ -53,56 +54,54 @@ Definition ___builtin_va_arg : ident := 21%positive. Definition ___builtin_va_copy : ident := 22%positive. Definition ___builtin_va_end : ident := 23%positive. Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. +Definition ___compcert_i64_dtos : ident := 44%positive. +Definition ___compcert_i64_dtou : ident := 45%positive. +Definition ___compcert_i64_sar : ident := 56%positive. +Definition ___compcert_i64_sdiv : ident := 50%positive. +Definition ___compcert_i64_shl : ident := 54%positive. +Definition ___compcert_i64_shr : ident := 55%positive. +Definition ___compcert_i64_smod : ident := 52%positive. +Definition ___compcert_i64_smulh : ident := 57%positive. +Definition ___compcert_i64_stod : ident := 46%positive. +Definition ___compcert_i64_stof : ident := 48%positive. +Definition ___compcert_i64_udiv : ident := 51%positive. +Definition ___compcert_i64_umod : ident := 53%positive. +Definition ___compcert_i64_umulh : ident := 58%positive. +Definition ___compcert_i64_utod : ident := 47%positive. +Definition ___compcert_i64_utof : ident := 49%positive. +Definition ___compcert_va_composite : ident := 43%positive. +Definition ___compcert_va_float64 : ident := 42%positive. +Definition ___compcert_va_int32 : ident := 40%positive. +Definition ___compcert_va_int64 : ident := 41%positive. Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. +Definition _b : ident := 62%positive. +Definition _c : ident := 63%positive. +Definition _cell : ident := 60%positive. +Definition _cons : ident := 71%positive. +Definition _d : ident := 64%positive. +Definition _exit : ident := 38%positive. +Definition _free : ident := 37%positive. +Definition _freelist : ident := 67%positive. +Definition _i : ident := 78%positive. +Definition _main : ident := 59%positive. +Definition _malloc : ident := 36%positive. +Definition _n : ident := 68%positive. +Definition _newstack : ident := 77%positive. Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _q : ident := 80%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. +Definition _p : ident := 69%positive. +Definition _placeholder : ident := 39%positive. +Definition _pool : ident := 65%positive. +Definition _pool_index : ident := 66%positive. +Definition _pop : ident := 81%positive. +Definition _pp : ident := 70%positive. +Definition _push : ident := 80%positive. +Definition _q : ident := 79%positive. +Definition _stack : ident := 74%positive. +Definition _surely_malloc : ident := 76%positive. Definition _top : ident := 75%positive. Definition _value : ident := 72%positive. -Definition _t'1 : ident := 83%positive. -Definition _t'2 : ident := 84%positive. +Definition _t'1 : ident := 82%positive. +Definition _t'2 : ident := 83%positive. Definition f_surely_malloc := {| fn_return := (tptr tvoid); @@ -114,12 +113,12 @@ Definition f_surely_malloc := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) + (Evar _malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Etempvar _n tulong) :: nil)) (Sset _p (Etempvar _t'1 (tptr tvoid)))) (Ssequence (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr tvoid)) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) + (Scall None (Evar _exit (Tfunction (tint :: nil) tvoid cc_default)) ((Econst_int (Int.repr 1) tint) :: nil)) Sskip) (Sreturn (Some (Etempvar _p (tptr tvoid)))))) @@ -136,7 +135,7 @@ Definition f_newstack := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _surely_malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) + (Evar _surely_malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Esizeof (Tstruct _stack noattr) tulong) :: nil)) (Sset _p @@ -161,7 +160,7 @@ Definition f_push := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _surely_malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) + (Evar _surely_malloc (Tfunction (tulong :: nil) (tptr tvoid) cc_default)) ((Esizeof (Tstruct _cons noattr) tulong) :: nil)) (Sset _q @@ -220,7 +219,7 @@ Definition f_pop := {| (Tstruct _cons noattr)) _value tint)) (Ssequence (Scall None - (Evar _free (Tfunction (Tcons (tptr tvoid) Tnil) tvoid cc_default)) + (Evar _free (Tfunction ((tptr tvoid) :: nil) tvoid cc_default)) ((Etempvar _q (tptr (Tstruct _cons noattr))) :: nil)) (Sreturn (Some (Etempvar _i tint))))))) |}. @@ -237,301 +236,279 @@ Definition composites : list composite_definition := Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (_malloc, Gfun(External EF_malloc (tulong :: nil) (tptr tvoid) cc_default)) :: + (_free, Gfun(External EF_free ((tptr tvoid) :: nil) tvoid cc_default)) :: (_exit, Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xvoid cc_default)) + (tint :: nil) tvoid cc_default)) :: (_surely_malloc, Gfun(Internal f_surely_malloc)) :: (_newstack, Gfun(Internal f_newstack)) :: (_push, Gfun(Internal f_push)) :: (_pop, Gfun(Internal f_pop)) :: nil). Definition public_idents : list ident := (_pop :: _push :: _newstack :: _surely_malloc :: _exit :: _free :: _malloc :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). + ___builtin_debug :: ___builtin_fmin :: ___builtin_fmax :: + ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: + ___builtin_fmadd :: ___builtin_clsll :: ___builtin_clsl :: ___builtin_cls :: + ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: + ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: + ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: + ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: + ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: + ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: + ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: + ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: + ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: + ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: + ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: + ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: + ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: + ___compcert_va_composite :: ___compcert_va_float64 :: + ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/stack232.v b/vc-current/stack232.v deleted file mode 100644 index d65b3bcba..000000000 --- a/vc-current/stack232.v +++ /dev/null @@ -1,536 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "stack2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. -Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _q : ident := 80%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _top : ident := 75%positive. -Definition _value : ident := 72%positive. -Definition _t'1 : ident := 83%positive. -Definition _t'2 : ident := 84%positive. - -Definition f_surely_malloc := {| - fn_return := (tptr tvoid); - fn_callconv := cc_default; - fn_params := ((_n, tuint) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr tvoid)) :: (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) cc_default)) - ((Etempvar _n tuint) :: nil)) - (Sset _p (Etempvar _t'1 (tptr tvoid)))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr tvoid)) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Sreturn (Some (Etempvar _p (tptr tvoid)))))) -|}. - -Definition f_newstack := {| - fn_return := (tptr (Tstruct _stack noattr)); - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _stack noattr))) :: - (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _surely_malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) - cc_default)) - ((Esizeof (Tstruct _stack noattr) tuint) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _stack noattr))))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _stack noattr))))))) -|}. - -Definition f_push := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_t'1, (tptr tvoid)) :: - (_t'2, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _surely_malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) - cc_default)) - ((Esizeof (Tstruct _cons noattr) tuint) :: nil)) - (Sset _q - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint) (Etempvar _i tint)) - (Ssequence - (Ssequence - (Sset _t'2 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr))) - (Etempvar _t'2 (tptr (Tstruct _cons noattr))))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _q (tptr (Tstruct _cons noattr))))))) -|}. - -Definition f_pop := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_i, tint) :: - (_t'1, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Sset _q - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Ssequence - (Ssequence - (Sset _t'1 - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _t'1 (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sset _i - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint)) - (Ssequence - (Scall None - (Evar _free (Tfunction (Tcons (tptr tvoid) Tnil) tvoid cc_default)) - ((Etempvar _q (tptr (Tstruct _cons noattr))) :: nil)) - (Sreturn (Some (Etempvar _i tint))))))) -|}. - -Definition composites : list composite_definition := -(Composite _cons Struct - (Member_plain _value tint :: - Member_plain _next (tptr (Tstruct _cons noattr)) :: nil) - noattr :: - Composite _stack Struct - (Member_plain _top (tptr (Tstruct _cons noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tuint Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_surely_malloc, Gfun(Internal f_surely_malloc)) :: - (_newstack, Gfun(Internal f_newstack)) :: (_push, Gfun(Internal f_push)) :: - (_pop, Gfun(Internal f_pop)) :: nil). - -Definition public_idents : list ident := -(_pop :: _push :: _newstack :: _surely_malloc :: _exit :: _free :: _malloc :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stack264.v b/vc-current/stack264.v deleted file mode 100644 index 81eeb4d5d..000000000 --- a/vc-current/stack264.v +++ /dev/null @@ -1,536 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "stack2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. -Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _q : ident := 80%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _top : ident := 75%positive. -Definition _value : ident := 72%positive. -Definition _t'1 : ident := 83%positive. -Definition _t'2 : ident := 84%positive. - -Definition f_surely_malloc := {| - fn_return := (tptr tvoid); - fn_callconv := cc_default; - fn_params := ((_n, tulong) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr tvoid)) :: (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) - ((Etempvar _n tulong) :: nil)) - (Sset _p (Etempvar _t'1 (tptr tvoid)))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr tvoid)) tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Sreturn (Some (Etempvar _p (tptr tvoid)))))) -|}. - -Definition f_newstack := {| - fn_return := (tptr (Tstruct _stack noattr)); - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _stack noattr))) :: - (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _surely_malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) - cc_default)) - ((Esizeof (Tstruct _stack noattr) tulong) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _stack noattr))))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _stack noattr))))))) -|}. - -Definition f_push := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_t'1, (tptr tvoid)) :: - (_t'2, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _surely_malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) - cc_default)) - ((Esizeof (Tstruct _cons noattr) tulong) :: nil)) - (Sset _q - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint) (Etempvar _i tint)) - (Ssequence - (Ssequence - (Sset _t'2 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr))) - (Etempvar _t'2 (tptr (Tstruct _cons noattr))))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _q (tptr (Tstruct _cons noattr))))))) -|}. - -Definition f_pop := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_i, tint) :: - (_t'1, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Sset _q - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Ssequence - (Ssequence - (Sset _t'1 - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _t'1 (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sset _i - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint)) - (Ssequence - (Scall None - (Evar _free (Tfunction (Tcons (tptr tvoid) Tnil) tvoid cc_default)) - ((Etempvar _q (tptr (Tstruct _cons noattr))) :: nil)) - (Sreturn (Some (Etempvar _i tint))))))) -|}. - -Definition composites : list composite_definition := -(Composite _cons Struct - (Member_plain _value tint :: - Member_plain _next (tptr (Tstruct _cons noattr)) :: nil) - noattr :: - Composite _stack Struct - (Member_plain _top (tptr (Tstruct _cons noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_surely_malloc, Gfun(Internal f_surely_malloc)) :: - (_newstack, Gfun(Internal f_newstack)) :: (_push, Gfun(Internal f_push)) :: - (_pop, Gfun(Internal f_pop)) :: nil). - -Definition public_idents : list ident := -(_pop :: _push :: _newstack :: _surely_malloc :: _exit :: _free :: _malloc :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stack32.v b/vc-current/stack32.v deleted file mode 100644 index bc9c7a1ee..000000000 --- a/vc-current/stack32.v +++ /dev/null @@ -1,610 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "stack.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 22%positive. -Definition ___builtin_annot_intval : ident := 23%positive. -Definition ___builtin_bswap : ident := 7%positive. -Definition ___builtin_bswap16 : ident := 9%positive. -Definition ___builtin_bswap32 : ident := 8%positive. -Definition ___builtin_bswap64 : ident := 6%positive. -Definition ___builtin_clz : ident := 10%positive. -Definition ___builtin_clzl : ident := 11%positive. -Definition ___builtin_clzll : ident := 12%positive. -Definition ___builtin_ctz : ident := 13%positive. -Definition ___builtin_ctzl : ident := 14%positive. -Definition ___builtin_ctzll : ident := 15%positive. -Definition ___builtin_debug : ident := 41%positive. -Definition ___builtin_expect : ident := 30%positive. -Definition ___builtin_fabs : ident := 16%positive. -Definition ___builtin_fabsf : ident := 17%positive. -Definition ___builtin_fmadd : ident := 33%positive. -Definition ___builtin_fmax : ident := 31%positive. -Definition ___builtin_fmin : ident := 32%positive. -Definition ___builtin_fmsub : ident := 34%positive. -Definition ___builtin_fnmadd : ident := 35%positive. -Definition ___builtin_fnmsub : ident := 36%positive. -Definition ___builtin_fsqrt : ident := 18%positive. -Definition ___builtin_membar : ident := 24%positive. -Definition ___builtin_memcpy_aligned : ident := 20%positive. -Definition ___builtin_read16_reversed : ident := 37%positive. -Definition ___builtin_read32_reversed : ident := 38%positive. -Definition ___builtin_sel : ident := 21%positive. -Definition ___builtin_sqrt : ident := 19%positive. -Definition ___builtin_unreachable : ident := 29%positive. -Definition ___builtin_va_arg : ident := 26%positive. -Definition ___builtin_va_copy : ident := 27%positive. -Definition ___builtin_va_end : ident := 28%positive. -Definition ___builtin_va_start : ident := 25%positive. -Definition ___builtin_write16_reversed : ident := 39%positive. -Definition ___builtin_write32_reversed : ident := 40%positive. -Definition ___compcert_i64_dtos : ident := 62%positive. -Definition ___compcert_i64_dtou : ident := 63%positive. -Definition ___compcert_i64_sar : ident := 74%positive. -Definition ___compcert_i64_sdiv : ident := 68%positive. -Definition ___compcert_i64_shl : ident := 72%positive. -Definition ___compcert_i64_shr : ident := 73%positive. -Definition ___compcert_i64_smod : ident := 70%positive. -Definition ___compcert_i64_smulh : ident := 75%positive. -Definition ___compcert_i64_stod : ident := 64%positive. -Definition ___compcert_i64_stof : ident := 66%positive. -Definition ___compcert_i64_udiv : ident := 69%positive. -Definition ___compcert_i64_umod : ident := 71%positive. -Definition ___compcert_i64_umulh : ident := 76%positive. -Definition ___compcert_i64_utod : ident := 65%positive. -Definition ___compcert_i64_utof : ident := 67%positive. -Definition ___compcert_va_composite : ident := 61%positive. -Definition ___compcert_va_float64 : ident := 60%positive. -Definition ___compcert_va_int32 : ident := 58%positive. -Definition ___compcert_va_int64 : ident := 59%positive. -Definition _cons : ident := 3%positive. -Definition _exit : ident := 44%positive. -Definition _free : ident := 43%positive. -Definition _i : ident := 47%positive. -Definition _main : ident := 57%positive. -Definition _malloc : ident := 42%positive. -Definition _n : ident := 52%positive. -Definition _newstack : ident := 46%positive. -Definition _next : ident := 2%positive. -Definition _p : ident := 45%positive. -Definition _pop : ident := 50%positive. -Definition _pop_and_add : ident := 56%positive. -Definition _push : ident := 49%positive. -Definition _push_increasing : ident := 53%positive. -Definition _q : ident := 48%positive. -Definition _s : ident := 55%positive. -Definition _st : ident := 51%positive. -Definition _stack : ident := 5%positive. -Definition _t : ident := 54%positive. -Definition _top : ident := 4%positive. -Definition _value : ident := 1%positive. -Definition _t'1 : ident := 77%positive. -Definition _t'2 : ident := 78%positive. - -Definition f_newstack := {| - fn_return := (tptr (Tstruct _stack noattr)); - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _stack noattr))) :: - (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _stack noattr) tuint) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _stack noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr (Tstruct _stack noattr))) - tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _stack noattr)))))))) -|}. - -Definition f_push := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_t'1, (tptr tvoid)) :: - (_t'2, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tuint Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _cons noattr) tuint) :: nil)) - (Sset _q - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _q (tptr (Tstruct _cons noattr))) - tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint) (Etempvar _i tint)) - (Ssequence - (Ssequence - (Sset _t'2 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr))) - (Etempvar _t'2 (tptr (Tstruct _cons noattr))))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _q (tptr (Tstruct _cons noattr)))))))) -|}. - -Definition f_pop := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_i, tint) :: - (_t'1, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Sset _q - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Ssequence - (Ssequence - (Sset _t'1 - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _t'1 (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sset _i - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint)) - (Ssequence - (Scall None - (Evar _free (Tfunction (Tcons (tptr tvoid) Tnil) tvoid cc_default)) - ((Etempvar _q (tptr (Tstruct _cons noattr))) :: nil)) - (Sreturn (Some (Etempvar _i tint))))))) -|}. - -Definition f_push_increasing := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) tint)) - (Scall None - (Evar _push (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Etempvar _i tint) :: nil))))) -|}. - -Definition f_pop_and_add := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: (_t, tint) :: (_s, tint) :: (_t'1, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _s (Econst_int (Int.repr 0) tint)) - (Ssequence - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _pop (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint - cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: nil)) - (Sset _t (Etempvar _t'1 tint))) - (Ssequence - (Sset _s - (Ebinop Oadd (Etempvar _s tint) (Etempvar _t tint) tint)) - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) - tint))))) - (Sreturn (Some (Etempvar _s tint)))))) -|}. - -Definition f_main := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_st, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: - (_t, tint) :: (_s, tint) :: (_t'2, tint) :: - (_t'1, (tptr (Tstruct _stack noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _newstack (Tfunction Tnil (tptr (Tstruct _stack noattr)) - cc_default)) nil) - (Sset _st (Etempvar _t'1 (tptr (Tstruct _stack noattr))))) - (Ssequence - (Scall None - (Evar _push_increasing (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Econst_int (Int.repr 10) tint) :: nil)) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _pop_and_add (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tint cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Econst_int (Int.repr 10) tint) :: nil)) - (Sset _s (Etempvar _t'2 tint))) - (Sreturn (Some (Etempvar _s tint)))))) - (Sreturn (Some (Econst_int (Int.repr 0) tint)))) -|}. - -Definition composites : list composite_definition := -(Composite _cons Struct - (Member_plain _value tint :: - Member_plain _next (tptr (Tstruct _cons noattr)) :: nil) - noattr :: - Composite _stack Struct - (Member_plain _top (tptr (Tstruct _cons noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tuint Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_newstack, Gfun(Internal f_newstack)) :: (_push, Gfun(Internal f_push)) :: - (_pop, Gfun(Internal f_pop)) :: - (_push_increasing, Gfun(Internal f_push_increasing)) :: - (_pop_and_add, Gfun(Internal f_pop_and_add)) :: - (_main, Gfun(Internal f_main)) :: nil). - -Definition public_idents : list ident := -(_main :: _pop_and_add :: _push_increasing :: _pop :: _push :: _newstack :: - _exit :: _free :: _malloc :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: - ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: - ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: - ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: - ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: - ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: - ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: - ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: - ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: - ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: - ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: - ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: - ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: - ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: - ___compcert_va_composite :: ___compcert_va_float64 :: - ___compcert_va_int64 :: ___compcert_va_int32 :: nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stack64.v b/vc-current/stack64.v deleted file mode 100644 index d374ce365..000000000 --- a/vc-current/stack64.v +++ /dev/null @@ -1,610 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "stack.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 22%positive. -Definition ___builtin_annot_intval : ident := 23%positive. -Definition ___builtin_bswap : ident := 7%positive. -Definition ___builtin_bswap16 : ident := 9%positive. -Definition ___builtin_bswap32 : ident := 8%positive. -Definition ___builtin_bswap64 : ident := 6%positive. -Definition ___builtin_clz : ident := 10%positive. -Definition ___builtin_clzl : ident := 11%positive. -Definition ___builtin_clzll : ident := 12%positive. -Definition ___builtin_ctz : ident := 13%positive. -Definition ___builtin_ctzl : ident := 14%positive. -Definition ___builtin_ctzll : ident := 15%positive. -Definition ___builtin_debug : ident := 41%positive. -Definition ___builtin_expect : ident := 30%positive. -Definition ___builtin_fabs : ident := 16%positive. -Definition ___builtin_fabsf : ident := 17%positive. -Definition ___builtin_fmadd : ident := 33%positive. -Definition ___builtin_fmax : ident := 31%positive. -Definition ___builtin_fmin : ident := 32%positive. -Definition ___builtin_fmsub : ident := 34%positive. -Definition ___builtin_fnmadd : ident := 35%positive. -Definition ___builtin_fnmsub : ident := 36%positive. -Definition ___builtin_fsqrt : ident := 18%positive. -Definition ___builtin_membar : ident := 24%positive. -Definition ___builtin_memcpy_aligned : ident := 20%positive. -Definition ___builtin_read16_reversed : ident := 37%positive. -Definition ___builtin_read32_reversed : ident := 38%positive. -Definition ___builtin_sel : ident := 21%positive. -Definition ___builtin_sqrt : ident := 19%positive. -Definition ___builtin_unreachable : ident := 29%positive. -Definition ___builtin_va_arg : ident := 26%positive. -Definition ___builtin_va_copy : ident := 27%positive. -Definition ___builtin_va_end : ident := 28%positive. -Definition ___builtin_va_start : ident := 25%positive. -Definition ___builtin_write16_reversed : ident := 39%positive. -Definition ___builtin_write32_reversed : ident := 40%positive. -Definition ___compcert_i64_dtos : ident := 62%positive. -Definition ___compcert_i64_dtou : ident := 63%positive. -Definition ___compcert_i64_sar : ident := 74%positive. -Definition ___compcert_i64_sdiv : ident := 68%positive. -Definition ___compcert_i64_shl : ident := 72%positive. -Definition ___compcert_i64_shr : ident := 73%positive. -Definition ___compcert_i64_smod : ident := 70%positive. -Definition ___compcert_i64_smulh : ident := 75%positive. -Definition ___compcert_i64_stod : ident := 64%positive. -Definition ___compcert_i64_stof : ident := 66%positive. -Definition ___compcert_i64_udiv : ident := 69%positive. -Definition ___compcert_i64_umod : ident := 71%positive. -Definition ___compcert_i64_umulh : ident := 76%positive. -Definition ___compcert_i64_utod : ident := 65%positive. -Definition ___compcert_i64_utof : ident := 67%positive. -Definition ___compcert_va_composite : ident := 61%positive. -Definition ___compcert_va_float64 : ident := 60%positive. -Definition ___compcert_va_int32 : ident := 58%positive. -Definition ___compcert_va_int64 : ident := 59%positive. -Definition _cons : ident := 3%positive. -Definition _exit : ident := 44%positive. -Definition _free : ident := 43%positive. -Definition _i : ident := 47%positive. -Definition _main : ident := 57%positive. -Definition _malloc : ident := 42%positive. -Definition _n : ident := 52%positive. -Definition _newstack : ident := 46%positive. -Definition _next : ident := 2%positive. -Definition _p : ident := 45%positive. -Definition _pop : ident := 50%positive. -Definition _pop_and_add : ident := 56%positive. -Definition _push : ident := 49%positive. -Definition _push_increasing : ident := 53%positive. -Definition _q : ident := 48%positive. -Definition _s : ident := 55%positive. -Definition _st : ident := 51%positive. -Definition _stack : ident := 5%positive. -Definition _t : ident := 54%positive. -Definition _top : ident := 4%positive. -Definition _value : ident := 1%positive. -Definition _t'1 : ident := 77%positive. -Definition _t'2 : ident := 78%positive. - -Definition f_newstack := {| - fn_return := (tptr (Tstruct _stack noattr)); - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _stack noattr))) :: - (_t'1, (tptr tvoid)) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _stack noattr) tulong) :: nil)) - (Sset _p - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _stack noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _p (tptr (Tstruct _stack noattr))) - tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))) - (Sreturn (Some (Etempvar _p (tptr (Tstruct _stack noattr)))))))) -|}. - -Definition f_push := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_t'1, (tptr tvoid)) :: - (_t'2, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _malloc (Tfunction (Tcons tulong Tnil) (tptr tvoid) cc_default)) - ((Esizeof (Tstruct _cons noattr) tulong) :: nil)) - (Sset _q - (Ecast (Etempvar _t'1 (tptr tvoid)) (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sifthenelse (Eunop Onotbool (Etempvar _q (tptr (Tstruct _cons noattr))) - tint) - (Scall None (Evar _exit (Tfunction (Tcons tint Tnil) tvoid cc_default)) - ((Econst_int (Int.repr 1) tint) :: nil)) - Sskip) - (Ssequence - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint) (Etempvar _i tint)) - (Ssequence - (Ssequence - (Sset _t'2 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr))) - (Etempvar _t'2 (tptr (Tstruct _cons noattr))))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _q (tptr (Tstruct _cons noattr)))))))) -|}. - -Definition f_pop := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_p, (tptr (Tstruct _stack noattr))) :: nil); - fn_vars := nil; - fn_temps := ((_q, (tptr (Tstruct _cons noattr))) :: (_i, tint) :: - (_t'1, (tptr (Tstruct _cons noattr))) :: nil); - fn_body := -(Ssequence - (Sset _q - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr)))) - (Ssequence - (Ssequence - (Sset _t'1 - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _next (tptr (Tstruct _cons noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _stack noattr))) - (Tstruct _stack noattr)) _top (tptr (Tstruct _cons noattr))) - (Etempvar _t'1 (tptr (Tstruct _cons noattr))))) - (Ssequence - (Sset _i - (Efield - (Ederef (Etempvar _q (tptr (Tstruct _cons noattr))) - (Tstruct _cons noattr)) _value tint)) - (Ssequence - (Scall None - (Evar _free (Tfunction (Tcons (tptr tvoid) Tnil) tvoid cc_default)) - ((Etempvar _q (tptr (Tstruct _cons noattr))) :: nil)) - (Sreturn (Some (Etempvar _i tint))))))) -|}. - -Definition f_push_increasing := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) tint)) - (Scall None - (Evar _push (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Etempvar _i tint) :: nil))))) -|}. - -Definition f_pop_and_add := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: (_t, tint) :: (_s, tint) :: (_t'1, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _s (Econst_int (Int.repr 0) tint)) - (Ssequence - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _pop (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint - cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: nil)) - (Sset _t (Etempvar _t'1 tint))) - (Ssequence - (Sset _s - (Ebinop Oadd (Etempvar _s tint) (Etempvar _t tint) tint)) - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) - tint))))) - (Sreturn (Some (Etempvar _s tint)))))) -|}. - -Definition f_main := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := ((_st, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: - (_t, tint) :: (_s, tint) :: (_t'2, tint) :: - (_t'1, (tptr (Tstruct _stack noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _newstack (Tfunction Tnil (tptr (Tstruct _stack noattr)) - cc_default)) nil) - (Sset _st (Etempvar _t'1 (tptr (Tstruct _stack noattr))))) - (Ssequence - (Scall None - (Evar _push_increasing (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Econst_int (Int.repr 10) tint) :: nil)) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _pop_and_add (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tint cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Econst_int (Int.repr 10) tint) :: nil)) - (Sset _s (Etempvar _t'2 tint))) - (Sreturn (Some (Etempvar _s tint)))))) - (Sreturn (Some (Econst_int (Int.repr 0) tint)))) -|}. - -Definition composites : list composite_definition := -(Composite _cons Struct - (Member_plain _value tint :: - Member_plain _next (tptr (Tstruct _cons noattr)) :: nil) - noattr :: - Composite _stack Struct - (Member_plain _top (tptr (Tstruct _cons noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_newstack, Gfun(Internal f_newstack)) :: (_push, Gfun(Internal f_push)) :: - (_pop, Gfun(Internal f_pop)) :: - (_push_increasing, Gfun(Internal f_push_increasing)) :: - (_pop_and_add, Gfun(Internal f_pop_and_add)) :: - (_main, Gfun(Internal f_main)) :: nil). - -Definition public_idents : list ident := -(_main :: _pop_and_add :: _push_increasing :: _pop :: _push :: _newstack :: - _exit :: _free :: _malloc :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: - ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: - ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: - ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: - ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: - ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: - ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: - ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: - ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: - ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: - ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: - ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: - ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: - ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: - ___compcert_va_composite :: ___compcert_va_float64 :: - ___compcert_va_int64 :: ___compcert_va_int32 :: nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stdlib.v b/vc-current/stdlib.v index ca1213521..1813c341b 100644 --- a/vc-current/stdlib.v +++ b/vc-current/stdlib.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "stdlib.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 2%positive. Definition ___builtin_bswap16 : ident := 4%positive. Definition ___builtin_bswap32 : ident := 3%positive. Definition ___builtin_bswap64 : ident := 1%positive. +Definition ___builtin_cls : ident := 26%positive. +Definition ___builtin_clsl : ident := 27%positive. +Definition ___builtin_clsll : ident := 28%positive. Definition ___builtin_clz : ident := 5%positive. Definition ___builtin_clzl : ident := 6%positive. Definition ___builtin_clzll : ident := 7%positive. Definition ___builtin_ctz : ident := 8%positive. Definition ___builtin_ctzl : ident := 9%positive. Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. +Definition ___builtin_debug : ident := 35%positive. Definition ___builtin_expect : ident := 25%positive. Definition ___builtin_fabs : ident := 11%positive. Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. +Definition ___builtin_fmadd : ident := 29%positive. +Definition ___builtin_fmax : ident := 33%positive. +Definition ___builtin_fmin : ident := 34%positive. +Definition ___builtin_fmsub : ident := 30%positive. +Definition ___builtin_fnmadd : ident := 31%positive. +Definition ___builtin_fnmsub : ident := 32%positive. Definition ___builtin_fsqrt : ident := 13%positive. Definition ___builtin_membar : ident := 19%positive. Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. Definition ___builtin_sel : ident := 16%positive. Definition ___builtin_sqrt : ident := 14%positive. Definition ___builtin_unreachable : ident := 24%positive. @@ -53,32 +54,30 @@ Definition ___builtin_va_arg : ident := 21%positive. Definition ___builtin_va_copy : ident := 22%positive. Definition ___builtin_va_end : ident := 23%positive. Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _placeholder : ident := 40%positive. +Definition ___compcert_i64_dtos : ident := 44%positive. +Definition ___compcert_i64_dtou : ident := 45%positive. +Definition ___compcert_i64_sar : ident := 56%positive. +Definition ___compcert_i64_sdiv : ident := 50%positive. +Definition ___compcert_i64_shl : ident := 54%positive. +Definition ___compcert_i64_shr : ident := 55%positive. +Definition ___compcert_i64_smod : ident := 52%positive. +Definition ___compcert_i64_smulh : ident := 57%positive. +Definition ___compcert_i64_stod : ident := 46%positive. +Definition ___compcert_i64_stof : ident := 48%positive. +Definition ___compcert_i64_udiv : ident := 51%positive. +Definition ___compcert_i64_umod : ident := 53%positive. +Definition ___compcert_i64_umulh : ident := 58%positive. +Definition ___compcert_i64_utod : ident := 47%positive. +Definition ___compcert_i64_utof : ident := 49%positive. +Definition ___compcert_va_composite : ident := 43%positive. +Definition ___compcert_va_float64 : ident := 42%positive. +Definition ___compcert_va_int32 : ident := 40%positive. +Definition ___compcert_va_int64 : ident := 41%positive. +Definition _exit : ident := 38%positive. +Definition _free : ident := 37%positive. +Definition _main : ident := 59%positive. +Definition _malloc : ident := 36%positive. +Definition _placeholder : ident := 39%positive. Definition f_placeholder := {| fn_return := tint; @@ -96,280 +95,260 @@ nil. Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (_malloc, Gfun(External EF_malloc (tulong :: nil) (tptr tvoid) cc_default)) :: + (_free, Gfun(External EF_free ((tptr tvoid) :: nil) tvoid cc_default)) :: (_exit, Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xvoid cc_default)) + (tint :: nil) tvoid cc_default)) :: (_placeholder, Gfun(Internal f_placeholder)) :: nil). Definition public_idents : list ident := (_placeholder :: _exit :: _free :: _malloc :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: + ___builtin_fmin :: ___builtin_fmax :: ___builtin_fnmsub :: + ___builtin_fnmadd :: ___builtin_fmsub :: ___builtin_fmadd :: + ___builtin_clsll :: ___builtin_clsl :: ___builtin_cls :: ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: @@ -386,8 +365,7 @@ Definition public_idents : list ident := ___compcert_va_composite :: ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/stdlib2.v b/vc-current/stdlib2.v index 19f30e6a2..4bacb5fa3 100644 --- a/vc-current/stdlib2.v +++ b/vc-current/stdlib2.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "stdlib2.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 2%positive. Definition ___builtin_bswap16 : ident := 4%positive. Definition ___builtin_bswap32 : ident := 3%positive. Definition ___builtin_bswap64 : ident := 1%positive. +Definition ___builtin_cls : ident := 26%positive. +Definition ___builtin_clsl : ident := 27%positive. +Definition ___builtin_clsll : ident := 28%positive. Definition ___builtin_clz : ident := 5%positive. Definition ___builtin_clzl : ident := 6%positive. Definition ___builtin_clzll : ident := 7%positive. Definition ___builtin_ctz : ident := 8%positive. Definition ___builtin_ctzl : ident := 9%positive. Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. +Definition ___builtin_debug : ident := 35%positive. Definition ___builtin_expect : ident := 25%positive. Definition ___builtin_fabs : ident := 11%positive. Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. +Definition ___builtin_fmadd : ident := 29%positive. +Definition ___builtin_fmax : ident := 33%positive. +Definition ___builtin_fmin : ident := 34%positive. +Definition ___builtin_fmsub : ident := 30%positive. +Definition ___builtin_fnmadd : ident := 31%positive. +Definition ___builtin_fnmsub : ident := 32%positive. Definition ___builtin_fsqrt : ident := 13%positive. Definition ___builtin_membar : ident := 19%positive. Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. Definition ___builtin_sel : ident := 16%positive. Definition ___builtin_sqrt : ident := 14%positive. Definition ___builtin_unreachable : ident := 24%positive. @@ -53,47 +54,45 @@ Definition ___builtin_va_arg : ident := 21%positive. Definition ___builtin_va_copy : ident := 22%positive. Definition ___builtin_va_end : ident := 23%positive. Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. +Definition ___compcert_i64_dtos : ident := 44%positive. +Definition ___compcert_i64_dtou : ident := 45%positive. +Definition ___compcert_i64_sar : ident := 56%positive. +Definition ___compcert_i64_sdiv : ident := 50%positive. +Definition ___compcert_i64_shl : ident := 54%positive. +Definition ___compcert_i64_shr : ident := 55%positive. +Definition ___compcert_i64_smod : ident := 52%positive. +Definition ___compcert_i64_smulh : ident := 57%positive. +Definition ___compcert_i64_stod : ident := 46%positive. +Definition ___compcert_i64_stof : ident := 48%positive. +Definition ___compcert_i64_udiv : ident := 51%positive. +Definition ___compcert_i64_umod : ident := 53%positive. +Definition ___compcert_i64_umulh : ident := 58%positive. +Definition ___compcert_i64_utod : ident := 47%positive. +Definition ___compcert_i64_utof : ident := 49%positive. +Definition ___compcert_va_composite : ident := 43%positive. +Definition ___compcert_va_float64 : ident := 42%positive. +Definition ___compcert_va_int32 : ident := 40%positive. +Definition ___compcert_va_int64 : ident := 41%positive. Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pp : ident := 71%positive. -Definition _t'1 : ident := 72%positive. -Definition _t'2 : ident := 73%positive. -Definition _t'3 : ident := 74%positive. -Definition _t'4 : ident := 75%positive. +Definition _b : ident := 62%positive. +Definition _c : ident := 63%positive. +Definition _cell : ident := 60%positive. +Definition _d : ident := 64%positive. +Definition _exit : ident := 38%positive. +Definition _free : ident := 37%positive. +Definition _freelist : ident := 67%positive. +Definition _main : ident := 59%positive. +Definition _malloc : ident := 36%positive. +Definition _n : ident := 68%positive. +Definition _p : ident := 69%positive. +Definition _placeholder : ident := 39%positive. +Definition _pool : ident := 65%positive. +Definition _pool_index : ident := 66%positive. +Definition _pp : ident := 70%positive. +Definition _t'1 : ident := 71%positive. +Definition _t'2 : ident := 72%positive. +Definition _t'3 : ident := 73%positive. +Definition _t'4 : ident := 74%positive. Definition v_pool := {| gvar_info := (tarray (Tstruct _cell noattr) 80000); @@ -210,264 +209,246 @@ Definition composites : list composite_definition := Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (_pool, Gvar v_pool) :: (_pool_index, Gvar v_pool_index) :: (_freelist, Gvar v_freelist) :: (_malloc, Gfun(Internal f_malloc)) :: @@ -475,29 +456,26 @@ Definition global_definitions : list (ident * globdef fundef type) := Definition public_idents : list ident := (_exit :: _free :: _malloc :: _freelist :: _pool_index :: _pool :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). + ___builtin_debug :: ___builtin_fmin :: ___builtin_fmax :: + ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: + ___builtin_fmadd :: ___builtin_clsll :: ___builtin_clsl :: ___builtin_cls :: + ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: + ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: + ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: + ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: + ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: + ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: + ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: + ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: + ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: + ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: + ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: + ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: + ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: + ___compcert_va_composite :: ___compcert_va_float64 :: + ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/stdlib232.v b/vc-current/stdlib232.v deleted file mode 100644 index 7b9e47a71..000000000 --- a/vc-current/stdlib232.v +++ /dev/null @@ -1,502 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "stdlib2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pp : ident := 71%positive. -Definition _t'1 : ident := 72%positive. -Definition _t'2 : ident := 73%positive. -Definition _t'3 : ident := 74%positive. -Definition _t'4 : ident := 75%positive. - -Definition v_pool := {| - gvar_info := (tarray (Tstruct _cell noattr) 80000); - gvar_init := (Init_space 1280000 :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition v_pool_index := {| - gvar_info := tint; - gvar_init := (Init_int32 (Int.repr 0) :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition v_freelist := {| - gvar_info := (tptr (Tstruct _cell noattr)); - gvar_init := (Init_int32 (Int.repr 0) :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition f_malloc := {| - fn_return := (tptr tvoid); - fn_callconv := cc_default; - fn_params := ((_n, tuint) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _cell noattr))) :: (_t'1, tint) :: - (_t'4, (tptr (Tstruct _cell noattr))) :: (_t'3, tint) :: - (_t'2, (tptr (Tstruct _cell noattr))) :: nil); - fn_body := -(Ssequence - (Sifthenelse (Ebinop Ogt (Etempvar _n tuint) - (Esizeof (Tstruct _cell noattr) tuint) tint) - (Sreturn (Some (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)))) - Sskip) - (Ssequence - (Ssequence - (Sset _t'2 (Evar _freelist (tptr (Tstruct _cell noattr)))) - (Sifthenelse (Etempvar _t'2 (tptr (Tstruct _cell noattr))) - (Ssequence - (Sset _p (Evar _freelist (tptr (Tstruct _cell noattr)))) - (Ssequence - (Sset _t'4 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _a (tptr (Tstruct _cell noattr)))) - (Sassign (Evar _freelist (tptr (Tstruct _cell noattr))) - (Etempvar _t'4 (tptr (Tstruct _cell noattr)))))) - (Ssequence - (Sset _t'3 (Evar _pool_index tint)) - (Sifthenelse (Ebinop Olt (Etempvar _t'3 tint) - (Econst_int (Int.repr 80000) tint) tint) - (Ssequence - (Ssequence - (Sset _t'1 (Evar _pool_index tint)) - (Sassign (Evar _pool_index tint) - (Ebinop Oadd (Etempvar _t'1 tint) - (Econst_int (Int.repr 1) tint) tint))) - (Sset _p - (Ebinop Oadd - (Evar _pool (tarray (Tstruct _cell noattr) 80000)) - (Etempvar _t'1 tint) (tptr (Tstruct _cell noattr))))) - (Sset _p (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))))))) - (Sreturn (Some (Ecast (Etempvar _p (tptr (Tstruct _cell noattr))) - (tptr tvoid)))))) -|}. - -Definition f_free := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_p, (tptr tvoid)) :: nil); - fn_vars := nil; - fn_temps := ((_pp, (tptr (Tstruct _cell noattr))) :: - (_t'1, (tptr (Tstruct _cell noattr))) :: nil); - fn_body := -(Ssequence - (Sset _pp (Etempvar _p (tptr tvoid))) - (Ssequence - (Sifthenelse (Ebinop Oeq (Etempvar _pp (tptr (Tstruct _cell noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) - (Sreturn None) - Sskip) - (Ssequence - (Ssequence - (Sset _t'1 (Evar _freelist (tptr (Tstruct _cell noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _pp (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _a (tptr (Tstruct _cell noattr))) - (Etempvar _t'1 (tptr (Tstruct _cell noattr))))) - (Sassign (Evar _freelist (tptr (Tstruct _cell noattr))) - (Etempvar _pp (tptr (Tstruct _cell noattr))))))) -|}. - -Definition f_exit := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_n, tint) :: nil); - fn_vars := nil; - fn_temps := nil; - fn_body := -(Sloop Sskip Sskip) -|}. - -Definition composites : list composite_definition := -(Composite _cell Struct - (Member_plain _a (tptr (Tstruct _cell noattr)) :: - Member_plain _b (tptr (Tstruct _cell noattr)) :: - Member_plain _c (tptr (Tstruct _cell noattr)) :: - Member_plain _d (tptr (Tstruct _cell noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_pool, Gvar v_pool) :: (_pool_index, Gvar v_pool_index) :: - (_freelist, Gvar v_freelist) :: (_malloc, Gfun(Internal f_malloc)) :: - (_free, Gfun(Internal f_free)) :: (_exit, Gfun(Internal f_exit)) :: nil). - -Definition public_idents : list ident := -(_exit :: _free :: _malloc :: _freelist :: _pool_index :: _pool :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stdlib264.v b/vc-current/stdlib264.v deleted file mode 100644 index 6bcdb57c2..000000000 --- a/vc-current/stdlib264.v +++ /dev/null @@ -1,502 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "stdlib2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pp : ident := 71%positive. -Definition _t'1 : ident := 72%positive. -Definition _t'2 : ident := 73%positive. -Definition _t'3 : ident := 74%positive. -Definition _t'4 : ident := 75%positive. - -Definition v_pool := {| - gvar_info := (tarray (Tstruct _cell noattr) 80000); - gvar_init := (Init_space 2560000 :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition v_pool_index := {| - gvar_info := tint; - gvar_init := (Init_int32 (Int.repr 0) :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition v_freelist := {| - gvar_info := (tptr (Tstruct _cell noattr)); - gvar_init := (Init_int64 (Int64.repr 0) :: nil); - gvar_readonly := false; - gvar_volatile := false -|}. - -Definition f_malloc := {| - fn_return := (tptr tvoid); - fn_callconv := cc_default; - fn_params := ((_n, tulong) :: nil); - fn_vars := nil; - fn_temps := ((_p, (tptr (Tstruct _cell noattr))) :: (_t'1, tint) :: - (_t'4, (tptr (Tstruct _cell noattr))) :: (_t'3, tint) :: - (_t'2, (tptr (Tstruct _cell noattr))) :: nil); - fn_body := -(Ssequence - (Sifthenelse (Ebinop Ogt (Etempvar _n tulong) - (Esizeof (Tstruct _cell noattr) tulong) tint) - (Sreturn (Some (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)))) - Sskip) - (Ssequence - (Ssequence - (Sset _t'2 (Evar _freelist (tptr (Tstruct _cell noattr)))) - (Sifthenelse (Etempvar _t'2 (tptr (Tstruct _cell noattr))) - (Ssequence - (Sset _p (Evar _freelist (tptr (Tstruct _cell noattr)))) - (Ssequence - (Sset _t'4 - (Efield - (Ederef (Etempvar _p (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _a (tptr (Tstruct _cell noattr)))) - (Sassign (Evar _freelist (tptr (Tstruct _cell noattr))) - (Etempvar _t'4 (tptr (Tstruct _cell noattr)))))) - (Ssequence - (Sset _t'3 (Evar _pool_index tint)) - (Sifthenelse (Ebinop Olt (Etempvar _t'3 tint) - (Econst_int (Int.repr 80000) tint) tint) - (Ssequence - (Ssequence - (Sset _t'1 (Evar _pool_index tint)) - (Sassign (Evar _pool_index tint) - (Ebinop Oadd (Etempvar _t'1 tint) - (Econst_int (Int.repr 1) tint) tint))) - (Sset _p - (Ebinop Oadd - (Evar _pool (tarray (Tstruct _cell noattr) 80000)) - (Etempvar _t'1 tint) (tptr (Tstruct _cell noattr))))) - (Sset _p (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid))))))) - (Sreturn (Some (Ecast (Etempvar _p (tptr (Tstruct _cell noattr))) - (tptr tvoid)))))) -|}. - -Definition f_free := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_p, (tptr tvoid)) :: nil); - fn_vars := nil; - fn_temps := ((_pp, (tptr (Tstruct _cell noattr))) :: - (_t'1, (tptr (Tstruct _cell noattr))) :: nil); - fn_body := -(Ssequence - (Sset _pp (Etempvar _p (tptr tvoid))) - (Ssequence - (Sifthenelse (Ebinop Oeq (Etempvar _pp (tptr (Tstruct _cell noattr))) - (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) - (Sreturn None) - Sskip) - (Ssequence - (Ssequence - (Sset _t'1 (Evar _freelist (tptr (Tstruct _cell noattr)))) - (Sassign - (Efield - (Ederef (Etempvar _pp (tptr (Tstruct _cell noattr))) - (Tstruct _cell noattr)) _a (tptr (Tstruct _cell noattr))) - (Etempvar _t'1 (tptr (Tstruct _cell noattr))))) - (Sassign (Evar _freelist (tptr (Tstruct _cell noattr))) - (Etempvar _pp (tptr (Tstruct _cell noattr))))))) -|}. - -Definition f_exit := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_n, tint) :: nil); - fn_vars := nil; - fn_temps := nil; - fn_body := -(Sloop Sskip Sskip) -|}. - -Definition composites : list composite_definition := -(Composite _cell Struct - (Member_plain _a (tptr (Tstruct _cell noattr)) :: - Member_plain _b (tptr (Tstruct _cell noattr)) :: - Member_plain _c (tptr (Tstruct _cell noattr)) :: - Member_plain _d (tptr (Tstruct _cell noattr)) :: nil) - noattr :: nil). - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_pool, Gvar v_pool) :: (_pool_index, Gvar v_pool_index) :: - (_freelist, Gvar v_freelist) :: (_malloc, Gfun(Internal f_malloc)) :: - (_free, Gfun(Internal f_free)) :: (_exit, Gfun(Internal f_exit)) :: nil). - -Definition public_idents : list ident := -(_exit :: _free :: _malloc :: _freelist :: _pool_index :: _pool :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stdlib32.v b/vc-current/stdlib32.v deleted file mode 100644 index 37d33bd15..000000000 --- a/vc-current/stdlib32.v +++ /dev/null @@ -1,392 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "stdlib.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _placeholder : ident := 40%positive. - -Definition f_placeholder := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := nil; - fn_body := -(Sreturn (Some (Econst_int (Int.repr 0) tint))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tuint Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_placeholder, Gfun(Internal f_placeholder)) :: nil). - -Definition public_idents : list ident := -(_placeholder :: _exit :: _free :: _malloc :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: - ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: - ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: - ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: - ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: - ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: - ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: - ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: - ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: - ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: - ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: - ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: - ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: - ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: - ___compcert_va_composite :: ___compcert_va_float64 :: - ___compcert_va_int64 :: ___compcert_va_int32 :: nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/stdlib64.v b/vc-current/stdlib64.v deleted file mode 100644 index 14c09b449..000000000 --- a/vc-current/stdlib64.v +++ /dev/null @@ -1,392 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "stdlib.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _placeholder : ident := 40%positive. - -Definition f_placeholder := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := nil; - fn_temps := nil; - fn_body := -(Sreturn (Some (Econst_int (Int.repr 0) tint))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_malloc, - Gfun(External EF_malloc (Tcons tulong Tnil) (tptr tvoid) cc_default)) :: - (_free, Gfun(External EF_free (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (_exit, - Gfun(External (EF_external "exit" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons tint Tnil) tvoid cc_default)) :: - (_placeholder, Gfun(Internal f_placeholder)) :: nil). - -Definition public_idents : list ident := -(_placeholder :: _exit :: _free :: _malloc :: ___builtin_debug :: - ___builtin_write32_reversed :: ___builtin_write16_reversed :: - ___builtin_read32_reversed :: ___builtin_read16_reversed :: - ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: - ___builtin_fmadd :: ___builtin_fmin :: ___builtin_fmax :: - ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: - ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: - ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: - ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: - ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: - ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: - ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: - ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: - ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: - ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: - ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: - ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: - ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: - ___compcert_va_composite :: ___compcert_va_float64 :: - ___compcert_va_int64 :: ___compcert_va_int32 :: nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/strlib.v b/vc-current/strlib.v index 041650db8..507d79ac4 100644 --- a/vc-current/strlib.v +++ b/vc-current/strlib.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "strlib.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 2%positive. Definition ___builtin_bswap16 : ident := 4%positive. Definition ___builtin_bswap32 : ident := 3%positive. Definition ___builtin_bswap64 : ident := 1%positive. +Definition ___builtin_cls : ident := 26%positive. +Definition ___builtin_clsl : ident := 27%positive. +Definition ___builtin_clsll : ident := 28%positive. Definition ___builtin_clz : ident := 5%positive. Definition ___builtin_clzl : ident := 6%positive. Definition ___builtin_clzll : ident := 7%positive. Definition ___builtin_ctz : ident := 8%positive. Definition ___builtin_ctzl : ident := 9%positive. Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. +Definition ___builtin_debug : ident := 35%positive. Definition ___builtin_expect : ident := 25%positive. Definition ___builtin_fabs : ident := 11%positive. Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. +Definition ___builtin_fmadd : ident := 29%positive. +Definition ___builtin_fmax : ident := 33%positive. +Definition ___builtin_fmin : ident := 34%positive. +Definition ___builtin_fmsub : ident := 30%positive. +Definition ___builtin_fnmadd : ident := 31%positive. +Definition ___builtin_fnmsub : ident := 32%positive. Definition ___builtin_fsqrt : ident := 13%positive. Definition ___builtin_membar : ident := 19%positive. Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. Definition ___builtin_sel : ident := 16%positive. Definition ___builtin_sqrt : ident := 14%positive. Definition ___builtin_unreachable : ident := 24%positive. @@ -53,50 +54,48 @@ Definition ___builtin_va_arg : ident := 21%positive. Definition ___builtin_va_copy : ident := 22%positive. Definition ___builtin_va_end : ident := 23%positive. Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 60%positive. -Definition ___compcert_i64_dtou : ident := 61%positive. -Definition ___compcert_i64_sar : ident := 72%positive. -Definition ___compcert_i64_sdiv : ident := 66%positive. -Definition ___compcert_i64_shl : ident := 70%positive. -Definition ___compcert_i64_shr : ident := 71%positive. -Definition ___compcert_i64_smod : ident := 68%positive. -Definition ___compcert_i64_smulh : ident := 73%positive. -Definition ___compcert_i64_stod : ident := 62%positive. -Definition ___compcert_i64_stof : ident := 64%positive. -Definition ___compcert_i64_udiv : ident := 67%positive. -Definition ___compcert_i64_umod : ident := 69%positive. -Definition ___compcert_i64_umulh : ident := 74%positive. -Definition ___compcert_i64_utod : ident := 63%positive. -Definition ___compcert_i64_utof : ident := 65%positive. -Definition ___compcert_va_composite : ident := 59%positive. -Definition ___compcert_va_float64 : ident := 58%positive. -Definition ___compcert_va_int32 : ident := 56%positive. -Definition ___compcert_va_int64 : ident := 57%positive. -Definition ___stringlit_1 : ident := 54%positive. -Definition _buf : ident := 53%positive. -Definition _c : ident := 40%positive. -Definition _d : ident := 41%positive. -Definition _d1 : ident := 50%positive. -Definition _d2 : ident := 51%positive. -Definition _dest : ident := 43%positive. -Definition _example_call_strcpy : ident := 55%positive. -Definition _i : ident := 38%positive. -Definition _j : ident := 46%positive. -Definition _main : ident := 75%positive. -Definition _src : ident := 44%positive. -Definition _str : ident := 37%positive. -Definition _str1 : ident := 48%positive. -Definition _str2 : ident := 49%positive. -Definition _strcat : ident := 47%positive. -Definition _strchr : ident := 42%positive. -Definition _strcmp : ident := 52%positive. -Definition _strcpy : ident := 45%positive. -Definition _strlen : ident := 39%positive. -Definition _t'1 : ident := 76%positive. -Definition _t'2 : ident := 77%positive. -Definition _t'3 : ident := 78%positive. +Definition ___compcert_i64_dtos : ident := 59%positive. +Definition ___compcert_i64_dtou : ident := 60%positive. +Definition ___compcert_i64_sar : ident := 71%positive. +Definition ___compcert_i64_sdiv : ident := 65%positive. +Definition ___compcert_i64_shl : ident := 69%positive. +Definition ___compcert_i64_shr : ident := 70%positive. +Definition ___compcert_i64_smod : ident := 67%positive. +Definition ___compcert_i64_smulh : ident := 72%positive. +Definition ___compcert_i64_stod : ident := 61%positive. +Definition ___compcert_i64_stof : ident := 63%positive. +Definition ___compcert_i64_udiv : ident := 66%positive. +Definition ___compcert_i64_umod : ident := 68%positive. +Definition ___compcert_i64_umulh : ident := 73%positive. +Definition ___compcert_i64_utod : ident := 62%positive. +Definition ___compcert_i64_utof : ident := 64%positive. +Definition ___compcert_va_composite : ident := 58%positive. +Definition ___compcert_va_float64 : ident := 57%positive. +Definition ___compcert_va_int32 : ident := 55%positive. +Definition ___compcert_va_int64 : ident := 56%positive. +Definition ___stringlit_1 : ident := 53%positive. +Definition _buf : ident := 52%positive. +Definition _c : ident := 39%positive. +Definition _d : ident := 40%positive. +Definition _d1 : ident := 49%positive. +Definition _d2 : ident := 50%positive. +Definition _dest : ident := 42%positive. +Definition _example_call_strcpy : ident := 54%positive. +Definition _i : ident := 37%positive. +Definition _j : ident := 45%positive. +Definition _main : ident := 74%positive. +Definition _src : ident := 43%positive. +Definition _str : ident := 36%positive. +Definition _str1 : ident := 47%positive. +Definition _str2 : ident := 48%positive. +Definition _strcat : ident := 46%positive. +Definition _strchr : ident := 41%positive. +Definition _strcmp : ident := 51%positive. +Definition _strcpy : ident := 44%positive. +Definition _strlen : ident := 38%positive. +Definition _t'1 : ident := 75%positive. +Definition _t'2 : ident := 76%positive. +Definition _t'3 : ident := 77%positive. Definition v___stringlit_1 := {| gvar_info := (tarray tschar 6); @@ -315,7 +314,7 @@ Definition f_example_call_strcpy := {| fn_body := (Ssequence (Scall None - (Evar _strcpy (Tfunction (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) + (Evar _strcpy (Tfunction ((tptr tschar) :: (tptr tschar) :: nil) (tptr tschar) cc_default)) ((Evar _buf (tarray tschar 10)) :: (Evar ___stringlit_1 (tarray tschar 6)) :: nil)) @@ -333,264 +332,246 @@ nil. Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___stringlit_1, Gvar v___stringlit_1) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (_strlen, Gfun(Internal f_strlen)) :: (_strchr, Gfun(Internal f_strchr)) :: (_strcpy, Gfun(Internal f_strcpy)) :: (_strcat, Gfun(Internal f_strcat)) :: @@ -599,29 +580,26 @@ Definition global_definitions : list (ident * globdef fundef type) := Definition public_idents : list ident := (_example_call_strcpy :: _strcmp :: _strcat :: _strcpy :: _strchr :: - _strlen :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). + _strlen :: ___builtin_debug :: ___builtin_fmin :: ___builtin_fmax :: + ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: + ___builtin_fmadd :: ___builtin_clsll :: ___builtin_clsl :: ___builtin_cls :: + ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: + ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: + ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: + ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: + ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: + ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: + ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: + ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: + ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: + ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: + ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: + ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: + ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: + ___compcert_va_composite :: ___compcert_va_float64 :: + ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/strlib32.v b/vc-current/strlib32.v deleted file mode 100644 index 6526a08de..000000000 --- a/vc-current/strlib32.v +++ /dev/null @@ -1,621 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "strlib.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 60%positive. -Definition ___compcert_i64_dtou : ident := 61%positive. -Definition ___compcert_i64_sar : ident := 72%positive. -Definition ___compcert_i64_sdiv : ident := 66%positive. -Definition ___compcert_i64_shl : ident := 70%positive. -Definition ___compcert_i64_shr : ident := 71%positive. -Definition ___compcert_i64_smod : ident := 68%positive. -Definition ___compcert_i64_smulh : ident := 73%positive. -Definition ___compcert_i64_stod : ident := 62%positive. -Definition ___compcert_i64_stof : ident := 64%positive. -Definition ___compcert_i64_udiv : ident := 67%positive. -Definition ___compcert_i64_umod : ident := 69%positive. -Definition ___compcert_i64_umulh : ident := 74%positive. -Definition ___compcert_i64_utod : ident := 63%positive. -Definition ___compcert_i64_utof : ident := 65%positive. -Definition ___compcert_va_composite : ident := 59%positive. -Definition ___compcert_va_float64 : ident := 58%positive. -Definition ___compcert_va_int32 : ident := 56%positive. -Definition ___compcert_va_int64 : ident := 57%positive. -Definition ___stringlit_1 : ident := 54%positive. -Definition _buf : ident := 53%positive. -Definition _c : ident := 40%positive. -Definition _d : ident := 41%positive. -Definition _d1 : ident := 50%positive. -Definition _d2 : ident := 51%positive. -Definition _dest : ident := 43%positive. -Definition _example_call_strcpy : ident := 55%positive. -Definition _i : ident := 38%positive. -Definition _j : ident := 46%positive. -Definition _main : ident := 75%positive. -Definition _src : ident := 44%positive. -Definition _str : ident := 37%positive. -Definition _str1 : ident := 48%positive. -Definition _str2 : ident := 49%positive. -Definition _strcat : ident := 47%positive. -Definition _strchr : ident := 42%positive. -Definition _strcmp : ident := 52%positive. -Definition _strcpy : ident := 45%positive. -Definition _strlen : ident := 39%positive. -Definition _t'1 : ident := 76%positive. -Definition _t'2 : ident := 77%positive. -Definition _t'3 : ident := 78%positive. - -Definition v___stringlit_1 := {| - gvar_info := (tarray tschar 6); - gvar_init := (Init_int8 (Int.repr 72) :: Init_int8 (Int.repr 101) :: - Init_int8 (Int.repr 108) :: Init_int8 (Int.repr 108) :: - Init_int8 (Int.repr 111) :: Init_int8 (Int.repr 0) :: nil); - gvar_readonly := true; - gvar_volatile := false -|}. - -Definition f_strlen := {| - fn_return := tuint; - fn_callconv := cc_default; - fn_params := ((_str, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tuint) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _str (tptr tschar)) (Etempvar _i tuint) - (tptr tschar)) tschar)) - (Sifthenelse (Ebinop Oeq (Etempvar _t'1 tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Etempvar _i tuint))) - Sskip))) - (Sset _i - (Ebinop Oadd (Etempvar _i tuint) (Econst_int (Int.repr 1) tint) tuint)))) -|}. - -Definition f_strchr := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_str, (tptr tschar)) :: (_c, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tuint) :: (_d, tschar) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _str (tptr tschar)) (Etempvar _i tuint) - (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'1 tschar) tschar))) - (Ssequence - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) (Etempvar _c tint) - tint) - (Sreturn (Some (Ebinop Oadd (Etempvar _str (tptr tschar)) - (Etempvar _i tuint) (tptr tschar)))) - Sskip) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Econst_int (Int.repr 0) tint))) - Sskip)))) - (Sset _i - (Ebinop Oadd (Etempvar _i tuint) (Econst_int (Int.repr 1) tint) tuint)))) -|}. - -Definition f_strcpy := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_dest, (tptr tschar)) :: (_src, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tuint) :: (_d, tschar) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _src (tptr tschar)) (Etempvar _i tuint) - (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'1 tschar) tschar))) - (Ssequence - (Sassign - (Ederef - (Ebinop Oadd (Etempvar _dest (tptr tschar)) (Etempvar _i tuint) - (tptr tschar)) tschar) (Etempvar _d tschar)) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Etempvar _dest (tptr tschar)))) - Sskip)))) - (Sset _i - (Ebinop Oadd (Etempvar _i tuint) (Econst_int (Int.repr 1) tint) tuint)))) -|}. - -Definition f_strcat := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_dest, (tptr tschar)) :: (_src, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tuint) :: (_j, tuint) :: (_d, tschar) :: - (_t'2, tschar) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'2 - (Ederef - (Ebinop Oadd (Etempvar _dest (tptr tschar)) - (Etempvar _i tuint) (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'2 tschar) tschar))) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - Sbreak - Sskip))) - (Sset _i - (Ebinop Oadd (Etempvar _i tuint) (Econst_int (Int.repr 1) tint) - tuint)))) - (Ssequence - (Sset _j (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _src (tptr tschar)) - (Etempvar _j tuint) (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'1 tschar) tschar))) - (Ssequence - (Sassign - (Ederef - (Ebinop Oadd (Etempvar _dest (tptr tschar)) - (Ebinop Oadd (Etempvar _i tuint) (Etempvar _j tuint) tuint) - (tptr tschar)) tschar) (Etempvar _d tschar)) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Etempvar _dest (tptr tschar)))) - Sskip)))) - (Sset _j - (Ebinop Oadd (Etempvar _j tuint) (Econst_int (Int.repr 1) tint) - tuint))))) -|}. - -Definition f_strcmp := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_str1, (tptr tschar)) :: (_str2, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tuint) :: (_d1, tschar) :: (_d2, tschar) :: - (_t'1, tint) :: (_t'3, tschar) :: (_t'2, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'3 - (Ederef - (Ebinop Oadd (Etempvar _str1 (tptr tschar)) (Etempvar _i tuint) - (tptr tschar)) tschar)) - (Sset _d1 (Ecast (Etempvar _t'3 tschar) tschar))) - (Ssequence - (Ssequence - (Sset _t'2 - (Ederef - (Ebinop Oadd (Etempvar _str2 (tptr tschar)) - (Etempvar _i tuint) (tptr tschar)) tschar)) - (Sset _d2 (Ecast (Etempvar _t'2 tschar) tschar))) - (Ssequence - (Sifthenelse (Ebinop Oeq (Etempvar _d1 tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sset _t'1 - (Ecast - (Ebinop Oeq (Etempvar _d2 tschar) - (Econst_int (Int.repr 0) tint) tint) tbool)) - (Sset _t'1 (Econst_int (Int.repr 0) tint))) - (Sifthenelse (Etempvar _t'1 tint) - (Sreturn (Some (Econst_int (Int.repr 0) tint))) - (Sifthenelse (Ebinop Olt (Etempvar _d1 tschar) - (Etempvar _d2 tschar) tint) - (Sreturn (Some (Eunop Oneg (Econst_int (Int.repr 1) tint) - tint))) - (Sifthenelse (Ebinop Ogt (Etempvar _d1 tschar) - (Etempvar _d2 tschar) tint) - (Sreturn (Some (Econst_int (Int.repr 1) tint))) - Sskip))))))) - (Sset _i - (Ebinop Oadd (Etempvar _i tuint) (Econst_int (Int.repr 1) tint) tuint)))) -|}. - -Definition f_example_call_strcpy := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := ((_buf, (tarray tschar 10)) :: nil); - fn_temps := ((_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Scall None - (Evar _strcpy (Tfunction (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) - (tptr tschar) cc_default)) - ((Evar _buf (tarray tschar 10)) :: - (Evar ___stringlit_1 (tarray tschar 6)) :: nil)) - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Evar _buf (tarray tschar 10)) - (Econst_int (Int.repr 0) tint) (tptr tschar)) tschar)) - (Sreturn (Some (Etempvar _t'1 tschar))))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: (___stringlit_1, Gvar v___stringlit_1) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_strlen, Gfun(Internal f_strlen)) :: (_strchr, Gfun(Internal f_strchr)) :: - (_strcpy, Gfun(Internal f_strcpy)) :: (_strcat, Gfun(Internal f_strcat)) :: - (_strcmp, Gfun(Internal f_strcmp)) :: - (_example_call_strcpy, Gfun(Internal f_example_call_strcpy)) :: nil). - -Definition public_idents : list ident := -(_example_call_strcpy :: _strcmp :: _strcat :: _strcpy :: _strchr :: - _strlen :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/strlib64.v b/vc-current/strlib64.v deleted file mode 100644 index 9d7be2d39..000000000 --- a/vc-current/strlib64.v +++ /dev/null @@ -1,626 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "strlib.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 60%positive. -Definition ___compcert_i64_dtou : ident := 61%positive. -Definition ___compcert_i64_sar : ident := 72%positive. -Definition ___compcert_i64_sdiv : ident := 66%positive. -Definition ___compcert_i64_shl : ident := 70%positive. -Definition ___compcert_i64_shr : ident := 71%positive. -Definition ___compcert_i64_smod : ident := 68%positive. -Definition ___compcert_i64_smulh : ident := 73%positive. -Definition ___compcert_i64_stod : ident := 62%positive. -Definition ___compcert_i64_stof : ident := 64%positive. -Definition ___compcert_i64_udiv : ident := 67%positive. -Definition ___compcert_i64_umod : ident := 69%positive. -Definition ___compcert_i64_umulh : ident := 74%positive. -Definition ___compcert_i64_utod : ident := 63%positive. -Definition ___compcert_i64_utof : ident := 65%positive. -Definition ___compcert_va_composite : ident := 59%positive. -Definition ___compcert_va_float64 : ident := 58%positive. -Definition ___compcert_va_int32 : ident := 56%positive. -Definition ___compcert_va_int64 : ident := 57%positive. -Definition ___stringlit_1 : ident := 54%positive. -Definition _buf : ident := 53%positive. -Definition _c : ident := 40%positive. -Definition _d : ident := 41%positive. -Definition _d1 : ident := 50%positive. -Definition _d2 : ident := 51%positive. -Definition _dest : ident := 43%positive. -Definition _example_call_strcpy : ident := 55%positive. -Definition _i : ident := 38%positive. -Definition _j : ident := 46%positive. -Definition _main : ident := 75%positive. -Definition _src : ident := 44%positive. -Definition _str : ident := 37%positive. -Definition _str1 : ident := 48%positive. -Definition _str2 : ident := 49%positive. -Definition _strcat : ident := 47%positive. -Definition _strchr : ident := 42%positive. -Definition _strcmp : ident := 52%positive. -Definition _strcpy : ident := 45%positive. -Definition _strlen : ident := 39%positive. -Definition _t'1 : ident := 76%positive. -Definition _t'2 : ident := 77%positive. -Definition _t'3 : ident := 78%positive. - -Definition v___stringlit_1 := {| - gvar_info := (tarray tschar 6); - gvar_init := (Init_int8 (Int.repr 72) :: Init_int8 (Int.repr 101) :: - Init_int8 (Int.repr 108) :: Init_int8 (Int.repr 108) :: - Init_int8 (Int.repr 111) :: Init_int8 (Int.repr 0) :: nil); - gvar_readonly := true; - gvar_volatile := false -|}. - -Definition f_strlen := {| - fn_return := tulong; - fn_callconv := cc_default; - fn_params := ((_str, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tulong) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Ecast (Econst_int (Int.repr 0) tint) tulong)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _str (tptr tschar)) (Etempvar _i tulong) - (tptr tschar)) tschar)) - (Sifthenelse (Ebinop Oeq (Etempvar _t'1 tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Etempvar _i tulong))) - Sskip))) - (Sset _i - (Ebinop Oadd (Etempvar _i tulong) (Econst_int (Int.repr 1) tint) - tulong)))) -|}. - -Definition f_strchr := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_str, (tptr tschar)) :: (_c, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tulong) :: (_d, tschar) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Ecast (Econst_int (Int.repr 0) tint) tulong)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _str (tptr tschar)) (Etempvar _i tulong) - (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'1 tschar) tschar))) - (Ssequence - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) (Etempvar _c tint) - tint) - (Sreturn (Some (Ebinop Oadd (Etempvar _str (tptr tschar)) - (Etempvar _i tulong) (tptr tschar)))) - Sskip) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Econst_int (Int.repr 0) tint))) - Sskip)))) - (Sset _i - (Ebinop Oadd (Etempvar _i tulong) (Econst_int (Int.repr 1) tint) - tulong)))) -|}. - -Definition f_strcpy := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_dest, (tptr tschar)) :: (_src, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tulong) :: (_d, tschar) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Ecast (Econst_int (Int.repr 0) tint) tulong)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _src (tptr tschar)) (Etempvar _i tulong) - (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'1 tschar) tschar))) - (Ssequence - (Sassign - (Ederef - (Ebinop Oadd (Etempvar _dest (tptr tschar)) - (Etempvar _i tulong) (tptr tschar)) tschar) - (Etempvar _d tschar)) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Etempvar _dest (tptr tschar)))) - Sskip)))) - (Sset _i - (Ebinop Oadd (Etempvar _i tulong) (Econst_int (Int.repr 1) tint) - tulong)))) -|}. - -Definition f_strcat := {| - fn_return := (tptr tschar); - fn_callconv := cc_default; - fn_params := ((_dest, (tptr tschar)) :: (_src, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tulong) :: (_j, tulong) :: (_d, tschar) :: - (_t'2, tschar) :: (_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Ssequence - (Sset _i (Ecast (Econst_int (Int.repr 0) tint) tulong)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'2 - (Ederef - (Ebinop Oadd (Etempvar _dest (tptr tschar)) - (Etempvar _i tulong) (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'2 tschar) tschar))) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - Sbreak - Sskip))) - (Sset _i - (Ebinop Oadd (Etempvar _i tulong) (Econst_int (Int.repr 1) tint) - tulong)))) - (Ssequence - (Sset _j (Ecast (Econst_int (Int.repr 0) tint) tulong)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Etempvar _src (tptr tschar)) - (Etempvar _j tulong) (tptr tschar)) tschar)) - (Sset _d (Ecast (Etempvar _t'1 tschar) tschar))) - (Ssequence - (Sassign - (Ederef - (Ebinop Oadd (Etempvar _dest (tptr tschar)) - (Ebinop Oadd (Etempvar _i tulong) (Etempvar _j tulong) - tulong) (tptr tschar)) tschar) (Etempvar _d tschar)) - (Sifthenelse (Ebinop Oeq (Etempvar _d tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sreturn (Some (Etempvar _dest (tptr tschar)))) - Sskip)))) - (Sset _j - (Ebinop Oadd (Etempvar _j tulong) (Econst_int (Int.repr 1) tint) - tulong))))) -|}. - -Definition f_strcmp := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_str1, (tptr tschar)) :: (_str2, (tptr tschar)) :: nil); - fn_vars := nil; - fn_temps := ((_i, tulong) :: (_d1, tschar) :: (_d2, tschar) :: - (_t'1, tint) :: (_t'3, tschar) :: (_t'2, tschar) :: nil); - fn_body := -(Ssequence - (Sset _i (Ecast (Econst_int (Int.repr 0) tint) tulong)) - (Sloop - (Ssequence - Sskip - (Ssequence - (Ssequence - (Sset _t'3 - (Ederef - (Ebinop Oadd (Etempvar _str1 (tptr tschar)) - (Etempvar _i tulong) (tptr tschar)) tschar)) - (Sset _d1 (Ecast (Etempvar _t'3 tschar) tschar))) - (Ssequence - (Ssequence - (Sset _t'2 - (Ederef - (Ebinop Oadd (Etempvar _str2 (tptr tschar)) - (Etempvar _i tulong) (tptr tschar)) tschar)) - (Sset _d2 (Ecast (Etempvar _t'2 tschar) tschar))) - (Ssequence - (Sifthenelse (Ebinop Oeq (Etempvar _d1 tschar) - (Econst_int (Int.repr 0) tint) tint) - (Sset _t'1 - (Ecast - (Ebinop Oeq (Etempvar _d2 tschar) - (Econst_int (Int.repr 0) tint) tint) tbool)) - (Sset _t'1 (Econst_int (Int.repr 0) tint))) - (Sifthenelse (Etempvar _t'1 tint) - (Sreturn (Some (Econst_int (Int.repr 0) tint))) - (Sifthenelse (Ebinop Olt (Etempvar _d1 tschar) - (Etempvar _d2 tschar) tint) - (Sreturn (Some (Eunop Oneg (Econst_int (Int.repr 1) tint) - tint))) - (Sifthenelse (Ebinop Ogt (Etempvar _d1 tschar) - (Etempvar _d2 tschar) tint) - (Sreturn (Some (Econst_int (Int.repr 1) tint))) - Sskip))))))) - (Sset _i - (Ebinop Oadd (Etempvar _i tulong) (Econst_int (Int.repr 1) tint) - tulong)))) -|}. - -Definition f_example_call_strcpy := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := nil; - fn_vars := ((_buf, (tarray tschar 10)) :: nil); - fn_temps := ((_t'1, tschar) :: nil); - fn_body := -(Ssequence - (Scall None - (Evar _strcpy (Tfunction (Tcons (tptr tschar) (Tcons (tptr tschar) Tnil)) - (tptr tschar) cc_default)) - ((Evar _buf (tarray tschar 10)) :: - (Evar ___stringlit_1 (tarray tschar 6)) :: nil)) - (Ssequence - (Sset _t'1 - (Ederef - (Ebinop Oadd (Evar _buf (tarray tschar 10)) - (Econst_int (Int.repr 0) tint) (tptr tschar)) tschar)) - (Sreturn (Some (Etempvar _t'1 tschar))))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: (___stringlit_1, Gvar v___stringlit_1) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_strlen, Gfun(Internal f_strlen)) :: (_strchr, Gfun(Internal f_strchr)) :: - (_strcpy, Gfun(Internal f_strcpy)) :: (_strcat, Gfun(Internal f_strcat)) :: - (_strcmp, Gfun(Internal f_strcmp)) :: - (_example_call_strcpy, Gfun(Internal f_example_call_strcpy)) :: nil). - -Definition public_idents : list ident := -(_example_call_strcpy :: _strcmp :: _strcat :: _strcpy :: _strchr :: - _strlen :: ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/sumarray.c b/vc-current/sumarray.c index abbe7ea1c..89c835a17 100644 --- a/vc-current/sumarray.c +++ b/vc-current/sumarray.c @@ -1,21 +1,21 @@ -#include - -unsigned sumarray(unsigned a[], int n) { - int i; unsigned s; - i=0; - s=0; - while (i + +unsigned sumarray(unsigned a[], int n) { + int i; unsigned s; + i=0; + s=0; + while (iPreface

      • System Requirements
      • -
      • Downloading the Coq Files +
      • Downloading the Rocq Files
      • Installation @@ -696,7 +696,7 @@

        Bibliography    (Bib)

      - +
      This page has been generated by coqdoc diff --git a/vc-current/triang2.v b/vc-current/triang2.v index 40c0ea9d8..26b4a60bc 100644 --- a/vc-current/triang2.v +++ b/vc-current/triang2.v @@ -1,4 +1,4 @@ -From Coq Require Import String List ZArith. +From Stdlib Require Import String List ZArith. From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. Import Clightdefs.ClightNotations. Local Open Scope Z_scope. @@ -6,13 +6,13 @@ Local Open Scope string_scope. Local Open Scope clight_scope. Module Info. - Definition version := "3.10". + Definition version := "3.16". Definition build_number := "". Definition build_tag := "". Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". + Definition arch := "aarch64". + Definition model := "default". + Definition abi := "apple". Definition bitsize := 64. Definition big_endian := false. Definition source_file := "triang2.c". @@ -25,27 +25,28 @@ Definition ___builtin_bswap : ident := 2%positive. Definition ___builtin_bswap16 : ident := 4%positive. Definition ___builtin_bswap32 : ident := 3%positive. Definition ___builtin_bswap64 : ident := 1%positive. +Definition ___builtin_cls : ident := 26%positive. +Definition ___builtin_clsl : ident := 27%positive. +Definition ___builtin_clsll : ident := 28%positive. Definition ___builtin_clz : ident := 5%positive. Definition ___builtin_clzl : ident := 6%positive. Definition ___builtin_clzll : ident := 7%positive. Definition ___builtin_ctz : ident := 8%positive. Definition ___builtin_ctzl : ident := 9%positive. Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. +Definition ___builtin_debug : ident := 35%positive. Definition ___builtin_expect : ident := 25%positive. Definition ___builtin_fabs : ident := 11%positive. Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. +Definition ___builtin_fmadd : ident := 29%positive. +Definition ___builtin_fmax : ident := 33%positive. +Definition ___builtin_fmin : ident := 34%positive. +Definition ___builtin_fmsub : ident := 30%positive. +Definition ___builtin_fnmadd : ident := 31%positive. +Definition ___builtin_fnmsub : ident := 32%positive. Definition ___builtin_fsqrt : ident := 13%positive. Definition ___builtin_membar : ident := 19%positive. Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. Definition ___builtin_sel : ident := 16%positive. Definition ___builtin_sqrt : ident := 14%positive. Definition ___builtin_unreachable : ident := 24%positive. @@ -53,62 +54,60 @@ Definition ___builtin_va_arg : ident := 21%positive. Definition ___builtin_va_copy : ident := 22%positive. Definition ___builtin_va_end : ident := 23%positive. Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. +Definition ___compcert_i64_dtos : ident := 44%positive. +Definition ___compcert_i64_dtou : ident := 45%positive. +Definition ___compcert_i64_sar : ident := 56%positive. +Definition ___compcert_i64_sdiv : ident := 50%positive. +Definition ___compcert_i64_shl : ident := 54%positive. +Definition ___compcert_i64_shr : ident := 55%positive. +Definition ___compcert_i64_smod : ident := 52%positive. +Definition ___compcert_i64_smulh : ident := 57%positive. +Definition ___compcert_i64_stod : ident := 46%positive. +Definition ___compcert_i64_stof : ident := 48%positive. +Definition ___compcert_i64_udiv : ident := 51%positive. +Definition ___compcert_i64_umod : ident := 53%positive. +Definition ___compcert_i64_umulh : ident := 58%positive. +Definition ___compcert_i64_utod : ident := 47%positive. +Definition ___compcert_i64_utof : ident := 49%positive. +Definition ___compcert_va_composite : ident := 43%positive. +Definition ___compcert_va_float64 : ident := 42%positive. +Definition ___compcert_va_int32 : ident := 40%positive. +Definition ___compcert_va_int64 : ident := 41%positive. Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. +Definition _b : ident := 62%positive. +Definition _c : ident := 63%positive. +Definition _cell : ident := 60%positive. +Definition _cons : ident := 71%positive. +Definition _d : ident := 64%positive. +Definition _exit : ident := 38%positive. +Definition _free : ident := 37%positive. +Definition _freelist : ident := 67%positive. +Definition _i : ident := 78%positive. +Definition _main : ident := 59%positive. +Definition _malloc : ident := 36%positive. +Definition _n : ident := 68%positive. +Definition _newstack : ident := 77%positive. Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pop_and_add : ident := 87%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _push_increasing : ident := 84%positive. -Definition _q : ident := 80%positive. -Definition _s : ident := 86%positive. -Definition _st : ident := 83%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _t : ident := 85%positive. +Definition _p : ident := 69%positive. +Definition _placeholder : ident := 39%positive. +Definition _pool : ident := 65%positive. +Definition _pool_index : ident := 66%positive. +Definition _pop : ident := 81%positive. +Definition _pop_and_add : ident := 86%positive. +Definition _pp : ident := 70%positive. +Definition _push : ident := 80%positive. +Definition _push_increasing : ident := 83%positive. +Definition _q : ident := 79%positive. +Definition _s : ident := 85%positive. +Definition _st : ident := 82%positive. +Definition _stack : ident := 74%positive. +Definition _surely_malloc : ident := 76%positive. +Definition _t : ident := 84%positive. Definition _top : ident := 75%positive. -Definition _triang : ident := 88%positive. +Definition _triang : ident := 87%positive. Definition _value : ident := 72%positive. -Definition _t'1 : ident := 89%positive. -Definition _t'2 : ident := 90%positive. +Definition _t'1 : ident := 88%positive. +Definition _t'2 : ident := 89%positive. Definition f_push_increasing := {| fn_return := tvoid; @@ -126,8 +125,8 @@ Definition f_push_increasing := {| (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) tint)) (Scall None (Evar _push (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) + ((tptr (Tstruct _stack noattr)) :: tint :: nil) tvoid + cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Etempvar _i tint) :: nil))))) |}. @@ -149,9 +148,8 @@ Definition f_pop_and_add := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _pop (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint - cc_default)) + (Evar _pop (Tfunction ((tptr (Tstruct _stack noattr)) :: nil) + tint cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: nil)) (Sset _t (Etempvar _t'1 tint))) (Ssequence @@ -175,22 +173,22 @@ Definition f_triang := {| (Ssequence (Ssequence (Scall (Some _t'1) - (Evar _newstack (Tfunction Tnil (tptr (Tstruct _stack noattr)) + (Evar _newstack (Tfunction nil (tptr (Tstruct _stack noattr)) cc_default)) nil) (Sset _st (Etempvar _t'1 (tptr (Tstruct _stack noattr))))) (Ssequence (Scall None (Evar _push_increasing (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) + ((tptr (Tstruct _stack noattr)) :: tint :: + nil) tvoid cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Etempvar _n tint) :: nil)) (Ssequence (Ssequence (Scall (Some _t'2) (Evar _pop_and_add (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tint cc_default)) + ((tptr (Tstruct _stack noattr)) :: tint :: + nil) tint cc_default)) ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Etempvar _n tint) :: nil)) (Sset _s (Etempvar _t'2 tint))) @@ -203,308 +201,286 @@ nil. Definition global_definitions : list (ident * globdef fundef type) := ((___compcert_va_int32, Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr tvoid) :: nil) tuint cc_default)) :: (___compcert_va_int64, Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xlong cc_default)) + ((tptr tvoid) :: nil) tulong cc_default)) :: (___compcert_va_float64, Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xfloat cc_default)) + ((tptr tvoid) :: nil) tdouble cc_default)) :: (___compcert_va_composite, Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) + (mksignature (AST.Xptr :: AST.Xlong :: nil) AST.Xptr + cc_default)) ((tptr tvoid) :: tulong :: nil) (tptr tvoid) cc_default)) :: (___compcert_i64_dtos, Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tlong cc_default)) :: (___compcert_i64_dtou, Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xlong cc_default)) + (tdouble :: nil) tulong cc_default)) :: (___compcert_i64_stod, Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tlong :: nil) tdouble cc_default)) :: (___compcert_i64_utod, Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xfloat cc_default)) + (tulong :: nil) tdouble cc_default)) :: (___compcert_i64_stof, Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tlong :: nil) tfloat cc_default)) :: (___compcert_i64_utof, Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xsingle cc_default)) + (tulong :: nil) tfloat cc_default)) :: (___compcert_i64_sdiv, Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_udiv, Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_smod, Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umod, Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___compcert_i64_shl, Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_shr, Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tulong :: tint :: nil) tulong cc_default)) :: (___compcert_i64_sar, Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xint :: nil) AST.Xlong + cc_default)) (tlong :: tint :: nil) tlong cc_default)) :: (___compcert_i64_smulh, Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: (___compcert_i64_umulh, Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tulong :: tulong :: nil) tulong cc_default)) :: (___builtin_bswap64, Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xlong cc_default)) + (tulong :: nil) tulong cc_default)) :: (___builtin_bswap, Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap32, Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tuint cc_default)) :: (___builtin_bswap16, Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: + (mksignature (AST.Xint16unsigned :: nil) + AST.Xint16unsigned cc_default)) (tushort :: nil) tushort + cc_default)) :: (___builtin_clz, Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_clzl, Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_clzll, Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctz, Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tuint :: nil) tint cc_default)) :: (___builtin_ctzl, Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_ctzll, Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tulong :: nil) tint cc_default)) :: (___builtin_fabs, Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_fabsf, Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: + (mksignature (AST.Xsingle :: nil) AST.Xsingle cc_default)) + (tfloat :: nil) tfloat cc_default)) :: (___builtin_fsqrt, Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_sqrt, Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: + (mksignature (AST.Xfloat :: nil) AST.Xfloat cc_default)) + (tdouble :: nil) tdouble cc_default)) :: (___builtin_memcpy_aligned, Gfun(External (EF_builtin "__builtin_memcpy_aligned" (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid + (AST.Xptr :: AST.Xptr :: AST.Xlong :: AST.Xlong :: nil) + AST.Xvoid cc_default)) + ((tptr tvoid) :: (tptr tvoid) :: tulong :: tulong :: nil) tvoid cc_default)) :: (___builtin_sel, Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xbool :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid + (tbool :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot, Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid + (mksignature (AST.Xptr :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid + ((tptr tschar) :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (___builtin_annot_intval, Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xint + cc_default)) ((tptr tschar) :: tint :: nil) tint + cc_default)) :: (___builtin_membar, Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_va_start, Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_va_arg, Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: tuint :: nil) tvoid + cc_default)) :: (___builtin_va_copy, Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: + (mksignature (AST.Xptr :: AST.Xptr :: nil) AST.Xvoid + cc_default)) ((tptr tvoid) :: (tptr tvoid) :: nil) tvoid + cc_default)) :: (___builtin_va_end, Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xvoid cc_default)) + ((tptr tvoid) :: nil) tvoid cc_default)) :: (___builtin_unreachable, Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid + (mksignature nil AST.Xvoid cc_default)) nil tvoid cc_default)) :: (___builtin_expect, Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: + (mksignature (AST.Xlong :: AST.Xlong :: nil) AST.Xlong + cc_default)) (tlong :: tlong :: nil) tlong cc_default)) :: + (___builtin_cls, + Gfun(External (EF_builtin "__builtin_cls" + (mksignature (AST.Xint :: nil) AST.Xint cc_default)) + (tint :: nil) tint cc_default)) :: + (___builtin_clsl, + Gfun(External (EF_builtin "__builtin_clsl" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: + (___builtin_clsll, + Gfun(External (EF_builtin "__builtin_clsll" + (mksignature (AST.Xlong :: nil) AST.Xint cc_default)) + (tlong :: nil) tint cc_default)) :: (___builtin_fmadd, Gfun(External (EF_builtin "__builtin_fmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fmsub, Gfun(External (EF_builtin "__builtin_fmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmadd, Gfun(External (EF_builtin "__builtin_fnmadd" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: (___builtin_fnmsub, Gfun(External (EF_builtin "__builtin_fnmsub" (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble + (AST.Xfloat :: AST.Xfloat :: AST.Xfloat :: nil) + AST.Xfloat cc_default)) + (tdouble :: tdouble :: tdouble :: nil) tdouble cc_default)) :: + (___builtin_fmax, + Gfun(External (EF_builtin "__builtin_fmax" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort + (___builtin_fmin, + Gfun(External (EF_builtin "__builtin_fmin" + (mksignature (AST.Xfloat :: AST.Xfloat :: nil) AST.Xfloat + cc_default)) (tdouble :: tdouble :: nil) tdouble cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: (___builtin_debug, Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xint :: nil) AST.Xvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid + (tint :: nil) tvoid {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: (_newstack, Gfun(External (EF_external "newstack" - (mksignature nil AST.Tlong cc_default)) Tnil + (mksignature nil AST.Xptr cc_default)) nil (tptr (Tstruct _stack noattr)) cc_default)) :: (_push, Gfun(External (EF_external "push" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid + (mksignature (AST.Xptr :: AST.Xint :: nil) AST.Xvoid cc_default)) - (Tcons (tptr (Tstruct _stack noattr)) (Tcons tint Tnil)) tvoid - cc_default)) :: + ((tptr (Tstruct _stack noattr)) :: tint :: nil) tvoid cc_default)) :: (_pop, Gfun(External (EF_external "pop" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint cc_default)) :: + (mksignature (AST.Xptr :: nil) AST.Xint cc_default)) + ((tptr (Tstruct _stack noattr)) :: nil) tint cc_default)) :: (_push_increasing, Gfun(Internal f_push_increasing)) :: (_pop_and_add, Gfun(Internal f_pop_and_add)) :: (_triang, Gfun(Internal f_triang)) :: nil). Definition public_idents : list ident := (_triang :: _pop_and_add :: _push_increasing :: _pop :: _push :: _newstack :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). + ___builtin_debug :: ___builtin_fmin :: ___builtin_fmax :: + ___builtin_fnmsub :: ___builtin_fnmadd :: ___builtin_fmsub :: + ___builtin_fmadd :: ___builtin_clsll :: ___builtin_clsl :: ___builtin_cls :: + ___builtin_expect :: ___builtin_unreachable :: ___builtin_va_end :: + ___builtin_va_copy :: ___builtin_va_arg :: ___builtin_va_start :: + ___builtin_membar :: ___builtin_annot_intval :: ___builtin_annot :: + ___builtin_sel :: ___builtin_memcpy_aligned :: ___builtin_sqrt :: + ___builtin_fsqrt :: ___builtin_fabsf :: ___builtin_fabs :: + ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: ___builtin_clzll :: + ___builtin_clzl :: ___builtin_clz :: ___builtin_bswap16 :: + ___builtin_bswap32 :: ___builtin_bswap :: ___builtin_bswap64 :: + ___compcert_i64_umulh :: ___compcert_i64_smulh :: ___compcert_i64_sar :: + ___compcert_i64_shr :: ___compcert_i64_shl :: ___compcert_i64_umod :: + ___compcert_i64_smod :: ___compcert_i64_udiv :: ___compcert_i64_sdiv :: + ___compcert_i64_utof :: ___compcert_i64_stof :: ___compcert_i64_utod :: + ___compcert_i64_stod :: ___compcert_i64_dtou :: ___compcert_i64_dtos :: + ___compcert_va_composite :: ___compcert_va_float64 :: + ___compcert_va_int64 :: ___compcert_va_int32 :: nil). -Definition prog : Clight.program := +Definition prog : Clight.program := mkprogram composites global_definitions public_idents _main Logic.I. -(* 2024-12-27 01:34 *) diff --git a/vc-current/triang232.v b/vc-current/triang232.v deleted file mode 100644 index 84b8d670a..000000000 --- a/vc-current/triang232.v +++ /dev/null @@ -1,509 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "32sse2". - Definition abi := "standard". - Definition bitsize := 32. - Definition big_endian := false. - Definition source_file := "triang2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. -Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pop_and_add : ident := 87%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _push_increasing : ident := 84%positive. -Definition _q : ident := 80%positive. -Definition _s : ident := 86%positive. -Definition _st : ident := 83%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _t : ident := 85%positive. -Definition _top : ident := 75%positive. -Definition _triang : ident := 88%positive. -Definition _value : ident := 72%positive. -Definition _t'1 : ident := 89%positive. -Definition _t'2 : ident := 90%positive. - -Definition f_push_increasing := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) tint)) - (Scall None - (Evar _push (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Etempvar _i tint) :: nil))))) -|}. - -Definition f_pop_and_add := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: (_t, tint) :: (_s, tint) :: (_t'1, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _s (Econst_int (Int.repr 0) tint)) - (Ssequence - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _pop (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint - cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: nil)) - (Sset _t (Etempvar _t'1 tint))) - (Ssequence - (Sset _s - (Ebinop Oadd (Etempvar _s tint) (Etempvar _t tint) tint)) - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) - tint))))) - (Sreturn (Some (Etempvar _s tint)))))) -|}. - -Definition f_triang := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_st, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: - (_t, tint) :: (_s, tint) :: (_t'2, tint) :: - (_t'1, (tptr (Tstruct _stack noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _newstack (Tfunction Tnil (tptr (Tstruct _stack noattr)) - cc_default)) nil) - (Sset _st (Etempvar _t'1 (tptr (Tstruct _stack noattr))))) - (Ssequence - (Scall None - (Evar _push_increasing (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Etempvar _n tint) :: - nil)) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _pop_and_add (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tint cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Etempvar _n tint) :: nil)) - (Sset _s (Etempvar _t'2 tint))) - (Sreturn (Some (Etempvar _s tint)))))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tint :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tint :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tint :: AST.Tint :: AST.Tint :: AST.Tint :: nil) - AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tuint (Tcons tuint Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tint :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons tint (Tcons tint Tnil)) tint - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_newstack, - Gfun(External (EF_external "newstack" - (mksignature nil AST.Tint cc_default)) Tnil - (tptr (Tstruct _stack noattr)) cc_default)) :: - (_push, - Gfun(External (EF_external "push" - (mksignature (AST.Tint :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr (Tstruct _stack noattr)) (Tcons tint Tnil)) tvoid - cc_default)) :: - (_pop, - Gfun(External (EF_external "pop" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint cc_default)) :: - (_push_increasing, Gfun(Internal f_push_increasing)) :: - (_pop_and_add, Gfun(Internal f_pop_and_add)) :: - (_triang, Gfun(Internal f_triang)) :: nil). - -Definition public_idents : list ident := -(_triang :: _pop_and_add :: _push_increasing :: _pop :: _push :: _newstack :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/triang264.v b/vc-current/triang264.v deleted file mode 100644 index 55a7de6ef..000000000 --- a/vc-current/triang264.v +++ /dev/null @@ -1,509 +0,0 @@ -From Coq Require Import String List ZArith. -From compcert Require Import Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs. -Import Clightdefs.ClightNotations. -Local Open Scope Z_scope. -Local Open Scope string_scope. -Local Open Scope clight_scope. - -Module Info. - Definition version := "3.10". - Definition build_number := "". - Definition build_tag := "". - Definition build_branch := "". - Definition arch := "x86". - Definition model := "64". - Definition abi := "standard". - Definition bitsize := 64. - Definition big_endian := false. - Definition source_file := "triang2.c". - Definition normalized := true. -End Info. - -Definition ___builtin_annot : ident := 17%positive. -Definition ___builtin_annot_intval : ident := 18%positive. -Definition ___builtin_bswap : ident := 2%positive. -Definition ___builtin_bswap16 : ident := 4%positive. -Definition ___builtin_bswap32 : ident := 3%positive. -Definition ___builtin_bswap64 : ident := 1%positive. -Definition ___builtin_clz : ident := 5%positive. -Definition ___builtin_clzl : ident := 6%positive. -Definition ___builtin_clzll : ident := 7%positive. -Definition ___builtin_ctz : ident := 8%positive. -Definition ___builtin_ctzl : ident := 9%positive. -Definition ___builtin_ctzll : ident := 10%positive. -Definition ___builtin_debug : ident := 36%positive. -Definition ___builtin_expect : ident := 25%positive. -Definition ___builtin_fabs : ident := 11%positive. -Definition ___builtin_fabsf : ident := 12%positive. -Definition ___builtin_fmadd : ident := 28%positive. -Definition ___builtin_fmax : ident := 26%positive. -Definition ___builtin_fmin : ident := 27%positive. -Definition ___builtin_fmsub : ident := 29%positive. -Definition ___builtin_fnmadd : ident := 30%positive. -Definition ___builtin_fnmsub : ident := 31%positive. -Definition ___builtin_fsqrt : ident := 13%positive. -Definition ___builtin_membar : ident := 19%positive. -Definition ___builtin_memcpy_aligned : ident := 15%positive. -Definition ___builtin_read16_reversed : ident := 32%positive. -Definition ___builtin_read32_reversed : ident := 33%positive. -Definition ___builtin_sel : ident := 16%positive. -Definition ___builtin_sqrt : ident := 14%positive. -Definition ___builtin_unreachable : ident := 24%positive. -Definition ___builtin_va_arg : ident := 21%positive. -Definition ___builtin_va_copy : ident := 22%positive. -Definition ___builtin_va_end : ident := 23%positive. -Definition ___builtin_va_start : ident := 20%positive. -Definition ___builtin_write16_reversed : ident := 34%positive. -Definition ___builtin_write32_reversed : ident := 35%positive. -Definition ___compcert_i64_dtos : ident := 45%positive. -Definition ___compcert_i64_dtou : ident := 46%positive. -Definition ___compcert_i64_sar : ident := 57%positive. -Definition ___compcert_i64_sdiv : ident := 51%positive. -Definition ___compcert_i64_shl : ident := 55%positive. -Definition ___compcert_i64_shr : ident := 56%positive. -Definition ___compcert_i64_smod : ident := 53%positive. -Definition ___compcert_i64_smulh : ident := 58%positive. -Definition ___compcert_i64_stod : ident := 47%positive. -Definition ___compcert_i64_stof : ident := 49%positive. -Definition ___compcert_i64_udiv : ident := 52%positive. -Definition ___compcert_i64_umod : ident := 54%positive. -Definition ___compcert_i64_umulh : ident := 59%positive. -Definition ___compcert_i64_utod : ident := 48%positive. -Definition ___compcert_i64_utof : ident := 50%positive. -Definition ___compcert_va_composite : ident := 44%positive. -Definition ___compcert_va_float64 : ident := 43%positive. -Definition ___compcert_va_int32 : ident := 41%positive. -Definition ___compcert_va_int64 : ident := 42%positive. -Definition _a : ident := 61%positive. -Definition _b : ident := 63%positive. -Definition _c : ident := 64%positive. -Definition _cell : ident := 62%positive. -Definition _cons : ident := 74%positive. -Definition _d : ident := 65%positive. -Definition _exit : ident := 39%positive. -Definition _free : ident := 38%positive. -Definition _freelist : ident := 68%positive. -Definition _i : ident := 79%positive. -Definition _main : ident := 60%positive. -Definition _malloc : ident := 37%positive. -Definition _n : ident := 69%positive. -Definition _newstack : ident := 78%positive. -Definition _next : ident := 73%positive. -Definition _p : ident := 70%positive. -Definition _placeholder : ident := 40%positive. -Definition _pool : ident := 66%positive. -Definition _pool_index : ident := 67%positive. -Definition _pop : ident := 82%positive. -Definition _pop_and_add : ident := 87%positive. -Definition _pp : ident := 71%positive. -Definition _push : ident := 81%positive. -Definition _push_increasing : ident := 84%positive. -Definition _q : ident := 80%positive. -Definition _s : ident := 86%positive. -Definition _st : ident := 83%positive. -Definition _stack : ident := 76%positive. -Definition _surely_malloc : ident := 77%positive. -Definition _t : ident := 85%positive. -Definition _top : ident := 75%positive. -Definition _triang : ident := 88%positive. -Definition _value : ident := 72%positive. -Definition _t'1 : ident := 89%positive. -Definition _t'2 : ident := 90%positive. - -Definition f_push_increasing := {| - fn_return := tvoid; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) tint)) - (Scall None - (Evar _push (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Etempvar _i tint) :: nil))))) -|}. - -Definition f_pop_and_add := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_st, (tptr (Tstruct _stack noattr))) :: (_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_i, tint) :: (_t, tint) :: (_s, tint) :: (_t'1, tint) :: nil); - fn_body := -(Ssequence - (Sset _i (Econst_int (Int.repr 0) tint)) - (Ssequence - (Sset _s (Econst_int (Int.repr 0) tint)) - (Ssequence - (Swhile - (Ebinop Olt (Etempvar _i tint) (Etempvar _n tint) tint) - (Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _pop (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint - cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: nil)) - (Sset _t (Etempvar _t'1 tint))) - (Ssequence - (Sset _s - (Ebinop Oadd (Etempvar _s tint) (Etempvar _t tint) tint)) - (Sset _i - (Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) - tint))))) - (Sreturn (Some (Etempvar _s tint)))))) -|}. - -Definition f_triang := {| - fn_return := tint; - fn_callconv := cc_default; - fn_params := ((_n, tint) :: nil); - fn_vars := nil; - fn_temps := ((_st, (tptr (Tstruct _stack noattr))) :: (_i, tint) :: - (_t, tint) :: (_s, tint) :: (_t'2, tint) :: - (_t'1, (tptr (Tstruct _stack noattr))) :: nil); - fn_body := -(Ssequence - (Ssequence - (Scall (Some _t'1) - (Evar _newstack (Tfunction Tnil (tptr (Tstruct _stack noattr)) - cc_default)) nil) - (Sset _st (Etempvar _t'1 (tptr (Tstruct _stack noattr))))) - (Ssequence - (Scall None - (Evar _push_increasing (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tvoid cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: (Etempvar _n tint) :: - nil)) - (Ssequence - (Ssequence - (Scall (Some _t'2) - (Evar _pop_and_add (Tfunction - (Tcons (tptr (Tstruct _stack noattr)) - (Tcons tint Tnil)) tint cc_default)) - ((Etempvar _st (tptr (Tstruct _stack noattr))) :: - (Etempvar _n tint) :: nil)) - (Sset _s (Etempvar _t'2 tint))) - (Sreturn (Some (Etempvar _s tint)))))) -|}. - -Definition composites : list composite_definition := -nil. - -Definition global_definitions : list (ident * globdef fundef type) := -((___compcert_va_int32, - Gfun(External (EF_runtime "__compcert_va_int32" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tvoid) Tnil) tuint cc_default)) :: - (___compcert_va_int64, - Gfun(External (EF_runtime "__compcert_va_int64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons (tptr tvoid) Tnil) tulong cc_default)) :: - (___compcert_va_float64, - Gfun(External (EF_runtime "__compcert_va_float64" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons (tptr tvoid) Tnil) tdouble cc_default)) :: - (___compcert_va_composite, - Gfun(External (EF_runtime "__compcert_va_composite" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons (tptr tvoid) (Tcons tulong Tnil)) - (tptr tvoid) cc_default)) :: - (___compcert_i64_dtos, - Gfun(External (EF_runtime "__compcert_i64_dtos" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tlong cc_default)) :: - (___compcert_i64_dtou, - Gfun(External (EF_runtime "__compcert_i64_dtou" - (mksignature (AST.Tfloat :: nil) AST.Tlong cc_default)) - (Tcons tdouble Tnil) tulong cc_default)) :: - (___compcert_i64_stod, - Gfun(External (EF_runtime "__compcert_i64_stod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tlong Tnil) tdouble cc_default)) :: - (___compcert_i64_utod, - Gfun(External (EF_runtime "__compcert_i64_utod" - (mksignature (AST.Tlong :: nil) AST.Tfloat cc_default)) - (Tcons tulong Tnil) tdouble cc_default)) :: - (___compcert_i64_stof, - Gfun(External (EF_runtime "__compcert_i64_stof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tlong Tnil) tfloat cc_default)) :: - (___compcert_i64_utof, - Gfun(External (EF_runtime "__compcert_i64_utof" - (mksignature (AST.Tlong :: nil) AST.Tsingle cc_default)) - (Tcons tulong Tnil) tfloat cc_default)) :: - (___compcert_i64_sdiv, - Gfun(External (EF_runtime "__compcert_i64_sdiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_udiv, - Gfun(External (EF_runtime "__compcert_i64_udiv" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_smod, - Gfun(External (EF_runtime "__compcert_i64_smod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umod, - Gfun(External (EF_runtime "__compcert_i64_umod" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___compcert_i64_shl, - Gfun(External (EF_runtime "__compcert_i64_shl" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_shr, - Gfun(External (EF_runtime "__compcert_i64_shr" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tint Tnil)) tulong - cc_default)) :: - (___compcert_i64_sar, - Gfun(External (EF_runtime "__compcert_i64_sar" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tint Tnil)) tlong - cc_default)) :: - (___compcert_i64_smulh, - Gfun(External (EF_runtime "__compcert_i64_smulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___compcert_i64_umulh, - Gfun(External (EF_runtime "__compcert_i64_umulh" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tulong (Tcons tulong Tnil)) tulong - cc_default)) :: - (___builtin_bswap64, - Gfun(External (EF_builtin "__builtin_bswap64" - (mksignature (AST.Tlong :: nil) AST.Tlong cc_default)) - (Tcons tulong Tnil) tulong cc_default)) :: - (___builtin_bswap, - Gfun(External (EF_builtin "__builtin_bswap" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap32, - Gfun(External (EF_builtin "__builtin_bswap32" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tuint cc_default)) :: - (___builtin_bswap16, - Gfun(External (EF_builtin "__builtin_bswap16" - (mksignature (AST.Tint :: nil) AST.Tint16unsigned - cc_default)) (Tcons tushort Tnil) tushort cc_default)) :: - (___builtin_clz, - Gfun(External (EF_builtin "__builtin_clz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_clzl, - Gfun(External (EF_builtin "__builtin_clzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_clzll, - Gfun(External (EF_builtin "__builtin_clzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctz, - Gfun(External (EF_builtin "__builtin_ctz" - (mksignature (AST.Tint :: nil) AST.Tint cc_default)) - (Tcons tuint Tnil) tint cc_default)) :: - (___builtin_ctzl, - Gfun(External (EF_builtin "__builtin_ctzl" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_ctzll, - Gfun(External (EF_builtin "__builtin_ctzll" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons tulong Tnil) tint cc_default)) :: - (___builtin_fabs, - Gfun(External (EF_builtin "__builtin_fabs" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_fabsf, - Gfun(External (EF_builtin "__builtin_fabsf" - (mksignature (AST.Tsingle :: nil) AST.Tsingle cc_default)) - (Tcons tfloat Tnil) tfloat cc_default)) :: - (___builtin_fsqrt, - Gfun(External (EF_builtin "__builtin_fsqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_sqrt, - Gfun(External (EF_builtin "__builtin_sqrt" - (mksignature (AST.Tfloat :: nil) AST.Tfloat cc_default)) - (Tcons tdouble Tnil) tdouble cc_default)) :: - (___builtin_memcpy_aligned, - Gfun(External (EF_builtin "__builtin_memcpy_aligned" - (mksignature - (AST.Tlong :: AST.Tlong :: AST.Tlong :: AST.Tlong :: - nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) - (Tcons (tptr tvoid) (Tcons tulong (Tcons tulong Tnil)))) tvoid - cc_default)) :: - (___builtin_sel, - Gfun(External (EF_builtin "__builtin_sel" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tbool Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot, - Gfun(External (EF_builtin "__builtin_annot" - (mksignature (AST.Tlong :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons (tptr tschar) Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (___builtin_annot_intval, - Gfun(External (EF_builtin "__builtin_annot_intval" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tint - cc_default)) (Tcons (tptr tschar) (Tcons tint Tnil)) - tint cc_default)) :: - (___builtin_membar, - Gfun(External (EF_builtin "__builtin_membar" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_va_start, - Gfun(External (EF_builtin "__builtin_va_start" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_va_arg, - Gfun(External (EF_builtin "__builtin_va_arg" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tvoid) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_va_copy, - Gfun(External (EF_builtin "__builtin_va_copy" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr tvoid) (Tcons (tptr tvoid) Tnil)) tvoid cc_default)) :: - (___builtin_va_end, - Gfun(External (EF_builtin "__builtin_va_end" - (mksignature (AST.Tlong :: nil) AST.Tvoid cc_default)) - (Tcons (tptr tvoid) Tnil) tvoid cc_default)) :: - (___builtin_unreachable, - Gfun(External (EF_builtin "__builtin_unreachable" - (mksignature nil AST.Tvoid cc_default)) Tnil tvoid - cc_default)) :: - (___builtin_expect, - Gfun(External (EF_builtin "__builtin_expect" - (mksignature (AST.Tlong :: AST.Tlong :: nil) AST.Tlong - cc_default)) (Tcons tlong (Tcons tlong Tnil)) tlong - cc_default)) :: - (___builtin_fmax, - Gfun(External (EF_builtin "__builtin_fmax" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmin, - Gfun(External (EF_builtin "__builtin_fmin" - (mksignature (AST.Tfloat :: AST.Tfloat :: nil) AST.Tfloat - cc_default)) (Tcons tdouble (Tcons tdouble Tnil)) - tdouble cc_default)) :: - (___builtin_fmadd, - Gfun(External (EF_builtin "__builtin_fmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fmsub, - Gfun(External (EF_builtin "__builtin_fmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmadd, - Gfun(External (EF_builtin "__builtin_fnmadd" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_fnmsub, - Gfun(External (EF_builtin "__builtin_fnmsub" - (mksignature - (AST.Tfloat :: AST.Tfloat :: AST.Tfloat :: nil) - AST.Tfloat cc_default)) - (Tcons tdouble (Tcons tdouble (Tcons tdouble Tnil))) tdouble - cc_default)) :: - (___builtin_read16_reversed, - Gfun(External (EF_builtin "__builtin_read16_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint16unsigned - cc_default)) (Tcons (tptr tushort) Tnil) tushort - cc_default)) :: - (___builtin_read32_reversed, - Gfun(External (EF_builtin "__builtin_read32_reversed" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr tuint) Tnil) tuint cc_default)) :: - (___builtin_write16_reversed, - Gfun(External (EF_builtin "__builtin_write16_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tushort) (Tcons tushort Tnil)) - tvoid cc_default)) :: - (___builtin_write32_reversed, - Gfun(External (EF_builtin "__builtin_write32_reversed" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) (Tcons (tptr tuint) (Tcons tuint Tnil)) - tvoid cc_default)) :: - (___builtin_debug, - Gfun(External (EF_external "__builtin_debug" - (mksignature (AST.Tint :: nil) AST.Tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) - (Tcons tint Tnil) tvoid - {|cc_vararg:=(Some 1); cc_unproto:=false; cc_structret:=false|})) :: - (_newstack, - Gfun(External (EF_external "newstack" - (mksignature nil AST.Tlong cc_default)) Tnil - (tptr (Tstruct _stack noattr)) cc_default)) :: - (_push, - Gfun(External (EF_external "push" - (mksignature (AST.Tlong :: AST.Tint :: nil) AST.Tvoid - cc_default)) - (Tcons (tptr (Tstruct _stack noattr)) (Tcons tint Tnil)) tvoid - cc_default)) :: - (_pop, - Gfun(External (EF_external "pop" - (mksignature (AST.Tlong :: nil) AST.Tint cc_default)) - (Tcons (tptr (Tstruct _stack noattr)) Tnil) tint cc_default)) :: - (_push_increasing, Gfun(Internal f_push_increasing)) :: - (_pop_and_add, Gfun(Internal f_pop_and_add)) :: - (_triang, Gfun(Internal f_triang)) :: nil). - -Definition public_idents : list ident := -(_triang :: _pop_and_add :: _push_increasing :: _pop :: _push :: _newstack :: - ___builtin_debug :: ___builtin_write32_reversed :: - ___builtin_write16_reversed :: ___builtin_read32_reversed :: - ___builtin_read16_reversed :: ___builtin_fnmsub :: ___builtin_fnmadd :: - ___builtin_fmsub :: ___builtin_fmadd :: ___builtin_fmin :: - ___builtin_fmax :: ___builtin_expect :: ___builtin_unreachable :: - ___builtin_va_end :: ___builtin_va_copy :: ___builtin_va_arg :: - ___builtin_va_start :: ___builtin_membar :: ___builtin_annot_intval :: - ___builtin_annot :: ___builtin_sel :: ___builtin_memcpy_aligned :: - ___builtin_sqrt :: ___builtin_fsqrt :: ___builtin_fabsf :: - ___builtin_fabs :: ___builtin_ctzll :: ___builtin_ctzl :: ___builtin_ctz :: - ___builtin_clzll :: ___builtin_clzl :: ___builtin_clz :: - ___builtin_bswap16 :: ___builtin_bswap32 :: ___builtin_bswap :: - ___builtin_bswap64 :: ___compcert_i64_umulh :: ___compcert_i64_smulh :: - ___compcert_i64_sar :: ___compcert_i64_shr :: ___compcert_i64_shl :: - ___compcert_i64_umod :: ___compcert_i64_smod :: ___compcert_i64_udiv :: - ___compcert_i64_sdiv :: ___compcert_i64_utof :: ___compcert_i64_stof :: - ___compcert_i64_utod :: ___compcert_i64_stod :: ___compcert_i64_dtou :: - ___compcert_i64_dtos :: ___compcert_va_composite :: - ___compcert_va_float64 :: ___compcert_va_int64 :: ___compcert_va_int32 :: - nil). - -Definition prog : Clight.program := - mkprogram composites global_definitions public_idents _main Logic.I. - - diff --git a/vc-current/vc.tgz b/vc-current/vc.tgz index 3c4d49a1f..01e366d01 100644 Binary files a/vc-current/vc.tgz and b/vc-current/vc.tgz differ