craig.topper added inline comments.
================ Comment at: clang/test/Sema/attr-alwaysinline.cpp:36 + return x; +} + ---------------- erichkeane wrote: > craig.topper wrote: > > erichkeane wrote: > > > Can you add a test that shows that we warn on instantiation? This > > > shouldn't be a dependent declrefexpr when instantiated. > > > > > > Additionally, this would make sure that we're properly propoagating > > > `always_inline`. > > Should this warn > > > > ``` > > template<int D> [[gnu::noinline]] > > > > int bar(int x) { > > > > if constexpr (D > 1) > > > > [[clang::always_inline]] return bar<D-1>(x + 1); > > > > else > > > > return x; > > > > } > > > > > > > > int baz(int x) { > > > > return bar<5>(x); > > > > } > > ``` > Yes, I would expect that to warn. It looks like handleAlwaysInlineAttr only gets called once so it doesn't get called after instantiation. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146089/new/ https://reviews.llvm.org/D146089 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits