let declare_enum ~env name = 
  try
    if List.assoc name env.struct_name_table <> EnumName then
      raise (Type_Error_local "name of enumeration crash with other struct/union name")
  with
    Not_found ->
      env.struct_name_table <- (name, EnumName) :: env.struct_name_table