mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 00:46:06 +00:00

Reworked handling of implicit inline marking for member and friend function defined in class. Now, we handle it in an additive manner, i.e. if such in-class functions are inline implicitly by language rules, we mark the as `setImplicitInline`, and perform no action otherwise. As we never remove inline specifier, the implementation is orthogonal to other sources of inline (like `inline`, `constexpr`, e.t.c), and we do not need to handle them specially. Also included test for `constexpr`, `consteval` and global module cases.