C++ Logo

SG15

Advanced search

Subject: Re: [SG15] module source suffixes
From: Matthew Woehlke (mwoehlke.floss_at_[hidden])
Date: 2019-08-27 14:37:00


On 27/08/2019 12.45, Olga Arkhipova wrote:
> IDE needs to build all module sources (if they are not already built) so their BMIs can be used in intellisense when user is editing some code which is using those modules. Before all BMIs for all modules used in the code are available, a code cannot be compiled (i.e. no semantic colorization, autocompletion, etc. in the editor).

Okay, this boils down to the IDE needing to do (or ask the build system
to do) a dependency scan. And...

> To be able to build modules in the correct order, all module interface sources needs to be parsed for module names and dependencies. Parsing all codebase for potential modules will (in most cases) take significantly more time than just parsing module interface files, so we'd really like to avoid this.

...I guess you are arguing that it is "too slow" if that scan has to
look at every source file.

But build systems will have to do the same thing, no? Isn't this why
we've been making such a big deal about dependency scanning needing to
be fast?

If this argument is valid, it is valid for *every build system*, not
just your particular IDE. But if that is so, I would expect everyone to
be making this argument, and it seems that is not happening.

Someone is wrong here. Either dependency scanning is not so slow, or it
is important for *everyone* to know via some external information
whether a source file participates in creating a module.

-- 
Matthew

SG15 list run by sg15-owner@lists.isocpp.org

Older archives