forked from OSchip/llvm-project
Run ClangTidy tests in all C++ language modes
Summary: I inspected every test and did one of the following: - changed the test to run in all language modes, - added a comment explaining why the test is only applicable in a certain mode, - limited the test to language modes where it passes and added a FIXME to fix the checker or the test. Reviewers: alexfh, lebedev.ri Subscribers: nemanjai, kbarton, arphaman, jdoerfert, lebedev.ri, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62125 llvm-svn: 361131
This commit is contained in:
parent
a760e69840
commit
cb18647b19
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s abseil-duration-unnecessary-conversion %t -- -- -I%S/Inputs
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s abseil-duration-unnecessary-conversion %t -- -- -I %S/Inputs
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
#include "absl/time/time.h"
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s abseil-faster-strsplit-delimiter %t
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s abseil-faster-strsplit-delimiter %t
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
namespace absl {
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s abseil-str-cat-append %t -- -- -I%S -std=c++11
|
||||
// RUN: %check_clang_tidy %s abseil-str-cat-append %t
|
||||
|
||||
typedef unsigned __INT16_TYPE__ char16;
|
||||
typedef unsigned __INT32_TYPE__ char32;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s abseil-string-find-startswith %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: 'abseil-string-find-startswith.StringLikeClasses', value: '::std::basic_string;::basic_string'}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: 'abseil-string-find-startswith.StringLikeClasses', value: '::std::basic_string;::basic_string'}]}"
|
||||
|
||||
namespace std {
|
||||
template <typename T> class allocator {};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s abseil-time-subtraction %t -- -- -I%S/Inputs
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s abseil-time-subtraction %t -- -- -I %S/Inputs
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
#include "absl/time/time.h"
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s abseil-upgrade-duration-conversions %t -- -- -I%S/Inputs
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s abseil-upgrade-duration-conversions %t -- -- -I%S/Inputs
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
using int64_t = long long;
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
// RUN: %check_clang_tidy %s bugprone-dangling-handle %t -- \
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s bugprone-dangling-handle %t -- \
|
||||
// RUN: -config="{CheckOptions: \
|
||||
// RUN: [{key: bugprone-dangling-handle.HandleClasses, \
|
||||
// RUN: value: 'std::basic_string_view; ::llvm::StringRef;'}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: value: 'std::basic_string_view; ::llvm::StringRef;'}]}"
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
namespace std {
|
||||
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
// RUN: %check_clang_tidy %s bugprone-exception-escape %t -- -extra-arg=-std=c++11 -extra-arg=-fexceptions -config="{CheckOptions: [{key: bugprone-exception-escape.IgnoredExceptions, value: 'ignored1,ignored2'}, {key: bugprone-exception-escape.FunctionsThatShouldNotThrow, value: 'enabled1,enabled2,enabled3'}]}" --
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s bugprone-exception-escape %t -- \
|
||||
// RUN: -config="{CheckOptions: [ \
|
||||
// RUN: {key: bugprone-exception-escape.IgnoredExceptions, value: 'ignored1,ignored2'}, \
|
||||
// RUN: {key: bugprone-exception-escape.FunctionsThatShouldNotThrow, value: 'enabled1,enabled2,enabled3'} \
|
||||
// RUN: ]}" \
|
||||
// RUN: -- -fexceptions
|
||||
|
||||
struct throwing_destructor {
|
||||
~throwing_destructor() {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s bugprone-forwarding-reference-overload %t -- -- -std=c++14
|
||||
// RUN: %check_clang_tidy %s bugprone-forwarding-reference-overload %t
|
||||
|
||||
namespace std {
|
||||
template <bool B, class T = void> struct enable_if { typedef T type; };
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s bugprone-inaccurate-erase %t
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s bugprone-inaccurate-erase %t
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
namespace std {
|
||||
template <typename T> struct vec_iterator {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s bugprone-move-forwarding-reference %t -- -- -std=c++14 -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy -std=c++14-or-later %s bugprone-move-forwarding-reference %t -- -- -fno-delayed-template-parsing
|
||||
|
||||
namespace std {
|
||||
template <typename> struct remove_reference;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s bugprone-sizeof-container %t -- -- -std=c++11 -target x86_64-unknown-unknown
|
||||
// RUN: %check_clang_tidy %s bugprone-sizeof-container %t -- -- -target x86_64-unknown-unknown
|
||||
|
||||
namespace std {
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s cert-err34-c %t -- -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s cert-err34-c %t
|
||||
|
||||
typedef void * FILE;
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s cert-msc51-cpp %t -- -config="{CheckOptions: [{key: cert-msc51-cpp.DisallowedSeedTypes, value: 'some_type,time_t'}]}" -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s cert-msc51-cpp %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: cert-msc51-cpp.DisallowedSeedTypes, value: 'some_type,time_t'}]}"
|
||||
|
||||
namespace std {
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s cert-oop11-cpp %t -- -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s cert-oop11-cpp %t
|
||||
|
||||
struct B {
|
||||
B(B&&) noexcept = default;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s cert-err52-cpp %t -- -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s cert-err52-cpp %t
|
||||
|
||||
typedef void *jmp_buf;
|
||||
extern int __setjmpimpl(jmp_buf);
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s cert-err60-cpp %t -- -- -std=c++11 -fcxx-exceptions
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s cert-err60-cpp %t -- -- -fcxx-exceptions
|
||||
// FIXME: Split off parts of this test that rely on dynamic exeption
|
||||
// specifications, and run this test in all language modes.
|
||||
|
||||
struct S {};
|
||||
struct T : S {};
|
||||
|
|
|
@ -38,29 +38,15 @@ def write_file(file_name, text):
|
|||
f.write(text)
|
||||
f.truncate()
|
||||
|
||||
def csv(string):
|
||||
return string.split(',')
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-expect-clang-tidy-error', action='store_true')
|
||||
parser.add_argument('-resource-dir')
|
||||
parser.add_argument('-assume-filename')
|
||||
parser.add_argument('input_file_name')
|
||||
parser.add_argument('check_name')
|
||||
parser.add_argument('temp_file_name')
|
||||
parser.add_argument('-check-suffix', '-check-suffixes',
|
||||
default=[''], type=csv,
|
||||
help="comma-separated list of FileCheck suffixes")
|
||||
|
||||
args, extra_args = parser.parse_known_args()
|
||||
|
||||
def run_test_once(args, extra_args):
|
||||
resource_dir = args.resource_dir
|
||||
assume_file_name = args.assume_filename
|
||||
input_file_name = args.input_file_name
|
||||
check_name = args.check_name
|
||||
temp_file_name = args.temp_file_name
|
||||
expect_clang_tidy_error = args.expect_clang_tidy_error
|
||||
std = args.std
|
||||
|
||||
file_name_with_extension = assume_file_name or input_file_name
|
||||
_, extension = os.path.splitext(file_name_with_extension)
|
||||
|
@ -82,12 +68,11 @@ def main():
|
|||
[arg.startswith('-format-style=') for arg in clang_tidy_extra_args]):
|
||||
clang_tidy_extra_args.append('-format-style=none')
|
||||
|
||||
if len(clang_extra_args) == 0:
|
||||
if extension in ['.cpp', '.hpp', '.mm']:
|
||||
clang_extra_args.append('--std=c++11')
|
||||
if extension in ['.m', '.mm']:
|
||||
clang_extra_args.extend(
|
||||
['-fobjc-abi-version=2', '-fobjc-arc'])
|
||||
if extension in ['.m', '.mm']:
|
||||
clang_extra_args = ['-fobjc-abi-version=2', '-fobjc-arc'] + clang_extra_args
|
||||
|
||||
if extension in ['.cpp', '.hpp', '.mm']:
|
||||
clang_extra_args.append('-std=' + std)
|
||||
|
||||
# Tests should not rely on STL being available, and instead provide mock
|
||||
# implementations of relevant APIs.
|
||||
|
@ -215,5 +200,49 @@ def main():
|
|||
print('FileCheck failed:\n' + e.output.decode())
|
||||
raise
|
||||
|
||||
|
||||
def expand_std(std):
|
||||
if std == 'c++98-or-later':
|
||||
return ['c++98', 'c++11', 'c++14', 'c++17', 'c++2a']
|
||||
if std == 'c++11-or-later':
|
||||
return ['c++11', 'c++14', 'c++17', 'c++2a']
|
||||
if std == 'c++14-or-later':
|
||||
return ['c++14', 'c++17', 'c++2a']
|
||||
if std == 'c++17-or-later':
|
||||
return ['c++17', 'c++2a']
|
||||
if std == 'c++2a-or-later':
|
||||
return ['c++2a']
|
||||
return [std]
|
||||
|
||||
|
||||
def csv(string):
|
||||
return string.split(',')
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-expect-clang-tidy-error', action='store_true')
|
||||
parser.add_argument('-resource-dir')
|
||||
parser.add_argument('-assume-filename')
|
||||
parser.add_argument('input_file_name')
|
||||
parser.add_argument('check_name')
|
||||
parser.add_argument('temp_file_name')
|
||||
parser.add_argument(
|
||||
'-check-suffix',
|
||||
'-check-suffixes',
|
||||
default=[''],
|
||||
type=csv,
|
||||
help='comma-separated list of FileCheck suffixes')
|
||||
parser.add_argument('-std', type=csv, default=['c++11-or-later'])
|
||||
|
||||
args, extra_args = parser.parse_known_args()
|
||||
|
||||
abbreviated_stds = args.std
|
||||
for abbreviated_std in abbreviated_stds:
|
||||
for std in expand_std(abbreviated_std):
|
||||
args.std = std
|
||||
run_test_once(args, extra_args)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// RUN: -config='{CheckOptions: \
|
||||
// RUN: [{key: cppcoreguidelines-owning-memory.LegacyResourceProducers, value: "::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile"}, \
|
||||
// RUN: {key: cppcoreguidelines-owning-memory.LegacyResourceConsumers, value: "::free;::realloc;::freopen;::fclose"}]}' \
|
||||
// RUN: -- -std=c++11 -nostdlib -nostdinc++
|
||||
// RUN: -- -nostdlib -nostdinc++
|
||||
|
||||
namespace gsl {
|
||||
template <class T>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: clang-tidy %s -checks=-*,cppcoreguidelines-pro-bounds-constant-array-index -- -std=c++03 | count 0
|
||||
// RUN: %check_clang_tidy -std=c++98-or-later %s cppcoreguidelines-pro-bounds-constant-array-index %t
|
||||
|
||||
// Note: this test expects no diagnostics, but FileCheck cannot handle that,
|
||||
// hence the use of | count 0.
|
||||
|
@ -6,6 +6,7 @@ template <int index> struct B {
|
|||
int get() {
|
||||
// The next line used to crash the check (in C++03 mode only).
|
||||
return x[index];
|
||||
// CHECK-FIXES: return x[index];
|
||||
}
|
||||
int x[3];
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s cppcoreguidelines-pro-bounds-constant-array-index %t -- -config='{CheckOptions: [{key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader, value: "dir1/gslheader.h"}]}' -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s cppcoreguidelines-pro-bounds-constant-array-index %t -- \
|
||||
// RUN: -config='{CheckOptions: [{key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader, value: "dir1/gslheader.h"}]}'
|
||||
// CHECK-FIXES: #include "dir1/gslheader.h"
|
||||
|
||||
typedef __SIZE_TYPE__ size_t;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s cppcoreguidelines-pro-bounds-pointer-arithmetic %t -- -- -std=c++14
|
||||
// RUN: %check_clang_tidy -std=c++14-or-later %s cppcoreguidelines-pro-bounds-pointer-arithmetic %t
|
||||
|
||||
// Fix PR36489 and detect auto-deduced value correctly.
|
||||
char *getPtr();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-member-init %t -- -- -std=c++2a -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy -std=c++2a %s cppcoreguidelines-pro-type-member-init %t -- -- -fno-delayed-template-parsing
|
||||
|
||||
struct PositiveBitfieldMember {
|
||||
PositiveBitfieldMember() {}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-member-init %t -- -- -std=c++98 -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy -std=c++98 %s cppcoreguidelines-pro-type-member-init %t -- -- -fno-delayed-template-parsing
|
||||
|
||||
struct PositiveFieldBeforeConstructor {
|
||||
int F;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-member-init %t -- -- -std=c++11 -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s cppcoreguidelines-pro-type-member-init %t -- -- -fno-delayed-template-parsing
|
||||
// FIXME: Fix the checker to work in C++2a mode.
|
||||
|
||||
struct PositiveFieldBeforeConstructor {
|
||||
int F;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s cppcoreguidelines-special-member-functions %t -- -- -std=c++03
|
||||
// RUN: %check_clang_tidy -std=c++98 %s cppcoreguidelines-special-member-functions %t
|
||||
|
||||
class DefinesDestructor {
|
||||
~DefinesDestructor();
|
||||
|
|
|
@ -2,25 +2,47 @@
|
|||
// RUN: rm -rf %t
|
||||
// RUN: mkdir %t
|
||||
// RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
|
||||
// RUN: %check_clang_tidy %s readability-identifier-naming %t/without-modules -- \
|
||||
// RUN: %check_clang_tidy -std=c++11 %s readability-identifier-naming %t/without-modules -- \
|
||||
// RUN: -config="CheckOptions: [{ \
|
||||
// RUN: key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
|
||||
// RUN: -header-filter=.* \
|
||||
// RUN: -- -x c++ -std=c++11 -I%t/
|
||||
// RUN: -- -I %t/
|
||||
//
|
||||
// RUN: rm -rf %t
|
||||
// RUN: mkdir %t
|
||||
// RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
|
||||
// RUN: %check_clang_tidy -std=c++17 %s readability-identifier-naming %t/without-modules -- \
|
||||
// RUN: -config="CheckOptions: [{ \
|
||||
// RUN: key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
|
||||
// RUN: -header-filter=.* \
|
||||
// RUN: -- -I %t/
|
||||
//
|
||||
// Run clang-tidy on a file with modular includes:
|
||||
//
|
||||
// RUN: rm -rf %t
|
||||
// RUN: mkdir %t
|
||||
// RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
|
||||
// RUN: %check_clang_tidy %s readability-identifier-naming %t/with-modules -- \
|
||||
// RUN: %check_clang_tidy -std=c++11 %s readability-identifier-naming %t/with-modules -- \
|
||||
// RUN: -config="CheckOptions: [{ \
|
||||
// RUN: key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
|
||||
// RUN: -header-filter=.* \
|
||||
// RUN: -- -x c++ -std=c++11 -I%t/ \
|
||||
// RUN: -- -I %t/ \
|
||||
// RUN: -fmodules -fimplicit-modules -fno-implicit-module-maps \
|
||||
// RUN: -fmodule-map-file=%t/module.modulemap \
|
||||
// RUN: -fmodules-cache-path=%t/module-cache/
|
||||
//
|
||||
// RUN: rm -rf %t
|
||||
// RUN: mkdir %t
|
||||
// RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
|
||||
// RUN: %check_clang_tidy -std=c++17 %s readability-identifier-naming %t/with-modules -- \
|
||||
// RUN: -config="CheckOptions: [{ \
|
||||
// RUN: key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
|
||||
// RUN: -header-filter=.* \
|
||||
// RUN: -- -I %t/ \
|
||||
// RUN: -fmodules -fimplicit-modules -fno-implicit-module-maps \
|
||||
// RUN: -fmodule-map-file=%t/module.modulemap \
|
||||
// RUN: -fmodules-cache-path=%t/module-cache/
|
||||
// FIXME: Make the test work in all language modes.
|
||||
#include "c.h"
|
||||
|
||||
// CHECK-MESSAGES: a.h:1:9: warning: invalid case style for macro definition 'a' [readability-identifier-naming]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s fuchsia-restrict-system-includes %t \
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: ''}]}" \
|
||||
// RUN: -- -std=c++11 -I %S/Inputs/fuchsia-restrict-system-includes -isystem %S/Inputs/fuchsia-restrict-system-includes/system
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: ''}]}" \
|
||||
// RUN: -- -I %S/Inputs/fuchsia-restrict-system-includes -isystem %S/Inputs/fuchsia-restrict-system-includes/system
|
||||
|
||||
#include <cstdlib.h>
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: system include cstdlib.h not allowed
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s fuchsia-restrict-system-includes %t \
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: 'cstd*'}]}" \
|
||||
// RUN: -- -std=c++11 -I %S/Inputs/fuchsia-restrict-system-includes -isystem %S/Inputs/fuchsia-restrict-system-includes/system
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: 'cstd*'}]}" \
|
||||
// RUN: -- -I %S/Inputs/fuchsia-restrict-system-includes -isystem %S/Inputs/fuchsia-restrict-system-includes/system
|
||||
|
||||
#include <cstdlib.h>
|
||||
#include <cstdarg.h>
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
// RUN: rm -rf %T/Headers
|
||||
// RUN: mkdir %T/Headers
|
||||
// RUN: cp -r %S/Inputs/fuchsia-restrict-system-includes %T/Headers/fuchsia-restrict-system-includes
|
||||
// RUN: %check_clang_tidy %s fuchsia-restrict-system-includes %t \
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: 'transitive.h,s.h'}]}" \
|
||||
// RUN: %check_clang_tidy -std=c++11 %s fuchsia-restrict-system-includes %t \
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: 'transitive.h,s.h'}]}" \
|
||||
// RUN: -system-headers -header-filter=.* \
|
||||
// RUN: -- -std=c++11 -I %T/Headers/fuchsia-restrict-system-includes -isystem %T/Headers/fuchsia-restrict-system-includes/system
|
||||
// RUN: -- -I %T/Headers/fuchsia-restrict-system-includes -isystem %T/Headers/fuchsia-restrict-system-includes/system
|
||||
// RUN: FileCheck -input-file=%T/Headers/fuchsia-restrict-system-includes/transitive2.h %s -check-prefix=CHECK-FIXES
|
||||
// RUN: rm -rf %T/Headers
|
||||
// FIXME: Make the test work in all language modes.
|
||||
|
||||
// transitive.h includes <r.h> and <t.h>
|
||||
#include <transitive.h>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s fuchsia-restrict-system-includes %t \
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: 's.h'}]}" \
|
||||
// RUN: -- -std=c++11 -I %S/Inputs/fuchsia-restrict-system-includes -isystem %S/Inputs/fuchsia-restrict-system-includes/system
|
||||
// RUN: -- -config="{CheckOptions: [{key: fuchsia-restrict-system-includes.Includes, value: 's.h'}]}" \
|
||||
// RUN: -- -I %S/Inputs/fuchsia-restrict-system-includes -isystem %S/Inputs/fuchsia-restrict-system-includes/system
|
||||
|
||||
#include "a.h"
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s google-readability-casting %t
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s google-readability-casting %t
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
bool g() { return false; }
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// RUN: {key: google-runtime-int.UnsignedTypePrefix, value: "std::uint"}, \
|
||||
// RUN: {key: google-runtime-int.SignedTypePrefix, value: "std::int"}, \
|
||||
// RUN: {key: google-runtime-int.TypeSuffix, value: "_t"}, \
|
||||
// RUN: ]}' -- -std=c++11
|
||||
// RUN: ]}'
|
||||
|
||||
long a();
|
||||
// CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'long' with 'std::int{{..}}_t'
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
// RUN: %check_clang_tidy %s google-runtime-references %t -- \
|
||||
// RUN: -extra-arg="-std=c++11" \
|
||||
// RUN: -config="{CheckOptions: \
|
||||
// RUN: [{key: google-runtime-references.WhiteListTypes, \
|
||||
// RUN: value: 'whitelist::A; whitelist::B'}]}" --
|
||||
// RUN: value: 'whitelist::A; whitelist::B'}]}"
|
||||
|
||||
int a;
|
||||
int &b = a;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: clang-tidy %s -checks='-*,hicpp-signed-bitwise' -- -std=c++11
|
||||
// FIXME: Make the test work in all language modes.
|
||||
|
||||
#include "hicpp-signed-bitwise-standard-types.h"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s hicpp-signed-bitwise %t -- -- -std=c++11 --target=x86_64-linux
|
||||
// RUN: %check_clang_tidy %s hicpp-signed-bitwise %t -- -- --target=x86_64-linux
|
||||
|
||||
// These could cause false positives and should not be considered.
|
||||
struct StreamClass {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s misc-new-delete-overloads %t -- -- -std=c++14 -fsized-deallocation
|
||||
// RUN: %check_clang_tidy %s misc-new-delete-overloads %t -- -- -fsized-deallocation
|
||||
|
||||
typedef decltype(sizeof(int)) size_t;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s misc-new-delete-overloads %t -- -- -std=c++14
|
||||
// RUN: %check_clang_tidy %s misc-new-delete-overloads %t
|
||||
|
||||
typedef decltype(sizeof(int)) size_t;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s misc-redundant-expression %t -- -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s misc-redundant-expression %t
|
||||
|
||||
typedef __INT64_TYPE__ I64;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s misc-throw-by-value-catch-by-reference %t -- -- -std=c++11 -fcxx-exceptions
|
||||
// RUN: %check_clang_tidy %s misc-throw-by-value-catch-by-reference %t -- -- -fcxx-exceptions
|
||||
|
||||
|
||||
class logic_error {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s misc-unconventional-assign-operator %t -- -- -std=c++17 -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy -std=c++14-or-later %s misc-unconventional-assign-operator %t -- -- -fno-delayed-template-parsing
|
||||
|
||||
struct BadModifier {
|
||||
BadModifier& operator=(const BadModifier&) const;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s misc-unconventional-assign-operator %t -- -- -std=c++11 -isystem %S/Inputs/Headers -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy %s misc-unconventional-assign-operator %t -- -- -isystem %S/Inputs/Headers -fno-delayed-template-parsing
|
||||
|
||||
namespace std {
|
||||
template <typename T>
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
// RUN: echo "static void staticFunctionHeader(int i) {;}" > %T/header.h
|
||||
// RUN: echo "static void staticFunctionHeader(int /*i*/) {;}" > %T/header-fixed.h
|
||||
// RUN: %check_clang_tidy %s misc-unused-parameters %t -- -header-filter='.*' -- -std=c++11 -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy -std=c++11 %s misc-unused-parameters %t -- -header-filter='.*' -- -fno-delayed-template-parsing
|
||||
// RUN: diff %T/header.h %T/header-fixed.h
|
||||
// FIXME: Make the test work in all language modes.
|
||||
|
||||
#include "header.h"
|
||||
// CHECK-MESSAGES: header.h:1:38: warning
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-avoid-bind %t -- -- -std=c++14
|
||||
// RUN: %check_clang_tidy -std=c++14-or-later %s modernize-avoid-bind %t
|
||||
|
||||
namespace std {
|
||||
inline namespace impl {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-concat-nested-namespaces %t -- -- -std=c++17
|
||||
// RUN: %check_clang_tidy -std=c++17-or-later %s modernize-concat-nested-namespaces %t
|
||||
|
||||
namespace n1 {}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-deprecated-headers %t -- -extra-arg-before=-isystem%S/Inputs/modernize-deprecated-headers -- -std=c++03 -v
|
||||
// RUN: %check_clang_tidy -std=c++98 %s modernize-deprecated-headers %t -- -extra-arg-before=-isystem%S/Inputs/modernize-deprecated-headers
|
||||
|
||||
#include <assert.h>
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: inclusion of deprecated C++ header 'assert.h'; consider using 'cassert' instead [modernize-deprecated-headers]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-deprecated-headers %t -- -extra-arg-before=-isystem%S/Inputs/modernize-deprecated-headers -- -std=c++11 -v
|
||||
// RUN: %check_clang_tidy -std=c++11-or-later %s modernize-deprecated-headers %t -- -extra-arg-before=-isystem%S/Inputs/modernize-deprecated-headers
|
||||
|
||||
#include <assert.h>
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: inclusion of deprecated C++ header 'assert.h'; consider using 'cassert' instead [modernize-deprecated-headers]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -- -std=c++11 -I %S/Inputs/modernize-loop-convert
|
||||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -- -I %S/Inputs/modernize-loop-convert
|
||||
|
||||
#include "structures.h"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'camelBack'}]}" \
|
||||
// RUN: -- -std=c++11 -I %S/Inputs/modernize-loop-convert
|
||||
// RUN: -- -I %S/Inputs/modernize-loop-convert
|
||||
|
||||
#include "structures.h"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s modernize-loop-convert %t
|
||||
|
||||
struct Str {
|
||||
Str() = default;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -- -std=c++11 -I %S/Inputs/modernize-loop-convert
|
||||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -- -I %S/Inputs/modernize-loop-convert
|
||||
|
||||
#include "structures.h"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'lower_case'}]}" \
|
||||
// RUN: -- -std=c++11 -I %S/Inputs/modernize-loop-convert
|
||||
// RUN: -- -I %S/Inputs/modernize-loop-convert
|
||||
|
||||
#include "structures.h"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -- -std=c++11 -I %S/Inputs/modernize-loop-convert
|
||||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- -- -I %S/Inputs/modernize-loop-convert
|
||||
|
||||
#include "structures.h"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-loop-convert %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'UPPER_CASE'}]}" \
|
||||
// RUN: -- -std=c++11 -I %S/Inputs/modernize-loop-convert
|
||||
// RUN: -- -I %S/Inputs/modernize-loop-convert
|
||||
|
||||
#include "structures.h"
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// RUN: {key: modernize-make-shared.MakeSmartPtrFunctionHeader, \
|
||||
// RUN: value: 'make_shared_util.h'} \
|
||||
// RUN: ]}" \
|
||||
// RUN: -- -std=c++11 -I%S/Inputs/modernize-smart-ptr
|
||||
// RUN: -- -I %S/Inputs/modernize-smart-ptr
|
||||
|
||||
#include "shared_ptr.h"
|
||||
// CHECK-FIXES: #include "make_shared_util.h"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-make-shared %t -- -- -std=c++11 \
|
||||
// RUN: -I%S/Inputs/modernize-smart-ptr
|
||||
// RUN: %check_clang_tidy %s modernize-make-shared %t -- -- -I %S/Inputs/modernize-smart-ptr
|
||||
|
||||
#include "shared_ptr.h"
|
||||
// CHECK-FIXES: #include <memory>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-make-unique %t -- -- -std=c++11 \
|
||||
// RUN: -I%S/Inputs/modernize-smart-ptr
|
||||
// RUN: %check_clang_tidy -std=c++11 %s modernize-make-unique %t -- -- -I %S/Inputs/modernize-smart-ptr
|
||||
|
||||
#include "unique_ptr.h"
|
||||
// CHECK-FIXES: #include "unique_ptr.h"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-make-unique %t -- -- -std=c++14 \
|
||||
// RUN: -I%S/Inputs/modernize-smart-ptr
|
||||
// RUN: %check_clang_tidy -std=c++14-or-later %s modernize-make-unique %t -- -- -I %S/Inputs/modernize-smart-ptr
|
||||
|
||||
#include "unique_ptr.h"
|
||||
// CHECK-FIXES: #include <memory>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// RUN: {key: modernize-make-unique.MakeSmartPtrFunctionHeader, \
|
||||
// RUN: value: 'make_unique_util.h'} \
|
||||
// RUN: ]}" \
|
||||
// RUN: -- -std=c++11 -I%S/Inputs/modernize-smart-ptr
|
||||
// RUN: -- -I %S/Inputs/modernize-smart-ptr
|
||||
|
||||
#include "unique_ptr.h"
|
||||
// CHECK-FIXES: #include "make_unique_util.h"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-make-unique %t -- \
|
||||
// RUN: %check_clang_tidy -std=c++14-or-later %s modernize-make-unique %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-make-unique.IgnoreMacros, value: 0}]}" \
|
||||
// RUN: -- -std=c++14 -I%S/Inputs/modernize-smart-ptr
|
||||
// RUN: -- -I %S/Inputs/modernize-smart-ptr
|
||||
|
||||
#include "unique_ptr.h"
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-make-unique %t -- -- -std=c++14 \
|
||||
// RUN: -I%S/Inputs/modernize-smart-ptr
|
||||
// RUN: %check_clang_tidy -std=c++14 %s modernize-make-unique %t -- -- -I %S/Inputs/modernize-smart-ptr
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
#include "unique_ptr.h"
|
||||
#include "initializer_list.h"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// RUN: cp %S/Inputs/modernize-pass-by-value/header.h %T/pass-by-value-header.h
|
||||
// RUN: clang-tidy %s -checks='-*,modernize-pass-by-value' -header-filter='.*' -fix -- -std=c++11 -I %T | FileCheck %s -check-prefix=CHECK-MESSAGES -implicit-check-not="{{warning|error}}:"
|
||||
// RUN: FileCheck -input-file=%T/pass-by-value-header.h %s -check-prefix=CHECK-FIXES
|
||||
// FIXME: Make the test work in all language modes.
|
||||
|
||||
#include "pass-by-value-header.h"
|
||||
// CHECK-MESSAGES: :8:5: warning: pass by value and use std::move [modernize-pass-by-value]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -- -std=c++11 -isystem %S/Inputs/Headers
|
||||
// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -- -isystem %S/Inputs/Headers
|
||||
|
||||
// CHECK-FIXES: #include <utility>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -- -std=c++11 -fno-delayed-template-parsing
|
||||
// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -- -fno-delayed-template-parsing
|
||||
|
||||
namespace {
|
||||
// POD types are trivially move constructible.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-raw-string-literal %t -- -config='{CheckOptions: [{key: "modernize-raw-string-literal.DelimiterStem", value: "str"}, {key: modernize-raw-string-literal.ReplaceShorterLiterals, value: 1}]}' -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s modernize-raw-string-literal %t -- -config='{CheckOptions: [{key: "modernize-raw-string-literal.DelimiterStem", value: "str"}, {key: modernize-raw-string-literal.ReplaceShorterLiterals, value: 1}]}'
|
||||
|
||||
char const *const ContainsSentinel{"who\\ops)\""};
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:36: warning: {{.*}} can be written as a raw string literal
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-raw-string-literal %t -- -config="{CheckOptions: [{key: modernize-raw-string-literal.ReplaceShorterLiterals, value: 1}]}" -- -std=c++11
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s modernize-raw-string-literal %t -- -config="{CheckOptions: [{key: modernize-raw-string-literal.ReplaceShorterLiterals, value: 1}]}"
|
||||
// FIXME: Fix the checker to work in C++2a mode.
|
||||
|
||||
char const *const BackSlash("goink\\frob");
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:29: warning: escaped string literal can be written as a raw string literal [modernize-raw-string-literal]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-replace-auto-ptr %t -- -- \
|
||||
// RUN: -std=c++11 -I %S/Inputs/modernize-replace-auto-ptr
|
||||
// RUN: %check_clang_tidy %s modernize-replace-auto-ptr %t -- -- -I %S/Inputs/modernize-replace-auto-ptr
|
||||
|
||||
// CHECK-FIXES: #include <utility>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-replace-random-shuffle %t -- -- -std=c++11
|
||||
// RUN: %check_clang_tidy %s modernize-replace-random-shuffle %t
|
||||
|
||||
//CHECK-FIXES: #include <random>
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-return-braced-init-list %t -- -- -std=c++14
|
||||
// RUN: %check_clang_tidy -std=c++14 %s modernize-return-braced-init-list %t
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
namespace std {
|
||||
typedef decltype(sizeof(int)) size_t;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-unary-static-assert %t -- -- -std=c++1z
|
||||
// RUN: %check_clang_tidy -std=c++17-or-later %s modernize-unary-static-assert %t
|
||||
|
||||
#define FOO static_assert(sizeof(a) <= 15, "");
|
||||
#define MSG ""
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-auto %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: '1'} , {key: modernize-use-auto.MinTypeNameLength, value: '0'}]}" \
|
||||
// RUN: -- -std=c++11 -frtti
|
||||
// RUN: -- -frtti
|
||||
|
||||
struct A {
|
||||
virtual ~A() {}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-auto %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-auto.MinTypeNameLength, value: '0'}]}" \
|
||||
// RUN: -- -std=c++11 -I %S/Inputs/modernize-use-auto -frtti
|
||||
// RUN: -- -I %S/Inputs/modernize-use-auto -frtti
|
||||
|
||||
struct A {
|
||||
virtual ~A() {}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-auto %t -- -- \
|
||||
// RUN: -std=c++11 -I %S/Inputs/modernize-use-auto
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s modernize-use-auto %t -- -- -I %S/Inputs/modernize-use-auto
|
||||
// FIXME: Fix the checker to work in C++17 mode.
|
||||
|
||||
#include "containers.h"
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// RUN: %check_clang_tidy -check-suffix=0-0 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 0}, {key: modernize-use-auto.MinTypeNameLength, value: 0}]}" -- --std=c++11 -frtti
|
||||
// RUN: %check_clang_tidy -check-suffix=0-8 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 0}, {key: modernize-use-auto.MinTypeNameLength, value: 8}]}" -- --std=c++11 -frtti
|
||||
// RUN: %check_clang_tidy -check-suffix=1-0 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 1}, {key: modernize-use-auto.MinTypeNameLength, value: 0}]}" -- --std=c++11 -frtti
|
||||
// RUN: %check_clang_tidy -check-suffix=1-8 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 1}, {key: modernize-use-auto.MinTypeNameLength, value: 8}]}" -- --std=c++11 -frtti
|
||||
// RUN: %check_clang_tidy -check-suffix=0-0 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 0}, {key: modernize-use-auto.MinTypeNameLength, value: 0}]}" -- -frtti
|
||||
// RUN: %check_clang_tidy -check-suffix=0-8 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 0}, {key: modernize-use-auto.MinTypeNameLength, value: 8}]}" -- -frtti
|
||||
// RUN: %check_clang_tidy -check-suffix=1-0 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 1}, {key: modernize-use-auto.MinTypeNameLength, value: 0}]}" -- -frtti
|
||||
// RUN: %check_clang_tidy -check-suffix=1-8 %s modernize-use-auto %t -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 1}, {key: modernize-use-auto.MinTypeNameLength, value: 8}]}" -- -frtti
|
||||
|
||||
template <class T> extern T foo();
|
||||
template <class T> struct P { explicit P(T t) : t_(t) {} T t_;};
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-auto %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: '1'}, {key: modernize-use-auto.MinTypeNameLength, value: '0'}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: '1'}, {key: modernize-use-auto.MinTypeNameLength, value: '0'}]}"
|
||||
|
||||
class MyType {};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-auto %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-auto.MinTypeNameLength, value: '0'}]}" \
|
||||
// RUN: -- -std=c++11 -frtti
|
||||
// RUN: -- -frtti
|
||||
|
||||
class MyType {};
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-bool-literals %t -- \
|
||||
// RUN: -config="{CheckOptions: \
|
||||
// RUN: [{key: modernize-use-bool-literals.IgnoreMacros, \
|
||||
// RUN: value: 1}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: value: 1}]}"
|
||||
|
||||
bool IntToTrue = 1;
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:18: warning: converting integer literal to bool, use bool literal instead [modernize-use-bool-literals]
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-bool-literals %t -- \
|
||||
// RUN: -config="{CheckOptions: \
|
||||
// RUN: [{key: modernize-use-bool-literals.IgnoreMacros, \
|
||||
// RUN: value: 0}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: value: 0}]}"
|
||||
|
||||
bool IntToTrue = 1;
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:18: warning: converting integer literal to bool, use bool literal instead [modernize-use-bool-literals]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: 1}]}" -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: 1}]}"
|
||||
|
||||
struct S {
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- -- -std=c++2a
|
||||
// RUN: %check_clang_tidy -std=c++2a-or-later %s modernize-use-default-member-init %t
|
||||
|
||||
struct PositiveBitField
|
||||
{
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.IgnoreMacros, value: 0}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.IgnoreMacros, value: 0}]}"
|
||||
|
||||
#define MACRO() \
|
||||
struct S { \
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- -- -std=c++11
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s modernize-use-default-member-init %t
|
||||
// FIXME: Fix the checker to work in C++2a mode.
|
||||
|
||||
struct S {
|
||||
};
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// RUN: -config="{CheckOptions: \
|
||||
// RUN: [{key: modernize-use-emplace.IgnoreImplicitConstructors, \
|
||||
// RUN: value: 1}] \
|
||||
// RUN: }" -- -std=c++11
|
||||
// RUN: }"
|
||||
|
||||
namespace std {
|
||||
template <typename>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
// RUN: value: '::std::pair; std::tuple; ::test::Single'}, \
|
||||
// RUN: {key: modernize-use-emplace.TupleMakeFunctions, \
|
||||
// RUN: value: '::std::make_pair; ::std::make_tuple; ::test::MakeSingle'}] \
|
||||
// RUN: }" -- -std=c++11
|
||||
// RUN: }"
|
||||
|
||||
namespace std {
|
||||
template <typename>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-equals-default %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-equals-default.IgnoreMacros, value: 0}]}" \
|
||||
// RUN: -- -std=c++11 -fno-delayed-template-parsing -fexceptions
|
||||
// RUN: -- -fno-delayed-template-parsing -fexceptions
|
||||
|
||||
// Out of line definition.
|
||||
struct OL {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// RUN: clang-tidy %s -checks=-*,modernize-use-equals-default -- -std=c++11 -fdelayed-template-parsing -fexceptions | count 0
|
||||
// Note: this test expects no diagnostics, but FileCheck cannot handle that,
|
||||
// hence the use of | count 0.
|
||||
// FIXME: Make the test work in all language modes.
|
||||
|
||||
template <typename Ty>
|
||||
struct S {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-equals-default %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-equals-default.IgnoreMacros, value: 0}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-equals-default.IgnoreMacros, value: 0}]}"
|
||||
|
||||
#define STRUCT_WITH_DEFAULT(_base, _type) \
|
||||
struct _type { \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-equals-default %t -- -- -std=c++11 -fno-delayed-template-parsing -fexceptions
|
||||
// RUN: %check_clang_tidy %s modernize-use-equals-default %t -- -- -fno-delayed-template-parsing -fexceptions
|
||||
|
||||
// Out of line definition.
|
||||
class OL {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-equals-delete %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-equals-delete.IgnoreMacros, value: 0}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-equals-delete.IgnoreMacros, value: 0}]}"
|
||||
|
||||
#define MACRO(type) void operator=(type const &)
|
||||
class C {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '[[clang::warn_unused_result]]'}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '[[clang::warn_unused_result]]'}]}"
|
||||
|
||||
class Foo
|
||||
{
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '__attribute__((warn_unused_result))'}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '__attribute__((warn_unused_result))'}]}"
|
||||
|
||||
class Foo
|
||||
{
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '[[gcc::warn_unused_result]]'}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '[[gcc::warn_unused_result]]'}]}"
|
||||
|
||||
class Foo
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: 'CUSTOM_NO_DISCARD'}]}" -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: 'CUSTOM_NO_DISCARD'}]}"
|
||||
|
||||
// As if the macro was not defined.
|
||||
// #define CUSTOM_NO_DISCARD __attribute_((warn_unused_result))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- -- -std=c++17
|
||||
// RUN: %check_clang_tidy -std=c++17-or-later %s modernize-use-nodiscard %t
|
||||
|
||||
class Foo
|
||||
{
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-noexcept %t -- \
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s modernize-use-noexcept %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-noexcept.ReplacementString, value: 'NOEXCEPT'}]}" \
|
||||
// RUN: -- -std=c++11 -fexceptions
|
||||
// RUN: -- -fexceptions
|
||||
// This test is not run in C++17 or later because dynamic exception
|
||||
// specifications were removed in C++17.
|
||||
|
||||
// Example definition of NOEXCEPT -- simplified test to see if noexcept is supported.
|
||||
#if (__has_feature(cxx_noexcept))
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-noexcept %t -- \
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s modernize-use-noexcept %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-noexcept.UseNoexceptFalse, value: 0}]}" \
|
||||
// RUN: -- -std=c++11 -fexceptions
|
||||
// RUN: -- -fexceptions
|
||||
// This test is not run in C++17 or later because dynamic exception
|
||||
// specifications were removed in C++17.
|
||||
|
||||
class A {};
|
||||
class B {};
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-noexcept %t -- \
|
||||
// RUN: -- -std=c++11 -fexceptions
|
||||
// RUN: %check_clang_tidy -std=c++11,c++14 %s modernize-use-noexcept %t -- -- -fexceptions
|
||||
// This test is not run in C++17 or later because dynamic exception
|
||||
// specifications were removed in C++17.
|
||||
|
||||
class A {};
|
||||
class B {};
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-nullptr %t -- -- \
|
||||
// RUN: -std=c++98 -Wno-non-literal-null-conversion
|
||||
// RUN: %check_clang_tidy -std=c++98 %s modernize-use-nullptr %t -- -- -Wno-non-literal-null-conversion
|
||||
//
|
||||
// Some parts of the test (e.g. assignment of `const int` to `int *`) fail in
|
||||
// C++11, so we need to run the test in C++98 mode.
|
||||
//
|
||||
// FIXME: Make the test work in all language modes.
|
||||
|
||||
const unsigned int g_null = 0;
|
||||
#define NULL 0
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-nullptr %t -- \
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nullptr.NullMacros, value: 'MY_NULL,NULL'}]}" \
|
||||
// RUN: -- -std=c++11
|
||||
// RUN: -config="{CheckOptions: [{key: modernize-use-nullptr.NullMacros, value: 'MY_NULL,NULL'}]}"
|
||||
|
||||
#define NULL 0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %check_clang_tidy %s modernize-use-override %t -- -- -std=c++98
|
||||
// RUN: %check_clang_tidy -std=c++98 %s modernize-use-override %t
|
||||
|
||||
struct Base {
|
||||
virtual ~Base() {}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue