mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 15:06:37 +00:00

It would be beneficial to allow not_tail_called attribute to be applied to virtual functions. I don't see any drawback of allowing this. Differential Revision: https://reviews.llvm.org/D96832
18 lines
397 B
C++
18 lines
397 B
C++
// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
|
|
// expected-no-diagnostics
|
|
|
|
class Base {
|
|
public:
|
|
[[clang::not_tail_called]] virtual int foo1();
|
|
virtual int foo2();
|
|
[[clang::not_tail_called]] int foo3();
|
|
virtual ~Base() {}
|
|
};
|
|
|
|
class Derived1 : public Base {
|
|
public:
|
|
int foo1() override;
|
|
[[clang::not_tail_called]] int foo2() override;
|
|
[[clang::not_tail_called]] int foo4();
|
|
};
|