Add support for parsing C++11 final classes
Such as:
class X final {};
This no longer gives a syntax error.
This change has introduced one more shift-reduce conflict in the parser.
with a conflict with a C style variable declaration with name final:
class X final;
resulting in a syntax error (for C++ not C). This is an an unusual style
for C++ code and more typical declarations do work:
X final;
Closes #672
This commit is contained in:
parent
76f5670fa4
commit
ba279ae939
9 changed files with 267 additions and 24 deletions
|
|
@ -27,7 +27,7 @@ struct Base {
|
|||
virtual ~Base() {}
|
||||
};
|
||||
|
||||
struct Derived /*final*/ : Base {
|
||||
struct Derived final : Base {
|
||||
virtual void stuff() const noexcept override final {}
|
||||
virtual void override1() const noexcept override;
|
||||
virtual void override2() const noexcept override;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue