[clang-tidy] Fix modernize-use-override incorrect replacement
authorAlexander Kornienko <alexfh@google.com>
Fri, 7 Jul 2017 10:15:24 +0000 (10:15 +0000)
committerAlexander Kornienko <alexfh@google.com>
Fri, 7 Jul 2017 10:15:24 +0000 (10:15 +0000)
commit91dafe09b05524d7b102b00a1e82dacbd68f0af7
treeeb773425cd8910ae1cfa484624d9ef18be7e357d
parentecedd8d80345ac3ca33c53f3f2599ecc04ea841c
[clang-tidy] Fix modernize-use-override incorrect replacement

Summary:
For the following code: `modernize-use-override` generates a replacement with incorrect location.
```
struct IntPair
{
  int first, second;
};

struct A
{
  virtual void il(IntPair);
};

struct B : A
{
  void il(IntPair p = {1, (2 + 3)}) {};
  // Generated Fixit: void il(IntPair p = override {1, (2 + 3)}) {};
  // Should be: void il(IntPair p = {1, (2 + 3)}) override {};
};
```
This fixes that and adds a unit test.

Reviewers: alexfh, aaron.ballman, hokein

Reviewed By: alexfh

Subscribers: JDevlieghere, xazax.hun, cfe-commits

Tags: #clang-tools-extra

Patch by Victor Gao!

Differential Revision: https://reviews.llvm.org/D35078

llvm-svn: 307379
clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
clang-tools-extra/test/clang-tidy/modernize-use-override.cpp