aboutsummaryrefslogtreecommitdiff
path: root/lang/clang36
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2015-01-21 23:47:28 +0000
committerBrooks Davis <brooks@FreeBSD.org>2015-01-21 23:47:28 +0000
commit09ca3ee277e481f8e79ab5f3248a82a15c9d1402 (patch)
tree907907ce33aaa6f2b69152d5261c73d220ac8e15 /lang/clang36
parentc14bb80a68ad53805ec3f7b46d57680f5ff4e681 (diff)
downloadports-09ca3ee277e481f8e79ab5f3248a82a15c9d1402.tar.gz
ports-09ca3ee277e481f8e79ab5f3248a82a15c9d1402.zip
Add ports of llvm/clang 3.6.0rc1.
Notes
Notes: svn path=/head/; revision=377636
Diffstat (limited to 'lang/clang36')
-rw-r--r--lang/clang36/Makefile209
-rw-r--r--lang/clang36/distinfo4
-rw-r--r--lang/clang36/files/llvm-wrapper.sh.in11
-rw-r--r--lang/clang36/files/patch-fformat_extensions.diff45
-rw-r--r--lang/clang36/files/patch-tools_clang_docs_Makefile13
-rw-r--r--lang/clang36/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h24
-rw-r--r--lang/clang36/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp45
-rw-r--r--lang/clang36/files/patch-tools_clang_lib_Frontend_InitHeaderSearch.cpp15
-rw-r--r--lang/clang36/files/patch-tools_clang_lib_Headers_Makefile14
-rw-r--r--lang/clang36/files/patch-tools_clang_lib_Sema_SemaChecking.cpp45
-rw-r--r--lang/clang36/files/patch-tools_clang_tools_scan-build_ccc-analyzer14
-rw-r--r--lang/clang36/files/patch-tools_clang_tools_scan-build_scan-build32
-rw-r--r--lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.py20
-rw-r--r--lang/clang36/pkg-descr4
-rw-r--r--lang/clang36/pkg-plist530
15 files changed, 1025 insertions, 0 deletions
diff --git a/lang/clang36/Makefile b/lang/clang36/Makefile
new file mode 100644
index 000000000000..ef601b6aaf01
--- /dev/null
+++ b/lang/clang36/Makefile
@@ -0,0 +1,209 @@
+# $FreeBSD$
+
+PORTNAME= clang
+DISTVERSION= 3.6.0rc1
+CATEGORIES= lang devel
+MASTER_SITES= http://llvm.org/pre-releases/3.6.0/rc1/
+PKGNAMESUFFIX= ${LLVM_SUFFIX}
+DISTNAME= ${CLANG_NAME}
+DISTFILES= ${CLANG_SOURCE} \
+ ${LLVM_SOURCE}
+
+MAINTAINER= brooks@FreeBSD.org
+COMMENT= C, Objective-C, and C++ compiler
+
+CLANG_NAME= cfe-${DISTVERSION}.src
+CLANG_SOURCE= ${CLANG_NAME}${EXTRACT_SUFX}
+CLANG_EXTRACT= cfe-${DISTVERSION}.src
+LLVM_NAME= llvm-${DISTVERSION}.src
+LLVM_SOURCE= ${LLVM_NAME}${EXTRACT_SUFX}
+LLVM_EXTRACT= llvm-${DISTVERSION}.src
+LIBNAME= libLLVM-${LLVM_RELEASE:C/([0-9]\.[0-9]).*/\1/}.so
+
+WRKSRC= ${WRKDIR}/${LLVM_EXTRACT}
+BUILD_WRKSRC= ${WRKSRC}/tools/clang
+INSTALL_WRKSRC= ${WRKSRC}/tools/clang
+
+BUILD_DEPENDS+= llc${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX}
+RUN_DEPENDS+= llc${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX}
+
+LLVM_SUFFIX= ${PORTVERSION:C/([0-9]\.[0-9]).*/\1/:S/.//g:C/r.//}
+LLVM_RELEASE= ${PORTVERSION:C/([0-9]\.[0-9].[0-9]).*/\1/}
+LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX}
+DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX}
+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX}
+PYTHONLIBDIR= ${LLVM_PREFIX}/lib/python
+
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_PREFIX= ${LLVM_PREFIX}
+USES= compiler:c++11-lib gmake perl5 python:build tar:xz
+USE_LDCONFIG= yes
+
+MAKE_ARGS= CLANG_TBLGEN=${WRKSRC}/${RELTYPE}/bin/clang-tblgen \
+ LLVMIncDir=${LLVM_PREFIX}/include \
+ LLVMToolDir=${LLVM_PREFIX}/bin \
+ LLVMLibDir=${LLVM_PREFIX}/lib
+
+SUB_FILES= llvm-wrapper.sh
+SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}"
+
+OPTIONS_DEFINE= ASSERTS DOCS
+
+ASSERTS_DESC= Enable assertions (thread unsafe)
+
+CONFIGURE_ARGS+= --enable-optimized --enable-shared
+# Build some docs manually later
+CONFIGURE_ARGS+= --disable-docs
+# Don't build bindings, the ocaml ones break
+CONFIGURE_ARGS+= --enable-bindings=none
+
+PLIST_SUB+= LLVM_SUFFIX=${LLVM_SUFFIX} \
+ LLVM_RELEASE=${LLVM_RELEASE}
+COMMANDS= c++-analyzer \
+ c-index-test \
+ ccc-analyzer \
+ clang \
+ clang++ \
+ clang-check \
+ clang-cpp \
+ clang-format \
+ clang-tblgen \
+ scan-build \
+ scan-view
+FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//}
+
+PORTDATA= scanview.css \
+ sorttable.js
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MASSERTS}
+CONFIGURE_ARGS+= --enable-assertions
+RELTYPE= Release+Asserts
+.else
+CONFIGURE_ARGS+= --disable-assertions
+RELTYPE= Release
+.endif
+
+.include <bsd.port.pre.mk>
+
+# keep in sync with /usr/src/lib/clang/clang.build.mk
+CONFIGURE_TARGET:=${ARCH:C/amd64/x86_64/:C/armv6hf/armv6/}-portbld-${OPSYS:tl}${OSREL}
+
+.if ${PORT_OPTIONS:MASSERTS}
+pre-fetch:
+ @if [ "`llvm-config${LLVM_SUFFIX} --build-mode`" != ${RELTYPE} ]; then \
+ ${ECHO_MSG} ;\
+ ${ECHO_MSG} ASSERTS option enabled, but devel/llvm${LLVM_SUFFIX} was compiled without ASSERTS. ;\
+ ${ECHO_MSG} Correct options mismatch to proceed. ;\
+ ${ECHO_MSG} ;\
+ false ;\
+ fi
+.endif
+
+post-extract:
+ ${RM} -f ${BUILD_WRKSRC}
+ ${MV} ${WRKDIR}/${CLANG_EXTRACT} ${BUILD_WRKSRC}
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|${LLVM_RELEASE}svn|${LLVM_RELEASE}|g' \
+ ${WRKSRC}/configure
+ ${REINPLACE_CMD} -e 's|\(PROJ_docsdir.*:=\).*$$|\1${DOCSDIR}|g' \
+ ${WRKSRC}/Makefile.config.in
+ ${REINPLACE_CMD} -e 's|\(PROJ_mandir.*:=\).*$$|\1${MANPREFIX}/man|g' \
+ ${WRKSRC}/Makefile.config.in
+ ${REINPLACE_CMD} -e 's|/usr/local/|${LOCALBASE}/|g' \
+ ${WRKSRC}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
+ ${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}/|g' \
+ -e 's|%%LLVM_SUFFIX%%|${LLVM_SUFFIX}|g' \
+ ${WRKSRC}/tools/clang/tools/scan-build/scan-build
+
+pre-build:
+ ${LN} -sf ${LLVM_PREFIX}/include/llvm/IR/Intrinsics.gen \
+ ${WRKSRC}/include/llvm/IR/
+ ${MKDIR} ${WRKSRC}/${RELTYPE}/lib
+ ${LN} -sf ${LLVM_PREFIX}/lib/${LIBNAME} ${WRKSRC}/${RELTYPE}/lib/
+ ${LN} -sf ${LLVM_PREFIX}/lib/libLLVMTableGen.a ${WRKSRC}/${RELTYPE}/lib/
+ ${LN} -sf ${LLVM_PREFIX}/lib/libLLVMSupport.a ${WRKSRC}/${RELTYPE}/lib/
+ cd ${WRKSRC}/utils/unittest && ${MAKE_CMD}
+
+post-build:
+ @cd ${WRKSRC}/tools/clang/docs/tools && ${MAKE_CMD} man
+ @cd ${WRKSRC}/tools/clang/docs/tools && ${MAKE_CMD} html ps
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${LLVM_PREFIX}/lib/libclang.so
+ ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/clang \
+ ${STAGEDIR}${LLVM_PREFIX}/bin/clang-cpp
+ ${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \
+ ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX}
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/tools/scan-build/ccc-analyzer \
+ ${WRKSRC}/tools/clang/tools/scan-build/c++-analyzer \
+ ${WRKSRC}/tools/clang/tools/scan-build/scan-build \
+ ${WRKSRC}/tools/clang/tools/scan-view/scan-view \
+ ${STAGEDIR}${LLVM_PREFIX}/bin/
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/tools/clang/tools/scan-build/scanview.css \
+ ${WRKSRC}/tools/clang/tools/scan-build/sorttable.js \
+ ${STAGEDIR}${DATADIR}
+.for command in ${COMMANDS:C/^/XXXX/1:NXXXX*}
+ test -e ${STAGEDIR}${LLVM_PREFIX}/bin/${command}
+ ${LN} -f ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} \
+ ${STAGEDIR}${PREFIX}/bin/${command}${LLVM_SUFFIX}
+.endfor
+ ${MKDIR} ${STAGEDIR}${PYTHONLIBDIR}
+ ${MKDIR} ${STAGEDIR}${PYTHONLIBDIR}/Resources
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/tools/scan-view/*.py \
+ ${STAGEDIR}${PYTHONLIBDIR}
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/tools/scan-view/Resources/* \
+ ${STAGEDIR}${PYTHONLIBDIR}/Resources
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/tools/clang/tools/scan-build/scanview.css \
+ ${WRKSRC}/tools/clang/tools/scan-build/sorttable.js \
+ ${STAGEDIR}${DATADIR}
+ cd ${WRKSRC}/tools/clang/docs/tools && \
+ ${MAKE_CMD} DESTDIR=${STAGEDIR}/ install-html install-ps
+ ${INSTALL_MAN} ${WRKSRC}/tools/clang/docs/tools/clang.1 \
+ ${STAGEDIR}${MANPREFIX}/man/man1/clang${LLVM_SUFFIX}.1
+ ${INSTALL_MAN} ${WRKSRC}/tools/clang/tools/scan-build/scan-build.1 \
+ ${STAGEDIR}${MANPREFIX}/man/man1/scan-build${LLVM_SUFFIX}.1
+
+PLIST_FILE_LIST= ${COMMANDS:S|^|bin/|} \
+ lib/libclang*
+PLIST_DIR_LIST= include/clang \
+ include/clang-c \
+ lib/clang \
+ lib/python
+
+build-plist:
+ ${RM} -f ${PLIST}
+.for command in ${COMMANDS}
+ ${ECHO_CMD} bin/${command}%%LLVM_SUFFIX%% >> ${PLIST}
+.endfor
+ (ls ${PLIST_FILE_LIST:S|^|${STAGEDIR}${LLVM_PREFIX}/|}; \
+ ${FIND} ${PLIST_DIR_LIST:S|^|${STAGEDIR}${LLVM_PREFIX}/|} -type f) \
+ | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \
+ -e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' \
+ -e 's|${LLVM_RELEASE}|%%LLVM_RELEASE%%|' | ${SORT} >> ${PLIST}
+ echo man/man1/clang%%LLVM_SUFFIX%%.1.gz >> ${PLIST}
+ echo man/man1/scan-build%%LLVM_SUFFIX%%.1.gz >> ${PLIST}
+ ${FIND} ${STAGEDIR}${DOCSDIR} -type f | \
+ ${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%%%DOCSDIR%%|' | \
+ ${SORT} >> ${PLIST}
+
+.if make(svn-patch)
+.if !defined(PATCH_REV)
+.error svn-patch requires that PATCH_REV be set
+.endif
+_PATCH_FILE=${FILESDIR}/patch-svn-${PATCH_REV}
+_LLVM_BASE=http://llvm.org/svn/llvm-project/cfe/trunk
+svn-patch:
+ ${PRINTF} "$$%s$$\n" FreeBSD > ${_PATCH_FILE}
+ svn log -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE}
+ svn diff -c ${PATCH_REV} ${_LLVM_BASE} | \
+ ${SED} -e 's;^--- ;--- tools/clang/;' | \
+ ${SED} -e 's;^+++ ;+++ tools/clang/;' >> \
+ ${_PATCH_FILE}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/lang/clang36/distinfo b/lang/clang36/distinfo
new file mode 100644
index 000000000000..1b806f33a15c
--- /dev/null
+++ b/lang/clang36/distinfo
@@ -0,0 +1,4 @@
+SHA256 (cfe-3.6.0rc1.src.tar.xz) = 86ee1037374d833292878f620f315771f8fdfdd5365f7c28b276279a8de45a10
+SIZE (cfe-3.6.0rc1.src.tar.xz) = 8637200
+SHA256 (llvm-3.6.0rc1.src.tar.xz) = a39f4dad833852694fca482b01ec6c8c92731d59889e4dc50b0471e6af2908c2
+SIZE (llvm-3.6.0rc1.src.tar.xz) = 12737544
diff --git a/lang/clang36/files/llvm-wrapper.sh.in b/lang/clang36/files/llvm-wrapper.sh.in
new file mode 100644
index 000000000000..f2b952f530dd
--- /dev/null
+++ b/lang/clang36/files/llvm-wrapper.sh.in
@@ -0,0 +1,11 @@
+#!/bin/sh
+# $FreeBSD$
+
+LLVM_PREFIX="%%LLVM_PREFIX%%"
+LLVM_SUFFIX="%%LLVM_SUFFIX%%"
+
+tool=$(basename $0)
+tool="${LLVM_PREFIX}/bin/${tool%${LLVM_SUFFIX}}"
+PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${LLVM_PREFIX}/lib/python" \
+LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LLVM_PREFIX}/lib" \
+ "${tool}" "${@}"
diff --git a/lang/clang36/files/patch-fformat_extensions.diff b/lang/clang36/files/patch-fformat_extensions.diff
new file mode 100644
index 000000000000..c44a69af565f
--- /dev/null
+++ b/lang/clang36/files/patch-fformat_extensions.diff
@@ -0,0 +1,45 @@
+diff -ruN tools/clang/include/clang/Basic/LangOptions.def tools/clang/include/clang/Basic/LangOptions.def
+--- tools/clang/include/clang/Basic/LangOptions.def 2014-07-16 07:13:50.000000000 +0400
++++ tools/clang/include/clang/Basic/LangOptions.def 2014-10-24 21:38:38.000000000 +0400
+@@ -87,6 +87,7 @@
+ LANGOPT(RTTIData , 1, 1, "emit run-time type information data")
+ LANGOPT(MSBitfields , 1, 0, "Microsoft-compatible structure layout")
+ LANGOPT(Freestanding, 1, 0, "freestanding implementation")
++LANGOPT(FormatExtensions , 1, 0, "FreeBSD format extensions")
+ LANGOPT(NoBuiltin , 1, 0, "disable builtin functions")
+ LANGOPT(NoMathBuiltin , 1, 0, "disable math builtin functions")
+
+diff -ruN tools/clang/include/clang/Driver/Options.td tools/clang/include/clang/Driver/Options.td
+--- tools/clang/include/clang/Driver/Options.td 2014-08-07 08:51:51.000000000 +0400
++++ tools/clang/include/clang/Driver/Options.td 2014-10-24 21:39:23.000000000 +0400
+@@ -563,6 +563,8 @@
+
+ def ffreestanding : Flag<["-"], "ffreestanding">, Group<f_Group>, Flags<[CC1Option]>,
+ HelpText<"Assert that the compilation takes place in a freestanding environment">;
++def fformat_extensions: Flag<["-"], "fformat-extensions">, Group<f_Group>, Flags<[CC1Option]>,
++ HelpText<"Enable FreeBSD kernel specific format string extensions">;
+ def fgnu_keywords : Flag<["-"], "fgnu-keywords">, Group<f_Group>, Flags<[CC1Option]>,
+ HelpText<"Allow GNU-extension keywords regardless of language standard">;
+ def fgnu89_inline : Flag<["-"], "fgnu89-inline">, Group<f_Group>, Flags<[CC1Option]>,
+diff -ruN tools/clang/lib/Driver/Tools.cpp tools/clang/lib/Driver/Tools.cpp
+--- tools/clang/lib/Driver/Tools.cpp 2014-08-07 08:51:51.000000000 +0400
++++ tools/clang/lib/Driver/Tools.cpp 2014-10-24 21:39:54.000000000 +0400
+@@ -3517,6 +3517,7 @@
+
+ // Forward -f (flag) options which we can pass directly.
+ Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls);
++ Args.AddLastArg(CmdArgs, options::OPT_fformat_extensions);
+ Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions);
+ Args.AddLastArg(CmdArgs, options::OPT_fstandalone_debug);
+ Args.AddLastArg(CmdArgs, options::OPT_fno_standalone_debug);
+diff -ruN tools/clang/lib/Frontend/CompilerInvocation.cpp tools/clang/lib/Frontend/CompilerInvocation.cpp
+--- tools/clang/lib/Frontend/CompilerInvocation.cpp 2014-08-07 08:51:51.000000000 +0400
++++ tools/clang/lib/Frontend/CompilerInvocation.cpp 2014-10-24 21:40:32.000000000 +0400
+@@ -1443,6 +1443,7 @@
+ Opts.ShortWChar = Args.hasFlag(OPT_fshort_wchar, OPT_fno_short_wchar, false);
+ Opts.ShortEnums = Args.hasArg(OPT_fshort_enums);
+ Opts.Freestanding = Args.hasArg(OPT_ffreestanding);
++ Opts.FormatExtensions = Args.hasArg(OPT_fformat_extensions);
+ Opts.NoBuiltin = Args.hasArg(OPT_fno_builtin) || Opts.Freestanding;
+ Opts.NoMathBuiltin = Args.hasArg(OPT_fno_math_builtin);
+ Opts.AssumeSaneOperatorNew = !Args.hasArg(OPT_fno_assume_sane_operator_new);
diff --git a/lang/clang36/files/patch-tools_clang_docs_Makefile b/lang/clang36/files/patch-tools_clang_docs_Makefile
new file mode 100644
index 000000000000..e11bb5957797
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_docs_Makefile
@@ -0,0 +1,13 @@
+
+$FreeBSD$
+
+--- tools/clang/docs/Makefile.orig
++++ tools/clang/docs/Makefile
+@@ -8,7 +8,6 @@
+ ##===----------------------------------------------------------------------===##
+
+ CLANG_LEVEL := ..
+-DIRS := tools
+
+ ifdef BUILD_FOR_WEBSITE
+ PROJ_OBJ_DIR = .
diff --git a/lang/clang36/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h b/lang/clang36/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
new file mode 100644
index 000000000000..3c4b574d3057
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
@@ -0,0 +1,24 @@
+
+$FreeBSD$
+
+--- tools/clang/include/clang/Analysis/Analyses/FormatString.h.orig
++++ tools/clang/include/clang/Analysis/Analyses/FormatString.h
+@@ -117,7 +117,7 @@
+ // C99 conversion specifiers.
+ cArg,
+ dArg,
+- DArg, // Apple extension
++ DArg, // Apple and FreeBSD extension
+ iArg,
+ IntArgBeg = dArg, IntArgEnd = iArg,
+
+@@ -148,6 +148,9 @@
+
+ // ** Printf-specific **
+
++ // FreeBSD specific specifiers
++ bArg,
++
+ // Objective-C specific specifiers.
+ ObjCObjArg, // '@'
+ ObjCBeg = ObjCObjArg, ObjCEnd = ObjCObjArg,
diff --git a/lang/clang36/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp b/lang/clang36/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
new file mode 100644
index 000000000000..ab29c87f92ed
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
@@ -0,0 +1,45 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Analysis/PrintfFormatString.cpp.orig
++++ tools/clang/lib/Analysis/PrintfFormatString.cpp
+@@ -208,7 +208,7 @@
+ case 'm': k = ConversionSpecifier::PrintErrno; break;
+ // Apple-specific.
+ case 'D':
+- if (Target.getTriple().isOSDarwin())
++ if (Target.getTriple().isOSDarwin() || Target.getTriple().isOSFreeBSD())
+ k = ConversionSpecifier::DArg;
+ break;
+ case 'O':
+@@ -219,6 +219,19 @@
+ if (Target.getTriple().isOSDarwin())
+ k = ConversionSpecifier::UArg;
+ break;
++ // FreeBSD-specific
++ case 'b':
++ if (Target.getTriple().isOSFreeBSD())
++ k = ConversionSpecifier::bArg;
++ break;
++ case 'r':
++ if (Target.getTriple().isOSFreeBSD())
++ k = ConversionSpecifier::xArg;
++ break;
++ case 'y':
++ if (Target.getTriple().isOSFreeBSD())
++ k = ConversionSpecifier::iArg;
++ break;
+ // MS specific.
+ case 'Z':
+ if (Target.getTriple().isOSMSVCRT())
+@@ -228,6 +241,10 @@
+ FS.setConversionSpecifier(CS);
+ if (CS.consumesDataArgument() && !FS.usesPositionalArg())
+ FS.setArgIndex(argIndex++);
++ // FreeBSD extension
++ if (Target.getTriple().isOSFreeBSD() && (k == ConversionSpecifier::bArg ||
++ k == ConversionSpecifier::DArg))
++ argIndex++;
+
+ if (k == ConversionSpecifier::InvalidSpecifier) {
+ // Assume the conversion takes one argument.
diff --git a/lang/clang36/files/patch-tools_clang_lib_Frontend_InitHeaderSearch.cpp b/lang/clang36/files/patch-tools_clang_lib_Frontend_InitHeaderSearch.cpp
new file mode 100644
index 000000000000..283a4aa5be75
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_lib_Frontend_InitHeaderSearch.cpp
@@ -0,0 +1,15 @@
+Look for the libc++ headers in base, and afterwards look if they might
+have been installed in ports. This is only usefull on FreeBSD <= 9.x since
+libc++ is shipped in 10 by default. No path to the library of libc++ is
+provided. The port wanting to use libc++ need to provide its own LDFLAGS.
+
+--- tools/clang/lib/Frontend/InitHeaderSearch.cpp.orig 2013-06-21 20:35:23.000000000 +0200
++++ tools/clang/lib/Frontend/InitHeaderSearch.cpp 2013-06-21 20:41:38.000000000 +0200
+@@ -486,6 +486,7 @@ void InitHeaderSearch::AddDefaultInclude
+ AddPath("/usr/include/c++/v1/support/solaris", CXXSystem, false);
+
+ AddPath("/usr/include/c++/v1", CXXSystem, false);
++ AddPath("/usr/local/include/c++/v1", CXXSystem, false);
+ } else {
+ AddDefaultCPlusPlusIncludePaths(triple, HSOpts);
+ }
diff --git a/lang/clang36/files/patch-tools_clang_lib_Headers_Makefile b/lang/clang36/files/patch-tools_clang_lib_Headers_Makefile
new file mode 100644
index 000000000000..0c0b3783043d
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_lib_Headers_Makefile
@@ -0,0 +1,14 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Headers/Makefile.orig
++++ tools/clang/lib/Headers/Makefile
+@@ -19,7 +19,7 @@
+
+ HeaderDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)/include
+
+-HEADERS := $(notdir $(wildcard $(PROJ_SRC_DIR)/*.h))
++HEADERS := $(notdir $(wildcard $(PROJ_SRC_DIR)/*intrin*.h) altivec.h cpuid.h mm3dnow.h mm_malloc.h unwind.h)
+
+ OBJHEADERS := $(addprefix $(HeaderDir)/, $(HEADERS))
+
diff --git a/lang/clang36/files/patch-tools_clang_lib_Sema_SemaChecking.cpp b/lang/clang36/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
new file mode 100644
index 000000000000..139b7df86124
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
@@ -0,0 +1,45 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Sema/SemaChecking.cpp.orig
++++ tools/clang/lib/Sema/SemaChecking.cpp
+@@ -1511,6 +1511,39 @@
+ CoveredArgs.set(argIndex);
+ }
+
++ // FreeBSD extensions
++ if (CS.getKind() == ConversionSpecifier::bArg || CS.getKind() == ConversionSpecifier::DArg) {
++ // claim the second argument
++ CoveredArgs.set(argIndex + 1);
++
++ // Now type check the data expression that matches the
++ // format specifier.
++ const Expr *Ex = getDataArg(argIndex);
++ QualType type = (CS.getKind() == ConversionSpecifier::bArg) ? S.Context.IntTy : S.Context.getPointerType(S.Context.UnsignedCharTy);
++ //const analyze_printf::ArgType &ATR = S.Context.IntTy;
++ const analyze_printf::ArgType &ATR = type;
++ if (ATR.isValid() && !ATR.matchesType(S.Context, Ex->getType()))
++ S.Diag(getLocationOfByte(CS.getStart()),
++ diag::warn_format_conversion_argument_type_mismatch)
++ << ATR.getRepresentativeType(S.Context) << Ex->getType()
++ << getSpecifierRange(startSpecifier, specifierLen)
++ << Ex->getSourceRange();
++
++ // Now type check the data expression that matches the
++ // format specifier.
++ Ex = getDataArg(argIndex + 1);
++ const analyze_printf::ArgType &ATR2 = ArgType::CStrTy;
++ if (ATR2.isValid() && !ATR2.matchesType(S.Context, Ex->getType()))
++ S.Diag(getLocationOfByte(CS.getStart()),
++ diag::warn_format_conversion_argument_type_mismatch)
++ << ATR2.getRepresentativeType(S.Context) << Ex->getType()
++ << getSpecifierRange(startSpecifier, specifierLen)
++ << Ex->getSourceRange();
++
++ return true;
++ }
++ // END OF FREEBSD EXTENSIONS
++
+ // Check for using an Objective-C specific conversion specifier
+ // in a non-ObjC literal.
+ if (!IsObjCLiteral && CS.isObjCArg()) {
diff --git a/lang/clang36/files/patch-tools_clang_tools_scan-build_ccc-analyzer b/lang/clang36/files/patch-tools_clang_tools_scan-build_ccc-analyzer
new file mode 100644
index 000000000000..d09c0e043b18
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_tools_scan-build_ccc-analyzer
@@ -0,0 +1,14 @@
+
+$FreeBSD$
+
+--- tools/clang/tools/scan-build/ccc-analyzer.orig
++++ tools/clang/tools/scan-build/ccc-analyzer
+@@ -31,7 +31,7 @@
+ my $DefaultCXXCompiler;
+ my $IsCXX;
+
+-if (`uname -a` =~ m/Darwin/) {
++if (`uname -a` =~ m/(Darwin|FreeBSD)/) {
+ $DefaultCCompiler = 'clang';
+ $DefaultCXXCompiler = 'clang++';
+ } else {
diff --git a/lang/clang36/files/patch-tools_clang_tools_scan-build_scan-build b/lang/clang36/files/patch-tools_clang_tools_scan-build_scan-build
new file mode 100644
index 000000000000..b083333760ce
--- /dev/null
+++ b/lang/clang36/files/patch-tools_clang_tools_scan-build_scan-build
@@ -0,0 +1,32 @@
+
+$FreeBSD$
+
+--- tools/clang/tools/scan-build/scan-build.orig
++++ tools/clang/tools/scan-build/scan-build
+@@ -437,7 +437,7 @@
+
+ my $Dir = shift;
+
+- my $JS = Cwd::realpath("$RealBin/sorttable.js");
++ my $JS = Cwd::realpath("%%DATADIR%%/sorttable.js");
+
+ DieDiag("Cannot find 'sorttable.js'.\n")
+ if (! -r $JS);
+@@ -447,7 +447,7 @@
+ DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
+ if (! -r "$Dir/sorttable.js");
+
+- my $CSS = Cwd::realpath("$RealBin/scanview.css");
++ my $CSS = Cwd::realpath("%%DATADIR%%/scanview.css");
+
+ DieDiag("Cannot find 'scanview.css'.\n")
+ if (! -r $CSS);
+@@ -882,7 +882,7 @@
+ Diag("$Num bugs found.\n");
+ }
+ if ($Num > 0 && -r "$Dir/index.html") {
+- Diag("Run 'scan-view $Dir' to examine bug reports.\n");
++ Diag("Run 'scan-view%%LLVM_SUFFIX%% $Dir' to examine bug reports.\n");
+ }
+
+ DiagCrashes($Dir) if (scalar @failures || scalar @attributes_ignored);
diff --git a/lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.py b/lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.py
new file mode 100644
index 000000000000..1e2de0273d55
--- /dev/null
+++ b/lang/clang36/files/patch-utils_llvm-build_llvmbuild_main.py
@@ -0,0 +1,20 @@
+
+$FreeBSD$
+
+--- utils/llvm-build/llvmbuild/main.py.orig
++++ utils/llvm-build/llvmbuild/main.py
+@@ -633,7 +633,13 @@
+
+ # We handle a few special cases of target names here for historical
+ # reasons, as these are the names configure currently comes up with.
+- native_target_name = { 'x86' : 'X86',
++ native_target_name = { 'amd64' : 'X86',
++ 'arm' : 'ARM',
++ 'i386' : 'X86',
++ 'mips' : 'Mips',
++ 'powerpc' : 'PowerPC',
++ 'sparc64' : 'Sparc',
++ 'x86' : 'X86',
+ 'x86_64' : 'X86',
+ 'Unknown' : None }.get(opts.native_target,
+ opts.native_target)
diff --git a/lang/clang36/pkg-descr b/lang/clang36/pkg-descr
new file mode 100644
index 000000000000..37b1d8e486d6
--- /dev/null
+++ b/lang/clang36/pkg-descr
@@ -0,0 +1,4 @@
+The goal of the Clang project is to create a new C, C++, Objective C and
+Objective C++ front-end for the LLVM compiler.
+
+WWW: http://clang.llvm.org/
diff --git a/lang/clang36/pkg-plist b/lang/clang36/pkg-plist
new file mode 100644
index 000000000000..2768008d9431
--- /dev/null
+++ b/lang/clang36/pkg-plist
@@ -0,0 +1,530 @@
+bin/c++-analyzer%%LLVM_SUFFIX%%
+bin/c-index-test%%LLVM_SUFFIX%%
+bin/ccc-analyzer%%LLVM_SUFFIX%%
+bin/clang%%LLVM_SUFFIX%%
+bin/clang++%%LLVM_SUFFIX%%
+bin/clang-check%%LLVM_SUFFIX%%
+bin/clang-cpp%%LLVM_SUFFIX%%
+bin/clang-format%%LLVM_SUFFIX%%
+bin/clang-tblgen%%LLVM_SUFFIX%%
+bin/scan-build%%LLVM_SUFFIX%%
+bin/scan-view%%LLVM_SUFFIX%%
+llvm%%LLVM_SUFFIX%%/bin/c++-analyzer
+llvm%%LLVM_SUFFIX%%/bin/c-index-test
+llvm%%LLVM_SUFFIX%%/bin/ccc-analyzer
+llvm%%LLVM_SUFFIX%%/bin/clang
+llvm%%LLVM_SUFFIX%%/bin/clang++
+llvm%%LLVM_SUFFIX%%/bin/clang-check
+llvm%%LLVM_SUFFIX%%/bin/clang-cpp
+llvm%%LLVM_SUFFIX%%/bin/clang-format
+llvm%%LLVM_SUFFIX%%/bin/clang-tblgen
+llvm%%LLVM_SUFFIX%%/bin/scan-build
+llvm%%LLVM_SUFFIX%%/bin/scan-view
+llvm%%LLVM_SUFFIX%%/include/clang-c/BuildSystem.h
+llvm%%LLVM_SUFFIX%%/include/clang-c/CXCompilationDatabase.h
+llvm%%LLVM_SUFFIX%%/include/clang-c/CXErrorCode.h
+llvm%%LLVM_SUFFIX%%/include/clang-c/CXString.h
+llvm%%LLVM_SUFFIX%%/include/clang-c/Documentation.h
+llvm%%LLVM_SUFFIX%%/include/clang-c/Index.h
+llvm%%LLVM_SUFFIX%%/include/clang-c/Platform.h
+llvm%%LLVM_SUFFIX%%/include/clang-c/module.modulemap
+llvm%%LLVM_SUFFIX%%/include/clang/ARCMigrate/ARCMT.h
+llvm%%LLVM_SUFFIX%%/include/clang/ARCMigrate/ARCMTActions.h
+llvm%%LLVM_SUFFIX%%/include/clang/ARCMigrate/FileRemapper.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/APValue.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/AST.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTContext.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTFwd.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTImporter.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTLambda.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTMutationListener.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTTypeTraits.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTUnresolvedSet.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ASTVector.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Attr.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/AttrDump.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/AttrImpl.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/AttrIterator.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/AttrVisitor.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Attrs.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/BaseSubobject.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/BuiltinTypes.def
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CXXInheritance.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CanonicalType.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CharUnits.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Comment.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentBriefParser.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentCommandInfo.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentCommandList.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentCommandTraits.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentHTMLTags.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentHTMLTagsProperties.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentLexer.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentNodes.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentParser.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentSema.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/CommentVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DataRecursiveASTVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Decl.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclAccessPair.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclBase.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclCXX.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclContextInternals.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclFriend.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclGroup.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclLookups.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclNodes.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclObjC.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclOpenMP.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclTemplate.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DeclarationName.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/DependentDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/EvaluatedExprVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Expr.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ExprCXX.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ExprObjC.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ExternalASTSource.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/GlobalDecl.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/LambdaCapture.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Mangle.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/MangleNumberingContext.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/NSAPI.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/NestedNameSpecifier.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/OpenMPClause.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/OperationKinds.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/ParentMap.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/PrettyPrinter.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/RawCommentList.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/RecordLayout.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/RecursiveASTVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Redeclarable.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/SelectorLocationsKind.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Stmt.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/StmtCXX.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/StmtGraphTraits.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/StmtIterator.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/StmtNodes.inc
+llvm%%LLVM_SUFFIX%%/include/clang/AST/StmtObjC.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/StmtOpenMP.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/StmtVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TemplateBase.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TemplateName.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/Type.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TypeLoc.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TypeLocNodes.def
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TypeLocVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TypeNodes.def
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TypeOrdering.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/TypeVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/UnresolvedSet.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/VTTBuilder.h
+llvm%%LLVM_SUFFIX%%/include/clang/AST/VTableBuilder.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/ASTMatchFinder.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/ASTMatchers.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/ASTMatchersInternal.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/ASTMatchersMacros.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/Dynamic/Diagnostics.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/Dynamic/Parser.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/Dynamic/Registry.h
+llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/Dynamic/VariantValue.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/Consumed.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/Dominators.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/FormatString.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/LiveVariables.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/PostOrderCFGView.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/PseudoConstantAnalysis.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ReachableCode.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ThreadSafety.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ThreadSafetyLogical.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ThreadSafetyOps.def
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/ThreadSafetyUtil.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses/UninitializedValues.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/AnalysisContext.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/AnalysisDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/CFG.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/CFGStmtMap.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/CallGraph.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/CodeInjector.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/DomainSpecific/CocoaConventions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/FlowSensitive/DataflowValues.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/ProgramPoint.h
+llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Support/BumpVector.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/ABI.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/AddressSpaces.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/AllDiagnostics.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/AttrHasAttributeImpl.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/AttrKinds.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/AttrList.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Attributes.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Builtins.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Builtins.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsAArch64.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsARM.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsHexagon.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsLe64.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsMips.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsNEON.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsNVPTX.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsPPC.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsR600.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsX86.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/BuiltinsXCore.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/CapturedStmt.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/CharInfo.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/CommentOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Diagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticASTKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticAnalysisKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticCategories.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticCommentKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticCommonKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticDriverKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticFrontendKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticGroups.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticIDs.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticIndexName.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticLexKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticOptions.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticParseKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticSemaKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/DiagnosticSerializationKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/ExceptionSpecificationType.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/ExpressionTraits.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/FileManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/FileSystemOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/FileSystemStatCache.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/IdentifierTable.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/LLVM.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Lambda.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/LangOptions.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/LangOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Linkage.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/MacroBuilder.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Module.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/ObjCRuntime.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/OpenCLExtensions.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/OpenMPKinds.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/OpenMPKinds.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/OperatorKinds.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/OperatorKinds.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/OperatorPrecedence.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/PartialDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/PlistSupport.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/PrettyStackTrace.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/SanitizerBlacklist.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Sanitizers.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Sanitizers.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/SourceLocation.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/SourceManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/SourceManagerInternals.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Specifiers.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TargetBuiltins.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TargetCXXABI.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TargetInfo.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TargetOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TemplateKinds.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TokenKinds.def
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TokenKinds.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/TypeTraits.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Version.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Version.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/VersionTuple.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/VirtualFileSystem.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/Visibility.h
+llvm%%LLVM_SUFFIX%%/include/clang/Basic/arm_neon.inc
+llvm%%LLVM_SUFFIX%%/include/clang/CodeGen/BackendUtil.h
+llvm%%LLVM_SUFFIX%%/include/clang/CodeGen/CGFunctionInfo.h
+llvm%%LLVM_SUFFIX%%/include/clang/CodeGen/CodeGenABITypes.h
+llvm%%LLVM_SUFFIX%%/include/clang/CodeGen/CodeGenAction.h
+llvm%%LLVM_SUFFIX%%/include/clang/CodeGen/ModuleBuilder.h
+llvm%%LLVM_SUFFIX%%/include/clang/Config/config.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Action.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Compilation.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Driver.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/DriverDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Job.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Multilib.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Options.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Options.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Phases.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/SanitizerArgs.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Tool.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/ToolChain.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Types.def
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Types.h
+llvm%%LLVM_SUFFIX%%/include/clang/Driver/Util.h
+llvm%%LLVM_SUFFIX%%/include/clang/Edit/Commit.h
+llvm%%LLVM_SUFFIX%%/include/clang/Edit/EditedSource.h
+llvm%%LLVM_SUFFIX%%/include/clang/Edit/EditsReceiver.h
+llvm%%LLVM_SUFFIX%%/include/clang/Edit/FileOffset.h
+llvm%%LLVM_SUFFIX%%/include/clang/Edit/Rewriters.h
+llvm%%LLVM_SUFFIX%%/include/clang/Format/Format.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/ASTConsumers.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/ASTUnit.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/ChainedDiagnosticConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/CodeGenOptions.def
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/CodeGenOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/CommandLineSourceLoc.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/CompilerInstance.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/CompilerInvocation.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/DependencyOutputOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/DiagnosticRenderer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/FrontendAction.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/FrontendActions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/FrontendDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/FrontendOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/FrontendPluginRegistry.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/LangStandard.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/LangStandards.def
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/LayoutOverrideSource.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/LogDiagnosticPrinter.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/MigratorOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/MultiplexConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/PreprocessorOutputOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/SerializedDiagnosticPrinter.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/SerializedDiagnosticReader.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/SerializedDiagnostics.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/TextDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/TextDiagnosticBuffer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/TextDiagnosticPrinter.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/Utils.h
+llvm%%LLVM_SUFFIX%%/include/clang/Frontend/VerifyDiagnosticConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/FrontendTool/Utils.h
+llvm%%LLVM_SUFFIX%%/include/clang/Index/CommentToXML.h
+llvm%%LLVM_SUFFIX%%/include/clang/Index/USRGeneration.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/CodeCompletionHandler.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/DirectoryLookup.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/ExternalPreprocessorSource.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/HeaderMap.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/HeaderSearch.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/HeaderSearchOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/LexDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/Lexer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/LiteralSupport.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/MacroArgs.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/MacroInfo.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/ModuleLoader.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/ModuleMap.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/MultipleIncludeOpt.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/PPCallbacks.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/PPConditionalDirectiveRecord.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/PTHLexer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/PTHManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/Pragma.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/PreprocessingRecord.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/Preprocessor.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/PreprocessorLexer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/PreprocessorOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/ScratchBuffer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/Token.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/TokenConcatenation.h
+llvm%%LLVM_SUFFIX%%/include/clang/Lex/TokenLexer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Parse/AttrParserStringSwitches.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Parse/ParseAST.h
+llvm%%LLVM_SUFFIX%%/include/clang/Parse/ParseDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Parse/Parser.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Core/DeltaTree.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Core/HTMLRewrite.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Core/RewriteRope.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Core/Rewriter.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Core/TokenRewriter.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Frontend/ASTConsumers.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Frontend/FixItRewriter.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Frontend/FrontendActions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Frontend/Rewriters.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/AnalysisBasedWarnings.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/AttrParsedAttrImpl.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/AttrParsedAttrKinds.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/AttrParsedAttrList.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/AttrSpellingListIndex.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/AttrTemplateInstantiate.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/AttributeList.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/CXXFieldCollector.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/CodeCompleteConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/CodeCompleteOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/DeclSpec.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/DelayedDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Designator.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/ExternalSemaSource.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/IdentifierResolver.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Initialization.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/LocInfoType.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Lookup.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/LoopHint.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/MultiplexExternalSemaSource.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/ObjCMethodList.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Overload.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Ownership.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/ParsedTemplate.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/PrettyDeclStackTrace.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Scope.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/ScopeInfo.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Sema.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/SemaConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/SemaDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/SemaFixItUtils.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/SemaInternal.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/SemaLambda.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Template.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/TemplateDeduction.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/TypoCorrection.h
+llvm%%LLVM_SUFFIX%%/include/clang/Sema/Weak.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/ASTBitCodes.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/ASTDeserializationListener.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/ASTReader.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/ASTWriter.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/AttrPCHRead.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/AttrPCHWrite.inc
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/ContinuousRangeMap.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/GlobalModuleIndex.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/Module.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/ModuleManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/Serialization/SerializationDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Checkers/ClangCheckers.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Checkers/LocalCheckers.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/Analyses.def
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/Checker.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/CheckerManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/CheckerOptInfo.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/CheckerRegistry.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Frontend/FrontendActions.h
+llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Frontend/ModelConsumer.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/ArgumentsAdjusters.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/CommonOptionsParser.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/CompilationDatabase.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/CompilationDatabasePluginRegistry.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/Core/Replacement.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/FileMatchTrie.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/JSONCompilationDatabase.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/Refactoring.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/RefactoringCallbacks.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/ReplacementsYaml.h
+llvm%%LLVM_SUFFIX%%/include/clang/Tooling/Tooling.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/__wmmintrin_aes.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/__wmmintrin_pclmul.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/adxintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/altivec.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/ammintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/arm_neon.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/avx2intrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/avx512bwintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/avx512erintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/avx512fintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlbwintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/avxintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/bmi2intrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/bmiintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/cpuid.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/emmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/f16cintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/fma4intrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/fmaintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/ia32intrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/immintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/lzcntintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/mm3dnow.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/mm_malloc.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/mmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/module.modulemap
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/nmmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/pmmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/popcntintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/prfchwintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/rdseedintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/rtmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/shaintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/smmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/tbmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/tmmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/unwind.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/wmmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/x86intrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/xmmintrin.h
+llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_RELEASE%%/include/xopintrin.h
+llvm%%LLVM_SUFFIX%%/lib/libclang.a
+llvm%%LLVM_SUFFIX%%/lib/libclang.so
+llvm%%LLVM_SUFFIX%%/lib/libclangARCMigrate.a
+llvm%%LLVM_SUFFIX%%/lib/libclangAST.a
+llvm%%LLVM_SUFFIX%%/lib/libclangASTMatchers.a
+llvm%%LLVM_SUFFIX%%/lib/libclangAnalysis.a
+llvm%%LLVM_SUFFIX%%/lib/libclangBasic.a
+llvm%%LLVM_SUFFIX%%/lib/libclangCodeGen.a
+llvm%%LLVM_SUFFIX%%/lib/libclangDriver.a
+llvm%%LLVM_SUFFIX%%/lib/libclangDynamicASTMatchers.a
+llvm%%LLVM_SUFFIX%%/lib/libclangEdit.a
+llvm%%LLVM_SUFFIX%%/lib/libclangFormat.a
+llvm%%LLVM_SUFFIX%%/lib/libclangFrontend.a
+llvm%%LLVM_SUFFIX%%/lib/libclangFrontendTool.a
+llvm%%LLVM_SUFFIX%%/lib/libclangIndex.a
+llvm%%LLVM_SUFFIX%%/lib/libclangLex.a
+llvm%%LLVM_SUFFIX%%/lib/libclangParse.a
+llvm%%LLVM_SUFFIX%%/lib/libclangRewrite.a
+llvm%%LLVM_SUFFIX%%/lib/libclangRewriteFrontend.a
+llvm%%LLVM_SUFFIX%%/lib/libclangSema.a
+llvm%%LLVM_SUFFIX%%/lib/libclangSerialization.a
+llvm%%LLVM_SUFFIX%%/lib/libclangStaticAnalyzerCheckers.a
+llvm%%LLVM_SUFFIX%%/lib/libclangStaticAnalyzerCore.a
+llvm%%LLVM_SUFFIX%%/lib/libclangStaticAnalyzerFrontend.a
+llvm%%LLVM_SUFFIX%%/lib/libclangTooling.a
+llvm%%LLVM_SUFFIX%%/lib/libclangToolingCore.a
+llvm%%LLVM_SUFFIX%%/lib/python/Reporter.py
+llvm%%LLVM_SUFFIX%%/lib/python/Resources/FileRadar.scpt
+llvm%%LLVM_SUFFIX%%/lib/python/Resources/GetRadarVersion.scpt
+llvm%%LLVM_SUFFIX%%/lib/python/Resources/bugcatcher.ico
+llvm%%LLVM_SUFFIX%%/lib/python/ScanView.py
+llvm%%LLVM_SUFFIX%%/lib/python/startfile.py
+man/man1/clang%%LLVM_SUFFIX%%.1.gz
+man/man1/scan-build%%LLVM_SUFFIX%%.1.gz
+%%PORTDOCS%%%%DOCSDIR%%/html/clang/clang.html
+%%PORTDOCS%%%%DOCSDIR%%/html/clang/manpage.css
+%%PORTDOCS%%%%DOCSDIR%%/ps/clang.ps