| 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