C++ Logo


Advanced search

Re: [Tooling] Modules feedback

From: Steve Downey <sdowney_at_[hidden]>
Date: Tue, 12 Feb 2019 17:33:19 -0500
> Right now, they ship headers. They can't ship BMI's because BMI's are
> not portable across compilers or quite possibly even compiler versions.
> Shipping raw source will not be an option for non-open-source libraries.
> We need an intermediate representation that is *portable*.
> Source for the module interface. If you don't want to provide details in
the module interface, then don't. You are no worse off than if you provided

export module my_closed_source;
export import "my_closed_source_header.h"

We do need some ground rules for how to consume the source of an interface
unit. I believe the compiled interface should be in a library, or otherwise
provided, and the consumer just translate the interface into the bmi,
because providing a .o and a .a to a posix linker has very different
effects. The object file is added unconditionally, and its undefs must be
resolved, where a library is just a source for undef resolution.

Received on 2019-02-12 23:33:34