Issue 172424
Summary [C++20] [Modules] [ABI] The linkage of implicit special methods
Labels clang:modules
Assignees
Reporter ChuanqiXu9
    Similar to https://github.com/llvm/llvm-project/issues/145676

But the issue is for implicit special methods. e.g.,

```C++
export module M;
class V {
public:
    V() { ... }
    ~V() { ... }
};
class S {
    V v;
public:

};
```

In the module unit, we should generate `S::S()` and `S::~()` as a strong symbol. This is useful for faster compilation.

The difference between https://github.com/llvm/llvm-project/issues/145676 is, there are cases we can't generate these special methods:


```C++
export module M;
class V {
public:
    V() = delete;
    V(int);
    ~V() { ... }
};
class S {
    V v;
public:
   S(int);
};
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to