
See the example: ``` export module func; class C { public: void member() try { } catch (...) { } }; ``` We woudln't generate the definition for `C::member` but we should. Since the function is non-inline in modules. This turns out to be an oversight in parser to me. Since the try-catch body is relatively rare, so maybe we just forgot it.
14 lines
262 B
C++
14 lines
262 B
C++
// RUN: %clang_cc1 -std=c++20 %s -fexceptions -fcxx-exceptions -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s
|
|
|
|
export module func;
|
|
class C {
|
|
public:
|
|
void member() try {
|
|
|
|
} catch (...) {
|
|
|
|
}
|
|
};
|
|
|
|
// CHECK: define {{.*}}@_ZNW4func1C6memberEv
|