-static /*@only@*/ fileloc fileloc_createPrim (flkind p_kind, fileId p_fid, int p_line, int p_col);
+static /*@only@*/ fileloc fileloc_createPrim (flkind p_kind, fileId p_fid, int p_line, int p_col) /*@*/ ;
+
+/*
+** builtin locs are never free'd
+*/
+
+static /*@owned@*/ fileloc s_builtinLoc = fileloc_undefined;
+static /*@owned@*/ fileloc s_externalLoc = fileloc_undefined;
+
+void fileloc_destroyMod ()
+{
+ if (fileloc_isDefined (s_builtinLoc))
+ {
+ sfree (s_builtinLoc);
+ s_builtinLoc = fileloc_undefined;
+ }
+
+ if (fileloc_isDefined (s_externalLoc))
+ {
+ sfree (s_externalLoc);
+ s_externalLoc = fileloc_undefined;
+ }
+}