From def2e65ffadf3cec81790dfec8a15dc7842a6139 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Fri, 4 Dec 2020 22:32:14 -0800 Subject: [PATCH] Add `.clang-tidy` and `compile_flags.txt` to enable Clang-based tooling. (#208) --- .clang-tidy | 27 ++++++++++++++++ compile_flags.txt | 79 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 .clang-tidy create mode 100644 compile_flags.txt diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 000000000000..18c0a5b86fad --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,27 @@ +# Part of the Carbon Language project, under the Apache License v2.0 with LLVM +# Exceptions. See /LICENSE for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +--- +Checks: '-*,readability-identifier-naming' +WarningsAsErrors: true +CheckOptions: + - { key: readability-identifier-naming.ClassCase, value: CamelCase } + - { + key: readability-identifier-naming.ConstexprVariableCase, + value: CamelCase, + } + - { key: readability-identifier-naming.FunctionCase, value: CamelCase } + - { key: readability-identifier-naming.ConstantCase, value: CamelCase } + - { key: readability-identifier-naming.NamespaceCase, value: CamelCase } + - { key: readability-identifier-naming.StructCase, value: CamelCase } + - { + key: readability-identifier-naming.TemplateParameterCase, + value: CamelCase, + } + - { key: readability-identifier-naming.TypeAliasCase, value: CamelCase } + - { key: readability-identifier-naming.TypedefCase, value: CamelCase } + - { key: readability-identifier-naming.UnionCase, value: CamelCase } + - { key: readability-identifier-naming.VariableCase, value: lower_case } + - { key: readability-identifier-naming.ParameterCase, value: lower_case } + - { key: readability-identifier-naming.ClassMemberCase, value: lower_case } diff --git a/compile_flags.txt b/compile_flags.txt new file mode 100644 index 000000000000..45e81de98cdf --- /dev/null +++ b/compile_flags.txt @@ -0,0 +1,79 @@ +-xc++ +-Wall +-Wextra +-Wthread-safety +-Wself-assign +-Wno-missing-field-initializers +-DLLVM_ON_UNIX=1 +-DHAVE_BACKTRACE=1 +-DBACKTRACE_HEADER= +-DLTDL_SHLIB_EXT=".so" +-DLLVM_ENABLE_THREADS=1 +-DHAVE_SYSEXITS_H=1 +-DHAVE_UNISTD_H=1 +-DHAVE_STRERROR_R=1 +-DHAVE_LIBPTHREAD=1 +-DHAVE_PTHREAD_GETNAME_NP=1 +-DHAVE_PTHREAD_SETNAME_NP=1 +-DHAVE_PTHREAD_GETSPECIFIC=1 +-D_GNU_SOURCE +-DHAVE_LINK_H=1 +-DHAVE_LSEEK64=1 +-DHAVE_MALLINFO=1 +-DHAVE_POSIX_FALLOCATE=1 +-DHAVE_SBRK=1 +-DHAVE_STRUCT_STAT_ST_MTIM_TV_NSEC=1 +-DLLVM_NATIVE_ARCH="X86" +-DLLVM_NATIVE_ASMPARSER=LLVMInitializeX86AsmParser +-DLLVM_NATIVE_ASMPRINTER=LLVMInitializeX86AsmPrinter +-DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeX86Disassembler +-DLLVM_NATIVE_TARGET=LLVMInitializeX86Target +-DLLVM_NATIVE_TARGETINFO=LLVMInitializeX86TargetInfo +-DLLVM_NATIVE_TARGETMC=LLVMInitializeX86TargetMC +-DLLVM_HOST_TRIPLE="x86_64-unknown-linux-gnu" +-DLLVM_DEFAULT_TARGET_TRIPLE="x86_64-unknown-linux-gnu" +-DLLVM_ENABLE_TERMINFO=1 +-DLLVM_ENABLE_ZLIB=1 +-DGTEST_HAS_RTTI=0 +-D__STDC_LIMIT_MACROS +-D__STDC_CONSTANT_MACROS +-DGTEST_USE_OWN_TR1_TUPLE=1 +-iquote +. +-iquote +bazel-bin +-iquote +bazel-carbon-lang/external/llvm-project +-iquote +bazel-bin/external/llvm-project +-iquote +bazel-carbon-lang/external/llvm_terminfo +-iquote +bazel-bin/external/llvm_terminfo +-iquote +bazel-carbon-lang/external/llvm_zlib +-iquote +bazel-bin/external/llvm_zlib +-iquote +bazel-carbon-lang/external/bazel_tools +-iquote +bazel-bin/external/bazel_tools +-Ibazel-bin/external/llvm-project/llvm/_virtual_includes/gtest_internal_headers +-isystem +bazel-carbon-lang/external/llvm-project/llvm/include +-isystem +bazel-bin/external/llvm-project/llvm/include +-isystem +bazel-carbon-lang/external/llvm-project/llvm/utils/unittest/googlemock/include +-isystem +bazel-bin/external/llvm-project/llvm/utils/unittest/googlemock/include +-isystem +bazel-carbon-lang/external/llvm-project/llvm/utils/unittest/googletest/include +-isystem +bazel-bin/external/llvm-project/llvm/utils/unittest/googletest/include +-std=c++17 +-no-canonical-prefixes +-Wno-builtin-macro-redefined +-D__DATE__="redacted" +-D__TIMESTAMP__="redacted" +-D__TIME__="redacted"