12345678910111213141516171819202122232425262728293031323334353637383940414243(**************************************************************************)(* *)(* OCaml *)(* *)(* Jeremie Dimino, Jane Street Europe *)(* *)(* Copyright 2019 Jane Street Group LLC *)(* *)(* All rights reserved. This file is distributed under the terms of *)(* the GNU Lesser General Public License version 2.1, with the *)(* special exception on linking described in the file LICENSE. *)(* *)(**************************************************************************)typet=|Unknown|Always|Always_on_64bitsmoduleViolation=structtypet=|Not_always_immediate|Not_always_immediate_on_64bitsendletcoercet~as_=matcht,as_with|_,Unknown|Always,Always|(Always|Always_on_64bits),Always_on_64bits->Ok()|(Unknown|Always_on_64bits),Always->ErrorViolation.Not_always_immediate|Unknown,Always_on_64bits->ErrorViolation.Not_always_immediate_on_64bitsletof_attributesattrs=matchBuiltin_attributes.immediateattrs,Builtin_attributes.immediate64attrswith|true,_->Always|false,true->Always_on_64bits|false,false->Unknown