Usage:
check_clang_tidy.py [-resource-dir <resource-dir>] \
+ [-assume-filename <file-with-source-extension>] \
<source-file> <check-name> <temp-file> \
-- [optional clang-tidy arguments]
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')
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
--- /dev/null
+// 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<int *>(i); }
+// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: do not use const_cast [cppcoreguidelines-pro-type-const-cast]