Issue 71034
Summary [C++20] [Modules] Try to generate a reduced BMI to exclude the things not necessary in an interface
Labels clang:modules
Assignees ChuanqiXu9
Reporter ChuanqiXu9
    According to https://isocpp.org/files/papers/P3033R0.html, when we change the body of a non-inline functions in a module purview, the generated BMI shouldn't change.

For example,

```C++
export module a;
export int a() {
    return 43;
}
```

If we change the implementation from `return 43;` to `return 44;` the generated BMI shouldn't change. This is pretty helpful to improve the user's experience by avoiding unnecessary rebuildings as much as possible.

This covers: https://github.com/llvm/llvm-project/issues/70569.

Note that the later discussion in SG15 reveals that the paper is not conflicting with 2 phase compilation. Since we can generate 2 BMIs. One for users and one for building self.


_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to