SCM Repository
View of /sml/trunk/src/cm/main/specific-symval-fn.sml
Parent Directory
|
Revision Log
Revision 879 -
(download)
(annotate)
Thu Jul 19 18:59:38 2001 UTC (19 years, 6 months ago) by blume
File size: 1039 byte(s)
Thu Jul 19 18:59:38 2001 UTC (19 years, 6 months ago) by blume
File size: 1039 byte(s)
extensive organizational changes
(* * Building a host/OS-specific environments for CM "preprocessor" variables. * * (C) 1999 Lucent Technologies, Bell Laboratories * * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp) *) functor SpecificSymValFn (val arch: string val os: SMLofNJ.SysInfo.os_kind) = struct local val (arch, big, size) = case arch of "sparc" => ("SPARC", true, 32) | "alpha32" => ("ALPHA", false, 32) | "mipsel" => ("MIPS", false, 32) | "mipseb" => ("MIPS", true, 32) | "x86" => ("X86", false, 32) | "hppa" => ("HPPA", false, 32) | "rs6000" => ("RS6000", false, 32) | "ppc" => ("PPC", false, 32) | arch => ErrorMsg.impossible ("unknown architecture: " ^ arch) val env0 = SymVal.default { arch = arch, big = big, size = size, os = os, version = #version_id CompilerVersion.version } val er = ref env0 in fun symval s = let fun get () = SymVal.look (!er) s fun set v = er := SymVal.define (!er, s, v) in { get = get, set = set } end end end
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |