From 7237ccb621d58b2c86ef250f1c3e3ffd29260955 Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Tue, 21 Jun 2016 15:49:07 +0200 Subject: Remove code that will is deprecated in ocaml 4.03 Most of the code can be String.uppercase usages can either be replaced by a more specialized version of coqstring_of_camlstring (which is also slightly more effecient) or by specialized checks that reject wrong code earlier. Bug 19187 --- cparser/Elab.ml | 7 +++++-- cparser/ExtendedAsm.ml | 7 +++---- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'cparser') diff --git a/cparser/Elab.ml b/cparser/Elab.ml index cdae2fd9..722303d2 100644 --- a/cparser/Elab.ml +++ b/cparser/Elab.ml @@ -154,7 +154,10 @@ let integer_representable v ik = v >= 0L && v < Int64.shift_left 1L (bitsize - 1) let elab_int_constant loc s0 = - let s = String.uppercase s0 in + let s = String.map (fun d -> match d with + | '0'..'9' | 'A'..'F' | 'L' | 'U' | 'X' -> d + | 'a'..'f' | 'l' | 'u' | 'x' -> Char.chr (Char.code d - 32) + | _ -> error loc "bad digit '%c' in integer literal '%s'" d s0; d) s0 in (* Determine possible types and chop type suffix *) let (s, dec_kinds, hex_kinds) = if has_suffix s "ULL" || has_suffix s "LLU" then @@ -190,7 +193,7 @@ let elab_int_constant loc s0 = error loc "integer literal '%s' is too large" s0; 0L | Bad_digit -> - error loc "bad digit in integer literal '%s'" s0; + (*error loc "bad digit in integer literal '%s'" s0;*) (* Is caught earlier *) 0L in (* Find smallest allowable type that fits *) diff --git a/cparser/ExtendedAsm.ml b/cparser/ExtendedAsm.ml index c3d80272..fc228aca 100644 --- a/cparser/ExtendedAsm.ml +++ b/cparser/ExtendedAsm.ml @@ -159,10 +159,9 @@ let transf_outputs loc env = function let check_clobbers loc clob = List.iter (fun c -> - let c' = String.uppercase c in - if Machregsaux.register_by_name c' <> None - || List.mem c' Machregsaux.scratch_register_names - || c' = "MEMORY" || c' = "CC" + if Machregsaux.register_by_name c <> None + || Machregsaux.is_scratch_register c + || c = "memory" || c = "cc" (* GCC does not accept MEMORY or CC *) then () else error "%aError: unrecognized asm register clobber '%s'" formatloc loc c) -- cgit