You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.4 KiB
59 lines
1.4 KiB
8 years ago
|
# Copyright (c) 2016 - present Facebook, Inc.
|
||
|
# All rights reserved.
|
||
|
#
|
||
|
# This source code is licensed under the BSD style license found in the
|
||
|
# LICENSE file in the root directory of this source tree. An additional grant
|
||
|
# of patent rights can be found in the PATENTS file in the same directory.
|
||
|
|
||
|
ROOT_DIR = ../../../../..
|
||
|
include $(ROOT_DIR)/Makefile.config
|
||
|
|
||
|
OPTIONS = -x c++ -std=c++11 -isystem$(CLANG_INCLUDES)/c++/v1/ -c
|
||
|
|
||
|
default: compile
|
||
|
|
||
|
print: analyze
|
||
|
$(INFERPRINT_BIN) -q -a $(ANALYZER) --issues-tests issues.exp.test
|
||
|
LC_ALL=C sort -o issues.exp.test issues.exp.test
|
||
|
|
||
|
test: analyze print
|
||
|
make clean
|
||
|
diff -u issues.exp issues.exp.test
|
||
|
rm issues.exp.test
|
||
|
|
||
|
ANALYZER = infer
|
||
|
|
||
|
FILES = \
|
||
|
attributes/*.cpp \
|
||
|
conditional/*.cpp \
|
||
|
constructors/*.cpp \
|
||
|
c_tests/*.cpp \
|
||
|
exceptions/*.cpp \
|
||
|
include_header/header.h \
|
||
|
include_header/include_templ.cpp \
|
||
|
lambda/*.cpp \
|
||
|
memory_leaks/*.cpp \
|
||
|
methods/*.cpp \
|
||
|
models/*.cpp \
|
||
|
namespace/*.cpp \
|
||
|
nestedoperators/*.cpp \
|
||
|
npe/*.cpp \
|
||
|
numeric/*.cpp \
|
||
|
reference/*.cpp \
|
||
|
resource_leaks/*.cpp \
|
||
|
smart_ptr/*.cpp \
|
||
|
subtyping/*.cpp \
|
||
|
templates/*.cpp \
|
||
|
types/*.cpp \
|
||
|
vector/*.cpp \
|
||
|
|
||
|
compile:
|
||
|
clang $(OPTIONS) $(FILES)
|
||
|
|
||
|
analyze:
|
||
|
$(INFER_BIN) -a $(ANALYZER) --cxx --ml-buckets cpp --check-duplicate-symbols -- clang $(OPTIONS) $(FILES) >/dev/null 2>duplicates.txt
|
||
|
grep "DUPLICATE_SYMBOLS" duplicates.txt; true
|
||
|
|
||
|
clean:
|
||
|
rm -rf *.o infer-out duplicates.txt
|