diff --git a/clangml-transforms/for_memcad.ml b/clangml-transforms/for_memcad.ml
index a7c87dc5e0b22426582eeeb1dea32ff532099dd8..f591fcdf416af173af335e11c9c8bb82520494fd 100644
--- a/clangml-transforms/for_memcad.ml
+++ b/clangml-transforms/for_memcad.ml
@@ -14,15 +14,11 @@ let fresh_var_name () =
   fresh_var_counter := index + 1;
   Printf.sprintf "__tmp_%d" index
 
-let identifier_name name : Clang.Ast.ident_ref =
-  { nested_name_specifier = None;
-    name = IdentifierName name }
-
 let declare_tmp qual_type =
   let tmp = fresh_var_name () in
   let decl_tmp = Clang.Ast.node ~qual_type (Clang.Ast.Decl [
     Clang.Ast.node ~qual_type (Clang.Ast.Var (Clang.Ast.var tmp qual_type))]) in
-  let tmp_var = Clang.Ast.node ~qual_type (Clang.Ast.DeclRef (identifier_name tmp)) in
+  let tmp_var = Clang.Ast.node ~qual_type (Clang.Ast.DeclRef (Clang.Ast.identifier_name tmp)) in
   tmp_var, decl_tmp
 
 let assign_to_tmp ?qual_type expr =
@@ -101,7 +97,7 @@ let rec name_anonymous_fields (decl : Clang.Ast.decl list) =
       desc = Clang.Ast.RecordDecl { record_decl with name = "anon" }} ::
     { field with desc = Field { name;  bitwidth; init;
       qual_type = { qual_type with desc = Elaborated { elaborated with
-      named_type = { named_type with desc = Record (identifier_name "anon") }}}}} ::
+      named_type = { named_type with desc = Record (Clang.Ast.identifier_name "anon") }}}}} ::
     name_anonymous_fields tail
   | hd :: tl -> hd :: name_anonymous_fields tl
 
@@ -177,7 +173,7 @@ let transform = object (self)
               Expr { stmt with desc = BinaryOperator {
                 lhs =
                   Clang.Ast.node ~qual_type:var_type
-                    (Clang.Ast.DeclRef (identifier_name var_name));
+                    (Clang.Ast.DeclRef (Clang.Ast.identifier_name var_name));
                 kind = Assign; rhs = init }}} in
             close_stmts init_stmts [decl; init]
         | { desc = Do { body; cond; _ }; _} ->