Following up to the library issues mentioned in my earlier post:

It seems that .\translate\mcode\windows\ghdlfilter.adb
was not updated to support the --{START-|END-}V08 markups
needed to preprocess the new version of the libraries.
<snip>
I will also need to update complib.bat <snip> to analyze
the v08 libs along with v87 and v93.

My initial 0.32 patch handled the v87 and v93 library analysis OK, but failed once I added the v08 libraries.

The patched ghdlfilter handles line and block metacomments identically for all years by excluding non-matching years.

Which fails for sections like this in the present libraries:
 procedure writeline (variable f: out text; l: inout line) is --V87
 procedure writeline (file f: text; l: inout line) is --V93

My patch to ghdlfilter comments *both* those lines out in -v08 mode, causing later analysis problems.

So, it would expect these library files to also include a --v08 metacomment:
 procedure writeline (file f: text; l: inout line) is --V08

But if I add these to the libraries, that will break the current ./library/Makefile.inc, whose sed commands[1] pass through --v93 metacomments in -v08 mode.

If I'm reading these sed commands correctly:

v87 mode excludes v93 [both block and line comments] and excludes v08 [only block comments]

v93 mode excludes v87 [only line comments] and excludes v08 [only block comments]

v08 mode excludes v87 [only line comments] and *allows* v93

[ While I mention the sed block-vs-line comment restrictions, the present libraries don't require the missing functionality ]

Possibilities:

1) modify ghdlfilter to behave similarly to the existing sed commands
2) add a new set of V08 metacomments to the libraries
3) add a new metacomment NOT_V87 (sic) to replace most of the library V93's ( less code duplication in the libraries then #2 )

#1 would require the fewest code changes, but seems least consistent in the metacomment behavior.

#3 seems to me most self-consistent, albeit also requiring changes to the current ./library/Makefile.inc

-Brian

[1] ./library/Makefile.inc excerpt

.PREFIXES: .vhdl .v93 .v87 .v08

%.v93: %.vhdl
        sed -e '/--V87/s/^/  --/' \
          -e '/--START-V08/,/--END-V08/s/^/--/' < $< > $@

%.v08: %.vhdl
        sed -e '/--V87/s/^/  --/' < $< > $@

%.v87: %.vhdl
        sed -e '/--V93/s/^/  --/' -e '/--START-V93/,/--END-V93/s/^/--/' \
          -e '/--START-V08/,/--END-V08/s/^/--/' < $< > $@



_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to