diff options
author | Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr> | 1997-03-05 13:18:03 +0000 |
---|---|---|
committer | Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr> | 1997-03-05 13:18:03 +0000 |
commit | 437cf2f483bb66cf1280027d7e455c20cc07673d (patch) | |
tree | f6d3530c1b300cdccb65042f4aa8114ec135e8f8 | |
parent | 0dc9883e4e804bb5f21c491985d2a44f2a182aa5 (diff) |
-
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1321 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | driver/optcompile.ml | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/driver/optcompile.ml b/driver/optcompile.ml index 01917a9c3..a4989dd33 100644 --- a/driver/optcompile.ml +++ b/driver/optcompile.ml @@ -60,14 +60,22 @@ let remove_preprocessed inputfile = (* Parse a file or get a dumped syntax tree in it *) +exception Outdated_version + let parse_file inputfile parse_fun ast_magic = let ic = open_in_bin inputfile in let is_ast_file = try let buffer = String.create (String.length ast_magic) in really_input ic buffer 0 (String.length ast_magic); - buffer = ast_magic - with _ -> false + if buffer = ast_magic then true + else if String.sub buffer 0 9 = String.sub ast_magic 0 9 then + raise Outdated_version + else false + with + Outdated_version -> + failwith "Ocaml and preprocessor have incompatible versions" + | _ -> false in let ast = try |