hat 2.9.2 → 2.9.3
raw patch · 7 files changed
+21/−21 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- hat.cabal +2/−2
- tools/artutils.h +1/−0
- tools/detectutils.c +1/−1
- tools/hat-names.c +5/−5
- tools/nontermutils.c +3/−3
- tools/observeutils.c +5/−5
- trans/HatTrans.hs +4/−5
hat.cabal view
@@ -1,6 +1,6 @@ name: hat-version: 2.9.2+version: 2.9.3 synopsis: The Haskell tracer, generating and viewing Haskell execution traces description: hat-trans transforms Module.hs into Hat/Module.hs such that when the program is@@ -25,7 +25,7 @@ Flag -v allows you to see what is going on. Building takes a long time (one module has 25.000 lines of code). - Don't worry about numerous warning messages. The tracing transformation does produce+ Some compiler warnings have been turned off. The tracing transformation does produce code with lots of overlapping patterns. Use:
tools/artutils.h view
@@ -42,6 +42,7 @@ void finalise (void); FILE* openFile (char* base, char* ext); int sizeFile (char* base, char* ext);+void myfread (void* buf, int siz, int num, FILE* stream); int freadAt (FileOffset fo, void* ptr ,int size, int nmemb, FILE* stream); FileOffset readFO (void);
tools/detectutils.c view
@@ -170,7 +170,7 @@ if (hasSrcPos(c)) { readFO(); } /* skip use position */ readFO(); readFO(); /* skip parent and result */ ptr[0] = readFO(); /* get fun */- fread(&c,sizeof(char),1,HatFileRandom); /* get arity */+ myfread(&c,sizeof(char),1,HatFileRandom); /* get arity */ for (i=1; i<=c; i++) ptr[i] = readFO(); /* get args */ if (anySuspect(ptr[0])) return True; for (i=1; i<=c; i++) {
tools/hat-names.c view
@@ -487,7 +487,7 @@ readFO(); /* parent */ result = readFO(); fun = readFO();- fread(&size,sizeof(unsigned char),1,HatFileRandom); /* arity */+ myfread(&size,sizeof(unsigned char),1,HatFileRandom); /* arity */ if (fun < caf) { /* fun already seen in linear scan */ atom = (defn*)FM_lookup(map2,(cast)(uintptr_t)fun); if (atom) {@@ -558,11 +558,11 @@ break; case AtomVariable: readFO(); /* skip module pointer */- { int x; fread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */- { int x; fread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */- { char x; fread(&x,sizeof(char),1,HatFileRandom); } /* skip fixity */+ { int x; myfread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */+ { int x; myfread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */+ { char x; myfread(&x,sizeof(char),1,HatFileRandom); } /* skip fixity */ { unsigned char size; char *id;- fread(&size,sizeof(unsigned char),1,HatFileRandom);+ myfread(&size,sizeof(unsigned char),1,HatFileRandom); id = readString(); HIDE(fprintf(stderr,"countCAF: found AtomVariable %s\n",id);) if (arity < size) {
tools/nontermutils.c view
@@ -195,7 +195,7 @@ readFO(); /* skip result */ ptr = readFO(); /* fun/constructor */ if (n==0) return getResultRestricted(ptr);- fread(&c,sizeof(char),1,HatFileRandom); /* get arity */+ myfread(&c,sizeof(char),1,HatFileRandom); /* get arity */ if (n<=c) { for (i=1; i<n; i++) readFO(); /* skip other args */ ptr = readFO(); /* get n'th arg */@@ -208,7 +208,7 @@ readFO(); /* skip parent */ ptr = readFO(); /* fun/constructor */ if (n==0) return ptr; /* no result-chain - fun is already an atom */- fread(&c,sizeof(char),1,HatFileRandom); /* get arity */+ myfread(&c,sizeof(char),1,HatFileRandom); /* get arity */ if (n<=c) { for (i=1; i<n; i++) readFO(); /* skip other args */ ptr = readFO(); /* get n'th arg */@@ -244,7 +244,7 @@ readFO(); /* skip result */ ptr = readFO(); /* exp/constructor */ if (n==0) return getResult(ptr,True);- fread(&c,sizeof(char),1,HatFileRandom); /* get arity */+ myfread(&c,sizeof(char),1,HatFileRandom); /* get arity */ if (n<=c) { for (i=0; i<c; i++) readFO(); /* skip binder labels */ for (i=1; i<n; i++) readFO(); /* skip other bindees */
tools/observeutils.c view
@@ -466,7 +466,7 @@ readFO(); result = readFO(); fun = readFO();- fread(&size,sizeof(unsigned char),1,HatFileRandom); /* arity */+ myfread(&size,sizeof(unsigned char),1,HatFileRandom); /* arity */ if (fun < caf) { /* fun already seen in linear scan */ if (o_context) { atom = (Atom*)FM_lookup(mapContext2Atom,(cast)(uintptr_t)fun);@@ -540,12 +540,12 @@ break; case AtomVariable: readFO(); /* skip module pointer */- { int x; fread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */- { int x; fread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */- { char x; fread(&x,sizeof(char),1,HatFileRandom); } /* skip fixity */+ { int x; myfread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */+ { int x; myfread(&x,sizeof(int),1,HatFileRandom); } /* skip line/col */+ { char x; myfread(&x,sizeof(char),1,HatFileRandom); } /* skip fixity */ { unsigned char size; char *id;- fread(&size,sizeof(unsigned char),1,HatFileRandom);+ myfread(&size,sizeof(unsigned char),1,HatFileRandom); id = readString(); HIDE(fprintf(stderr,"searchCAF: found AtomVariable %s\n",id);) if (!strcmp(id,o_callee) && (arity<size)) {
trans/HatTrans.hs view
@@ -1,8 +1,7 @@-{- ----------------------------------------------------------------------------This `main' function calls all passes of Hat.-It parses the .hs source file, creates the .hx file, and-then stops immediately after writing a new transformed .hs file.--} +-- This `main' function calls all passes of Hat.+-- It parses the .hs source file, creates the .hx file, and+-- then stops immediately after writing a new transformed .hs file.+ module Main where import System.IO(hPutStr,stderr)