imc-trading / svlangserver

MIT License
95 stars 13 forks source link

Linting with Verilator 5: SystemVerilog library files incorrectly processed as Verilog files #45

Open aumouvantsillage opened 10 months ago

aumouvantsillage commented 10 months ago

I am using svlangserver in Neovim with the default settings. The linter is Verilator 5.015.

In my projects, the linter emits this error message for all imports:

Importing from missing package 'P'

However, the corresponding package files are all listed correctly in the linter.vc file generated by svlangserver.

I have noticed that the errors disappear if I edit the file linter.vc and I remove the -v switch before the library file names. In fact, according the Verilator man page, this option is documented as:

-v Verilog library

I suspect that Verilator 5 does not support SystemVerilog for files introduced with the -v option. Just listing the file names alone seems to work.

kkanhere commented 9 months ago

Thanks for filing an issue.Verilator linting is broken at the moment and I plan to fix it in the next release.

jagjordi commented 1 month ago

Is there any plan of fixing this? What would be needed? I could give it a try!

kkanhere commented 1 month ago

It is definitely in the TODO list. An immediate simple fix would be to just revert the logic that was changed around linting in this release as the previous release had better linting functionality. In the long run the idea should be to create a vc file per file being edited with precisely its dependencies.