Skip to content

[C++20] [Modules] Record BMI Hash which is consistent if the interfaces doesn't change #71618

Closed
@ChuanqiXu9

Description

@ChuanqiXu9

The motivating example comes from #70569.

For example,

// a.cppm
export module a;
export int a() {
    return 43;
}

// use.cc
import a;
int use() {
    return a();
}

After we change the implementation of a() from return 43; to return 44;, we can avoid recompiling use.cc to use.o since the interface doesn't change.
This is pretty helpful to improve the user's experience by avoiding unnecessary recompilations as much as possible.

Metadata

Metadata

Assignees

Labels

clang:modulesC++20 modules and Clang Header Modules

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions