diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2013-10-18 22:06:39 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2013-10-18 22:06:39 +0000 |
commit | 2c6611d8cf774a8ee754852446eae436bb3257d3 (patch) | |
tree | a3288d0e5a1c0c79ef902867cd7518f713a9b34c /lang/clang32 | |
parent | 9c04ae0823606c63b1de206de54468fd8f81459c (diff) | |
download | ports-2c6611d8cf774a8ee754852446eae436bb3257d3.tar.gz ports-2c6611d8cf774a8ee754852446eae436bb3257d3.zip |
Add llvm32 and clang32 ports modeled on the llvm33 and clang33 ports.
These ports install binaries with "32" suffixes and most data lives in
${PREFIX}/llvm32 so there are no conflicts.
NOTE: devel/llvm and lang/clang will shortly be removed in favor of
these ports.
Notes
Notes:
svn path=/head/; revision=330777
Diffstat (limited to 'lang/clang32')
-rw-r--r-- | lang/clang32/Makefile | 165 | ||||
-rw-r--r-- | lang/clang32/distinfo | 4 | ||||
-rw-r--r-- | lang/clang32/files/llvm-wrapper.sh.in | 10 | ||||
-rw-r--r-- | lang/clang32/files/patch-include_llvm_ADT_Triple.h | 17 | ||||
-rw-r--r-- | lang/clang32/files/patch-svn-r172354 | 203 | ||||
-rw-r--r-- | lang/clang32/files/patch-svn-r175919 | 66 | ||||
-rw-r--r-- | lang/clang32/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h | 24 | ||||
-rw-r--r-- | lang/clang32/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp | 48 | ||||
-rw-r--r-- | lang/clang32/files/patch-tools_clang_lib_Headers_Makefile | 14 | ||||
-rw-r--r-- | lang/clang32/files/patch-tools_clang_lib_Sema_SemaChecking.cpp | 45 | ||||
-rw-r--r-- | lang/clang32/files/patch-tools_clang_tools_scan-build_scan-build | 23 | ||||
-rw-r--r-- | lang/clang32/files/patch-utils_llvm-build_llvmbuild_main.py | 20 | ||||
-rw-r--r-- | lang/clang32/pkg-descr | 4 | ||||
-rw-r--r-- | lang/clang32/pkg-plist | 485 |
14 files changed, 1128 insertions, 0 deletions
diff --git a/lang/clang32/Makefile b/lang/clang32/Makefile new file mode 100644 index 000000000000..490ed7632750 --- /dev/null +++ b/lang/clang32/Makefile @@ -0,0 +1,165 @@ +# $FreeBSD$ + +PORTNAME= clang +DISTVERSION= 3.2 +CATEGORIES= lang devel +MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/ +PKGNAMESUFFIX= ${LLVM_PREFIX} +DISTNAME= ${CLANG_NAME} +DISTFILES= ${CLANG_SOURCE} \ + ${LLVM_SOURCE} + +MAINTAINER= brooks@FreeBSD.org +COMMENT= C, Objective-C, and C++ compiler + +CLANG_NAME= clang-${PORTVERSION}.src +CLANG_SOURCE= ${CLANG_NAME}${EXTRACT_SUFX} +LLVM_NAME= llvm-${PORTVERSION}.src +LLVM_SOURCE= ${LLVM_NAME}${EXTRACT_SUFX} + +WRKSRC= ${WRKDIR}/${LLVM_NAME} +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} +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= 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+= PORTVERSION=${PORTVERSION} + +COMMANDS= c-index-test \ + clang \ + clang++ \ + clang-check \ + clang-cpp \ + clang-tblgen +FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} + +.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 ${ARCH} == "sparc64" +BROKEN= Does not compile on sparc64 +.endif + +post-extract: + ${RM} -f ${BUILD_WRKSRC} + ${MV} ${WRKDIR}/${CLANG_NAME} ${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 + +pre-build: + ${LN} -sf ${LLVM_PREFIX}/include/llvm/Intrinsics.gen \ + ${WRKSRC}/include/llvm/ + ${MKDIR} ${WRKSRC}/${RELTYPE}/lib + ${LN} -sf ${LLVM_PREFIX}/lib/libLLVM-${PORTVERSION}.so \ + ${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 && ${GMAKE} + +post-build: + @cd ${WRKSRC}/tools/clang/docs/tools && ${GMAKE} man +.if ${PORT_OPTIONS:MDOCS} + @cd ${WRKSRC}/tools/clang/docs/tools && ${GMAKE} html ps +.endif + +post-install: + ${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} +.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 && ${GMAKE} DESTDIR=${STAGEDIR}/ install-html install-ps +.endif + ${INSTALL_MAN} ${WRKSRC}/tools/clang/docs/tools/clang.1 \ + ${STAGEDIR}${MANPREFIX}/man/man1/clang${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}/||' | ${SORT} >> ${PLIST} + echo man/man1/clang${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 |' | \ + ${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> diff --git a/lang/clang32/distinfo b/lang/clang32/distinfo new file mode 100644 index 000000000000..33cfb8d777f2 --- /dev/null +++ b/lang/clang32/distinfo @@ -0,0 +1,4 @@ +SHA256 (clang-3.2.src.tar.gz) = 2aaaf03f7c0f6b16fe97ecc81247dc2bf2d4bec7620a77cc74670b7e07ff5658 +SIZE (clang-3.2.src.tar.gz) = 8805311 +SHA256 (llvm-3.2.src.tar.gz) = 125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f46f3a42cb066343 +SIZE (llvm-3.2.src.tar.gz) = 12275252 diff --git a/lang/clang32/files/llvm-wrapper.sh.in b/lang/clang32/files/llvm-wrapper.sh.in new file mode 100644 index 000000000000..0a460f3156e5 --- /dev/null +++ b/lang/clang32/files/llvm-wrapper.sh.in @@ -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}" "${@}" diff --git a/lang/clang32/files/patch-include_llvm_ADT_Triple.h b/lang/clang32/files/patch-include_llvm_ADT_Triple.h new file mode 100644 index 000000000000..788c5bbd8909 --- /dev/null +++ b/lang/clang32/files/patch-include_llvm_ADT_Triple.h @@ -0,0 +1,17 @@ + +$FreeBSD$ + +--- include/llvm/ADT/Triple.h.orig ++++ include/llvm/ADT/Triple.h +@@ -296,6 +296,11 @@ + return isMacOSX() || getOS() == Triple::IOS; + } + ++ /// isOSFreeBSD - Is this FreeBSD OS ++ bool isOSFreeBSD() const { ++ return getOS() == Triple::FreeBSD; ++ } ++ + /// \brief Tests for either Cygwin or MinGW OS + bool isOSCygMing() const { + return getOS() == Triple::Cygwin || getOS() == Triple::MinGW32; diff --git a/lang/clang32/files/patch-svn-r172354 b/lang/clang32/files/patch-svn-r172354 new file mode 100644 index 000000000000..68f768a11cb3 --- /dev/null +++ b/lang/clang32/files/patch-svn-r172354 @@ -0,0 +1,203 @@ +$FreeBSD$ +------------------------------------------------------------------------ +r172354 | chandlerc | 2013-01-13 11:46:33 +0000 (Sun, 13 Jan 2013) | 6 lines + +Refactor the x86 CPU name logic in the driver and pass -march and -mcpu +flag information down from the Clang driver into the Gold linker plugin +for LTO. This allows specifying -march on the linker commandline and +should hopefully have it pass all the way through to the LTO optimizer. + +Fixes PR14697. +------------------------------------------------------------------------ +Index: test/Driver/gold-lto.c +=================================================================== +--- tools/clang/test/Driver/gold-lto.c (revision 172353) ++++ tools/clang/test/Driver/gold-lto.c (revision 172354) +@@ -1,6 +1,21 @@ + // RUN: touch %t.o +-// RUN: %clang -target x86_64-pc-linux-gnu -### %t.o -O4 -Wl,-plugin-opt=foo 2> %t.log +-// RUN: FileCheck %s < %t.log +- +-// CHECK: "-plugin" "{{.*}}/LLVMgold.so" +-// CHECK: "-plugin-opt=foo" ++// ++// RUN: %clang -target x86_64-unknown-linux -### %t.o -flto 2>&1 \ ++// RUN: -Wl,-plugin-opt=foo \ ++// RUN: | FileCheck %s --check-prefix=CHECK-X86-64-BASIC ++// CHECK-X86-64-BASIC: "-plugin" "{{.*}}/LLVMgold.so" ++// CHECK-X86-64-BASIC: "-plugin-opt=foo" ++// ++// RUN: %clang -target x86_64-unknown-linux -### %t.o -flto 2>&1 \ ++// RUN: -march=corei7 -Wl,-plugin-opt=foo \ ++// RUN: | FileCheck %s --check-prefix=CHECK-X86-64-COREI7 ++// CHECK-X86-64-COREI7: "-plugin" "{{.*}}/LLVMgold.so" ++// CHECK-X86-64-COREI7: "-plugin-opt=mcpu=corei7" ++// CHECK-X86-64-COREI7: "-plugin-opt=foo" ++// ++// RUN: %clang -target arm-unknown-linux -### %t.o -flto 2>&1 \ ++// RUN: -march=armv7a -Wl,-plugin-opt=foo \ ++// RUN: | FileCheck %s --check-prefix=CHECK-ARM-V7A ++// CHECK-ARM-V7A: "-plugin" "{{.*}}/LLVMgold.so" ++// CHECK-ARM-V7A: "-plugin-opt=mcpu=cortex-a8" ++// CHECK-ARM-V7A: "-plugin-opt=foo" +Index: lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp (revision 172353) ++++ tools/clang/lib/Driver/Tools.cpp (revision 172354) +@@ -1126,10 +1126,59 @@ + } + } + ++static const char *getX86TargetCPU(const ArgList &Args, ++ const llvm::Triple &Triple) { ++ if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { ++ if (StringRef(A->getValue()) != "native") ++ return A->getValue(); ++ ++ // FIXME: Reject attempts to use -march=native unless the target matches ++ // the host. ++ // ++ // FIXME: We should also incorporate the detected target features for use ++ // with -native. ++ std::string CPU = llvm::sys::getHostCPUName(); ++ if (!CPU.empty() && CPU != "generic") ++ return Args.MakeArgString(CPU); ++ } ++ ++ // Select the default CPU if none was given (or detection failed). ++ ++ if (Triple.getArch() != llvm::Triple::x86_64 && ++ Triple.getArch() != llvm::Triple::x86) ++ return 0; // This routine is only handling x86 targets. ++ ++ bool Is64Bit = Triple.getArch() == llvm::Triple::x86_64; ++ ++ // FIXME: Need target hooks. ++ if (Triple.isOSDarwin()) ++ return Is64Bit ? "core2" : "yonah"; ++ ++ // Everything else goes to x86-64 in 64-bit mode. ++ if (Is64Bit) ++ return "x86-64"; ++ ++ if (Triple.getOSName().startswith("haiku")) ++ return "i586"; ++ if (Triple.getOSName().startswith("openbsd")) ++ return "i486"; ++ if (Triple.getOSName().startswith("bitrig")) ++ return "i686"; ++ if (Triple.getOSName().startswith("freebsd")) ++ return "i486"; ++ if (Triple.getOSName().startswith("netbsd")) ++ return "i486"; ++ // All x86 devices running Android have core2 as their common ++ // denominator. This makes a better choice than pentium4. ++ if (Triple.getEnvironment() == llvm::Triple::Android) ++ return "core2"; ++ ++ // Fallback to p4. ++ return "pentium4"; ++} ++ + void Clang::AddX86TargetArgs(const ArgList &Args, + ArgStringList &CmdArgs) const { +- const bool isAndroid = +- getToolChain().getTriple().getEnvironment() == llvm::Triple::Android; + if (!Args.hasFlag(options::OPT_mred_zone, + options::OPT_mno_red_zone, + true) || +@@ -1142,65 +1191,7 @@ + false)) + CmdArgs.push_back("-no-implicit-float"); + +- const char *CPUName = 0; +- if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { +- if (StringRef(A->getValue()) == "native") { +- // FIXME: Reject attempts to use -march=native unless the target matches +- // the host. +- // +- // FIXME: We should also incorporate the detected target features for use +- // with -native. +- std::string CPU = llvm::sys::getHostCPUName(); +- if (!CPU.empty() && CPU != "generic") +- CPUName = Args.MakeArgString(CPU); +- } else +- CPUName = A->getValue(); +- } +- +- // Select the default CPU if none was given (or detection failed). +- if (!CPUName) { +- // FIXME: Need target hooks. +- if (getToolChain().getTriple().isOSDarwin()) { +- if (getToolChain().getArch() == llvm::Triple::x86_64) +- CPUName = "core2"; +- else if (getToolChain().getArch() == llvm::Triple::x86) +- CPUName = "yonah"; +- } else if (getToolChain().getOS().startswith("haiku")) { +- if (getToolChain().getArch() == llvm::Triple::x86_64) +- CPUName = "x86-64"; +- else if (getToolChain().getArch() == llvm::Triple::x86) +- CPUName = "i586"; +- } else if (getToolChain().getOS().startswith("openbsd")) { +- if (getToolChain().getArch() == llvm::Triple::x86_64) +- CPUName = "x86-64"; +- else if (getToolChain().getArch() == llvm::Triple::x86) +- CPUName = "i486"; +- } else if (getToolChain().getOS().startswith("bitrig")) { +- if (getToolChain().getArch() == llvm::Triple::x86_64) +- CPUName = "x86-64"; +- else if (getToolChain().getArch() == llvm::Triple::x86) +- CPUName = "i686"; +- } else if (getToolChain().getOS().startswith("freebsd")) { +- if (getToolChain().getArch() == llvm::Triple::x86_64) +- CPUName = "x86-64"; +- else if (getToolChain().getArch() == llvm::Triple::x86) +- CPUName = "i486"; +- } else if (getToolChain().getOS().startswith("netbsd")) { +- if (getToolChain().getArch() == llvm::Triple::x86_64) +- CPUName = "x86-64"; +- else if (getToolChain().getArch() == llvm::Triple::x86) +- CPUName = "i486"; +- } else { +- if (getToolChain().getArch() == llvm::Triple::x86_64) +- CPUName = "x86-64"; +- else if (getToolChain().getArch() == llvm::Triple::x86) +- // All x86 devices running Android have core2 as their common +- // denominator. This makes a better choice than pentium4. +- CPUName = isAndroid ? "core2" : "pentium4"; +- } +- } +- +- if (CPUName) { ++ if (const char *CPUName = getX86TargetCPU(Args, getToolChain().getTriple())) { + CmdArgs.push_back("-target-cpu"); + CmdArgs.push_back(CPUName); + } +@@ -5646,8 +5637,27 @@ + CmdArgs.push_back("-plugin"); + std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; + CmdArgs.push_back(Args.MakeArgString(Plugin)); ++ ++ // Try to pass driver level flags relevant to LTO code generation down to ++ // the plugin. ++ ++ // Handle architecture-specific flags for selecting CPU variants. ++ if (ToolChain.getArch() == llvm::Triple::x86 || ++ ToolChain.getArch() == llvm::Triple::x86_64) ++ CmdArgs.push_back( ++ Args.MakeArgString(Twine("-plugin-opt=mcpu=") + ++ getX86TargetCPU(Args, ToolChain.getTriple()))); ++ else if (ToolChain.getArch() == llvm::Triple::arm || ++ ToolChain.getArch() == llvm::Triple::thumb) ++ CmdArgs.push_back( ++ Args.MakeArgString(Twine("-plugin-opt=mcpu=") + ++ getARMTargetCPU(Args, ToolChain.getTriple()))); ++ ++ // FIXME: Factor out logic for MIPS, PPC, and other targets to support this ++ // as well. + } + ++ + if (Args.hasArg(options::OPT_Z_Xlinker__no_demangle)) + CmdArgs.push_back("--no-demangle"); + diff --git a/lang/clang32/files/patch-svn-r175919 b/lang/clang32/files/patch-svn-r175919 new file mode 100644 index 000000000000..5ad39532a999 --- /dev/null +++ b/lang/clang32/files/patch-svn-r175919 @@ -0,0 +1,66 @@ +$FreeBSD$ +------------------------------------------------------------------------ +r175919 | d0k | 2013-02-22 20:55:17 +0000 (Fri, 22 Feb 2013) | 4 lines + +Driver: Pass down the -march setting down to -cc1as on x86 too. + +The assembler historically didn't make use of any target features, but this has +changed when support for old CPUs that don't support long nops was added. +------------------------------------------------------------------------ +Index: test/Driver/target-as.s +=================================================================== +--- tools/clang/test/Driver/target-as.s (revision 0) ++++ tools/clang/test/Driver/target-as.s (revision 175919) +@@ -0,0 +1,8 @@ ++// REQUIRES: clang-driver ++ ++// Make sure the -march is passed down to cc1as. ++// RUN: %clang -target i386-unknown-freebsd -### -c -integrated-as %s \ ++// RUN: -march=geode 2>&1 | FileCheck -check-prefix=TARGET %s ++// ++// TARGET: "-cc1as" ++// TARGET: "-target-cpu" "geode" +Index: lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp (revision 175918) ++++ tools/clang/lib/Driver/Tools.cpp (revision 175919) +@@ -3325,6 +3325,15 @@ + addFPMathArgs(D, A, Args, CmdArgs, getARMTargetCPU(Args, Triple)); + } + ++void ClangAs::AddX86TargetArgs(const ArgList &Args, ++ ArgStringList &CmdArgs) const { ++ // Set the CPU based on -march=. ++ if (const char *CPUName = getX86TargetCPU(Args, getToolChain().getTriple())) { ++ CmdArgs.push_back("-target-cpu"); ++ CmdArgs.push_back(CPUName); ++ } ++} ++ + /// Add options related to the Objective-C runtime/ABI. + /// + /// Returns true if the runtime is non-fragile. +@@ -3500,6 +3509,11 @@ + case llvm::Triple::thumb: + AddARMTargetArgs(Args, CmdArgs); + break; ++ ++ case llvm::Triple::x86: ++ case llvm::Triple::x86_64: ++ AddX86TargetArgs(Args, CmdArgs); ++ break; + } + + // Ignore explicit -force_cpusubtype_ALL option. +Index: lib/Driver/Tools.h +=================================================================== +--- tools/clang/lib/Driver/Tools.h (revision 175918) ++++ tools/clang/lib/Driver/Tools.h (revision 175919) +@@ -77,6 +77,7 @@ + /// \brief Clang integrated assembler tool. + class LLVM_LIBRARY_VISIBILITY ClangAs : public Tool { + void AddARMTargetArgs(const ArgList &Args, ArgStringList &CmdArgs) const; ++ void AddX86TargetArgs(const ArgList &Args, ArgStringList &CmdArgs) const; + public: + ClangAs(const ToolChain &TC) : Tool("clang::as", + "clang integrated assembler", TC) {} diff --git a/lang/clang32/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h b/lang/clang32/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h new file mode 100644 index 000000000000..3c4b574d3057 --- /dev/null +++ b/lang/clang32/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/clang32/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp b/lang/clang32/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp new file mode 100644 index 000000000000..d4cfefbd9b59 --- /dev/null +++ b/lang/clang32/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp @@ -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. diff --git a/lang/clang32/files/patch-tools_clang_lib_Headers_Makefile b/lang/clang32/files/patch-tools_clang_lib_Headers_Makefile new file mode 100644 index 000000000000..41f497b100cc --- /dev/null +++ b/lang/clang32/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) mm3dnow.h mm_malloc.h) + + OBJHEADERS := $(addprefix $(HeaderDir)/, $(HEADERS)) + diff --git a/lang/clang32/files/patch-tools_clang_lib_Sema_SemaChecking.cpp b/lang/clang32/files/patch-tools_clang_lib_Sema_SemaChecking.cpp new file mode 100644 index 000000000000..215210bed343 --- /dev/null +++ b/lang/clang32/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_printf_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_printf_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/clang32/files/patch-tools_clang_tools_scan-build_scan-build b/lang/clang32/files/patch-tools_clang_tools_scan-build_scan-build new file mode 100644 index 000000000000..291eafdeb2fc --- /dev/null +++ b/lang/clang32/files/patch-tools_clang_tools_scan-build_scan-build @@ -0,0 +1,23 @@ + +$FreeBSD$ + +--- tools/clang/tools/scan-build/scan-build.orig ++++ tools/clang/tools/scan-build/scan-build +@@ -423,7 +423,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); +@@ -433,7 +433,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); diff --git a/lang/clang32/files/patch-utils_llvm-build_llvmbuild_main.py b/lang/clang32/files/patch-utils_llvm-build_llvmbuild_main.py new file mode 100644 index 000000000000..1e2de0273d55 --- /dev/null +++ b/lang/clang32/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/clang32/pkg-descr b/lang/clang32/pkg-descr new file mode 100644 index 000000000000..37b1d8e486d6 --- /dev/null +++ b/lang/clang32/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/clang32/pkg-plist b/lang/clang32/pkg-plist new file mode 100644 index 000000000000..defa0ceaf828 --- /dev/null +++ b/lang/clang32/pkg-plist @@ -0,0 +1,485 @@ +bin/c-index-test32 +bin/clang32 +bin/clang++32 +bin/clang-check32 +bin/clang-cpp32 +bin/clang-tblgen32 +llvm32/bin/c-index-test +llvm32/bin/clang +llvm32/bin/clang++ +llvm32/bin/clang-check +llvm32/bin/clang-cpp +llvm32/bin/clang-tblgen +llvm32/include/clang-c/CXCompilationDatabase.h +llvm32/include/clang-c/CXString.h +llvm32/include/clang-c/Index.h +llvm32/include/clang-c/Platform.h +llvm32/include/clang/ARCMigrate/ARCMT.h +llvm32/include/clang/ARCMigrate/ARCMTActions.h +llvm32/include/clang/ARCMigrate/FileRemapper.h +llvm32/include/clang/AST/APValue.h +llvm32/include/clang/AST/AST.h +llvm32/include/clang/AST/ASTConsumer.h +llvm32/include/clang/AST/ASTContext.h +llvm32/include/clang/AST/ASTDiagnostic.h +llvm32/include/clang/AST/ASTImporter.h +llvm32/include/clang/AST/ASTMutationListener.h +llvm32/include/clang/AST/ASTVector.h +llvm32/include/clang/AST/Attr.h +llvm32/include/clang/AST/AttrImpl.inc +llvm32/include/clang/AST/Attrs.inc +llvm32/include/clang/AST/BaseSubobject.h +llvm32/include/clang/AST/BuiltinTypes.def +llvm32/include/clang/AST/CXXInheritance.h +llvm32/include/clang/AST/CanonicalType.h +llvm32/include/clang/AST/CharUnits.h +llvm32/include/clang/AST/Comment.h +llvm32/include/clang/AST/CommentBriefParser.h +llvm32/include/clang/AST/CommentCommandInfo.inc +llvm32/include/clang/AST/CommentCommandTraits.h +llvm32/include/clang/AST/CommentDiagnostic.h +llvm32/include/clang/AST/CommentHTMLTags.inc +llvm32/include/clang/AST/CommentHTMLTagsProperties.inc +llvm32/include/clang/AST/CommentLexer.h +llvm32/include/clang/AST/CommentNodes.inc +llvm32/include/clang/AST/CommentParser.h +llvm32/include/clang/AST/CommentSema.h +llvm32/include/clang/AST/CommentVisitor.h +llvm32/include/clang/AST/Decl.h +llvm32/include/clang/AST/DeclAccessPair.h +llvm32/include/clang/AST/DeclBase.h +llvm32/include/clang/AST/DeclCXX.h +llvm32/include/clang/AST/DeclContextInternals.h +llvm32/include/clang/AST/DeclFriend.h +llvm32/include/clang/AST/DeclGroup.h +llvm32/include/clang/AST/DeclLookups.h +llvm32/include/clang/AST/DeclNodes.inc +llvm32/include/clang/AST/DeclObjC.h +llvm32/include/clang/AST/DeclTemplate.h +llvm32/include/clang/AST/DeclVisitor.h +llvm32/include/clang/AST/DeclarationName.h +llvm32/include/clang/AST/DependentDiagnostic.h +llvm32/include/clang/AST/EvaluatedExprVisitor.h +llvm32/include/clang/AST/Expr.h +llvm32/include/clang/AST/ExprCXX.h +llvm32/include/clang/AST/ExprObjC.h +llvm32/include/clang/AST/ExternalASTSource.h +llvm32/include/clang/AST/GlobalDecl.h +llvm32/include/clang/AST/LambdaMangleContext.h +llvm32/include/clang/AST/Mangle.h +llvm32/include/clang/AST/NSAPI.h +llvm32/include/clang/AST/NestedNameSpecifier.h +llvm32/include/clang/AST/OperationKinds.h +llvm32/include/clang/AST/ParentMap.h +llvm32/include/clang/AST/PrettyPrinter.h +llvm32/include/clang/AST/RawCommentList.h +llvm32/include/clang/AST/RecordLayout.h +llvm32/include/clang/AST/RecursiveASTVisitor.h +llvm32/include/clang/AST/Redeclarable.h +llvm32/include/clang/AST/SelectorLocationsKind.h +llvm32/include/clang/AST/Stmt.h +llvm32/include/clang/AST/StmtCXX.h +llvm32/include/clang/AST/StmtGraphTraits.h +llvm32/include/clang/AST/StmtIterator.h +llvm32/include/clang/AST/StmtNodes.inc +llvm32/include/clang/AST/StmtObjC.h +llvm32/include/clang/AST/StmtVisitor.h +llvm32/include/clang/AST/TemplateBase.h +llvm32/include/clang/AST/TemplateName.h +llvm32/include/clang/AST/Type.h +llvm32/include/clang/AST/TypeLoc.h +llvm32/include/clang/AST/TypeLocNodes.def +llvm32/include/clang/AST/TypeLocVisitor.h +llvm32/include/clang/AST/TypeNodes.def +llvm32/include/clang/AST/TypeOrdering.h +llvm32/include/clang/AST/TypeVisitor.h +llvm32/include/clang/AST/UnresolvedSet.h +llvm32/include/clang/AST/VTTBuilder.h +llvm32/include/clang/AST/VTableBuilder.h +llvm32/include/clang/ASTMatchers/ASTMatchFinder.h +llvm32/include/clang/ASTMatchers/ASTMatchers.h +llvm32/include/clang/ASTMatchers/ASTMatchersInternal.h +llvm32/include/clang/ASTMatchers/ASTMatchersMacros.h +llvm32/include/clang/ASTMatchers/ASTTypeTraits.h +llvm32/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h +llvm32/include/clang/Analysis/Analyses/Dominators.h +llvm32/include/clang/Analysis/Analyses/FormatString.h +llvm32/include/clang/Analysis/Analyses/LiveVariables.h +llvm32/include/clang/Analysis/Analyses/PostOrderCFGView.h +llvm32/include/clang/Analysis/Analyses/PseudoConstantAnalysis.h +llvm32/include/clang/Analysis/Analyses/ReachableCode.h +llvm32/include/clang/Analysis/Analyses/ThreadSafety.h +llvm32/include/clang/Analysis/Analyses/UninitializedValues.h +llvm32/include/clang/Analysis/AnalysisContext.h +llvm32/include/clang/Analysis/AnalysisDiagnostic.h +llvm32/include/clang/Analysis/CFG.h +llvm32/include/clang/Analysis/CFGStmtMap.h +llvm32/include/clang/Analysis/CallGraph.h +llvm32/include/clang/Analysis/DomainSpecific/CocoaConventions.h +llvm32/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h +llvm32/include/clang/Analysis/FlowSensitive/DataflowSolver.h +llvm32/include/clang/Analysis/FlowSensitive/DataflowValues.h +llvm32/include/clang/Analysis/ProgramPoint.h +llvm32/include/clang/Analysis/Support/BlkExprDeclBitVector.h +llvm32/include/clang/Analysis/Support/BumpVector.h +llvm32/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h +llvm32/include/clang/Analysis/Visitors/CFGRecStmtVisitor.h +llvm32/include/clang/Analysis/Visitors/CFGStmtVisitor.h +llvm32/include/clang/Basic/ABI.h +llvm32/include/clang/Basic/AddressSpaces.h +llvm32/include/clang/Basic/AllDiagnostics.h +llvm32/include/clang/Basic/AttrKinds.h +llvm32/include/clang/Basic/AttrList.inc +llvm32/include/clang/Basic/Builtins.def +llvm32/include/clang/Basic/Builtins.h +llvm32/include/clang/Basic/BuiltinsARM.def +llvm32/include/clang/Basic/BuiltinsHexagon.def +llvm32/include/clang/Basic/BuiltinsMips.def +llvm32/include/clang/Basic/BuiltinsNVPTX.def +llvm32/include/clang/Basic/BuiltinsPPC.def +llvm32/include/clang/Basic/BuiltinsX86.def +llvm32/include/clang/Basic/ConvertUTF.h +llvm32/include/clang/Basic/Diagnostic.h +llvm32/include/clang/Basic/DiagnosticASTKinds.inc +llvm32/include/clang/Basic/DiagnosticAnalysisKinds.inc +llvm32/include/clang/Basic/DiagnosticCategories.h +llvm32/include/clang/Basic/DiagnosticCommentKinds.inc +llvm32/include/clang/Basic/DiagnosticCommonKinds.inc +llvm32/include/clang/Basic/DiagnosticDriverKinds.inc +llvm32/include/clang/Basic/DiagnosticFrontendKinds.inc +llvm32/include/clang/Basic/DiagnosticGroups.inc +llvm32/include/clang/Basic/DiagnosticIDs.h +llvm32/include/clang/Basic/DiagnosticIndexName.inc +llvm32/include/clang/Basic/DiagnosticLexKinds.inc +llvm32/include/clang/Basic/DiagnosticOptions.def +llvm32/include/clang/Basic/DiagnosticOptions.h +llvm32/include/clang/Basic/DiagnosticParseKinds.inc +llvm32/include/clang/Basic/DiagnosticSemaKinds.inc +llvm32/include/clang/Basic/DiagnosticSerializationKinds.inc +llvm32/include/clang/Basic/ExceptionSpecificationType.h +llvm32/include/clang/Basic/ExpressionTraits.h +llvm32/include/clang/Basic/FileManager.h +llvm32/include/clang/Basic/FileSystemOptions.h +llvm32/include/clang/Basic/FileSystemStatCache.h +llvm32/include/clang/Basic/IdentifierTable.h +llvm32/include/clang/Basic/LLVM.h +llvm32/include/clang/Basic/Lambda.h +llvm32/include/clang/Basic/LangOptions.def +llvm32/include/clang/Basic/LangOptions.h +llvm32/include/clang/Basic/Linkage.h +llvm32/include/clang/Basic/MacroBuilder.h +llvm32/include/clang/Basic/Module.h +llvm32/include/clang/Basic/ObjCRuntime.h +llvm32/include/clang/Basic/OnDiskHashTable.h +llvm32/include/clang/Basic/OpenCL.h +llvm32/include/clang/Basic/OpenCLExtensions.def +llvm32/include/clang/Basic/OperatorKinds.def +llvm32/include/clang/Basic/OperatorKinds.h +llvm32/include/clang/Basic/PartialDiagnostic.h +llvm32/include/clang/Basic/PrettyStackTrace.h +llvm32/include/clang/Basic/Sanitizers.def +llvm32/include/clang/Basic/SourceLocation.h +llvm32/include/clang/Basic/SourceManager.h +llvm32/include/clang/Basic/SourceManagerInternals.h +llvm32/include/clang/Basic/Specifiers.h +llvm32/include/clang/Basic/TargetBuiltins.h +llvm32/include/clang/Basic/TargetInfo.h +llvm32/include/clang/Basic/TargetOptions.h +llvm32/include/clang/Basic/TemplateKinds.h +llvm32/include/clang/Basic/TokenKinds.def +llvm32/include/clang/Basic/TokenKinds.h +llvm32/include/clang/Basic/TypeTraits.h +llvm32/include/clang/Basic/Version.h +llvm32/include/clang/Basic/Version.inc +llvm32/include/clang/Basic/VersionTuple.h +llvm32/include/clang/Basic/Visibility.h +llvm32/include/clang/Basic/arm_neon.inc +llvm32/include/clang/CodeGen/BackendUtil.h +llvm32/include/clang/CodeGen/CodeGenAction.h +llvm32/include/clang/CodeGen/ModuleBuilder.h +llvm32/include/clang/Config/config.h +llvm32/include/clang/Driver/Action.h +llvm32/include/clang/Driver/Arg.h +llvm32/include/clang/Driver/ArgList.h +llvm32/include/clang/Driver/CC1AsOptions.h +llvm32/include/clang/Driver/CC1AsOptions.inc +llvm32/include/clang/Driver/CC1Options.h +llvm32/include/clang/Driver/Compilation.h +llvm32/include/clang/Driver/Driver.h +llvm32/include/clang/Driver/DriverDiagnostic.h +llvm32/include/clang/Driver/Job.h +llvm32/include/clang/Driver/OptSpecifier.h +llvm32/include/clang/Driver/OptTable.h +llvm32/include/clang/Driver/Option.h +llvm32/include/clang/Driver/Options.h +llvm32/include/clang/Driver/Options.inc +llvm32/include/clang/Driver/Phases.h +llvm32/include/clang/Driver/Tool.h +llvm32/include/clang/Driver/ToolChain.h +llvm32/include/clang/Driver/Types.def +llvm32/include/clang/Driver/Types.h +llvm32/include/clang/Driver/Util.h +llvm32/include/clang/Edit/Commit.h +llvm32/include/clang/Edit/EditedSource.h +llvm32/include/clang/Edit/EditsReceiver.h +llvm32/include/clang/Edit/FileOffset.h +llvm32/include/clang/Edit/Rewriters.h +llvm32/include/clang/Frontend/ASTConsumers.h +llvm32/include/clang/Frontend/ASTUnit.h +llvm32/include/clang/Frontend/ChainedDiagnosticConsumer.h +llvm32/include/clang/Frontend/ChainedIncludesSource.h +llvm32/include/clang/Frontend/CodeGenOptions.def +llvm32/include/clang/Frontend/CodeGenOptions.h +llvm32/include/clang/Frontend/CommandLineSourceLoc.h +llvm32/include/clang/Frontend/CompilerInstance.h +llvm32/include/clang/Frontend/CompilerInvocation.h +llvm32/include/clang/Frontend/DependencyOutputOptions.h +llvm32/include/clang/Frontend/DiagnosticRenderer.h +llvm32/include/clang/Frontend/FrontendAction.h +llvm32/include/clang/Frontend/FrontendActions.h +llvm32/include/clang/Frontend/FrontendDiagnostic.h +llvm32/include/clang/Frontend/FrontendOptions.h +llvm32/include/clang/Frontend/FrontendPluginRegistry.h +llvm32/include/clang/Frontend/LangStandard.h +llvm32/include/clang/Frontend/LangStandards.def +llvm32/include/clang/Frontend/LayoutOverrideSource.h +llvm32/include/clang/Frontend/LogDiagnosticPrinter.h +llvm32/include/clang/Frontend/MigratorOptions.h +llvm32/include/clang/Frontend/MultiplexConsumer.h +llvm32/include/clang/Frontend/PreprocessorOutputOptions.h +llvm32/include/clang/Frontend/SerializedDiagnosticPrinter.h +llvm32/include/clang/Frontend/TextDiagnostic.h +llvm32/include/clang/Frontend/TextDiagnosticBuffer.h +llvm32/include/clang/Frontend/TextDiagnosticPrinter.h +llvm32/include/clang/Frontend/Utils.h +llvm32/include/clang/Frontend/VerifyDiagnosticConsumer.h +llvm32/include/clang/FrontendTool/Utils.h +llvm32/include/clang/Lex/AttrSpellings.inc +llvm32/include/clang/Lex/CodeCompletionHandler.h +llvm32/include/clang/Lex/DirectoryLookup.h +llvm32/include/clang/Lex/ExternalPreprocessorSource.h +llvm32/include/clang/Lex/HeaderMap.h +llvm32/include/clang/Lex/HeaderSearch.h +llvm32/include/clang/Lex/HeaderSearchOptions.h +llvm32/include/clang/Lex/LexDiagnostic.h +llvm32/include/clang/Lex/Lexer.h +llvm32/include/clang/Lex/LiteralSupport.h +llvm32/include/clang/Lex/MacroInfo.h +llvm32/include/clang/Lex/ModuleLoader.h +llvm32/include/clang/Lex/ModuleMap.h +llvm32/include/clang/Lex/MultipleIncludeOpt.h +llvm32/include/clang/Lex/PPCallbacks.h +llvm32/include/clang/Lex/PPMutationListener.h +llvm32/include/clang/Lex/PTHLexer.h +llvm32/include/clang/Lex/PTHManager.h +llvm32/include/clang/Lex/Pragma.h +llvm32/include/clang/Lex/PreprocessingRecord.h +llvm32/include/clang/Lex/Preprocessor.h +llvm32/include/clang/Lex/PreprocessorLexer.h +llvm32/include/clang/Lex/PreprocessorOptions.h +llvm32/include/clang/Lex/ScratchBuffer.h +llvm32/include/clang/Lex/Token.h +llvm32/include/clang/Lex/TokenConcatenation.h +llvm32/include/clang/Lex/TokenLexer.h +llvm32/include/clang/Parse/AttrLateParsed.inc +llvm32/include/clang/Parse/ParseAST.h +llvm32/include/clang/Parse/ParseDiagnostic.h +llvm32/include/clang/Parse/Parser.h +llvm32/include/clang/Rewrite/Core/DeltaTree.h +llvm32/include/clang/Rewrite/Core/HTMLRewrite.h +llvm32/include/clang/Rewrite/Core/RewriteRope.h +llvm32/include/clang/Rewrite/Core/Rewriter.h +llvm32/include/clang/Rewrite/Core/TokenRewriter.h +llvm32/include/clang/Rewrite/Frontend/ASTConsumers.h +llvm32/include/clang/Rewrite/Frontend/FixItRewriter.h +llvm32/include/clang/Rewrite/Frontend/FrontendActions.h +llvm32/include/clang/Rewrite/Frontend/Rewriters.h +llvm32/include/clang/Sema/AnalysisBasedWarnings.h +llvm32/include/clang/Sema/AttrParsedAttrKinds.inc +llvm32/include/clang/Sema/AttrParsedAttrList.inc +llvm32/include/clang/Sema/AttrTemplateInstantiate.inc +llvm32/include/clang/Sema/AttributeList.h +llvm32/include/clang/Sema/CXXFieldCollector.h +llvm32/include/clang/Sema/CodeCompleteConsumer.h +llvm32/include/clang/Sema/CodeCompleteOptions.h +llvm32/include/clang/Sema/DeclSpec.h +llvm32/include/clang/Sema/DelayedDiagnostic.h +llvm32/include/clang/Sema/Designator.h +llvm32/include/clang/Sema/ExternalSemaSource.h +llvm32/include/clang/Sema/IdentifierResolver.h +llvm32/include/clang/Sema/Initialization.h +llvm32/include/clang/Sema/LocInfoType.h +llvm32/include/clang/Sema/Lookup.h +llvm32/include/clang/Sema/MultiplexExternalSemaSource.h +llvm32/include/clang/Sema/ObjCMethodList.h +llvm32/include/clang/Sema/Overload.h +llvm32/include/clang/Sema/Ownership.h +llvm32/include/clang/Sema/ParsedTemplate.h +llvm32/include/clang/Sema/PrettyDeclStackTrace.h +llvm32/include/clang/Sema/Scope.h +llvm32/include/clang/Sema/ScopeInfo.h +llvm32/include/clang/Sema/Sema.h +llvm32/include/clang/Sema/SemaConsumer.h +llvm32/include/clang/Sema/SemaDiagnostic.h +llvm32/include/clang/Sema/SemaFixItUtils.h +llvm32/include/clang/Sema/SemaInternal.h +llvm32/include/clang/Sema/Template.h +llvm32/include/clang/Sema/TemplateDeduction.h +llvm32/include/clang/Sema/TypoCorrection.h +llvm32/include/clang/Sema/Weak.h +llvm32/include/clang/Serialization/ASTBitCodes.h +llvm32/include/clang/Serialization/ASTDeserializationListener.h +llvm32/include/clang/Serialization/ASTReader.h +llvm32/include/clang/Serialization/ASTWriter.h +llvm32/include/clang/Serialization/AttrPCHRead.inc +llvm32/include/clang/Serialization/AttrPCHWrite.inc +llvm32/include/clang/Serialization/ContinuousRangeMap.h +llvm32/include/clang/Serialization/Module.h +llvm32/include/clang/Serialization/ModuleManager.h +llvm32/include/clang/Serialization/SerializationDiagnostic.h +llvm32/include/clang/StaticAnalyzer/Checkers/ClangCheckers.h +llvm32/include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h +llvm32/include/clang/StaticAnalyzer/Checkers/LocalCheckers.h +llvm32/include/clang/StaticAnalyzer/Core/Analyses.def +llvm32/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h +llvm32/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h +llvm32/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h +llvm32/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h +llvm32/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h +llvm32/include/clang/StaticAnalyzer/Core/Checker.h +llvm32/include/clang/StaticAnalyzer/Core/CheckerManager.h +llvm32/include/clang/StaticAnalyzer/Core/CheckerOptInfo.h +llvm32/include/clang/StaticAnalyzer/Core/CheckerRegistry.h +llvm32/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h +llvm32/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h +llvm32/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h +llvm32/include/clang/StaticAnalyzer/Frontend/FrontendActions.h +llvm32/include/clang/Tooling/ArgumentsAdjusters.h +llvm32/include/clang/Tooling/CommonOptionsParser.h +llvm32/include/clang/Tooling/CompilationDatabase.h +llvm32/include/clang/Tooling/CompilationDatabasePluginRegistry.h +llvm32/include/clang/Tooling/FileMatchTrie.h +llvm32/include/clang/Tooling/JSONCompilationDatabase.h +llvm32/include/clang/Tooling/Refactoring.h +llvm32/include/clang/Tooling/RefactoringCallbacks.h +llvm32/include/clang/Tooling/Tooling.h +llvm32/lib/clang/3.2/include/__wmmintrin_aes.h +llvm32/lib/clang/3.2/include/__wmmintrin_pclmul.h +llvm32/lib/clang/3.2/include/ammintrin.h +llvm32/lib/clang/3.2/include/arm_neon.h +llvm32/lib/clang/3.2/include/avx2intrin.h +llvm32/lib/clang/3.2/include/avxintrin.h +llvm32/lib/clang/3.2/include/bmi2intrin.h +llvm32/lib/clang/3.2/include/bmiintrin.h +llvm32/lib/clang/3.2/include/emmintrin.h +llvm32/lib/clang/3.2/include/f16cintrin.h +llvm32/lib/clang/3.2/include/fma4intrin.h +llvm32/lib/clang/3.2/include/fmaintrin.h +llvm32/lib/clang/3.2/include/immintrin.h +llvm32/lib/clang/3.2/include/lzcntintrin.h +llvm32/lib/clang/3.2/include/mm3dnow.h +llvm32/lib/clang/3.2/include/mm_malloc.h +llvm32/lib/clang/3.2/include/mmintrin.h +llvm32/lib/clang/3.2/include/module.map +llvm32/lib/clang/3.2/include/nmmintrin.h +llvm32/lib/clang/3.2/include/pmmintrin.h +llvm32/lib/clang/3.2/include/popcntintrin.h +llvm32/lib/clang/3.2/include/rtmintrin.h +llvm32/lib/clang/3.2/include/smmintrin.h +llvm32/lib/clang/3.2/include/tmmintrin.h +llvm32/lib/clang/3.2/include/wmmintrin.h +llvm32/lib/clang/3.2/include/x86intrin.h +llvm32/lib/clang/3.2/include/xmmintrin.h +llvm32/lib/clang/3.2/include/xopintrin.h +llvm32/lib/libclang.a +llvm32/lib/libclang.so +llvm32/lib/libclangARCMigrate.a +llvm32/lib/libclangAST.a +llvm32/lib/libclangASTMatchers.a +llvm32/lib/libclangAnalysis.a +llvm32/lib/libclangBasic.a +llvm32/lib/libclangCodeGen.a +llvm32/lib/libclangDriver.a +llvm32/lib/libclangEdit.a +llvm32/lib/libclangFrontend.a +llvm32/lib/libclangFrontendTool.a +llvm32/lib/libclangLex.a +llvm32/lib/libclangParse.a +llvm32/lib/libclangRewriteCore.a +llvm32/lib/libclangRewriteFrontend.a +llvm32/lib/libclangSema.a +llvm32/lib/libclangSerialization.a +llvm32/lib/libclangStaticAnalyzerCheckers.a +llvm32/lib/libclangStaticAnalyzerCore.a +llvm32/lib/libclangStaticAnalyzerFrontend.a +llvm32/lib/libclangTooling.a +man/man1/clang32.1.gz +%%PORTDOCS%%%%DOCSDIR%%/html/clang/clang.html +%%PORTDOCS%%%%DOCSDIR%%/html/clang/manpage.css +%%PORTDOCS%%%%DOCSDIR%%/ps/clang.ps +@dirrm llvm32/lib/clang/3.2/include +@dirrm llvm32/lib/clang/3.2 +@dirrm llvm32/lib/clang +@dirrm llvm32/include/clang/Tooling +@dirrm llvm32/include/clang/StaticAnalyzer/Frontend +@dirrm llvm32/include/clang/StaticAnalyzer/Core/PathSensitive +@dirrm llvm32/include/clang/StaticAnalyzer/Core/BugReporter +@dirrm llvm32/include/clang/StaticAnalyzer/Core +@dirrm llvm32/include/clang/StaticAnalyzer/Checkers +@dirrm llvm32/include/clang/StaticAnalyzer +@dirrm llvm32/include/clang/Serialization +@dirrm llvm32/include/clang/Sema +@dirrm llvm32/include/clang/Rewrite/Frontend +@dirrm llvm32/include/clang/Rewrite/Core +@dirrm llvm32/include/clang/Rewrite +@dirrm llvm32/include/clang/Parse +@dirrm llvm32/include/clang/Lex +@dirrm llvm32/include/clang/FrontendTool +@dirrm llvm32/include/clang/Frontend +@dirrm llvm32/include/clang/Edit +@dirrm llvm32/include/clang/Driver +@dirrm llvm32/include/clang/Config +@dirrm llvm32/include/clang/CodeGen +@dirrm llvm32/include/clang/Basic +@dirrm llvm32/include/clang/Analysis/Visitors +@dirrm llvm32/include/clang/Analysis/Support +@dirrm llvm32/include/clang/Analysis/FlowSensitive +@dirrm llvm32/include/clang/Analysis/DomainSpecific +@dirrm llvm32/include/clang/Analysis/Analyses +@dirrm llvm32/include/clang/Analysis +@dirrm llvm32/include/clang/ASTMatchers +@dirrm llvm32/include/clang/AST +@dirrm llvm32/include/clang/ARCMigrate +@dirrm llvm32/include/clang-c +@dirrm llvm32/include/clang +%%PORTDOCS%%@dirrm %%DOCSDIR%%/ps +%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/clang +%%PORTDOCS%%@dirrm %%DOCSDIR%%/html +%%PORTDOCS%%@dirrm %%DOCSDIR%% |