Index: clang-tools-extra/trunk/test/clang-tidy/check_clang_tidy.py =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/check_clang_tidy.py +++ clang-tools-extra/trunk/test/clang-tidy/check_clang_tidy.py @@ -17,6 +17,7 @@ Usage: check_clang_tidy.py [-resource-dir ] \ + [-assume-filename ] \ \ -- [optional clang-tidy arguments] @@ -38,6 +39,7 @@ def main(): parser = argparse.ArgumentParser() 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') @@ -45,14 +47,17 @@ args, extra_args = parser.parse_known_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 + file_name_with_extension = assume_file_name or input_file_name + extension = '.cpp' - if (input_file_name.endswith('.c')): + if (file_name_with_extension.endswith('.c')): extension = '.c' - if (input_file_name.endswith('.hpp')): + if (file_name_with_extension.endswith('.hpp')): extension = '.hpp' temp_file_name = temp_file_name + extension Index: clang-tools-extra/trunk/test/clang-tidy/nonstandard-file-extension.test =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/nonstandard-file-extension.test +++ clang-tools-extra/trunk/test/clang-tidy/nonstandard-file-extension.test @@ -0,0 +1,6 @@ +// RUN: %check_clang_tidy -assume-filename=const-cast.cpp %s cppcoreguidelines-pro-type-const-cast %t + +const int *i; +int *j; +void f() { j = const_cast(i); } +// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: do not use const_cast [cppcoreguidelines-pro-type-const-cast]