aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2019-07-04 12:36:52 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2019-07-04 12:36:52 +0200
commited2318e287c6edeeceed7e2a104195b08aa3e31a (patch)
tree1f8a7c6b4617f7fd8821dbfce004f1e51e7668e2
parent77c98e2ade0f6a2a4f103881f07fe29247417f53 (diff)
downloadcompcert-ed2318e287c6edeeceed7e2a104195b08aa3e31a.tar.gz
compcert-ed2318e287c6edeeceed7e2a104195b08aa3e31a.zip
Added helper function for array types.
The function determines whether the given type is an array type or not.
-rw-r--r--cparser/Cutil.ml5
-rw-r--r--cparser/Cutil.mli2
2 files changed, 7 insertions, 0 deletions
diff --git a/cparser/Cutil.ml b/cparser/Cutil.ml
index 7329767a..5ff58780 100644
--- a/cparser/Cutil.ml
+++ b/cparser/Cutil.ml
@@ -821,6 +821,11 @@ let is_composite_type env t =
| TStruct _ | TUnion _ -> true
| _ -> false
+let is_array_type env t =
+ match unroll env t with
+ | TArray _ -> true
+ | _ -> false
+
let is_function_type env t =
match unroll env t with
| TFun _ -> true
diff --git a/cparser/Cutil.mli b/cparser/Cutil.mli
index 5a1e9af3..3777c321 100644
--- a/cparser/Cutil.mli
+++ b/cparser/Cutil.mli
@@ -166,6 +166,8 @@ val is_scalar_type : Env.t -> typ -> bool
(* Is type integer, float or pointer? *)
val is_composite_type : Env.t -> typ -> bool
(* Is type a struct or union? *)
+val is_array_type : Env.t -> typ -> bool
+ (* Is type a array type? *)
val is_function_type : Env.t -> typ -> bool
(* Is type a function type? (not pointer to function) *)
val is_function_pointer_type : Env.t -> typ -> bool