From 9b63d90b40974eed35bd199fcfc6ccbabb1ed5b7 Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Thu, 16 Feb 2017 15:53:06 +0100 Subject: Reverted changes in Cutil and catch in Cflow. Instead of changing the definition of sizeof we now ignore errors raise in the Cflow module. Bug 21005 --- cparser/Cutil.ml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) (limited to 'cparser/Cutil.ml') diff --git a/cparser/Cutil.ml b/cparser/Cutil.ml index 903fd34c..6cafaf17 100644 --- a/cparser/Cutil.ml +++ b/cparser/Cutil.ml @@ -435,13 +435,6 @@ let alignof_fkind = function let enum_ikind = IInt -let wrap_alignof f env name = - try - let ci = f env name in - ci.ci_alignof - with Env.Error _ -> None - - let rec alignof env t = let a = alignas_attribute (attributes_of_type env t) in if a > 0 then Some a else @@ -454,9 +447,9 @@ let rec alignof env t = | TFun(_, _, _, _) -> !config.alignof_fun | TNamed(_, _) -> alignof env (unroll env t) | TStruct(name, _) -> - wrap_alignof Env.find_struct env name + let ci = Env.find_struct env name in ci.ci_alignof | TUnion(name, _) -> - wrap_alignof Env.find_union env name + let ci = Env.find_union env name in ci.ci_alignof | TEnum(_, _) -> Some(alignof_ikind enum_ikind) (* Compute the natural alignment of a struct or union. *) @@ -501,12 +494,6 @@ let cautious_mul (a: int64) (b: int) = then Some(Int64.to_int a * b) else None -let wrap_sizeof f env name = - try - let ci = f env name in - ci.ci_sizeof - with Env.Error _ -> None - (* Return size of type, in bytes, or [None] if the type is incomplete *) let rec sizeof env t = @@ -527,9 +514,9 @@ let rec sizeof env t = | TFun(_, _, _, _) -> !config.sizeof_fun | TNamed(_, _) -> sizeof env (unroll env t) | TStruct(name, _) -> - wrap_sizeof Env.find_struct env name + let ci = Env.find_struct env name in ci.ci_sizeof | TUnion(name, _) -> - wrap_sizeof Env.find_union env name + let ci = Env.find_union env name in ci.ci_sizeof | TEnum(_, _) -> Some(sizeof_ikind enum_ikind) (* Compute the size of a union. -- cgit