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