sig
  type t
  val mk : string -> Camlp4.Sig.Loc.t
  val ghost : Camlp4.Sig.Loc.t
  val of_lexing_position : Lexing.position -> Camlp4.Sig.Loc.t
  val to_ocaml_location : Camlp4.Sig.Loc.t -> Camlp4_import.Location.t
  val of_ocaml_location : Camlp4_import.Location.t -> Camlp4.Sig.Loc.t
  val of_lexbuf : Lexing.lexbuf -> Camlp4.Sig.Loc.t
  val of_tuple :
    string * int * int * int * int * int * int * bool -> Camlp4.Sig.Loc.t
  val to_tuple :
    Camlp4.Sig.Loc.t -> string * int * int * int * int * int * int * bool
  val merge : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val join : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val move :
    [ `both | `start | `stop ] -> int -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val shift : int -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val move_line : int -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val file_name : Camlp4.Sig.Loc.t -> string
  val start_line : Camlp4.Sig.Loc.t -> int
  val stop_line : Camlp4.Sig.Loc.t -> int
  val start_bol : Camlp4.Sig.Loc.t -> int
  val stop_bol : Camlp4.Sig.Loc.t -> int
  val start_off : Camlp4.Sig.Loc.t -> int
  val stop_off : Camlp4.Sig.Loc.t -> int
  val start_pos : Camlp4.Sig.Loc.t -> Lexing.position
  val stop_pos : Camlp4.Sig.Loc.t -> Lexing.position
  val is_ghost : Camlp4.Sig.Loc.t -> bool
  val ghostify : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val set_file_name : string -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val strictly_before : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t -> bool
  val make_absolute : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
  val print : Format.formatter -> Camlp4.Sig.Loc.t -> unit
  val dump : Format.formatter -> Camlp4.Sig.Loc.t -> unit
  val to_string : Camlp4.Sig.Loc.t -> string
  exception Exc_located of Camlp4.Sig.Loc.t * exn
  val raise : Camlp4.Sig.Loc.t -> exn -> 'a
  val name : string Pervasives.ref
end