From d2c5c5e616a6e118291fe1ce9965c731adac03a8 Mon Sep 17 00:00:00 2001 From: Stephane Glondu Date: Sun, 19 Jan 2014 15:09:23 +0100 Subject: Imported Upstream version 8.4pl3dfsg --- test-suite/Makefile | 1 + test-suite/bugs/closed/3003.v | 12 +++++++++++ test-suite/bugs/closed/3023.v | 31 +++++++++++++++++++++++++++++ test-suite/bugs/closed/shouldsucceed/2230.v | 6 ++++++ test-suite/bugs/closed/shouldsucceed/2837.v | 15 ++++++++++++++ test-suite/output/Arguments_renaming.out | 5 +++++ test-suite/output/Arguments_renaming.v | 2 +- test-suite/success/Case19.v | 11 ++++++++++ 8 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 test-suite/bugs/closed/3003.v create mode 100644 test-suite/bugs/closed/3023.v create mode 100644 test-suite/bugs/closed/shouldsucceed/2230.v create mode 100644 test-suite/bugs/closed/shouldsucceed/2837.v (limited to 'test-suite') diff --git a/test-suite/Makefile b/test-suite/Makefile index cd5886f8..ae1562c7 100644 --- a/test-suite/Makefile +++ b/test-suite/Makefile @@ -46,6 +46,7 @@ SHOW := $(if $(VERBOSE),@true,@echo) HIDE := $(if $(VERBOSE),,@) REDIR := $(if $(VERBOSE),,> /dev/null 2>&1) +bogomips := ifneq (,$(wildcard /proc/cpuinfo)) sedbogo := -e "s/bogomips.*: \([0-9]*\).*/\1/p" # i386, ppc sedbogo += -e "s/Cpu0Bogo.*: \([0-9]*\).*/\1/p" # sparc diff --git a/test-suite/bugs/closed/3003.v b/test-suite/bugs/closed/3003.v new file mode 100644 index 00000000..2f8bcdae --- /dev/null +++ b/test-suite/bugs/closed/3003.v @@ -0,0 +1,12 @@ +(* This used to raise an anomaly in 8.4 and trunk up to 17 April 2013 *) + +Set Implicit Arguments. + +Inductive path (V : Type) (E : V -> V -> Type) (s : V) : V -> Type := + | NoEdges : path E s s + | AddEdge : forall d d' : V, path E s d -> E d d' -> path E s d'. +Inductive G_Vertex := G_v0 | G_v1. +Inductive G_Edge : G_Vertex -> G_Vertex -> Set := G_e : G_Edge G_v0 G_v1. +Goal forall x1 : G_Edge G_v1 G_v1, @AddEdge _ G_Edge G_v1 _ _ (NoEdges _ _) x1 = NoEdges _ _. +intro x1. +try destruct x1. (* now raises a typing error *) diff --git a/test-suite/bugs/closed/3023.v b/test-suite/bugs/closed/3023.v new file mode 100644 index 00000000..ed489511 --- /dev/null +++ b/test-suite/bugs/closed/3023.v @@ -0,0 +1,31 @@ +(* Checking use of eta on Flexible/Rigid and SemiFlexible/Rigid unif problems *) + +Set Implicit Arguments. +Generalizable All Variables. + +Record Category {obj : Type} := + { + Morphism : obj -> obj -> Type; + + Identity : forall x, Morphism x x; + Compose : forall s d d', Morphism d d' -> Morphism s d -> Morphism s d'; + LeftIdentity : forall a b (f : Morphism a b), Compose (Identity b) f = f + }. + + +Section DiscreteAdjoints. + Let C := {| + Morphism := (fun X Y : Type => X -> Y); + Identity := (fun X : Type => (fun x : X => x)); + Compose := (fun _ _ _ f g => (fun x => f (g x))); + LeftIdentity := (fun X Y p => @eq_refl _ p : (fun x : X => p x) = p) + |}. + Variable ObjectFunctor : C = C. + + Goal True. + Proof. + subst C. + revert ObjectFunctor. + intro ObjectFunctor. + simpl in ObjectFunctor. + revert ObjectFunctor. (* Used to failed in 8.4 up to 16 April 2013 *) diff --git a/test-suite/bugs/closed/shouldsucceed/2230.v b/test-suite/bugs/closed/shouldsucceed/2230.v new file mode 100644 index 00000000..5076fb2b --- /dev/null +++ b/test-suite/bugs/closed/shouldsucceed/2230.v @@ -0,0 +1,6 @@ +Goal forall f, f 1 1 -> True. +intros. +match goal with + | [ H : _ ?a |- _ ] => idtac +end. +Abort. diff --git a/test-suite/bugs/closed/shouldsucceed/2837.v b/test-suite/bugs/closed/shouldsucceed/2837.v new file mode 100644 index 00000000..5d984463 --- /dev/null +++ b/test-suite/bugs/closed/shouldsucceed/2837.v @@ -0,0 +1,15 @@ +Require Import JMeq. + +Axiom test : forall n m : nat, JMeq n m. + +Goal forall n m : nat, JMeq n m. + +(* I) with no intros nor variable hints, this should produce a regular error + instead of Uncaught exception Failure("nth"). *) +Fail rewrite test. + +(* II) with intros but indication of variables, still an error *) +Fail (intros; rewrite test). + +(* III) a working variant: *) +intros; rewrite (test n m). \ No newline at end of file diff --git a/test-suite/output/Arguments_renaming.out b/test-suite/output/Arguments_renaming.out index e443115c..17c80d13 100644 --- a/test-suite/output/Arguments_renaming.out +++ b/test-suite/output/Arguments_renaming.out @@ -1,7 +1,9 @@ The command has indeed failed with message: => Error: To rename arguments the "rename" flag must be specified. +Argument A renamed to B. The command has indeed failed with message: => Error: To rename arguments the "rename" flag must be specified. +Argument A renamed to T. @eq_refl : forall (B : Type) (y : B), y = y eq_refl @@ -106,3 +108,6 @@ The command has indeed failed with message: => Error: Argument z cannot be declared implicit. The command has indeed failed with message: => Error: Extra argument y. +The command has indeed failed with message: +=> Error: To rename arguments the "rename" flag must be specified. +Argument A renamed to R. diff --git a/test-suite/output/Arguments_renaming.v b/test-suite/output/Arguments_renaming.v index b133e733..e68fbd69 100644 --- a/test-suite/output/Arguments_renaming.v +++ b/test-suite/output/Arguments_renaming.v @@ -50,5 +50,5 @@ Fail Arguments eq_refl {F}, [F]. Fail Arguments eq_refl {F F}, [F] F. Fail Arguments eq {F} x [z]. Fail Arguments eq {F} x z y. - +Fail Arguments eq {R} s t. diff --git a/test-suite/success/Case19.v b/test-suite/success/Case19.v index 9a6ed71a..c29e5297 100644 --- a/test-suite/success/Case19.v +++ b/test-suite/success/Case19.v @@ -6,3 +6,14 @@ Variable T : Type. Variable x : nat*nat. Check let (_, _) := x in sigT (fun _ : T => nat). + +(* This used to raise an anomaly in V8.4, up to pl2 *) + +Goal {x: nat & x=x}. +Fail exists (fun x => + match + projT2 (projT2 x) as e in (_ = y) + return _ = existT _ (projT1 x) (existT _ y e) + with + | eq_refl => eq_refl + end). -- cgit v1.2.3