1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-08 04:30:45 -08:00
Commit graph

21 commits

Author SHA1 Message Date
David Jones
d6d6a11ef7 Mps: adding uses of diag_decl so that variety=hi builds on os x.
Copied from Perforce
 Change: 163257
 ServerID: perforce.ravenbrook.com
2007-09-19 11:12:21 +01:00
Richard Kistruck
a1ecafc1f8 Mps br/diagtag: diag.c: (comment only) add to todo list: deprecate
un-tagged diags, every diag should end with \n.
poolamc.c: fix spelling of amcScanNailed_loop diag.

Copied from Perforce
 Change: 163125
 ServerID: perforce.ravenbrook.com
2007-08-14 15:59:19 +01:00
Richard Kistruck
557026a790 Mps br/diagtag: diag_prefix_ in config.h, instead of hard-wired.
Note .filter-disable.

Copied from Perforce
 Change: 163119
 ServerID: perforce.ravenbrook.com
2007-08-14 13:31:46 +01:00
Richard Kistruck
2cbc8e1232 Mps br/diagtag: determine diag_buffer_size in config.h; space for
20000 chars (10 screenfuls) in diag varieties, 1 char in others.
Handle diag->buf overflow (in fact was already handled; now tested; 
 in the always-on safety tests, use a condition that is verbatim 
 the same as the corresponding AVER).
Diag type: DiagSig, and AVERT(Diag, diag).  Neater .rules.debug.

Copied from Perforce
 Change: 163114
 ServerID: perforce.ravenbrook.com
2007-08-13 18:07:30 +01:00
Richard Kistruck
d9d4f267df Mps br/diagtag: give helpful message if diag_end tag does not match.
(tidyup) Move RulesGlobal to head of file; write instructions.
(tidyup) Move StringEqual into mpm.c (with StringLength); add AVER.
(cosmetic) Correct case of names: module-interface names begin 
uppercase; local names begin lowercase.  Tags should be C identifiers.

Copied from Perforce
 Change: 163112
 ServerID: perforce.ravenbrook.com
2007-08-13 16:54:40 +01:00
Richard Kistruck
c6663dcbff Mps br/diagtag: matchtag now uses patternoccurs, not stringequal, so
-DIAGTEST/*/*
will filter out all diags whose tags contain "DIAGTEST".
Unit test for PatternOccurs.  (PatternOccurs used to be called 
StringMatch).  

Copied from Perforce
 Change: 163111
 ServerID: perforce.ravenbrook.com
2007-08-13 15:55:32 +01:00
Richard Kistruck
f27629ba7c Mps br/diagtag: .improve.empty-diag: if diag is empty, still allow
it to be output (if rules permit).  Rename FilterOutput as FilterStream_Output.

Copied from Perforce
 Change: 163110
 ServerID: perforce.ravenbrook.com
2007-08-13 15:05:39 +01:00
Richard Kistruck
34c5536455 Mps br/diagtag: note .improve.empty-diag. to do list.
Run diag_test() on first tag begin.

Copied from Perforce
 Change: 163105
 ServerID: perforce.ravenbrook.com
2007-08-11 16:26:51 +01:00
Richard Kistruck
05d91ccd0c Mps br/diagtag: diag.c: before first diag, output rules_diag: list
of all rules.  Aver FilterOutput non-reentrant.  Note: empty diags 
never output.

Copied from Perforce
 Change: 163104
 ServerID: perforce.ravenbrook.com
2007-08-11 12:53:50 +01:00
Richard Kistruck
95761082f4 Mps br/diagtag: (fix w3i3mv build) remove unused vars, unused static fn diagoutput, and add int->char cast in _fputc
Copied from Perforce
 Change: 163083
 ServerID: perforce.ravenbrook.com
2007-08-10 11:48:52 +01:00
Richard Kistruck
5a97a8309e Mps br/diagtag:
locus.c: slightly better ChainCondemnAuto diag.
poolamc.c: tag amcScanNailed-loop diag (as provoked by mpsicv).
(diag.c: (diag filter only) hide amcScanNailed-loop diag)

Copied from Perforce
 Change: 163082
 ServerID: perforce.ravenbrook.com
2007-08-10 10:53:32 +01:00
Richard Kistruck
3cf7d5d66a Mps br/diagtag: whether a rule matches tag and para is constant for
the whole of a given diag, so memoize it (instead of repeating the 
match for every line of the diag).
locus.c: new diag from ChainCondemnAuto.
trace.c: tidy up TraceStart diag, give traceFindGrey diag a tag.

Copied from Perforce
 Change: 163077
 ServerID: perforce.ravenbrook.com
2007-08-09 16:41:59 +01:00
Richard Kistruck
af1160663a Mps br/diagtag: matchpara lets you choose to see the whole of a
diagnostic based on something on one of its lines.  See RulesGlobalX 
for an example.  Implementation currently inefficient (scans whole 
buffer for each line).

Copied from Perforce
 Change: 163073
 ServerID: perforce.ravenbrook.com
2007-08-09 15:40:53 +01:00
Richard Kistruck
e4eafb743e Mps br/diagtag: matchline and lineoutput give line-by-line filtering.
Copied from Perforce
 Change: 163072
 ServerID: perforce.ravenbrook.com
2007-08-09 14:45:14 +01:00
Richard Kistruck
8342669dc9 Mps br/diagtag: diag.c: stringequal(), used to check tags, and
report helpfully if poor programmer forgot to end a tag.
FilterOutput: really filters now, but only on Tag.

Copied from Perforce
 Change: 163070
 ServerID: perforce.ravenbrook.com
2007-08-09 13:40:48 +01:00
Richard Kistruck
55b74f2590 Mps br/diagtag: writef (mpm.c) uses new stream_fputc/s(), but still use mps_lib_file*
and mps_lib_EOF.
diag.c:
  Diag is a buffer capable of holding a diagnostic.
  FilterStream can buffer and filter diagnostics.
  Rule is a selection rule for filtering diagnostics.
  FilterOutput does output (but does not apply the rules yet).
  DiagStream can be switched to either FilterStream() or mps_lib_stdout().  

Copied from Perforce
 Change: 163067
 ServerID: perforce.ravenbrook.com
2007-08-09 12:11:29 +01:00
Richard Kistruck
5cbd84f9b4 Mps br/diagtag:
diag.c: support tagging of diagnostics, and avoid having to 
  say DIAG_STREAM every time, with new macros:
    DIAG_SINGLEF, DIAG_FIRSTF, DIAG_MOREF, DIAG_END.
mpm.c: new WriteF_firstformat_v required by DIAG_MOREF.

Copied from Perforce
 Change: 163059
 ServerID: perforce.ravenbrook.com
2007-08-07 19:09:43 +01:00
Richard Kistruck
2901c70183 Mps master: diag.c's diag_with_stream_and_writef apparatus: now
always present in the source, even for builds (eg. non-diag 
varieties) in which it is not invoked.  (avoids ranlib warning on 
xcppgc).

Copied from Perforce
 Change: 162948
 ServerID: perforce.ravenbrook.com
2007-07-19 17:03:30 +01:00
Richard Kistruck
6749f30dc0 Mps br/diag: diag-out with writef and diag_stream does not work in cet.
Hope to fix in time, but for now I need DIAG-out to work, so switch 
to printf (yes, really, I know, sorry).
Also, only do DIAG-out in variety.di, to avoid damage to .ci.
So for now, remove DIAG_WRITEF and DIAG from arenavm and trace.
To test, add DIAG_PRINTF in trace.

Copied from Perforce
 Change: 162387
 ServerID: perforce.ravenbrook.com
2007-05-21 16:28:50 +01:00
Richard Kistruck
b261b142fd Mps br/diag: variety.ii: now has diagnostics, and no logging (pro tem);
mpm.h: DIAG() et al under control of DIAGNOSTICS;
diag.c: under control of DIAGNOSTICS, plus add header and copyright.

Copied from Perforce
 Change: 162214
 ServerID: perforce.ravenbrook.com
2007-04-27 15:37:16 +01:00
David Jones
afbf0b8ce7 Mps: diag fixes.
Copied from Perforce
 Change: 162163
 ServerID: perforce.ravenbrook.com
2007-04-19 13:02:21 +01:00