nickdesaulniers added a comment.

In D68410#1694026 <https://reviews.llvm.org/D68410#1694026>, @kristina wrote:

> Also, I'm fairly certain `__forceinline` and `always_inline`, confusingly 
> enough differ in semantics, with `__forceinline` only being a stronger hint 
> on MSVC.


Does clang handle `__forceinline` vs `always_inline` differently, today?  If 
not, then sounds like we may need to split these in two.

In D68410#1696411 <https://reviews.llvm.org/D68410#1696411>, @joerg wrote:

> I wonder if we should actually enumerate evil here, i.e. give the situations 
> in which inlining actually fails.


Which is likely to change over time.  I worry that enumerating such cases is 
compiler version specific, and might lead to developers depending/[ab]using 
that behavior?

> As mentioned on IRC, I wonder if we shouldn't aim for the stronger semantics

As long as we error when we fail to inline, I think that matches GCC's 
behavior.  There's likely differences in what we can inline or not.

> and at least warn by default of any situation that prevents always_inline 
> from doing its job.

Might be hard to recognize all such cases in the frontend?  GCC does warn via 
`-Wattributes` when the attribute is applied to a non-`inline` function.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68410/new/

https://reviews.llvm.org/D68410



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to