Add ports of LLVM and Clang 3.5rc1.

In the LLVM port the option to build cmake support files is disabled by
default because it fails to configure when built with gcc47.

The Clang port is marked broken if the compiler isn't clang due to link
errors when it is gcc47.
This commit is contained in:
Brooks Davis 2014-08-01 22:38:44 +00:00
parent 9021e479e9
commit e88f73c0a6
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=363768
20 changed files with 2423 additions and 0 deletions

289
devel/llvm35/Makefile Normal file
View File

@ -0,0 +1,289 @@
# $FreeBSD$
PORTNAME= llvm
DISTVERSION= 3.5rc1
CATEGORIES= devel lang
MASTER_SITES= http://llvm.org/pre-releases/3.5/rc1/
DISTNAME= ${PORTNAME}.src-${DISTVERSION}.src
#http://llvm.org/pre-releases/3.5/rc1/llvm.src-3.5rc1.src.tar.gz
PKGNAMESUFFIX= ${LLVM_SUFFIX}
MAINTAINER= brooks@FreeBSD.org
COMMENT= Low Level Virtual Machine
LIB_DEPENDS= libexecinfo.so:${PORTSDIR}/devel/libexecinfo
LLVM_SUFFIX= ${PORTVERSION:S/.//g:C/r.//}
LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX}
DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX}
UNIQUENAME= ${PORTNAME}${LLVM_SUFFIX}
WRKSRC= ${WRKDIR}/llvm.src
USES= compiler:c++11-lib gmake perl5
GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${LLVM_PREFIX}
USE_LDCONFIG= ${LLVM_PREFIX}/lib
SUB_FILES= llvm-wrapper.sh
SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}"
# Suggested tweaks from http://llvm.org/docs/Packaging.html
CONFIGURE_ARGS+= --enable-shared
MAKE_ARGS+= REQUIRES_RTTI=1
LIBNAME= libLLVM-3.5.0svn.so
CONFIGURE_ARGS+= --enable-bindings=none
CONFIGURE_ARGS+= --enable-optimized
OPTIONS_DEFINE= ASSERTS CMAKE DOCS LIT LTOPLUGIN MANPAGES
ASSERTS_DESC= Enable assertions (thread unsafe)
CMAKE_DESC= Build cmake support files
LIT_DESC= Install lit and FileCheck test tools (requires python)
LTOPLUGIN_DESC= Build LTO plugin (requires gold)
OPTIONS_DEFAULT= LIT MANPAGES
OPTIONS_SUB= yes
PLIST_SUB+= LLVM_SUFFIX=${LLVM_SUFFIX} \
PORTVERSION=${PORTVERSION}
COMMANDS= bugpoint \
llc \
lli \
llvm-ar \
llvm-as \
llvm-bcanalyzer \
llvm-config \
llvm-cov \
llvm-diff \
llvm-dis \
llvm-dwarfdump \
llvm-extract \
llvm-link \
llvm-mc \
llvm-mcmarkup \
llvm-nm \
llvm-objdump \
llvm-ranlib \
llvm-readobj \
llvm-rtdyld \
llvm-size \
llvm-stress \
llvm-symbolizer \
llvm-tblgen \
macho-dump \
opt
FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//}
STRIP_LIBS= BugpointPasses.so \
LLVMHello.so \
${LIBNAME}.0 \
libLTO.so
# Enable AMD r600 backend used by the r600/radeonsi graphics/dri gallium drivers
CONFIGURE_ARGS+=--enable-experimental-targets=R600
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MASSERTS}
CONFIGURE_ARGS+= --enable-assertions
RELEASE_TYPE= Release+Asserts
.else
CONFIGURE_ARGS+= --disable-assertions
RELEASE_TYPE= Release
.endif
.if ${PORT_OPTIONS:MCMAKE}
BUILD_DEPENDS+= cmake:${PORTSDIR}/devel/cmake
PORTDATA+= cmake
.endif
.if ${PORT_OPTIONS:MDOCS} || ${PORT_OPTIONS:MMANPAGES}
BUILD_DEPENDS+= sphinx-build:${PORTSDIR}/textproc/py-sphinx
.endif
.if ${PORT_OPTIONS:MDOCS}
CONFIGURE_ARGS+= --enable-docs
.else
CONFIGURE_ARGS+= --disable-docs
.endif
.if ${PORT_OPTIONS:MLIT}
MAN1SRCS+= lit.1
USE_PYTHON= yes
LIT_COMMANDS= lit llvm-lit FileCheck
.else
USE_PYTHON_BUILD= yes
.endif
.if ${PORT_OPTIONS:MLTOPLUGIN}
BUILD_DEPENDS+= ld.gold:${PORTSDIR}/devel/binutils
RUN_DEPENDS+= ld.gold:${PORTSDIR}/devel/binutils
CONFIGURE_ARGS+= --with-binutils-include=${LOCALBASE}/include
PLIST_FILES+= llvm${LLVM_SUFFIX}/lib/LLVMgold.so
.endif
.if ${PORT_OPTIONS:MMANPAGES}
MAN1SRCS+= bugpoint.1 llc.1 lli.1 llvm-ar.1 llvm-as.1 \
llvm-bcanalyzer.1 llvm-config.1 llvm-cov.1 llvm-diff.1 \
llvm-dis.1 llvm-extract.1 llvm-link.1 llvm-nm.1 \
llvm-profdata.1 llvm-stress.1 opt.1 tblgen.1
PLIST_FILES+= ${MAN1SRCS:S|^|man/man1/|:S|.1$|${LLVM_SUFFIX}.1.gz|}
.endif
NOT_FOR_ARCH= ia64
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MCMAKE} && ${COMPILER_TYPE} != clang
BROKEN= CMake support only works with clang
.endif
.if ${ARCH} == "amd64"
CONFIGURE_ARGS+= --enable-pic --with-pic
.endif
.if ${ARCH} == "i386"
CONFIGURE_ARGS+= --with-optimize-option=-O2
.endif
post-patch:
${REINPLACE_CMD} -e 's|${PORTVERSION}svn|${PORTVERSION}|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|import lit|import lit${LLVM_SUFFIX}|' \
-e 's|from lit|from lit${LLVM_SUFFIX}|' \
-e 's|lit\.|lit${LLVM_SUFFIX}.|' \
${WRKSRC}/utils/lit/lit.py ${WRKSRC}/utils/lit/lit/*.py \
${WRKSRC}/utils/lit/lit/formats/*.py
.if ${PORT_OPTIONS:MCMAKE}
post-configure:
${MKDIR} ${WRKDIR}/cmake
cd ${WRKDIR}/cmake && cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER:STRING="${CC}" -DCMAKE_CXX_COMPILER:STRING="${CXX}" ${WRKSRC}
${REINPLACE_CMD} -e 's|${WRKDIR}/cmake|${LLVM_PREFIX}|' \
-e 's|${WRKSRC}/cmake/modules|${DATADIR}/cmake|' \
${WRKDIR}/cmake/share/llvm/cmake/LLVMConfig.cmake
.endif
post-build:
.if ${PORT_OPTIONS:MMANPAGES}
@cd ${WRKSRC}/docs && ${MAKE_CMD} -f Makefile.sphinx man
.endif
.if ${PORT_OPTIONS:MDOCS}
@cd ${WRKSRC}/docs && ${MAKE_CMD} -f Makefile.sphinx html
.endif
post-install:
${MV} ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME} \
${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME}.0
${LN} -sf ${LIBNAME}.0 ${STAGEDIR}${LLVM_PREFIX}/lib/${LIBNAME}
${STRIP_CMD} ${STRIP_LIBS:S|^|${STAGEDIR}${LLVM_PREFIX}/lib/|}
${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \
${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX}
.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
.if ${PORT_OPTIONS:MCMAKE}
${MKDIR} ${STAGEDIR}${DATADIR}/cmake
${INSTALL_DATA} ${WRKSRC}/cmake/modules/*.cmake \
${WRKDIR}/cmake/share/llvm/cmake/*.cmake \
${STAGEDIR}${DATADIR}/cmake/
.endif
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${STAGEDIR}${DOCSDIR}/html
${FIND} ${WRKSRC}/docs/_build/html -type f | \
${XARGS} -I _DOC_ ${INSTALL_DATA} _DOC_ ${STAGEDIR}${DOCSDIR}/html/
.endif
.if ${PORT_OPTIONS:MLIT}
${INSTALL_SCRIPT} ${WRKSRC}/utils/lit/lit.py \
${STAGEDIR}${LLVM_PREFIX}/bin/lit
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \
${STAGEDIR}${LLVM_PREFIX}/bin/llvm-lit
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \
${STAGEDIR}${PREFIX}/bin/lit${LLVM_SUFFIX}
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \
${STAGEDIR}${PREFIX}/bin/llvm-lit${LLVM_SUFFIX}
${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}
${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/*.py \
${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}
${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}/formats
${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/formats/*.py \
${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX}/formats
${INSTALL_PROGRAM} ${WRKSRC}/${RELEASE_TYPE}/bin/FileCheck \
${STAGEDIR}${LLVM_PREFIX}/bin/
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/FileCheck \
${STAGEDIR}${PREFIX}/bin/FileCheck${LLVM_SUFFIX}
.endif
.if ${PORT_OPTIONS:MMANPAGES}
for man in ${MAN1SRCS}; do \
${INSTALL_MAN} ${WRKSRC}/docs/_build/man/$${man} \
${STAGEDIR}${MANPREFIX}/man/man1/$${man%.1}${LLVM_SUFFIX}.1 ; \
done
.endif
TEST_CMD= '(cd ${WRKSRC}/test; ${SETENV} ${MAKE_ENV} LD_LIBRARY_PATH=${WRKSRC}/Release/lib ${MAKE_CMD} check-local-lit)'
regression-test: ${BUILD_COOKIE}
if [ `${ID} -u` = 0 ]; then \
${CHOWN} -R nobody ${WRKSRC}/test; \
su -m nobody -c ${TEST_CMD}; \
else \
${SH} -c ${TEST_CMD}; \
fi
build-plist:
${RM} -f ${PLIST}
.for command in ${COMMANDS}
${ECHO_CMD} bin/${command}%%LLVM_SUFFIX%% >> ${PLIST}
.endfor
.for command in ${LIT_COMMANDS}
${ECHO_CMD} %%LIT%%bin/${command}%%LLVM_SUFFIX%% >> ${PLIST}
${ECHO_CMD} %%LIT%%${LLVM_PREFIX:S|${PREFIX}/||:C|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|}/bin/${command} \
>> ${PLIST}
.endfor
${FIND} ${STAGEDIR}${LLVM_PREFIX} -type f -o -type l | \
${GREP} -v 'lit$$' | ${GREP} -v 'FileCheck$$' | \
${GREP} -v man/man1 | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \
-e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' \
-e 's|${PORTVERSION}|%%PORTVERSION%%|' | \
${SORT} >> ${PLIST}
${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \
${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' \
-e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' | \
${SORT} >> ${PLIST}
${FIND} ${STAGEDIR}${DOCSDIR} -type f | \
${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%%%DOCSDIR%%|' | \
${SORT} >> ${PLIST}
${FIND} ${STAGEDIR}${LLVM_PREFIX} -type d | \
${SED} -e 's|${STAGEDIR}${PREFIX}/||' | \
${SORT} -r | ${SED} -e 's|^|@dirrm |' \
-e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' >> ${PLIST}
echo "%%LIT%%@dirrm %%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%" >> \
${PLIST}
echo "%%LIT%%@dirrm %%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/formats" >> \
${PLIST}
${FIND} ${STAGEDIR}${DOCSDIR} -type d | \
${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%@dirrm %%DOCSDIR%%|' | \
${SORT} -r >> ${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/llvm/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} >> ${_PATCH_FILE}
.endif
.include <bsd.port.post.mk>

2
devel/llvm35/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (llvm.src-3.5rc1.src.tar.gz) = 841929809647700f7629f0d567af7a8b45fb82f11d25239c8602db0badf8adb8
SIZE (llvm.src-3.5rc1.src.tar.gz) = 17623122

View File

@ -0,0 +1,10 @@
#!/bin/sh
# $FreeBSD$
LLVM_PREFIX="%%LLVM_PREFIX%%"
LLVM_SUFFIX="%%LLVM_SUFFIX%%"
tool=$(basename $0)
tool="${LLVM_PREFIX}/bin/${tool%${LLVM_SUFFIX}}"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LLVM_PREFIX}/lib" \
"${tool}" "${@}"

View File

@ -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)

10
devel/llvm35/pkg-descr Normal file
View File

@ -0,0 +1,10 @@
Low Level Virtual Machine (LLVM) is:
- A compilation strategy designed to enable effective program
optimization across the entire lifetime of a program.
- A virtual instruction set.
- A compiler infrastructure.
- LLVM does not imply things that you would expect from a high-level
virtual machine. It does not require garbage collection or run-time
code generation.
WWW: http://llvm.org/

1103
devel/llvm35/pkg-plist Normal file

File diff suppressed because it is too large Load Diff

205
lang/clang35/Makefile Normal file
View File

@ -0,0 +1,205 @@
# $FreeBSD$
PORTNAME= clang
DISTVERSION= 3.5rc1
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/pre-releases/3.5/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.src-${DISTVERSION}.src
CLANG_SOURCE= ${CLANG_NAME}${EXTRACT_SUFX}
CLANG_EXTRACT= cfe.src
LLVM_NAME= llvm.src-${DISTVERSION}.src
LLVM_SOURCE= ${LLVM_NAME}${EXTRACT_SUFX}
LLVM_EXTRACT= llvm.src
LIBNAME= libLLVM-3.5svn.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:S/.//g:C/r.*//}
LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX}
DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX}
GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${LLVM_PREFIX}
USES= compiler:c++11-lib gmake perl5
USE_LDCONFIG= yes
USE_PYTHON_BUILD= 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
PLIST_SUB+= LLVM_SUFFIX=${LLVM_SUFFIX} \
PORTVERSION=${PORTVERSION}
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>
.if ${COMPILER_TYPE} != clang
BROKEN= link errors when build with gcc
.endif
.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|${PORTVERSION}svn|${PORTVERSION}|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' \
${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
.if ${PORT_OPTIONS:MDOCS}
@cd ${WRKSRC}/tools/clang/docs/tools && ${MAKE_CMD} html ps
.endif
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
.if ${PORT_OPTIONS:MDOCS}
cd ${WRKSRC}/tools/clang/docs/tools && \
${MAKE_CMD} DESTDIR=${STAGEDIR}/ install-html install-ps
.endif
${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
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%%|' | ${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}
${FIND} ${PLIST_DIR_LIST:S|^|${STAGEDIR}${LLVM_PREFIX}/|} -type d | \
${SED} -e 's|${STAGEDIR}${PREFIX}/|@dirrm |' \
-e 's|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|' | \
${SORT} -r >> ${PLIST}
${FIND} ${STAGEDIR}${DOCSDIR} -type d | ${SORT} -r | \
${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%@dirrm %%DOCSDIR%%|' \
>> ${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>

4
lang/clang35/distinfo Normal file
View File

@ -0,0 +1,4 @@
SHA256 (cfe.src-3.5rc1.src.tar.gz) = 01d922b250f34df6c83beabbf07138178b3c7d04829a006cdf507c4040d79b9c
SIZE (cfe.src-3.5rc1.src.tar.gz) = 11507469
SHA256 (llvm.src-3.5rc1.src.tar.gz) = 841929809647700f7629f0d567af7a8b45fb82f11d25239c8602db0badf8adb8
SIZE (llvm.src-3.5rc1.src.tar.gz) = 17623122

View File

@ -0,0 +1,10 @@
#!/bin/sh
# $FreeBSD$
LLVM_PREFIX="%%LLVM_PREFIX%%"
LLVM_SUFFIX="%%LLVM_SUFFIX%%"
tool=$(basename $0)
tool="${LLVM_PREFIX}/bin/${tool%${LLVM_SUFFIX}}"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LLVM_PREFIX}/lib" \
"${tool}" "${@}"

View File

@ -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 = .

View File

@ -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,

View File

@ -0,0 +1,48 @@
$FreeBSD$
--- tools/clang/lib/Analysis/PrintfFormatString.cpp.orig
+++ tools/clang/lib/Analysis/PrintfFormatString.cpp
@@ -198,9 +198,10 @@
case '@': k = ConversionSpecifier::ObjCObjArg; break;
// Glibc specific.
case 'm': k = ConversionSpecifier::PrintErrno; break;
- // Apple-specific
+
+ // Apple-specific (and one FreeBSD)
case 'D':
- if (Target.getTriple().isOSDarwin())
+ if (Target.getTriple().isOSDarwin() || Target.getTriple().isOSFreeBSD())
k = ConversionSpecifier::DArg;
break;
case 'O':
@@ -211,11 +212,29 @@
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;
}
PrintfConversionSpecifier CS(conversionPosition, k);
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.

View File

@ -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);
}

View File

@ -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))

View File

@ -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()) {

View File

@ -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 {

View File

@ -0,0 +1,23 @@
$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);

View File

@ -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)

4
lang/clang35/pkg-descr Normal file
View File

@ -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/

550
lang/clang35/pkg-plist Normal file
View File

@ -0,0 +1,550 @@
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/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/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/Sanitizers.def
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/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/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/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/3.5.0/include/__wmmintrin_aes.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/__wmmintrin_pclmul.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/altivec.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/ammintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/arm_neon.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/avx2intrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/avxintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/bmi2intrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/bmiintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/cpuid.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/emmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/f16cintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/fma4intrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/fmaintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/ia32intrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/immintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/lzcntintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/mm3dnow.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/mm_malloc.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/mmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/module.modulemap
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/nmmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/pmmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/popcntintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/prfchwintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/rdseedintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/rtmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/shaintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/smmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/tbmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/tmmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/unwind.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/wmmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/x86intrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include/xmmintrin.h
llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/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
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
@dirrm llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0/include
@dirrm llvm%%LLVM_SUFFIX%%/lib/clang/3.5.0
@dirrm llvm%%LLVM_SUFFIX%%/lib/clang
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Tooling
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Frontend
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/PathSensitive
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core/BugReporter
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Core
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer/Checkers
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/StaticAnalyzer
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Serialization
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Sema
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Frontend
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Rewrite/Core
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Rewrite
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Parse
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Lex
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Index
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/FrontendTool
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Frontend
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Format
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Edit
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Driver
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Config
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/CodeGen
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Basic
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Support
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Analysis/FlowSensitive
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Analysis/DomainSpecific
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Analysis/Analyses
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/Analysis
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers/Dynamic
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/ASTMatchers
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/AST
@dirrm llvm%%LLVM_SUFFIX%%/include/clang/ARCMigrate
@dirrm llvm%%LLVM_SUFFIX%%/include/clang-c
@dirrm llvm%%LLVM_SUFFIX%%/include/clang
%%PORTDOCS%%@dirrm %%DOCSDIR%%/ps
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/clang
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html
%%PORTDOCS%%@dirrm %%DOCSDIR%%