diff options
author | Paul Hoad <mydeveloperday@gmail.com> | 2019-02-28 20:00:48 +0000 |
---|---|---|
committer | Paul Hoad <mydeveloperday@gmail.com> | 2019-02-28 20:00:48 +0000 |
commit | 68f5e5456f85fbae04cdd2ddab254736b23d5e47 (patch) | |
tree | 87a881ca993c7abbc3b461679d41c3095933f0c9 /llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp | |
parent | a6ff69f6ddf9ab3b3ea8f3f57e8b91a24fa9319f (diff) | |
download | llvm-68f5e5456f85fbae04cdd2ddab254736b23d5e47.zip llvm-68f5e5456f85fbae04cdd2ddab254736b23d5e47.tar.gz llvm-68f5e5456f85fbae04cdd2ddab254736b23d5e47.tar.bz2 |
[clang-tidy] add OverrideMacro to modernize-use-override check
Summary:
The usefulness of **modernize-use-override** can be reduced if you have to live in an environment where you support multiple compilers, some of which sadly are not yet fully C++11 compliant
some codebases have to use override as a macro OVERRIDE e.g.
```
// GCC 4.7 supports explicit virtual overrides when C++11 support is enabled.
```
This allows code to be compiled with C++11 compliant compilers and get warnings and errors that clang, MSVC,gcc can give, while still allowing other legacy pre C++11 compilers to compile the code. This can be an important step towards modernizing C++ code whilst living in a legacy codebase.
When it comes to clang tidy, the use of the **modernize-use-override** is one of the most useful checks, but the messages reported are inaccurate for that codebase if the standard approach is to use the macros OVERRIDE and/or FINAL.
When combined with fix-its that introduce the C++11 override keyword, they become fatal, resulting in the modernize-use-override check being turned off to prevent the introduction of such errors.
This revision, allows the possibility for the replacement **override **to be a macro instead, Allowing the clang-tidy check to be run on both pre and post C++11 code, and allowing fix-its to be applied.
Reviewers: alexfh, JonasToth, hokein, Eugene.Zelenko, aaron.ballman
Reviewed By: alexfh, JonasToth
Subscribers: lewmpk, malcolm.parsons, jdoerfert, xazax.hun, cfe-commits, llvm-commits
Tags: #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D57087
llvm-svn: 355132
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp')
0 files changed, 0 insertions, 0 deletions