Alexey Samsonov | 79b3628 | 2012-08-31 08:36:36 +0000 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | set -e |
| 4 | |
| 5 | SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" |
| 6 | |
| 7 | # Guess path to LLVM_CHECKOUT if not provided |
| 8 | if [ "${LLVM_CHECKOUT}" == "" ]; then |
| 9 | LLVM_CHECKOUT="${SCRIPT_DIR}/../../../../../" |
| 10 | echo "LLVM Checkout: ${LLVM_CHECKOUT}" |
| 11 | fi |
| 12 | |
| 13 | # Cpplint setup |
| 14 | cd ${SCRIPT_DIR} |
| 15 | if [ ! -d cpplint ]; then |
| 16 | svn co -r82 http://google-styleguide.googlecode.com/svn/trunk/cpplint cpplint |
| 17 | fi |
| 18 | CPPLINT=${SCRIPT_DIR}/cpplint/cpplint.py |
| 19 | |
| 20 | # Filters |
| 21 | # TODO: remove some of these filters |
| 22 | ASAN_RTL_LINT_FILTER=-readability/casting,-readability/check,-build/include,-build/header_guard,-build/class,-legal/copyright,-build/namespaces |
| 23 | ASAN_TEST_LINT_FILTER=-readability/casting,-build/include,-legal/copyright,-whitespace/newline,-runtime/sizeof,-runtime/int,-runtime/printf,-build/header_guard |
| 24 | TSAN_RTL_LINT_FILTER=-legal/copyright,-build/include,-readability/casting,-build/header_guard,-build/namespaces |
| 25 | TSAN_TEST_LINT_FILTER=${TSAN_RTL_LINT_FILTER},-runtime/threadsafe_fn,-runtime/int |
| 26 | |
| 27 | cd ${LLVM_CHECKOUT} |
| 28 | |
| 29 | # LLVM Instrumentation |
| 30 | LLVM_INSTRUMENTATION=lib/Transforms/Instrumentation |
| 31 | LLVM_LINT_FILTER=-,+whitespace |
| 32 | ${CPPLINT} --filter=${LLVM_LINT_FILTER} ${LLVM_INSTRUMENTATION}/AddressSanitizer.cpp \ |
| 33 | ${LLVM_INSTRUMENTATION}/ThreadSanitizer.cpp \ |
| 34 | ${LLVM_INSTRUMENTATION}/BlackList.* |
| 35 | |
| 36 | COMPILER_RT=projects/compiler-rt |
| 37 | |
| 38 | # Headers |
| 39 | SANITIZER_INCLUDES=${COMPILER_RT}/include/sanitizer |
| 40 | ${CPPLINT} --filter=${TSAN_RTL_LINT_FILTER} ${SANITIZER_INCLUDES}/*.h |
| 41 | |
| 42 | # Sanitizer_common |
| 43 | COMMON_RTL=${COMPILER_RT}/lib/sanitizer_common |
| 44 | ${CPPLINT} --filter=${ASAN_RTL_LINT_FILTER} ${COMMON_RTL}/*.{cc,h} |
| 45 | ${CPPLINT} --filter=${TSAN_RTL_LINT_FILTER} ${COMMON_RTL}/tests/*.cc |
| 46 | |
| 47 | #Interception |
| 48 | INTERCEPTION=${COMPILER_RT}/lib/interception |
| 49 | ${CPPLINT} --filter=${ASAN_RTL_LINT_FILTER} ${INTERCEPTION}/*.{cc,h} |
| 50 | |
| 51 | # ASan |
| 52 | ASAN_RTL=${COMPILER_RT}/lib/asan |
| 53 | ${CPPLINT} --filter=${ASAN_RTL_LINT_FILTER} ${ASAN_RTL}/*.{cc,h} |
| 54 | ${CPPLINT} --filter=${ASAN_TEST_LINT_FILTER} ${ASAN_RTL}/tests/*.{cc,h} \ |
| 55 | ${ASAN_RTL}/output_tests/*.cc |
| 56 | ${CPPLINT} --filter=${ASAN_TEST_LINT_FILTER} ${ASAN_RTL}/lit_tests/*.cc \ |
Kostya Serebryany | 4d45b9b | 2012-09-05 09:07:02 +0000 | [diff] [blame^] | 57 | ${ASAN_RTL}/lit_tests/*/*.cc \ |
Alexey Samsonov | 79b3628 | 2012-08-31 08:36:36 +0000 | [diff] [blame] | 58 | |
| 59 | # TSan |
| 60 | TSAN_RTL=${COMPILER_RT}/lib/tsan |
| 61 | ${CPPLINT} --filter=${TSAN_RTL_LINT_FILTER} ${TSAN_RTL}/rtl/*.{cc,h} |
| 62 | ${CPPLINT} --filter=${TSAN_TEST_LINT_FILTER} ${TSAN_RTL}/rtl_tests/*.{cc,h} \ |
| 63 | ${TSAN_RTL}/unit_tests/*.cc \ |
| 64 | ${TSAN_RTL}/output_tests/*.cc |