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

Reply via email to