aaron.ballman added inline comments. ================ Comment at: lib/Sema/SemaDecl.cpp:5374 @@ +5373,3 @@ + + // Virtual functions cannot be marked as 'notail'. + if (auto *Attr = ND.getAttr<NotTailCalledAttr>()) ---------------- Is there a reason this is here instead of SemaDeclAttr.cpp? It seems like the decl passed in with the attribute attached to it should already be known to be virtual or not?
================ Comment at: test/Sema/attr-notail.c:8 @@ +7,2 @@ + return a ? callee0() : callee1(); +} ---------------- Missing a test case for the attribute being specified on something other than a function, and one for being passed arguments. ================ Comment at: test/SemaCXX/attr-notail.cpp:5 @@ +4,3 @@ +public: + [[clang::not_tail_called]] virtual int foo1(); // expected-error {{'not_tail_called' attribute cannot be applied to virtual function}} + virtual int foo2(); ---------------- Missing the "s" on virtual functions. http://reviews.llvm.org/D12922 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits