[PATCH] D146089: [Sema] Fix null pointer dereference handleAlwaysInlineAttr.
Craig Topper via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 15 12:07:51 PDT 2023
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
More information about the cfe-commits
mailing list