summaryrefslogtreecommitdiffstats
path: root/lib/clang
diff options
context:
space:
mode:
Diffstat (limited to 'lib/clang')
-rw-r--r--lib/clang/Makefile97
-rw-r--r--lib/clang/clang.build.mk198
-rw-r--r--lib/clang/clang.lib.mk9
-rw-r--r--lib/clang/include/ARMGenAsmMatcher.inc2
-rw-r--r--lib/clang/include/ARMGenAsmWriter.inc2
-rw-r--r--lib/clang/include/ARMGenCallingConv.inc2
-rw-r--r--lib/clang/include/ARMGenCodeEmitter.inc2
-rw-r--r--lib/clang/include/ARMGenDAGISel.inc2
-rw-r--r--lib/clang/include/ARMGenDisassemblerTables.inc2
-rw-r--r--lib/clang/include/ARMGenFastISel.inc2
-rw-r--r--lib/clang/include/ARMGenInstrInfo.inc2
-rw-r--r--lib/clang/include/ARMGenMCCodeEmitter.inc2
-rw-r--r--lib/clang/include/ARMGenMCPseudoLowering.inc2
-rw-r--r--lib/clang/include/ARMGenRegisterInfo.inc2
-rw-r--r--lib/clang/include/ARMGenSubtargetInfo.inc2
-rw-r--r--lib/clang/include/Checkers.inc2
-rw-r--r--lib/clang/include/IA64GenAsmWriter.inc2
-rw-r--r--lib/clang/include/IA64GenDAGISel.inc2
-rw-r--r--lib/clang/include/IA64GenInstrInfo.inc2
-rw-r--r--lib/clang/include/IA64GenRegisterInfo.inc2
-rw-r--r--lib/clang/include/Makefile39
-rw-r--r--lib/clang/include/MipsGenAsmMatcher.inc2
-rw-r--r--lib/clang/include/MipsGenAsmWriter.inc2
-rw-r--r--lib/clang/include/MipsGenCallingConv.inc2
-rw-r--r--lib/clang/include/MipsGenCodeEmitter.inc2
-rw-r--r--lib/clang/include/MipsGenDAGISel.inc2
-rw-r--r--lib/clang/include/MipsGenDisassemblerTables.inc2
-rw-r--r--lib/clang/include/MipsGenInstrInfo.inc2
-rw-r--r--lib/clang/include/MipsGenMCCodeEmitter.inc2
-rw-r--r--lib/clang/include/MipsGenMCPseudoLowering.inc2
-rw-r--r--lib/clang/include/MipsGenRegisterInfo.inc2
-rw-r--r--lib/clang/include/MipsGenSubtargetInfo.inc2
-rw-r--r--lib/clang/include/PPCGenAsmWriter.inc2
-rw-r--r--lib/clang/include/PPCGenCallingConv.inc2
-rw-r--r--lib/clang/include/PPCGenCodeEmitter.inc2
-rw-r--r--lib/clang/include/PPCGenDAGISel.inc2
-rw-r--r--lib/clang/include/PPCGenInstrInfo.inc2
-rw-r--r--lib/clang/include/PPCGenMCCodeEmitter.inc2
-rw-r--r--lib/clang/include/PPCGenRegisterInfo.inc2
-rw-r--r--lib/clang/include/PPCGenSubtargetInfo.inc2
-rw-r--r--lib/clang/include/X86GenAsmMatcher.inc2
-rw-r--r--lib/clang/include/X86GenAsmWriter.inc2
-rw-r--r--lib/clang/include/X86GenAsmWriter1.inc2
-rw-r--r--lib/clang/include/X86GenCallingConv.inc2
-rw-r--r--lib/clang/include/X86GenDAGISel.inc2
-rw-r--r--lib/clang/include/X86GenDisassemblerTables.inc2
-rw-r--r--lib/clang/include/X86GenFastISel.inc2
-rw-r--r--lib/clang/include/X86GenInstrInfo.inc2
-rw-r--r--lib/clang/include/X86GenRegisterInfo.inc2
-rw-r--r--lib/clang/include/X86GenSubtargetInfo.inc2
-rw-r--r--lib/clang/include/clang/AST/AttrDump.inc2
-rw-r--r--lib/clang/include/clang/AST/AttrImpl.inc2
-rw-r--r--lib/clang/include/clang/AST/Attrs.inc2
-rw-r--r--lib/clang/include/clang/AST/CommentCommandInfo.inc2
-rw-r--r--lib/clang/include/clang/AST/CommentCommandList.inc2
-rw-r--r--lib/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.inc2
-rw-r--r--lib/clang/include/clang/AST/CommentHTMLTags.inc2
-rw-r--r--lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc2
-rw-r--r--lib/clang/include/clang/AST/CommentNodes.inc2
-rw-r--r--lib/clang/include/clang/AST/DeclNodes.inc2
-rw-r--r--lib/clang/include/clang/AST/StmtNodes.inc2
-rw-r--r--lib/clang/include/clang/Basic/AttrList.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticASTKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticAnalysisKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticCommentKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticCommonKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticDriverKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticFrontendKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticGroups.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticIndexName.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticLexKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticParseKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticSemaKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/DiagnosticSerializationKinds.inc2
-rw-r--r--lib/clang/include/clang/Basic/Version.inc10
-rw-r--r--lib/clang/include/clang/Basic/arm_neon.inc2
-rw-r--r--lib/clang/include/clang/Config/config.h26
-rw-r--r--lib/clang/include/clang/Driver/CC1AsOptions.inc2
-rw-r--r--lib/clang/include/clang/Driver/Options.inc2
-rw-r--r--lib/clang/include/clang/Lex/AttrSpellings.inc2
-rw-r--r--lib/clang/include/clang/Parse/AttrExprArgs.inc2
-rw-r--r--lib/clang/include/clang/Parse/AttrLateParsed.inc2
-rw-r--r--lib/clang/include/clang/Sema/AttrParsedAttrKinds.inc2
-rw-r--r--lib/clang/include/clang/Sema/AttrParsedAttrList.inc2
-rw-r--r--lib/clang/include/clang/Sema/AttrSpellingListIndex.inc2
-rw-r--r--lib/clang/include/clang/Sema/AttrTemplateInstantiate.inc2
-rw-r--r--lib/clang/include/clang/Serialization/AttrPCHRead.inc2
-rw-r--r--lib/clang/include/clang/Serialization/AttrPCHWrite.inc2
-rw-r--r--lib/clang/include/llvm/Config/AsmParsers.def7
-rw-r--r--lib/clang/include/llvm/Config/AsmPrinters.def8
-rw-r--r--lib/clang/include/llvm/Config/Disassemblers.def7
-rw-r--r--lib/clang/include/llvm/Config/Targets.def8
-rw-r--r--lib/clang/include/llvm/Config/config.h759
-rw-r--r--lib/clang/include/llvm/Config/llvm-config.h129
-rw-r--r--lib/clang/include/llvm/IR/Intrinsics.gen2
-rw-r--r--lib/clang/include/llvm/Support/DataTypes.h113
-rw-r--r--lib/clang/libclanganalysis/Makefile37
-rw-r--r--lib/clang/libclangarcmigrate/Makefile40
-rw-r--r--lib/clang/libclangast/Makefile82
-rw-r--r--lib/clang/libclangbasic/Makefile42
-rw-r--r--lib/clang/libclangcodegen/Makefile60
-rw-r--r--lib/clang/libclangdriver/Makefile31
-rw-r--r--lib/clang/libclangedit/Makefile20
-rw-r--r--lib/clang/libclangfrontend/Makefile53
-rw-r--r--lib/clang/libclangfrontendtool/Makefile14
-rw-r--r--lib/clang/libclanglex/Makefile35
-rw-r--r--lib/clang/libclangparse/Makefile36
-rw-r--r--lib/clang/libclangrewritecore/Makefile20
-rw-r--r--lib/clang/libclangrewritefrontend/Makefile26
-rw-r--r--lib/clang/libclangsema/Makefile71
-rw-r--r--lib/clang/libclangserialization/Makefile34
-rw-r--r--lib/clang/libclangstaticanalyzercheckers/Makefile85
-rw-r--r--lib/clang/libclangstaticanalyzercore/Makefile55
-rw-r--r--lib/clang/libclangstaticanalyzerfrontend/Makefile22
-rw-r--r--lib/clang/libllvmanalysis/Makefile73
-rw-r--r--lib/clang/libllvmarchive/Makefile12
-rw-r--r--lib/clang/libllvmarmasmparser/Makefile16
-rw-r--r--lib/clang/libllvmarmcodegen/Makefile53
-rw-r--r--lib/clang/libllvmarmdesc/Makefile24
-rw-r--r--lib/clang/libllvmarmdisassembler/Makefile16
-rw-r--r--lib/clang/libllvmarminfo/Makefile15
-rw-r--r--lib/clang/libllvmarminstprinter/Makefile16
-rw-r--r--lib/clang/libllvmasmparser/Makefile12
-rw-r--r--lib/clang/libllvmasmprinter/Makefile24
-rw-r--r--lib/clang/libllvmbitreader/Makefile14
-rw-r--r--lib/clang/libllvmbitwriter/Makefile13
-rw-r--r--lib/clang/libllvmcodegen/Makefile121
-rw-r--r--lib/clang/libllvmcore/Makefile49
-rw-r--r--lib/clang/libllvmdebuginfo/Makefile21
-rw-r--r--lib/clang/libllvmexecutionengine/Makefile12
-rw-r--r--lib/clang/libllvminstcombine/Makefile24
-rw-r--r--lib/clang/libllvminstrumentation/Makefile22
-rw-r--r--lib/clang/libllvminterpreter/Makefile14
-rw-r--r--lib/clang/libllvmipa/Makefile21
-rw-r--r--lib/clang/libllvmipo/Makefile35
-rw-r--r--lib/clang/libllvmirreader/Makefile10
-rw-r--r--lib/clang/libllvmjit/Makefile13
-rw-r--r--lib/clang/libllvmlinker/Makefile10
-rw-r--r--lib/clang/libllvmmc/Makefile55
-rw-r--r--lib/clang/libllvmmcdisassembler/Makefile10
-rw-r--r--lib/clang/libllvmmcjit/Makefile11
-rw-r--r--lib/clang/libllvmmcparser/Makefile18
-rw-r--r--lib/clang/libllvmmipsasmparser/Makefile16
-rw-r--r--lib/clang/libllvmmipscodegen/Makefile49
-rw-r--r--lib/clang/libllvmmipsdesc/Makefile23
-rw-r--r--lib/clang/libllvmmipsdisassembler/Makefile16
-rw-r--r--lib/clang/libllvmmipsinfo/Makefile15
-rw-r--r--lib/clang/libllvmmipsinstprinter/Makefile16
-rw-r--r--lib/clang/libllvmobjcarcopts/Makefile20
-rw-r--r--lib/clang/libllvmobject/Makefile17
-rw-r--r--lib/clang/libllvmpowerpccodegen/Makefile35
-rw-r--r--lib/clang/libllvmpowerpcdesc/Makefile21
-rw-r--r--lib/clang/libllvmpowerpcinfo/Makefile15
-rw-r--r--lib/clang/libllvmpowerpcinstprinter/Makefile16
-rw-r--r--lib/clang/libllvmruntimedyld/Makefile13
-rw-r--r--lib/clang/libllvmscalaropts/Makefile50
-rw-r--r--lib/clang/libllvmselectiondag/Makefile34
-rw-r--r--lib/clang/libllvmsupport/Makefile101
-rw-r--r--lib/clang/libllvmtablegen/Makefile16
-rw-r--r--lib/clang/libllvmtarget/Makefile18
-rw-r--r--lib/clang/libllvmtransformutils/Makefile46
-rw-r--r--lib/clang/libllvmvectorize/Makefile16
-rw-r--r--lib/clang/libllvmx86asmparser/Makefile16
-rw-r--r--lib/clang/libllvmx86codegen/Makefile38
-rw-r--r--lib/clang/libllvmx86desc/Makefile21
-rw-r--r--lib/clang/libllvmx86disassembler/Makefile19
-rw-r--r--lib/clang/libllvmx86info/Makefile15
-rw-r--r--lib/clang/libllvmx86instprinter/Makefile19
-rw-r--r--lib/clang/libllvmx86utils/Makefile11
169 files changed, 3765 insertions, 0 deletions
diff --git a/lib/clang/Makefile b/lib/clang/Makefile
new file mode 100644
index 0000000..6bc9552
--- /dev/null
+++ b/lib/clang/Makefile
@@ -0,0 +1,97 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+.if !make(install)
+.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no"
+_libclangstaticanalyzer= \
+ libclangstaticanalyzercheckers \
+ libclangstaticanalyzercore \
+ libclangstaticanalyzerfrontend
+_libclangarcmigrate= \
+ libclangarcmigrate
+_libclangrewriter= \
+ libclangrewritecore \
+ libclangrewritefrontend
+.endif # !EARLY_BUILD && MK_CLANG_FULL
+
+SUBDIR= libclanganalysis \
+ ${_libclangarcmigrate} \
+ libclangast \
+ libclangbasic \
+ libclangcodegen \
+ libclangdriver \
+ libclangedit \
+ libclangfrontend \
+ libclangfrontendtool \
+ libclanglex \
+ libclangparse \
+ ${_libclangrewriter} \
+ libclangsema \
+ libclangserialization \
+ ${_libclangstaticanalyzer} \
+ \
+ libllvmanalysis \
+ libllvmarchive \
+ libllvmasmparser \
+ libllvmasmprinter \
+ libllvmbitreader \
+ libllvmbitwriter \
+ libllvmcodegen \
+ libllvmcore \
+ libllvminstcombine \
+ libllvminstrumentation \
+ libllvmipa \
+ libllvmipo \
+ libllvmirreader \
+ libllvmlinker \
+ libllvmmc \
+ libllvmmcparser \
+ libllvmobjcarcopts \
+ libllvmobject \
+ libllvmscalaropts \
+ libllvmselectiondag \
+ libllvmsupport \
+ libllvmtablegen \
+ libllvmtarget \
+ libllvmtransformutils \
+ libllvmvectorize \
+ \
+ libllvmarmasmparser \
+ libllvmarmcodegen \
+ libllvmarmdesc \
+ libllvmarmdisassembler \
+ libllvmarminfo \
+ libllvmarminstprinter \
+ libllvmmipsasmparser \
+ libllvmmipscodegen \
+ libllvmmipsdesc \
+ libllvmmipsdisassembler \
+ libllvmmipsinfo \
+ libllvmmipsinstprinter \
+ libllvmpowerpccodegen \
+ libllvmpowerpcdesc \
+ libllvmpowerpcinfo \
+ libllvmpowerpcinstprinter \
+ libllvmx86asmparser \
+ libllvmx86codegen \
+ libllvmx86desc \
+ libllvmx86disassembler \
+ libllvmx86info \
+ libllvmx86instprinter \
+ libllvmx86utils
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SUBDIR+=libllvmdebuginfo \
+ libllvmexecutionengine \
+ libllvminterpreter \
+ libllvmjit \
+ libllvmmcdisassembler \
+ libllvmmcjit \
+ libllvmruntimedyld
+.endif # MK_CLANG_EXTRAS
+.endif # !make(install)
+
+SUBDIR+= include
+
+.include <bsd.subdir.mk>
diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk
new file mode 100644
index 0000000..2cf1e5b
--- /dev/null
+++ b/lib/clang/clang.build.mk
@@ -0,0 +1,198 @@
+# $FreeBSD$
+
+CLANG_SRCS= ${LLVM_SRCS}/tools/clang
+
+CFLAGS+= -I${LLVM_SRCS}/include -I${CLANG_SRCS}/include \
+ -I${LLVM_SRCS}/${SRCDIR} ${INCDIR:C/^/-I${LLVM_SRCS}\//} -I. \
+ -I${LLVM_SRCS}/../../lib/clang/include \
+ -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \
+ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG
+
+.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no"
+CFLAGS+= -DCLANG_ENABLE_ARCMT \
+ -DCLANG_ENABLE_REWRITER \
+ -DCLANG_ENABLE_STATIC_ANALYZER
+.endif # !EARLY_BUILD && MK_CLANG_FULL
+
+# LLVM is not strict aliasing safe as of 12/31/2011
+CFLAGS+= -fno-strict-aliasing
+
+TARGET_ARCH?= ${MACHINE_ARCH}
+BUILD_ARCH?= ${MACHINE_ARCH}
+
+.if (${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "armv6") && \
+ ${MK_ARM_EABI} != "no"
+TARGET_ABI= gnueabi
+.else
+TARGET_ABI= unknown
+.endif
+
+TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd10.0
+BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/}-unknown-freebsd10.0
+CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \
+ -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \
+ -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\"
+CXXFLAGS+= -fno-exceptions -fno-rtti
+
+.PATH: ${LLVM_SRCS}/${SRCDIR}
+
+TBLGEN?= tblgen
+CLANG_TBLGEN?= clang-tblgen
+
+Intrinsics.inc.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsARM.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsHexagon.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsMips.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsNVVM.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsPowerPC.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsR600.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsX86.td \
+ ${LLVM_SRCS}/include/llvm/IR/IntrinsicsXCore.td
+ ${TBLGEN} -I ${LLVM_SRCS}/include \
+ -gen-intrinsic -o ${.TARGET} \
+ ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
+.for arch in \
+ ARM/ARM Mips/Mips PowerPC/PPC X86/X86
+. for hdr in \
+ AsmMatcher/-gen-asm-matcher \
+ AsmWriter1/-gen-asm-writer,-asmwriternum=1 \
+ AsmWriter/-gen-asm-writer \
+ CallingConv/-gen-callingconv \
+ CodeEmitter/-gen-emitter \
+ DAGISel/-gen-dag-isel \
+ DisassemblerTables/-gen-disassembler \
+ FastISel/-gen-fast-isel \
+ InstrInfo/-gen-instr-info \
+ MCCodeEmitter/-gen-emitter,-mc-emitter \
+ MCPseudoLowering/-gen-pseudo-lowering \
+ RegisterInfo/-gen-register-info \
+ SubtargetInfo/-gen-subtarget
+${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td
+ ${TBLGEN} -I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target/${arch:H} \
+ ${hdr:T:C/,/ /g} -o ${.TARGET} \
+ ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td
+. endfor
+.endfor
+
+Attrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-classes -o ${.TARGET} ${.ALLSRC}
+
+AttrDump.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-dump -o ${.TARGET} ${.ALLSRC}
+
+AttrExprArgs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-expr-args-list -o ${.TARGET} ${.ALLSRC}
+
+AttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-impl -o ${.TARGET} ${.ALLSRC}
+AttrLateParsed.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-late-parsed-list -o ${.TARGET} ${.ALLSRC}
+
+AttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-list -o ${.TARGET} ${.ALLSRC}
+
+AttrParsedAttrKinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-parsed-attr-kinds -o ${.TARGET} ${.ALLSRC}
+
+AttrParsedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-parsed-attr-list -o ${.TARGET} ${.ALLSRC}
+
+AttrPCHRead.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-pch-read -o ${.TARGET} ${.ALLSRC}
+
+AttrPCHWrite.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-pch-write -o ${.TARGET} ${.ALLSRC}
+
+AttrSpellings.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-spelling-list -o ${.TARGET} ${.ALLSRC}
+
+AttrSpellingListIndex.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-spelling-index -o ${.TARGET} ${.ALLSRC}
+
+AttrTemplateInstantiate.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-attr-template-instantiate -o ${.TARGET} ${.ALLSRC}
+
+CommentCommandInfo.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-comment-command-info -o ${.TARGET} ${.ALLSRC}
+
+CommentCommandList.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-comment-command-list -o ${.TARGET} ${.ALLSRC}
+
+CommentHTMLNamedCharacterReferences.inc.h: \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-comment-html-named-character-references -o ${.TARGET} \
+ ${.ALLSRC}
+
+CommentHTMLTags.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-comment-html-tags -o ${.TARGET} ${.ALLSRC}
+
+CommentHTMLTagsProperties.inc.h: \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-comment-html-tags-properties -o ${.TARGET} ${.ALLSRC}
+
+CommentNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-comment-nodes -o ${.TARGET} ${.ALLSRC}
+
+DeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-decl-nodes -o ${.TARGET} ${.ALLSRC}
+
+StmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td
+ ${CLANG_TBLGEN} \
+ -gen-clang-stmt-nodes -o ${.TARGET} ${.ALLSRC}
+
+arm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
+ ${CLANG_TBLGEN} \
+ -gen-arm-neon-sema -o ${.TARGET} ${.ALLSRC}
+
+DiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic \
+ -gen-clang-diag-groups -o ${.TARGET} ${.ALLSRC}
+
+DiagnosticIndexName.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic \
+ -gen-clang-diags-index-name -o ${.TARGET} ${.ALLSRC}
+
+.for hdr in AST Analysis Comment Common Driver Frontend Lex Parse Sema Serialization
+Diagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Basic \
+ -gen-clang-diags-defs -clang-component=${hdr} -o ${.TARGET} \
+ ${.ALLSRC}
+.endfor
+
+Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Driver \
+ -gen-opt-parser-defs -o ${.TARGET} ${.ALLSRC}
+
+CC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include/clang/Driver \
+ -gen-opt-parser-defs -o ${.TARGET} ${.ALLSRC}
+
+Checkers.inc.h: ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td \
+ ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/CheckerBase.td
+ ${CLANG_TBLGEN} -I ${CLANG_SRCS}/include \
+ -gen-clang-sa-checkers -o ${.TARGET} \
+ ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td
+
+SRCS+= ${TGHDRS:C/$/.inc.h/}
+DPADD+= ${TGHDRS:C/$/.inc.h/}
+CLEANFILES+= ${TGHDRS:C/$/.inc.h/}
diff --git a/lib/clang/clang.lib.mk b/lib/clang/clang.lib.mk
new file mode 100644
index 0000000..13afa85
--- /dev/null
+++ b/lib/clang/clang.lib.mk
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+LLVM_SRCS= ${.CURDIR}/../../../contrib/llvm
+
+.include "clang.build.mk"
+
+INTERNALLIB=
+
+.include <bsd.lib.mk>
diff --git a/lib/clang/include/ARMGenAsmMatcher.inc b/lib/clang/include/ARMGenAsmMatcher.inc
new file mode 100644
index 0000000..e48285d1
--- /dev/null
+++ b/lib/clang/include/ARMGenAsmMatcher.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenAsmMatcher.inc.h"
diff --git a/lib/clang/include/ARMGenAsmWriter.inc b/lib/clang/include/ARMGenAsmWriter.inc
new file mode 100644
index 0000000..896bedd
--- /dev/null
+++ b/lib/clang/include/ARMGenAsmWriter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenAsmWriter.inc.h"
diff --git a/lib/clang/include/ARMGenCallingConv.inc b/lib/clang/include/ARMGenCallingConv.inc
new file mode 100644
index 0000000..f7d850a
--- /dev/null
+++ b/lib/clang/include/ARMGenCallingConv.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenCallingConv.inc.h"
diff --git a/lib/clang/include/ARMGenCodeEmitter.inc b/lib/clang/include/ARMGenCodeEmitter.inc
new file mode 100644
index 0000000..083a6c3
--- /dev/null
+++ b/lib/clang/include/ARMGenCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenCodeEmitter.inc.h"
diff --git a/lib/clang/include/ARMGenDAGISel.inc b/lib/clang/include/ARMGenDAGISel.inc
new file mode 100644
index 0000000..6ad15b1
--- /dev/null
+++ b/lib/clang/include/ARMGenDAGISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenDAGISel.inc.h"
diff --git a/lib/clang/include/ARMGenDisassemblerTables.inc b/lib/clang/include/ARMGenDisassemblerTables.inc
new file mode 100644
index 0000000..7ea91ee
--- /dev/null
+++ b/lib/clang/include/ARMGenDisassemblerTables.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenDisassemblerTables.inc.h"
diff --git a/lib/clang/include/ARMGenFastISel.inc b/lib/clang/include/ARMGenFastISel.inc
new file mode 100644
index 0000000..261ed9a
--- /dev/null
+++ b/lib/clang/include/ARMGenFastISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenFastISel.inc.h"
diff --git a/lib/clang/include/ARMGenInstrInfo.inc b/lib/clang/include/ARMGenInstrInfo.inc
new file mode 100644
index 0000000..29c26ed
--- /dev/null
+++ b/lib/clang/include/ARMGenInstrInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenInstrInfo.inc.h"
diff --git a/lib/clang/include/ARMGenMCCodeEmitter.inc b/lib/clang/include/ARMGenMCCodeEmitter.inc
new file mode 100644
index 0000000..82933f0
--- /dev/null
+++ b/lib/clang/include/ARMGenMCCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenMCCodeEmitter.inc.h"
diff --git a/lib/clang/include/ARMGenMCPseudoLowering.inc b/lib/clang/include/ARMGenMCPseudoLowering.inc
new file mode 100644
index 0000000..aa3b617
--- /dev/null
+++ b/lib/clang/include/ARMGenMCPseudoLowering.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenMCPseudoLowering.inc.h"
diff --git a/lib/clang/include/ARMGenRegisterInfo.inc b/lib/clang/include/ARMGenRegisterInfo.inc
new file mode 100644
index 0000000..aa40e18
--- /dev/null
+++ b/lib/clang/include/ARMGenRegisterInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenRegisterInfo.inc.h"
diff --git a/lib/clang/include/ARMGenSubtargetInfo.inc b/lib/clang/include/ARMGenSubtargetInfo.inc
new file mode 100644
index 0000000..6579d9f
--- /dev/null
+++ b/lib/clang/include/ARMGenSubtargetInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "ARMGenSubtargetInfo.inc.h"
diff --git a/lib/clang/include/Checkers.inc b/lib/clang/include/Checkers.inc
new file mode 100644
index 0000000..d5b8138
--- /dev/null
+++ b/lib/clang/include/Checkers.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "Checkers.inc.h"
diff --git a/lib/clang/include/IA64GenAsmWriter.inc b/lib/clang/include/IA64GenAsmWriter.inc
new file mode 100644
index 0000000..dddc793
--- /dev/null
+++ b/lib/clang/include/IA64GenAsmWriter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "IA64GenAsmWriter.inc.h"
diff --git a/lib/clang/include/IA64GenDAGISel.inc b/lib/clang/include/IA64GenDAGISel.inc
new file mode 100644
index 0000000..c6ae3dc
--- /dev/null
+++ b/lib/clang/include/IA64GenDAGISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "IA64GenDAGISel.inc.h"
diff --git a/lib/clang/include/IA64GenInstrInfo.inc b/lib/clang/include/IA64GenInstrInfo.inc
new file mode 100644
index 0000000..7fe83f6
--- /dev/null
+++ b/lib/clang/include/IA64GenInstrInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "IA64GenInstrInfo.inc.h"
diff --git a/lib/clang/include/IA64GenRegisterInfo.inc b/lib/clang/include/IA64GenRegisterInfo.inc
new file mode 100644
index 0000000..89405ed
--- /dev/null
+++ b/lib/clang/include/IA64GenRegisterInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "IA64GenRegisterInfo.inc.h"
diff --git a/lib/clang/include/Makefile b/lib/clang/include/Makefile
new file mode 100644
index 0000000..1c6bd5c
--- /dev/null
+++ b/lib/clang/include/Makefile
@@ -0,0 +1,39 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/../../../contrib/llvm/tools/clang/lib/Headers
+
+INCSDIR=${INCLUDEDIR}/clang/3.3
+
+INCS= __wmmintrin_aes.h \
+ __wmmintrin_pclmul.h \
+ altivec.h \
+ ammintrin.h \
+ avx2intrin.h \
+ avxintrin.h \
+ bmi2intrin.h \
+ bmiintrin.h \
+ cpuid.h \
+ emmintrin.h \
+ f16cintrin.h \
+ fma4intrin.h \
+ fmaintrin.h \
+ immintrin.h \
+ lzcntintrin.h \
+ mm3dnow.h \
+ mm_malloc.h \
+ mmintrin.h \
+ module.map \
+ nmmintrin.h \
+ pmmintrin.h \
+ popcntintrin.h \
+ prfchwintrin.h \
+ rdseedintrin.h \
+ rtmintrin.h \
+ smmintrin.h \
+ tmmintrin.h \
+ wmmintrin.h \
+ x86intrin.h \
+ xmmintrin.h \
+ xopintrin.h
+
+.include <bsd.prog.mk>
diff --git a/lib/clang/include/MipsGenAsmMatcher.inc b/lib/clang/include/MipsGenAsmMatcher.inc
new file mode 100644
index 0000000..b9e2fd1
--- /dev/null
+++ b/lib/clang/include/MipsGenAsmMatcher.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenAsmMatcher.inc.h"
diff --git a/lib/clang/include/MipsGenAsmWriter.inc b/lib/clang/include/MipsGenAsmWriter.inc
new file mode 100644
index 0000000..1f512f1
--- /dev/null
+++ b/lib/clang/include/MipsGenAsmWriter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenAsmWriter.inc.h"
diff --git a/lib/clang/include/MipsGenCallingConv.inc b/lib/clang/include/MipsGenCallingConv.inc
new file mode 100644
index 0000000..6f6fee6
--- /dev/null
+++ b/lib/clang/include/MipsGenCallingConv.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenCallingConv.inc.h"
diff --git a/lib/clang/include/MipsGenCodeEmitter.inc b/lib/clang/include/MipsGenCodeEmitter.inc
new file mode 100644
index 0000000..1e2223d
--- /dev/null
+++ b/lib/clang/include/MipsGenCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenCodeEmitter.inc.h"
diff --git a/lib/clang/include/MipsGenDAGISel.inc b/lib/clang/include/MipsGenDAGISel.inc
new file mode 100644
index 0000000..cb63943
--- /dev/null
+++ b/lib/clang/include/MipsGenDAGISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenDAGISel.inc.h"
diff --git a/lib/clang/include/MipsGenDisassemblerTables.inc b/lib/clang/include/MipsGenDisassemblerTables.inc
new file mode 100644
index 0000000..1308e33
--- /dev/null
+++ b/lib/clang/include/MipsGenDisassemblerTables.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenDisassemblerTables.inc.h"
diff --git a/lib/clang/include/MipsGenInstrInfo.inc b/lib/clang/include/MipsGenInstrInfo.inc
new file mode 100644
index 0000000..ec57075
--- /dev/null
+++ b/lib/clang/include/MipsGenInstrInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenInstrInfo.inc.h"
diff --git a/lib/clang/include/MipsGenMCCodeEmitter.inc b/lib/clang/include/MipsGenMCCodeEmitter.inc
new file mode 100644
index 0000000..82cd418
--- /dev/null
+++ b/lib/clang/include/MipsGenMCCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenMCCodeEmitter.inc.h"
diff --git a/lib/clang/include/MipsGenMCPseudoLowering.inc b/lib/clang/include/MipsGenMCPseudoLowering.inc
new file mode 100644
index 0000000..4e4cbbe
--- /dev/null
+++ b/lib/clang/include/MipsGenMCPseudoLowering.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenMCPseudoLowering.inc.h"
diff --git a/lib/clang/include/MipsGenRegisterInfo.inc b/lib/clang/include/MipsGenRegisterInfo.inc
new file mode 100644
index 0000000..95a7b70
--- /dev/null
+++ b/lib/clang/include/MipsGenRegisterInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenRegisterInfo.inc.h"
diff --git a/lib/clang/include/MipsGenSubtargetInfo.inc b/lib/clang/include/MipsGenSubtargetInfo.inc
new file mode 100644
index 0000000..2c069f4
--- /dev/null
+++ b/lib/clang/include/MipsGenSubtargetInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "MipsGenSubtargetInfo.inc.h"
diff --git a/lib/clang/include/PPCGenAsmWriter.inc b/lib/clang/include/PPCGenAsmWriter.inc
new file mode 100644
index 0000000..e31e777
--- /dev/null
+++ b/lib/clang/include/PPCGenAsmWriter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenAsmWriter.inc.h"
diff --git a/lib/clang/include/PPCGenCallingConv.inc b/lib/clang/include/PPCGenCallingConv.inc
new file mode 100644
index 0000000..6f28640
--- /dev/null
+++ b/lib/clang/include/PPCGenCallingConv.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenCallingConv.inc.h"
diff --git a/lib/clang/include/PPCGenCodeEmitter.inc b/lib/clang/include/PPCGenCodeEmitter.inc
new file mode 100644
index 0000000..525c853
--- /dev/null
+++ b/lib/clang/include/PPCGenCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenCodeEmitter.inc.h"
diff --git a/lib/clang/include/PPCGenDAGISel.inc b/lib/clang/include/PPCGenDAGISel.inc
new file mode 100644
index 0000000..b783e11
--- /dev/null
+++ b/lib/clang/include/PPCGenDAGISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenDAGISel.inc.h"
diff --git a/lib/clang/include/PPCGenInstrInfo.inc b/lib/clang/include/PPCGenInstrInfo.inc
new file mode 100644
index 0000000..80a11d5
--- /dev/null
+++ b/lib/clang/include/PPCGenInstrInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenInstrInfo.inc.h"
diff --git a/lib/clang/include/PPCGenMCCodeEmitter.inc b/lib/clang/include/PPCGenMCCodeEmitter.inc
new file mode 100644
index 0000000..7bd37ce
--- /dev/null
+++ b/lib/clang/include/PPCGenMCCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenMCCodeEmitter.inc.h"
diff --git a/lib/clang/include/PPCGenRegisterInfo.inc b/lib/clang/include/PPCGenRegisterInfo.inc
new file mode 100644
index 0000000..9e26cb1
--- /dev/null
+++ b/lib/clang/include/PPCGenRegisterInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenRegisterInfo.inc.h"
diff --git a/lib/clang/include/PPCGenSubtargetInfo.inc b/lib/clang/include/PPCGenSubtargetInfo.inc
new file mode 100644
index 0000000..a348630
--- /dev/null
+++ b/lib/clang/include/PPCGenSubtargetInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "PPCGenSubtargetInfo.inc.h"
diff --git a/lib/clang/include/X86GenAsmMatcher.inc b/lib/clang/include/X86GenAsmMatcher.inc
new file mode 100644
index 0000000..6ed8afd
--- /dev/null
+++ b/lib/clang/include/X86GenAsmMatcher.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenAsmMatcher.inc.h"
diff --git a/lib/clang/include/X86GenAsmWriter.inc b/lib/clang/include/X86GenAsmWriter.inc
new file mode 100644
index 0000000..4879a0c
--- /dev/null
+++ b/lib/clang/include/X86GenAsmWriter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenAsmWriter.inc.h"
diff --git a/lib/clang/include/X86GenAsmWriter1.inc b/lib/clang/include/X86GenAsmWriter1.inc
new file mode 100644
index 0000000..03f88b8
--- /dev/null
+++ b/lib/clang/include/X86GenAsmWriter1.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenAsmWriter1.inc.h"
diff --git a/lib/clang/include/X86GenCallingConv.inc b/lib/clang/include/X86GenCallingConv.inc
new file mode 100644
index 0000000..dce5266
--- /dev/null
+++ b/lib/clang/include/X86GenCallingConv.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenCallingConv.inc.h"
diff --git a/lib/clang/include/X86GenDAGISel.inc b/lib/clang/include/X86GenDAGISel.inc
new file mode 100644
index 0000000..5a5ab94
--- /dev/null
+++ b/lib/clang/include/X86GenDAGISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenDAGISel.inc.h"
diff --git a/lib/clang/include/X86GenDisassemblerTables.inc b/lib/clang/include/X86GenDisassemblerTables.inc
new file mode 100644
index 0000000..82218ef
--- /dev/null
+++ b/lib/clang/include/X86GenDisassemblerTables.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenDisassemblerTables.inc.h"
diff --git a/lib/clang/include/X86GenFastISel.inc b/lib/clang/include/X86GenFastISel.inc
new file mode 100644
index 0000000..4074cf6
--- /dev/null
+++ b/lib/clang/include/X86GenFastISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenFastISel.inc.h"
diff --git a/lib/clang/include/X86GenInstrInfo.inc b/lib/clang/include/X86GenInstrInfo.inc
new file mode 100644
index 0000000..6222825
--- /dev/null
+++ b/lib/clang/include/X86GenInstrInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenInstrInfo.inc.h"
diff --git a/lib/clang/include/X86GenRegisterInfo.inc b/lib/clang/include/X86GenRegisterInfo.inc
new file mode 100644
index 0000000..6d78e41
--- /dev/null
+++ b/lib/clang/include/X86GenRegisterInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenRegisterInfo.inc.h"
diff --git a/lib/clang/include/X86GenSubtargetInfo.inc b/lib/clang/include/X86GenSubtargetInfo.inc
new file mode 100644
index 0000000..a64b3a4
--- /dev/null
+++ b/lib/clang/include/X86GenSubtargetInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "X86GenSubtargetInfo.inc.h"
diff --git a/lib/clang/include/clang/AST/AttrDump.inc b/lib/clang/include/clang/AST/AttrDump.inc
new file mode 100644
index 0000000..ca3c42f
--- /dev/null
+++ b/lib/clang/include/clang/AST/AttrDump.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrDump.inc.h"
diff --git a/lib/clang/include/clang/AST/AttrImpl.inc b/lib/clang/include/clang/AST/AttrImpl.inc
new file mode 100644
index 0000000..b3efb1b
--- /dev/null
+++ b/lib/clang/include/clang/AST/AttrImpl.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrImpl.inc.h"
diff --git a/lib/clang/include/clang/AST/Attrs.inc b/lib/clang/include/clang/AST/Attrs.inc
new file mode 100644
index 0000000..0eee102
--- /dev/null
+++ b/lib/clang/include/clang/AST/Attrs.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "Attrs.inc.h"
diff --git a/lib/clang/include/clang/AST/CommentCommandInfo.inc b/lib/clang/include/clang/AST/CommentCommandInfo.inc
new file mode 100644
index 0000000..cd17190
--- /dev/null
+++ b/lib/clang/include/clang/AST/CommentCommandInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "CommentCommandInfo.inc.h"
diff --git a/lib/clang/include/clang/AST/CommentCommandList.inc b/lib/clang/include/clang/AST/CommentCommandList.inc
new file mode 100644
index 0000000..bc36905
--- /dev/null
+++ b/lib/clang/include/clang/AST/CommentCommandList.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "CommentCommandList.inc.h"
diff --git a/lib/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.inc b/lib/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
new file mode 100644
index 0000000..b4f11ca
--- /dev/null
+++ b/lib/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "CommentHTMLNamedCharacterReferences.inc.h"
diff --git a/lib/clang/include/clang/AST/CommentHTMLTags.inc b/lib/clang/include/clang/AST/CommentHTMLTags.inc
new file mode 100644
index 0000000..0932f32
--- /dev/null
+++ b/lib/clang/include/clang/AST/CommentHTMLTags.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "CommentHTMLTags.inc.h"
diff --git a/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc b/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc
new file mode 100644
index 0000000..77af956
--- /dev/null
+++ b/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "CommentHTMLTagsProperties.inc.h"
diff --git a/lib/clang/include/clang/AST/CommentNodes.inc b/lib/clang/include/clang/AST/CommentNodes.inc
new file mode 100644
index 0000000..1da6147
--- /dev/null
+++ b/lib/clang/include/clang/AST/CommentNodes.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "CommentNodes.inc.h"
diff --git a/lib/clang/include/clang/AST/DeclNodes.inc b/lib/clang/include/clang/AST/DeclNodes.inc
new file mode 100644
index 0000000..d5b9a90
--- /dev/null
+++ b/lib/clang/include/clang/AST/DeclNodes.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DeclNodes.inc.h"
diff --git a/lib/clang/include/clang/AST/StmtNodes.inc b/lib/clang/include/clang/AST/StmtNodes.inc
new file mode 100644
index 0000000..cd35d7a
--- /dev/null
+++ b/lib/clang/include/clang/AST/StmtNodes.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "StmtNodes.inc.h"
diff --git a/lib/clang/include/clang/Basic/AttrList.inc b/lib/clang/include/clang/Basic/AttrList.inc
new file mode 100644
index 0000000..319eb5a
--- /dev/null
+++ b/lib/clang/include/clang/Basic/AttrList.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrList.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticASTKinds.inc b/lib/clang/include/clang/Basic/DiagnosticASTKinds.inc
new file mode 100644
index 0000000..bc558c5
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticASTKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticASTKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticAnalysisKinds.inc b/lib/clang/include/clang/Basic/DiagnosticAnalysisKinds.inc
new file mode 100644
index 0000000..5472209
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticAnalysisKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticAnalysisKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticCommentKinds.inc b/lib/clang/include/clang/Basic/DiagnosticCommentKinds.inc
new file mode 100644
index 0000000..518c3b7
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticCommentKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticCommentKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticCommonKinds.inc b/lib/clang/include/clang/Basic/DiagnosticCommonKinds.inc
new file mode 100644
index 0000000..b2ac7a3
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticCommonKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticCommonKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticDriverKinds.inc b/lib/clang/include/clang/Basic/DiagnosticDriverKinds.inc
new file mode 100644
index 0000000..b719c10
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticDriverKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticDriverKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticFrontendKinds.inc b/lib/clang/include/clang/Basic/DiagnosticFrontendKinds.inc
new file mode 100644
index 0000000..85dde99
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticFrontendKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticFrontendKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticGroups.inc b/lib/clang/include/clang/Basic/DiagnosticGroups.inc
new file mode 100644
index 0000000..1c5fa1a
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticGroups.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticGroups.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticIndexName.inc b/lib/clang/include/clang/Basic/DiagnosticIndexName.inc
new file mode 100644
index 0000000..1baf975
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticIndexName.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticIndexName.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticLexKinds.inc b/lib/clang/include/clang/Basic/DiagnosticLexKinds.inc
new file mode 100644
index 0000000..8a0e527
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticLexKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticLexKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticParseKinds.inc b/lib/clang/include/clang/Basic/DiagnosticParseKinds.inc
new file mode 100644
index 0000000..5a4948e
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticParseKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticParseKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticSemaKinds.inc b/lib/clang/include/clang/Basic/DiagnosticSemaKinds.inc
new file mode 100644
index 0000000..d08c7f1
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticSemaKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticSemaKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/DiagnosticSerializationKinds.inc b/lib/clang/include/clang/Basic/DiagnosticSerializationKinds.inc
new file mode 100644
index 0000000..f0d84f1
--- /dev/null
+++ b/lib/clang/include/clang/Basic/DiagnosticSerializationKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "DiagnosticSerializationKinds.inc.h"
diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc
new file mode 100644
index 0000000..1b62e7f
--- /dev/null
+++ b/lib/clang/include/clang/Basic/Version.inc
@@ -0,0 +1,10 @@
+/* $FreeBSD$ */
+
+#define CLANG_VERSION 3.3
+#define CLANG_VERSION_MAJOR 3
+#define CLANG_VERSION_MINOR 3
+
+#define CLANG_VENDOR "FreeBSD "
+#define CLANG_VENDOR_SUFFIX " 20130610"
+
+#define SVN_REVISION "183502"
diff --git a/lib/clang/include/clang/Basic/arm_neon.inc b/lib/clang/include/clang/Basic/arm_neon.inc
new file mode 100644
index 0000000..7b4c875
--- /dev/null
+++ b/lib/clang/include/clang/Basic/arm_neon.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "arm_neon.inc.h"
diff --git a/lib/clang/include/clang/Config/config.h b/lib/clang/include/clang/Config/config.h
new file mode 100644
index 0000000..8a7936b
--- /dev/null
+++ b/lib/clang/include/clang/Config/config.h
@@ -0,0 +1,26 @@
+/* $FreeBSD$ */
+/* tools/clang/include/clang/Config/config.h. Generated from config.h.in by configure. */
+/* include/clang/Config/config.h.in. */
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+/* Bug report URL. */
+#define BUG_REPORT_URL "http://llvm.org/bugs/"
+
+/* Relative directory for resource files */
+#define CLANG_RESOURCE_DIR ""
+
+/* Directories clang will search for headers */
+#define C_INCLUDE_DIRS ""
+
+/* Linker version detected at compile time. */
+/* #undef HOST_LINK_VERSION */
+
+/* Default <path> to all compiler invocations for --sysroot=<path>. */
+/* #undef DEFAULT_SYSROOT */
+
+/* Directory where gcc is installed. */
+#define GCC_INSTALL_PREFIX ""
+
+#endif
diff --git a/lib/clang/include/clang/Driver/CC1AsOptions.inc b/lib/clang/include/clang/Driver/CC1AsOptions.inc
new file mode 100644
index 0000000..3d76958
--- /dev/null
+++ b/lib/clang/include/clang/Driver/CC1AsOptions.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "CC1AsOptions.inc.h"
diff --git a/lib/clang/include/clang/Driver/Options.inc b/lib/clang/include/clang/Driver/Options.inc
new file mode 100644
index 0000000..37422c1
--- /dev/null
+++ b/lib/clang/include/clang/Driver/Options.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "Options.inc.h"
diff --git a/lib/clang/include/clang/Lex/AttrSpellings.inc b/lib/clang/include/clang/Lex/AttrSpellings.inc
new file mode 100644
index 0000000..8859ae3
--- /dev/null
+++ b/lib/clang/include/clang/Lex/AttrSpellings.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrSpellings.inc.h"
diff --git a/lib/clang/include/clang/Parse/AttrExprArgs.inc b/lib/clang/include/clang/Parse/AttrExprArgs.inc
new file mode 100644
index 0000000..043e034
--- /dev/null
+++ b/lib/clang/include/clang/Parse/AttrExprArgs.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrExprArgs.inc.h"
diff --git a/lib/clang/include/clang/Parse/AttrLateParsed.inc b/lib/clang/include/clang/Parse/AttrLateParsed.inc
new file mode 100644
index 0000000..1282d9e
--- /dev/null
+++ b/lib/clang/include/clang/Parse/AttrLateParsed.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrLateParsed.inc.h"
diff --git a/lib/clang/include/clang/Sema/AttrParsedAttrKinds.inc b/lib/clang/include/clang/Sema/AttrParsedAttrKinds.inc
new file mode 100644
index 0000000..77d0092
--- /dev/null
+++ b/lib/clang/include/clang/Sema/AttrParsedAttrKinds.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrParsedAttrKinds.inc.h"
diff --git a/lib/clang/include/clang/Sema/AttrParsedAttrList.inc b/lib/clang/include/clang/Sema/AttrParsedAttrList.inc
new file mode 100644
index 0000000..b5aeac3
--- /dev/null
+++ b/lib/clang/include/clang/Sema/AttrParsedAttrList.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrParsedAttrList.inc.h"
diff --git a/lib/clang/include/clang/Sema/AttrSpellingListIndex.inc b/lib/clang/include/clang/Sema/AttrSpellingListIndex.inc
new file mode 100644
index 0000000..229273c
--- /dev/null
+++ b/lib/clang/include/clang/Sema/AttrSpellingListIndex.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrSpellingListIndex.inc.h"
diff --git a/lib/clang/include/clang/Sema/AttrTemplateInstantiate.inc b/lib/clang/include/clang/Sema/AttrTemplateInstantiate.inc
new file mode 100644
index 0000000..88c3c11
--- /dev/null
+++ b/lib/clang/include/clang/Sema/AttrTemplateInstantiate.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrTemplateInstantiate.inc.h"
diff --git a/lib/clang/include/clang/Serialization/AttrPCHRead.inc b/lib/clang/include/clang/Serialization/AttrPCHRead.inc
new file mode 100644
index 0000000..8fd4ad3
--- /dev/null
+++ b/lib/clang/include/clang/Serialization/AttrPCHRead.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrPCHRead.inc.h"
diff --git a/lib/clang/include/clang/Serialization/AttrPCHWrite.inc b/lib/clang/include/clang/Serialization/AttrPCHWrite.inc
new file mode 100644
index 0000000..0fb802c
--- /dev/null
+++ b/lib/clang/include/clang/Serialization/AttrPCHWrite.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "AttrPCHWrite.inc.h"
diff --git a/lib/clang/include/llvm/Config/AsmParsers.def b/lib/clang/include/llvm/Config/AsmParsers.def
new file mode 100644
index 0000000..024462e
--- /dev/null
+++ b/lib/clang/include/llvm/Config/AsmParsers.def
@@ -0,0 +1,7 @@
+/* $FreeBSD$ */
+
+LLVM_ASM_PARSER(ARM)
+LLVM_ASM_PARSER(Mips)
+LLVM_ASM_PARSER(X86)
+
+#undef LLVM_ASM_PARSER
diff --git a/lib/clang/include/llvm/Config/AsmPrinters.def b/lib/clang/include/llvm/Config/AsmPrinters.def
new file mode 100644
index 0000000..ca335df
--- /dev/null
+++ b/lib/clang/include/llvm/Config/AsmPrinters.def
@@ -0,0 +1,8 @@
+/* $FreeBSD$ */
+
+LLVM_ASM_PRINTER(ARM)
+LLVM_ASM_PRINTER(Mips)
+LLVM_ASM_PRINTER(PowerPC)
+LLVM_ASM_PRINTER(X86)
+
+#undef LLVM_ASM_PRINTER
diff --git a/lib/clang/include/llvm/Config/Disassemblers.def b/lib/clang/include/llvm/Config/Disassemblers.def
new file mode 100644
index 0000000..1b26531
--- /dev/null
+++ b/lib/clang/include/llvm/Config/Disassemblers.def
@@ -0,0 +1,7 @@
+/* $FreeBSD$ */
+
+LLVM_DISASSEMBLER(ARM)
+LLVM_DISASSEMBLER(Mips)
+LLVM_DISASSEMBLER(X86)
+
+#undef LLVM_DISASSEMBLER
diff --git a/lib/clang/include/llvm/Config/Targets.def b/lib/clang/include/llvm/Config/Targets.def
new file mode 100644
index 0000000..85c3ffe
--- /dev/null
+++ b/lib/clang/include/llvm/Config/Targets.def
@@ -0,0 +1,8 @@
+/* $FreeBSD$ */
+
+LLVM_TARGET(ARM)
+LLVM_TARGET(Mips)
+LLVM_TARGET(PowerPC)
+LLVM_TARGET(X86)
+
+#undef LLVM_TARGET
diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h
new file mode 100644
index 0000000..d72aba8
--- /dev/null
+++ b/lib/clang/include/llvm/Config/config.h
@@ -0,0 +1,759 @@
+/* $FreeBSD$ */
+/* include/llvm/Config/config.h. Generated from config.h.in by configure. */
+/* include/llvm/Config/config.h.in. Generated from autoconf/configure.ac by autoheader. */
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+/* Get __FreeBSD_version. */
+#include <osreldate.h>
+
+/* Bug report URL. */
+#define BUG_REPORT_URL "http://llvm.org/bugs/"
+
+/* Define if we have libxml2 */
+/* #undef CLANG_HAVE_LIBXML */
+
+/* Relative directory for resource files */
+#define CLANG_RESOURCE_DIR ""
+
+/* Directories clang will search for headers */
+#define C_INCLUDE_DIRS ""
+
+/* Default <path> to all compiler invocations for --sysroot=<path>. */
+/* #undef DEFAULT_SYSROOT */
+
+/* Define if you want backtraces on crash */
+#define ENABLE_BACKTRACES 1
+
+/* Define if position independent code is enabled */
+#define ENABLE_PIC 0
+
+/* Define if timestamp information (e.g., __DATE__) is allowed */
+#define ENABLE_TIMESTAMPS 0
+
+/* Directory where gcc is installed. */
+#define GCC_INSTALL_PREFIX ""
+
+/* Define to 1 if you have the `arc4random' function. */
+#define HAVE_ARC4RANDOM 1
+
+/* Define to 1 if you have the `argz_append' function. */
+/* #undef HAVE_ARGZ_APPEND */
+
+/* Define to 1 if you have the `argz_create_sep' function. */
+/* #undef HAVE_ARGZ_CREATE_SEP */
+
+/* Define to 1 if you have the <argz.h> header file. */
+/* #undef HAVE_ARGZ_H */
+
+/* Define to 1 if you have the `argz_insert' function. */
+/* #undef HAVE_ARGZ_INSERT */
+
+/* Define to 1 if you have the `argz_next' function. */
+/* #undef HAVE_ARGZ_NEXT */
+
+/* Define to 1 if you have the `argz_stringify' function. */
+/* #undef HAVE_ARGZ_STRINGIFY */
+
+/* Define to 1 if you have the <assert.h> header file. */
+#define HAVE_ASSERT_H 1
+
+/* Define to 1 if you have the `backtrace' function. */
+/* #undef HAVE_BACKTRACE */
+
+/* Define to 1 if you have the `bcopy' function. */
+/* #undef HAVE_BCOPY */
+
+/* Define to 1 if you have the `ceilf' function. */
+#define HAVE_CEILF 1
+
+/* Define if the neat program is available */
+/* #undef HAVE_CIRCO */
+
+/* Define to 1 if you have the `closedir' function. */
+#define HAVE_CLOSEDIR 1
+
+/* Define to 1 if you have the <CrashReporterClient.h> header file. */
+/* #undef HAVE_CRASHREPORTERCLIENT_H */
+
+/* can use __crashreporter_info__ */
+#define HAVE_CRASHREPORTER_INFO 0
+
+/* Define to 1 if you have the <ctype.h> header file. */
+#define HAVE_CTYPE_H 1
+
+/* Define to 1 if you have the <cxxabi.h> header file. */
+#define HAVE_CXXABI_H 1
+
+/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you
+ don't. */
+#define HAVE_DECL_FE_ALL_EXCEPT 1
+
+/* Define to 1 if you have the declaration of `FE_INEXACT', and to 0 if you
+ don't. */
+#define HAVE_DECL_FE_INEXACT 1
+
+/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
+ don't. */
+#define HAVE_DECL_STRERROR_S 0
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the GNU dld library. */
+/* #undef HAVE_DLD */
+
+/* Define to 1 if you have the <dld.h> header file. */
+/* #undef HAVE_DLD_H */
+
+/* Define to 1 if you have the `dlerror' function. */
+#define HAVE_DLERROR 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define if dlopen() is available on this platform. */
+#define HAVE_DLOPEN 1
+
+/* Define to 1 if you have the <dl.h> header file. */
+/* #undef HAVE_DL_H */
+
+/* Define if the dot program is available */
+/* #undef HAVE_DOT */
+
+/* Define if the dotty program is available */
+/* #undef HAVE_DOTTY */
+
+/* Define if you have the _dyld_func_lookup function. */
+/* #undef HAVE_DYLD */
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H 1
+
+/* Define to 1 if the system has the type `error_t'. */
+/* #undef HAVE_ERROR_T */
+
+/* Define to 1 if you have the <execinfo.h> header file. */
+/* #undef HAVE_EXECINFO_H */
+
+/* Define to 1 if you have the `exp' function. */
+#define HAVE_EXP 1
+
+/* Define to 1 if you have the `exp2' function. */
+#define HAVE_EXP2 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define if the neat program is available */
+/* #undef HAVE_FDP */
+
+/* Define to 1 if you have the <fenv.h> header file. */
+#define HAVE_FENV_H 1
+
+/* Define if libffi is available on this platform. */
+/* #undef HAVE_FFI_CALL */
+
+/* Define to 1 if you have the <ffi/ffi.h> header file. */
+/* #undef HAVE_FFI_FFI_H */
+
+/* Define to 1 if you have the <ffi.h> header file. */
+/* #undef HAVE_FFI_H */
+
+/* Set to 1 if the finite function is found in <ieeefp.h> */
+/* #undef HAVE_FINITE_IN_IEEEFP_H */
+
+/* Define to 1 if you have the `floorf' function. */
+#define HAVE_FLOORF 1
+
+/* Define to 1 if you have the `fmodf' function. */
+#define HAVE_FMODF 1
+
+/* Define to 1 if you have the `getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the `getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the `getrlimit' function. */
+#define HAVE_GETRLIMIT 1
+
+/* Define to 1 if you have the `getrusage' function. */
+#define HAVE_GETRUSAGE 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if the Graphviz program is available */
+/* #undef HAVE_GRAPHVIZ */
+
+/* Define if the gv program is available */
+/* #undef HAVE_GV */
+
+/* Define to 1 if you have the `index' function. */
+/* #undef HAVE_INDEX */
+
+/* Define to 1 if the system has the type `int64_t'. */
+#define HAVE_INT64_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `isatty' function. */
+#define HAVE_ISATTY 1
+
+/* Set to 1 if the isinf function is found in <cmath> */
+#define HAVE_ISINF_IN_CMATH 1
+
+/* Set to 1 if the isinf function is found in <math.h> */
+#define HAVE_ISINF_IN_MATH_H 1
+
+/* Set to 1 if the isnan function is found in <cmath> */
+#define HAVE_ISNAN_IN_CMATH 1
+
+/* Set to 1 if the isnan function is found in <math.h> */
+#define HAVE_ISNAN_IN_MATH_H 1
+
+/* Define if you have the libdl library or equivalent. */
+#define HAVE_LIBDL 1
+
+/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
+/* #undef HAVE_LIBIMAGEHLP */
+
+/* Define to 1 if you have the `m' library (-lm). */
+#define HAVE_LIBM 1
+
+/* Define to 1 if you have the `psapi' library (-lpsapi). */
+/* #undef HAVE_LIBPSAPI */
+
+/* Define to 1 if you have the `pthread' library (-lpthread). */
+/* #undef HAVE_LIBPTHREAD */
+
+/* Define to 1 if you have the `udis86' library (-ludis86). */
+/* #undef HAVE_LIBUDIS86 */
+
+/* Define to 1 if you have the `z' library (-lz). */
+#define HAVE_LIBZ 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define if you can use -Wl,-export-dynamic. */
+#define HAVE_LINK_EXPORT_DYNAMIC 1
+
+/* Define to 1 if you have the <link.h> header file. */
+#define HAVE_LINK_H 1
+
+/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
+ the current directory to the dynamic linker search path. */
+#define HAVE_LINK_R 1
+
+/* Define to 1 if you have the `log' function. */
+#define HAVE_LOG 1
+
+/* Define to 1 if you have the `log10' function. */
+#define HAVE_LOG10 1
+
+/* Define to 1 if you have the `log2' function. */
+#if __FreeBSD_version >= 900027 || (__FreeBSD_version < 900000 && __FreeBSD_version >= 802502)
+#define HAVE_LOG2 1
+#endif
+
+/* Define to 1 if you have the `longjmp' function. */
+#define HAVE_LONGJMP 1
+
+/* Define to 1 if you have the <mach/mach.h> header file. */
+/* #undef HAVE_MACH_MACH_H */
+
+/* Define to 1 if you have the <mach-o/dyld.h> header file. */
+/* #undef HAVE_MACH_O_DYLD_H */
+
+/* Define if mallinfo() is available on this platform. */
+/* #undef HAVE_MALLINFO */
+
+/* Define to 1 if you have the <malloc.h> header file. */
+/* #undef HAVE_MALLOC_H */
+
+/* Define to 1 if you have the <malloc/malloc.h> header file. */
+/* #undef HAVE_MALLOC_MALLOC_H */
+
+/* Define to 1 if you have the `malloc_zone_statistics' function. */
+/* #undef HAVE_MALLOC_ZONE_STATISTICS */
+
+/* Define to 1 if you have the `memcpy' function. */
+#define HAVE_MEMCPY 1
+
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkdtemp' function. */
+#define HAVE_MKDTEMP 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* Define to 1 if you have the `mktemp' function. */
+#define HAVE_MKTEMP 1
+
+/* Define to 1 if you have a working `mmap' system call. */
+#define HAVE_MMAP 1
+
+/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
+ it uses MAP_ANON */
+/* #undef HAVE_MMAP_ANONYMOUS */
+
+/* Define if mmap() can map files into memory */
+#define HAVE_MMAP_FILE
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the `nearbyintf' function. */
+#define HAVE_NEARBYINTF 1
+
+/* Define if the neat program is available */
+/* #undef HAVE_NEATO */
+
+/* Define to 1 if you have the `opendir' function. */
+#define HAVE_OPENDIR 1
+
+/* Define to 1 if you have the `posix_spawn' function. */
+/* #undef HAVE_POSIX_SPAWN */
+
+/* Define to 1 if you have the `powf' function. */
+#define HAVE_POWF 1
+
+/* Define to 1 if you have the `pread' function. */
+#define HAVE_PREAD 1
+
+/* Define if libtool can extract symbol lists from object files. */
+#define HAVE_PRELOADED_SYMBOLS 1
+
+/* Define to have the %a format string */
+#define HAVE_PRINTF_A 1
+
+/* Have pthread_getspecific */
+/* #undef HAVE_PTHREAD_GETSPECIFIC */
+
+/* Define to 1 if you have the <pthread.h> header file. */
+/* #undef HAVE_PTHREAD_H */
+
+/* Have pthread_mutex_lock */
+/* #undef HAVE_PTHREAD_MUTEX_LOCK */
+
+/* Have pthread_rwlock_init */
+/* #undef HAVE_PTHREAD_RWLOCK_INIT */
+
+/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
+#define HAVE_RAND48 1
+
+/* Define to 1 if you have the `readdir' function. */
+#define HAVE_READDIR 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `rindex' function. */
+/* #undef HAVE_RINDEX */
+
+/* Define to 1 if you have the `rintf' function. */
+#define HAVE_RINTF 1
+
+/* Define to 1 if you have the `round' function. */
+#define HAVE_ROUND 1
+
+/* Define to 1 if you have the `roundf' function. */
+#define HAVE_ROUNDF 1
+
+/* Define to 1 if you have the `sbrk' function. */
+#define HAVE_SBRK 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `setjmp' function. */
+#define HAVE_SETJMP 1
+
+/* Define to 1 if you have the <setjmp.h> header file. */
+#define HAVE_SETJMP_H 1
+
+/* Define to 1 if you have the `setrlimit' function. */
+#define HAVE_SETRLIMIT 1
+
+/* Define if you have the shl_load function. */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define to 1 if you have the `siglongjmp' function. */
+#define HAVE_SIGLONGJMP 1
+
+/* Define to 1 if you have the <signal.h> header file. */
+#define HAVE_SIGNAL_H 1
+
+/* Define to 1 if you have the `sigsetjmp' function. */
+#define HAVE_SIGSETJMP 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Set to 1 if the std::isinf function is found in <cmath> */
+#define HAVE_STD_ISINF_IN_CMATH 1
+
+/* Set to 1 if the std::isnan function is found in <cmath> */
+#define HAVE_STD_ISNAN_IN_CMATH 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the `strcmp' function. */
+#define HAVE_STRCMP 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strrchr' function. */
+#define HAVE_STRRCHR 1
+
+/* Define to 1 if you have the `strtof' function. */
+#define HAVE_STRTOF 1
+
+/* Define to 1 if you have the `strtoll' function. */
+#define HAVE_STRTOLL 1
+
+/* Define to 1 if you have the `strtoq' function. */
+#define HAVE_STRTOQ 1
+
+/* Define to 1 if you have the `sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/dl.h> header file. */
+/* #undef HAVE_SYS_DL_H */
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <termios.h> header file. */
+#define HAVE_TERMIOS_H 1
+
+/* Define if the neat program is available */
+/* #undef HAVE_TWOPI */
+
+/* Define to 1 if the system has the type `uint64_t'. */
+#define HAVE_UINT64_T 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <utime.h> header file. */
+#define HAVE_UTIME_H 1
+
+/* Define to 1 if the system has the type `u_int64_t'. */
+/* #undef HAVE_U_INT64_T */
+
+/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
+/* #undef HAVE_VALGRIND_VALGRIND_H */
+
+/* Define to 1 if you have the <windows.h> header file. */
+/* #undef HAVE_WINDOWS_H */
+
+/* Define to 1 if you have the `writev' function. */
+#define HAVE_WRITEV 1
+
+/* Define if the xdot.py program is available */
+/* #undef HAVE_XDOT_PY */
+
+/* Define to 1 if you have the <zlib.h> header file. */
+#define HAVE_ZLIB_H 1
+
+/* Have host's _alloca */
+/* #undef HAVE__ALLOCA */
+
+/* Have host's __alloca */
+/* #undef HAVE___ALLOCA */
+
+/* Have host's __ashldi3 */
+/* #undef HAVE___ASHLDI3 */
+
+/* Have host's __ashrdi3 */
+/* #undef HAVE___ASHRDI3 */
+
+/* Have host's __chkstk */
+/* #undef HAVE___CHKSTK */
+
+/* Have host's __cmpdi2 */
+/* #undef HAVE___CMPDI2 */
+
+/* Have host's __divdi3 */
+/* #undef HAVE___DIVDI3 */
+
+/* Define to 1 if you have the `__dso_handle' function. */
+#define HAVE___DSO_HANDLE 1
+
+/* Have host's __fixdfdi */
+/* #undef HAVE___FIXDFDI */
+
+/* Have host's __fixsfdi */
+/* #undef HAVE___FIXSFDI */
+
+/* Have host's __floatdidf */
+/* #undef HAVE___FLOATDIDF */
+
+/* Have host's __lshrdi3 */
+/* #undef HAVE___LSHRDI3 */
+
+/* Have host's __main */
+/* #undef HAVE___MAIN */
+
+/* Have host's __moddi3 */
+/* #undef HAVE___MODDI3 */
+
+/* Have host's __udivdi3 */
+/* #undef HAVE___UDIVDI3 */
+
+/* Have host's __umoddi3 */
+/* #undef HAVE___UMODDI3 */
+
+/* Have host's ___chkstk */
+/* #undef HAVE____CHKSTK */
+
+/* Linker version detected at compile time. */
+/* #undef HOST_LINK_VERSION */
+
+/* Installation directory for binary executables */
+/* #undef LLVM_BINDIR */
+
+/* Time at which LLVM was configured */
+/* #undef LLVM_CONFIGTIME */
+
+/* Installation directory for data files */
+/* #undef LLVM_DATADIR */
+
+/* Target triple LLVM will generate code for by default */
+/* #undef LLVM_DEFAULT_TARGET_TRIPLE */
+
+/* Installation directory for documentation */
+/* #undef LLVM_DOCSDIR */
+
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 0
+
+/* Define if zlib is enabled */
+#define LLVM_ENABLE_ZLIB 1
+
+/* Installation directory for config files */
+/* #undef LLVM_ETCDIR */
+
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 0
+
+/* Host triple LLVM will be executed on */
+/* #undef LLVM_HOST_TRIPLE */
+
+/* Installation directory for include files */
+/* #undef LLVM_INCLUDEDIR */
+
+/* Installation directory for .info files */
+/* #undef LLVM_INFODIR */
+
+/* Installation directory for libraries */
+/* #undef LLVM_LIBDIR */
+
+/* Installation directory for man pages */
+/* #undef LLVM_MANDIR */
+
+/* LLVM architecture name for the native architecture, if available */
+#define LLVM_NATIVE_ARCH X86
+
+/* LLVM name for the native AsmParser init function, if available */
+#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
+
+/* LLVM name for the native AsmPrinter init function, if available */
+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
+
+/* LLVM name for the native Disassembler init function, if available */
+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
+
+/* LLVM name for the native Target init function, if available */
+#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
+
+/* LLVM name for the native TargetInfo init function, if available */
+#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
+
+/* LLVM name for the native target MC init function, if available */
+#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
+
+/* Define if this is Unixish platform */
+#define LLVM_ON_UNIX 1
+
+/* Define if this is Win32ish platform */
+/* #undef LLVM_ON_WIN32 */
+
+/* Define to path to circo program if found or 'echo circo' otherwise */
+/* #undef LLVM_PATH_CIRCO */
+
+/* Define to path to dot program if found or 'echo dot' otherwise */
+/* #undef LLVM_PATH_DOT */
+
+/* Define to path to dotty program if found or 'echo dotty' otherwise */
+/* #undef LLVM_PATH_DOTTY */
+
+/* Define to path to fdp program if found or 'echo fdp' otherwise */
+/* #undef LLVM_PATH_FDP */
+
+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
+/* #undef LLVM_PATH_GRAPHVIZ */
+
+/* Define to path to gv program if found or 'echo gv' otherwise */
+/* #undef LLVM_PATH_GV */
+
+/* Define to path to neato program if found or 'echo neato' otherwise */
+/* #undef LLVM_PATH_NEATO */
+
+/* Define to path to twopi program if found or 'echo twopi' otherwise */
+/* #undef LLVM_PATH_TWOPI */
+
+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
+/* #undef LLVM_PATH_XDOT_PY */
+
+/* Installation prefix directory */
+#define LLVM_PREFIX ""
+
+/* Define if we have the Intel JIT API runtime support library */
+#define LLVM_USE_INTEL_JITEVENTS 0
+
+/* Define if we have the oprofile JIT-support library */
+#define LLVM_USE_OPROFILE 0
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 3
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 3
+
+/* Define if the OS needs help to load dependent libraries for dlopen(). */
+#define LTDL_DLOPEN_DEPLIBS 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#define LTDL_OBJDIR ".libs/"
+
+/* Define to the name of the environment variable that determines the dynamic
+ library search path. */
+#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH"
+
+/* Define to the extension used for shared libraries, say, ".so". */
+#define LTDL_SHLIB_EXT ".so"
+
+/* Define to the system default library search path. */
+#define LTDL_SYSSEARCHPATH "/lib:/usr/lib"
+
+/* Define if /dev/zero should be used when mapping RWX memory, or undefine if
+ its not necessary */
+/* #undef NEED_DEV_ZERO_FOR_MMAP */
+
+/* Define if dlsym() requires a leading underscore in symbol names. */
+/* #undef NEED_USCORE */
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "LLVM"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "LLVM 3.3"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "llvm"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "3.3"
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define if use udis86 library */
+#define USE_UDIS86 0
+
+/* Type of 1st arg on ELM Callback */
+/* #undef WIN32_ELMCB_PCSTR */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to a type to use for `error_t' if it is not otherwise available. */
+#define error_t int
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+#endif
diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h
new file mode 100644
index 0000000..86e0e49
--- /dev/null
+++ b/lib/clang/include/llvm/Config/llvm-config.h
@@ -0,0 +1,129 @@
+/* $FreeBSD$ */
+/* include/llvm/Config/llvm-config.h. Generated from llvm-config.h.in by configure. */
+/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+/* This file enumerates all of the llvm variables from configure so that
+ they can be in exported headers and won't override package specific
+ directives. This is a C file so we can include it in the llvm-c headers. */
+
+/* To avoid multiple inclusions of these variables when we include the exported
+ headers and config.h, conditionally include these. */
+/* TODO: This is a bit of a hack. */
+#ifndef CONFIG_H
+
+/* Installation directory for binary executables */
+/* #undef LLVM_BINDIR */
+
+/* Time at which LLVM was configured */
+/* #undef LLVM_CONFIGTIME */
+
+/* Installation directory for data files */
+/* #undef LLVM_DATADIR */
+
+/* Target triple LLVM will generate code for by default */
+/* #undef LLVM_DEFAULT_TARGET_TRIPLE */
+
+/* Installation directory for documentation */
+/* #undef LLVM_DOCSDIR */
+
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 0
+
+/* Installation directory for config files */
+/* #undef LLVM_ETCDIR */
+
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 0
+
+/* Host triple LLVM will be executed on */
+/* #undef LLVM_HOST_TRIPLE */
+
+/* Installation directory for include files */
+/* #undef LLVM_INCLUDEDIR */
+
+/* Installation directory for .info files */
+/* #undef LLVM_INFODIR */
+
+/* Installation directory for libraries */
+/* #undef LLVM_LIBDIR */
+
+/* Installation directory for man pages */
+/* #undef LLVM_MANDIR */
+
+/* LLVM architecture name for the native architecture, if available */
+#define LLVM_NATIVE_ARCH X86
+
+/* LLVM name for the native AsmParser init function, if available */
+#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
+
+/* LLVM name for the native AsmPrinter init function, if available */
+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
+
+/* LLVM name for the native Disassembler init function, if available */
+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
+
+/* LLVM name for the native Target init function, if available */
+#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
+
+/* LLVM name for the native TargetInfo init function, if available */
+#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
+
+/* LLVM name for the native target MC init function, if available */
+#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
+
+/* Define if this is Unixish platform */
+#define LLVM_ON_UNIX 1
+
+/* Define if this is Win32ish platform */
+/* #undef LLVM_ON_WIN32 */
+
+/* Define to path to circo program if found or 'echo circo' otherwise */
+/* #undef LLVM_PATH_CIRCO */
+
+/* Define to path to dot program if found or 'echo dot' otherwise */
+/* #undef LLVM_PATH_DOT */
+
+/* Define to path to dotty program if found or 'echo dotty' otherwise */
+/* #undef LLVM_PATH_DOTTY */
+
+/* Define to path to fdp program if found or 'echo fdp' otherwise */
+/* #undef LLVM_PATH_FDP */
+
+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
+/* #undef LLVM_PATH_GRAPHVIZ */
+
+/* Define to path to gv program if found or 'echo gv' otherwise */
+/* #undef LLVM_PATH_GV */
+
+/* Define to path to neato program if found or 'echo neato' otherwise */
+/* #undef LLVM_PATH_NEATO */
+
+/* Define to path to twopi program if found or 'echo twopi' otherwise */
+/* #undef LLVM_PATH_TWOPI */
+
+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
+/* #undef LLVM_PATH_XDOT_PY */
+
+/* Installation prefix directory */
+#define LLVM_PREFIX ""
+
+/* Define if we have the Intel JIT API runtime support library */
+#define LLVM_USE_INTEL_JITEVENTS 0
+
+/* Define if we have the oprofile JIT-support library */
+#define LLVM_USE_OPROFILE 0
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 3
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 3
+
+#endif
diff --git a/lib/clang/include/llvm/IR/Intrinsics.gen b/lib/clang/include/llvm/IR/Intrinsics.gen
new file mode 100644
index 0000000..a3dbd63
--- /dev/null
+++ b/lib/clang/include/llvm/IR/Intrinsics.gen
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "Intrinsics.inc.h"
diff --git a/lib/clang/include/llvm/Support/DataTypes.h b/lib/clang/include/llvm/Support/DataTypes.h
new file mode 100644
index 0000000..d0fdb7c
--- /dev/null
+++ b/lib/clang/include/llvm/Support/DataTypes.h
@@ -0,0 +1,113 @@
+/* $FreeBSD$ */
+/* include/llvm/Support/DataTypes.h. Generated from DataTypes.h.in by configure. */
+/*===-- include/System/DataTypes.h - Define fixed size types -----*- C -*-===*\
+|* *|
+|* The LLVM Compiler Infrastructure *|
+|* *|
+|* This file is distributed under the University of Illinois Open Source *|
+|* License. See LICENSE.TXT for details. *|
+|* *|
+|*===----------------------------------------------------------------------===*|
+|* *|
+|* This file contains definitions to figure out the size of _HOST_ data types.*|
+|* This file is important because different host OS's define different macros,*|
+|* which makes portability tough. This file exports the following *|
+|* definitions: *|
+|* *|
+|* [u]int(32|64)_t : typedefs for signed and unsigned 32/64 bit system types*|
+|* [U]INT(8|16|32|64)_(MIN|MAX) : Constants for the min and max values. *|
+|* *|
+|* No library is required when using these functions. *|
+|* *|
+|*===----------------------------------------------------------------------===*/
+
+/* Please leave this file C-compatible. */
+
+#ifndef SUPPORT_DATATYPES_H
+#define SUPPORT_DATATYPES_H
+
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_UINT64_T 1
+/* #undef HAVE_U_INT64_T */
+
+#ifdef __cplusplus
+#include <cmath>
+#else
+#include <math.h>
+#endif
+
+/* Note that this header's correct operation depends on __STDC_LIMIT_MACROS
+ being defined. We would define it here, but in order to prevent Bad Things
+ happening when system headers or C++ STL headers include stdint.h before we
+ define it here, we define it on the g++ command line (in Makefile.rules). */
+#if !defined(__STDC_LIMIT_MACROS)
+# error "Must #define __STDC_LIMIT_MACROS before #including System/DataTypes.h"
+#endif
+
+#if !defined(__STDC_CONSTANT_MACROS)
+# error "Must #define __STDC_CONSTANT_MACROS before " \
+ "#including System/DataTypes.h"
+#endif
+
+/* Note that <inttypes.h> includes <stdint.h>, if this is a C99 system. */
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
+#ifdef _AIX
+#include "llvm/Support/AIXDataTypesFix.h"
+#endif
+
+/* Handle incorrect definition of uint64_t as u_int64_t */
+#ifndef HAVE_UINT64_T
+#ifdef HAVE_U_INT64_T
+typedef u_int64_t uint64_t;
+#else
+# error "Don't have a definition for uint64_t on this platform"
+#endif
+#endif
+
+#ifdef _OpenBSD_
+#define INT8_MAX 127
+#define INT8_MIN -128
+#define UINT8_MAX 255
+#define INT16_MAX 32767
+#define INT16_MIN -32768
+#define UINT16_MAX 65535
+#define INT32_MAX 2147483647
+#define INT32_MIN -2147483648
+#define UINT32_MAX 4294967295U
+#endif
+
+/* Set defaults for constants which we cannot find. */
+#if !defined(INT64_MAX)
+# define INT64_MAX 9223372036854775807LL
+#endif
+#if !defined(INT64_MIN)
+# define INT64_MIN ((-INT64_MAX)-1)
+#endif
+#if !defined(UINT64_MAX)
+# define UINT64_MAX 0xffffffffffffffffULL
+#endif
+
+#if __GNUC__ > 3
+#define END_WITH_NULL __attribute__((sentinel))
+#else
+#define END_WITH_NULL
+#endif
+
+#ifndef HUGE_VALF
+#define HUGE_VALF (float)HUGE_VAL
+#endif
+
+#endif /* SUPPORT_DATATYPES_H */
diff --git a/lib/clang/libclanganalysis/Makefile b/lib/clang/libclanganalysis/Makefile
new file mode 100644
index 0000000..40deb80
--- /dev/null
+++ b/lib/clang/libclanganalysis/Makefile
@@ -0,0 +1,37 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clanganalysis
+
+SRCDIR= tools/clang/lib/Analysis
+SRCS= AnalysisDeclContext.cpp \
+ BodyFarm.cpp \
+ CFG.cpp \
+ CFGReachabilityAnalysis.cpp \
+ CFGStmtMap.cpp \
+ CallGraph.cpp \
+ CocoaConventions.cpp \
+ Dominators.cpp \
+ FormatString.cpp \
+ LiveVariables.cpp \
+ ObjCNoReturn.cpp \
+ PostOrderCFGView.cpp \
+ PrintfFormatString.cpp \
+ ProgramPoint.cpp \
+ PseudoConstantAnalysis.cpp \
+ ReachableCode.cpp \
+ ScanfFormatString.cpp \
+ ThreadSafety.cpp \
+ UninitializedValues.cpp
+
+TGHDRS= AttrList \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticAnalysisKinds \
+ DiagnosticCommonKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangarcmigrate/Makefile b/lib/clang/libclangarcmigrate/Makefile
new file mode 100644
index 0000000..1604a50
--- /dev/null
+++ b/lib/clang/libclangarcmigrate/Makefile
@@ -0,0 +1,40 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangarcmigrate
+
+SRCDIR= tools/clang/lib/ARCMigrate
+SRCS= ARCMT.cpp \
+ ARCMTActions.cpp \
+ FileRemapper.cpp \
+ ObjCMT.cpp \
+ PlistReporter.cpp \
+ TransAPIUses.cpp \
+ TransARCAssign.cpp \
+ TransAutoreleasePool.cpp \
+ TransBlockObjCVariable.cpp \
+ TransEmptyStatementsAndDealloc.cpp \
+ TransGCAttrs.cpp \
+ TransGCCalls.cpp \
+ TransProperties.cpp \
+ TransProtectedScope.cpp \
+ TransRetainReleaseDealloc.cpp \
+ TransUnbridgedCasts.cpp \
+ TransUnusedInitDelegate.cpp \
+ TransZeroOutPropsInDealloc.cpp \
+ TransformActions.cpp \
+ Transforms.cpp
+
+TGHDRS= AttrList \
+ AttrParsedAttrList \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ DiagnosticGroups \
+ DiagnosticSemaKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangast/Makefile b/lib/clang/libclangast/Makefile
new file mode 100644
index 0000000..a867725
--- /dev/null
+++ b/lib/clang/libclangast/Makefile
@@ -0,0 +1,82 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangast
+
+SRCDIR= tools/clang/lib/AST
+SRCS= APValue.cpp \
+ ASTConsumer.cpp \
+ ASTContext.cpp \
+ ASTDiagnostic.cpp \
+ ASTDumper.cpp \
+ ASTImporter.cpp \
+ AttrImpl.cpp \
+ CXXInheritance.cpp \
+ Comment.cpp \
+ CommentBriefParser.cpp \
+ CommentCommandTraits.cpp \
+ CommentLexer.cpp \
+ CommentParser.cpp \
+ CommentSema.cpp \
+ Decl.cpp \
+ DeclBase.cpp \
+ DeclCXX.cpp \
+ DeclFriend.cpp \
+ DeclGroup.cpp \
+ DeclObjC.cpp \
+ DeclOpenMP.cpp \
+ DeclPrinter.cpp \
+ DeclTemplate.cpp \
+ DeclarationName.cpp \
+ DumpXML.cpp \
+ Expr.cpp \
+ ExprCXX.cpp \
+ ExprClassification.cpp \
+ ExprConstant.cpp \
+ ExternalASTSource.cpp \
+ InheritViz.cpp \
+ ItaniumCXXABI.cpp \
+ ItaniumMangle.cpp \
+ LambdaMangleContext.cpp \
+ Mangle.cpp \
+ MicrosoftCXXABI.cpp \
+ MicrosoftMangle.cpp \
+ NSAPI.cpp \
+ NestedNameSpecifier.cpp \
+ ParentMap.cpp \
+ RawCommentList.cpp \
+ RecordLayout.cpp \
+ RecordLayoutBuilder.cpp \
+ SelectorLocationsKind.cpp \
+ Stmt.cpp \
+ StmtIterator.cpp \
+ StmtPrinter.cpp \
+ StmtProfile.cpp \
+ StmtViz.cpp \
+ TemplateBase.cpp \
+ TemplateName.cpp \
+ Type.cpp \
+ TypeLoc.cpp \
+ TypePrinter.cpp \
+ VTTBuilder.cpp \
+ VTableBuilder.cpp
+
+TGHDRS= AttrDump \
+ AttrImpl \
+ AttrList \
+ Attrs \
+ CommentCommandInfo \
+ CommentCommandList \
+ CommentHTMLNamedCharacterReferences \
+ CommentHTMLTags \
+ CommentHTMLTagsProperties \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticASTKinds \
+ DiagnosticCommentKinds \
+ DiagnosticCommonKinds \
+ DiagnosticSemaKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangbasic/Makefile b/lib/clang/libclangbasic/Makefile
new file mode 100644
index 0000000..16bae4c
--- /dev/null
+++ b/lib/clang/libclangbasic/Makefile
@@ -0,0 +1,42 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangbasic
+
+SRCDIR= tools/clang/lib/Basic
+SRCS= Builtins.cpp \
+ CharInfo.cpp \
+ Diagnostic.cpp \
+ DiagnosticIDs.cpp \
+ FileManager.cpp \
+ FileSystemStatCache.cpp \
+ IdentifierTable.cpp \
+ LangOptions.cpp \
+ Module.cpp \
+ ObjCRuntime.cpp \
+ OpenMPKinds.cpp \
+ OperatorPrecedence.cpp \
+ SourceLocation.cpp \
+ SourceManager.cpp \
+ TargetInfo.cpp \
+ Targets.cpp \
+ TokenKinds.cpp \
+ Version.cpp \
+ VersionTuple.cpp
+
+TGHDRS= DiagnosticAnalysisKinds \
+ DiagnosticASTKinds \
+ DiagnosticCommentKinds \
+ DiagnosticCommonKinds \
+ DiagnosticDriverKinds \
+ DiagnosticFrontendKinds \
+ DiagnosticGroups \
+ DiagnosticIndexName \
+ DiagnosticLexKinds \
+ DiagnosticParseKinds \
+ DiagnosticSemaKinds \
+ DiagnosticSerializationKinds \
+ arm_neon
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangcodegen/Makefile b/lib/clang/libclangcodegen/Makefile
new file mode 100644
index 0000000..cf58049
--- /dev/null
+++ b/lib/clang/libclangcodegen/Makefile
@@ -0,0 +1,60 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangcodegen
+
+SRCDIR= tools/clang/lib/CodeGen
+SRCS= BackendUtil.cpp \
+ CGAtomic.cpp \
+ CGBlocks.cpp \
+ CGBuiltin.cpp \
+ CGCUDANV.cpp \
+ CGCUDARuntime.cpp \
+ CGCXX.cpp \
+ CGCXXABI.cpp \
+ CGCall.cpp \
+ CGClass.cpp \
+ CGCleanup.cpp \
+ CGDebugInfo.cpp \
+ CGDecl.cpp \
+ CGDeclCXX.cpp \
+ CGException.cpp \
+ CGExpr.cpp \
+ CGExprAgg.cpp \
+ CGExprCXX.cpp \
+ CGExprComplex.cpp \
+ CGExprConstant.cpp \
+ CGExprScalar.cpp \
+ CGObjC.cpp \
+ CGObjCGNU.cpp \
+ CGObjCMac.cpp \
+ CGObjCRuntime.cpp \
+ CGOpenCLRuntime.cpp \
+ CGRTTI.cpp \
+ CGRecordLayoutBuilder.cpp \
+ CGStmt.cpp \
+ CGVTT.cpp \
+ CGVTables.cpp \
+ CodeGenAction.cpp \
+ CodeGenFunction.cpp \
+ CodeGenModule.cpp \
+ CodeGenTBAA.cpp \
+ CodeGenTypes.cpp \
+ ItaniumCXXABI.cpp \
+ MicrosoftCXXABI.cpp \
+ ModuleBuilder.cpp \
+ TargetInfo.cpp
+
+TGHDRS= AttrList \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ DiagnosticFrontendKinds \
+ Intrinsics \
+ StmtNodes \
+ arm_neon
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangdriver/Makefile b/lib/clang/libclangdriver/Makefile
new file mode 100644
index 0000000..aae2a05
--- /dev/null
+++ b/lib/clang/libclangdriver/Makefile
@@ -0,0 +1,31 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangdriver
+
+SRCDIR= tools/clang/lib/Driver
+SRCS= Action.cpp \
+ Arg.cpp \
+ ArgList.cpp \
+ CC1AsOptions.cpp \
+ Compilation.cpp \
+ Driver.cpp \
+ DriverOptions.cpp \
+ Job.cpp \
+ OptTable.cpp \
+ Option.cpp \
+ Phases.cpp \
+ Tool.cpp \
+ ToolChain.cpp \
+ ToolChains.cpp \
+ Tools.cpp \
+ Types.cpp \
+ WindowsToolChain.cpp
+
+TGHDRS= CC1AsOptions \
+ DiagnosticCommonKinds \
+ DiagnosticDriverKinds \
+ Options
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangedit/Makefile b/lib/clang/libclangedit/Makefile
new file mode 100644
index 0000000..f403b00
--- /dev/null
+++ b/lib/clang/libclangedit/Makefile
@@ -0,0 +1,20 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangedit
+
+SRCDIR= tools/clang/lib/Edit
+SRCS= Commit.cpp \
+ EditedSource.cpp \
+ RewriteObjCFoundationAPI.cpp
+
+TGHDRS= AttrList \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ StmtNodes \
+ DiagnosticCommonKinds
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangfrontend/Makefile b/lib/clang/libclangfrontend/Makefile
new file mode 100644
index 0000000..4ea3556
--- /dev/null
+++ b/lib/clang/libclangfrontend/Makefile
@@ -0,0 +1,53 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangfrontend
+
+SRCDIR= tools/clang/lib/Frontend
+SRCS= ASTConsumers.cpp \
+ ASTMerge.cpp \
+ ASTUnit.cpp \
+ CacheTokens.cpp \
+ ChainedDiagnosticConsumer.cpp \
+ ChainedIncludesSource.cpp \
+ CompilerInstance.cpp \
+ CompilerInvocation.cpp \
+ CreateInvocationFromCommandLine.cpp \
+ DependencyFile.cpp \
+ DependencyGraph.cpp \
+ DiagnosticRenderer.cpp \
+ FrontendAction.cpp \
+ FrontendActions.cpp \
+ FrontendOptions.cpp \
+ HeaderIncludeGen.cpp \
+ InitHeaderSearch.cpp \
+ InitPreprocessor.cpp \
+ LangStandards.cpp \
+ LayoutOverrideSource.cpp \
+ LogDiagnosticPrinter.cpp \
+ MultiplexConsumer.cpp \
+ PrintPreprocessedOutput.cpp \
+ SerializedDiagnosticPrinter.cpp \
+ TextDiagnostic.cpp \
+ TextDiagnosticBuffer.cpp \
+ TextDiagnosticPrinter.cpp \
+ VerifyDiagnosticConsumer.cpp \
+ Warnings.cpp
+
+TGHDRS= AttrList \
+ AttrParsedAttrList \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticASTKinds \
+ DiagnosticCommonKinds \
+ DiagnosticDriverKinds \
+ DiagnosticFrontendKinds \
+ DiagnosticLexKinds \
+ DiagnosticSemaKinds \
+ Options \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangfrontendtool/Makefile b/lib/clang/libclangfrontendtool/Makefile
new file mode 100644
index 0000000..f20aa35
--- /dev/null
+++ b/lib/clang/libclangfrontendtool/Makefile
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangfrontendtool
+
+SRCDIR= tools/clang/lib/FrontendTool
+SRCS= ExecuteCompilerInvocation.cpp
+
+TGHDRS= DiagnosticCommonKinds \
+ DiagnosticFrontendKinds \
+ Options
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclanglex/Makefile b/lib/clang/libclanglex/Makefile
new file mode 100644
index 0000000..3a2873f
--- /dev/null
+++ b/lib/clang/libclanglex/Makefile
@@ -0,0 +1,35 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clanglex
+
+SRCDIR= tools/clang/lib/Lex
+SRCS= HeaderMap.cpp \
+ HeaderSearch.cpp \
+ Lexer.cpp \
+ LiteralSupport.cpp \
+ MacroArgs.cpp \
+ MacroInfo.cpp \
+ ModuleMap.cpp \
+ PPCaching.cpp \
+ PPCallbacks.cpp \
+ PPConditionalDirectiveRecord.cpp \
+ PPDirectives.cpp \
+ PPExpressions.cpp \
+ PPLexerChange.cpp \
+ PPMacroExpansion.cpp \
+ PTHLexer.cpp \
+ Pragma.cpp \
+ PreprocessingRecord.cpp \
+ Preprocessor.cpp \
+ PreprocessorLexer.cpp \
+ ScratchBuffer.cpp \
+ TokenConcatenation.cpp \
+ TokenLexer.cpp
+
+TGHDRS= AttrSpellings \
+ DiagnosticCommonKinds \
+ DiagnosticLexKinds
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangparse/Makefile b/lib/clang/libclangparse/Makefile
new file mode 100644
index 0000000..279d003
--- /dev/null
+++ b/lib/clang/libclangparse/Makefile
@@ -0,0 +1,36 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangparse
+
+SRCDIR= tools/clang/lib/Parse
+SRCS= ParseAST.cpp \
+ ParseCXXInlineMethods.cpp \
+ ParseDecl.cpp \
+ ParseDeclCXX.cpp \
+ ParseExpr.cpp \
+ ParseExprCXX.cpp \
+ ParseInit.cpp \
+ ParseObjc.cpp \
+ ParseOpenMP.cpp \
+ ParsePragma.cpp \
+ ParseStmt.cpp \
+ ParseTemplate.cpp \
+ ParseTentative.cpp \
+ Parser.cpp
+
+TGHDRS= AttrLateParsed \
+ AttrList \
+ AttrParsedAttrList \
+ AttrExprArgs \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ DiagnosticParseKinds \
+ DiagnosticSemaKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangrewritecore/Makefile b/lib/clang/libclangrewritecore/Makefile
new file mode 100644
index 0000000..80115ee
--- /dev/null
+++ b/lib/clang/libclangrewritecore/Makefile
@@ -0,0 +1,20 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangrewritecore
+
+SRCDIR= tools/clang/lib/Rewrite/Core
+SRCS= DeltaTree.cpp \
+ HTMLRewrite.cpp \
+ RewriteRope.cpp \
+ Rewriter.cpp \
+ TokenRewriter.cpp
+
+TGHDRS= AttrList \
+ Attrs \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangrewritefrontend/Makefile b/lib/clang/libclangrewritefrontend/Makefile
new file mode 100644
index 0000000..8c41669
--- /dev/null
+++ b/lib/clang/libclangrewritefrontend/Makefile
@@ -0,0 +1,26 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangrewritefrontend
+
+SRCDIR= tools/clang/lib/Rewrite/Frontend
+SRCS= FixItRewriter.cpp \
+ FrontendActions.cpp \
+ HTMLPrint.cpp \
+ InclusionRewriter.cpp \
+ RewriteMacros.cpp \
+ RewriteModernObjC.cpp \
+ RewriteObjC.cpp \
+ RewriteTest.cpp
+
+TGHDRS= AttrList \
+ AttrParsedAttrList \
+ Attrs \
+ CommentCommandList \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ DiagnosticFrontendKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangsema/Makefile b/lib/clang/libclangsema/Makefile
new file mode 100644
index 0000000..c9f56d4
--- /dev/null
+++ b/lib/clang/libclangsema/Makefile
@@ -0,0 +1,71 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangsema
+
+SRCDIR= tools/clang/lib/Sema
+SRCS= AnalysisBasedWarnings.cpp \
+ AttributeList.cpp \
+ CodeCompleteConsumer.cpp \
+ DeclSpec.cpp \
+ DelayedDiagnostic.cpp \
+ IdentifierResolver.cpp \
+ JumpDiagnostics.cpp \
+ MultiplexExternalSemaSource.cpp \
+ Scope.cpp \
+ ScopeInfo.cpp \
+ Sema.cpp \
+ SemaAccess.cpp \
+ SemaAttr.cpp \
+ SemaCXXScopeSpec.cpp \
+ SemaCast.cpp \
+ SemaChecking.cpp \
+ SemaCodeComplete.cpp \
+ SemaConsumer.cpp \
+ SemaDecl.cpp \
+ SemaDeclAttr.cpp \
+ SemaDeclCXX.cpp \
+ SemaDeclObjC.cpp \
+ SemaExceptionSpec.cpp \
+ SemaExpr.cpp \
+ SemaExprCXX.cpp \
+ SemaExprMember.cpp \
+ SemaExprObjC.cpp \
+ SemaFixItUtils.cpp \
+ SemaInit.cpp \
+ SemaLambda.cpp \
+ SemaLookup.cpp \
+ SemaObjCProperty.cpp \
+ SemaOpenMP.cpp \
+ SemaOverload.cpp \
+ SemaPseudoObject.cpp \
+ SemaStmt.cpp \
+ SemaStmtAsm.cpp \
+ SemaStmtAttr.cpp \
+ SemaTemplate.cpp \
+ SemaTemplateDeduction.cpp \
+ SemaTemplateInstantiate.cpp \
+ SemaTemplateInstantiateDecl.cpp \
+ SemaTemplateVariadic.cpp \
+ SemaType.cpp \
+ TargetAttributesSema.cpp
+
+TGHDRS= AttrList \
+ AttrParsedAttrKinds \
+ AttrParsedAttrList \
+ AttrSpellingListIndex \
+ AttrTemplateInstantiate \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticASTKinds \
+ DiagnosticCommentKinds \
+ DiagnosticCommonKinds \
+ DiagnosticParseKinds \
+ DiagnosticSemaKinds \
+ StmtNodes \
+ arm_neon
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangserialization/Makefile b/lib/clang/libclangserialization/Makefile
new file mode 100644
index 0000000..3a6a65e
--- /dev/null
+++ b/lib/clang/libclangserialization/Makefile
@@ -0,0 +1,34 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangserialization
+
+SRCDIR= tools/clang/lib/Serialization
+SRCS= ASTCommon.cpp \
+ ASTReader.cpp \
+ ASTReaderDecl.cpp \
+ ASTReaderStmt.cpp \
+ ASTWriter.cpp \
+ ASTWriterDecl.cpp \
+ ASTWriterStmt.cpp \
+ GeneratePCH.cpp \
+ GlobalModuleIndex.cpp \
+ Module.cpp \
+ ModuleManager.cpp
+
+TGHDRS= AttrList \
+ AttrPCHRead \
+ AttrPCHWrite \
+ AttrParsedAttrList \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ DiagnosticFrontendKinds \
+ DiagnosticSemaKinds \
+ DiagnosticSerializationKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangstaticanalyzercheckers/Makefile b/lib/clang/libclangstaticanalyzercheckers/Makefile
new file mode 100644
index 0000000..10968d2
--- /dev/null
+++ b/lib/clang/libclangstaticanalyzercheckers/Makefile
@@ -0,0 +1,85 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangstaticanalyzercheckers
+
+SRCDIR= tools/clang/lib/StaticAnalyzer/Checkers
+SRCS= AllocationDiagnostics.cpp \
+ AnalyzerStatsChecker.cpp \
+ ArrayBoundChecker.cpp \
+ ArrayBoundCheckerV2.cpp \
+ BasicObjCFoundationChecks.cpp \
+ BoolAssignmentChecker.cpp \
+ BuiltinFunctionChecker.cpp \
+ CStringChecker.cpp \
+ CStringSyntaxChecker.cpp \
+ CallAndMessageChecker.cpp \
+ CastSizeChecker.cpp \
+ CastToStructChecker.cpp \
+ CheckObjCDealloc.cpp \
+ CheckObjCInstMethSignature.cpp \
+ CheckSecuritySyntaxOnly.cpp \
+ CheckSizeofPointer.cpp \
+ CheckerDocumentation.cpp \
+ ChrootChecker.cpp \
+ ClangCheckers.cpp \
+ CommonBugCategories.cpp \
+ DeadStoresChecker.cpp \
+ DebugCheckers.cpp \
+ DereferenceChecker.cpp \
+ DirectIvarAssignment.cpp \
+ DivZeroChecker.cpp \
+ DynamicTypePropagation.cpp \
+ ExprInspectionChecker.cpp \
+ FixedAddressChecker.cpp \
+ GenericTaintChecker.cpp \
+ IdempotentOperationChecker.cpp \
+ IvarInvalidationChecker.cpp \
+ LLVMConventionsChecker.cpp \
+ MacOSKeychainAPIChecker.cpp \
+ MacOSXAPIChecker.cpp \
+ MallocChecker.cpp \
+ MallocOverflowSecurityChecker.cpp \
+ MallocSizeofChecker.cpp \
+ NSAutoreleasePoolChecker.cpp \
+ NSErrorChecker.cpp \
+ NonNullParamChecker.cpp \
+ NoReturnFunctionChecker.cpp \
+ ObjCAtSyncChecker.cpp \
+ ObjCContainersASTChecker.cpp \
+ ObjCContainersChecker.cpp \
+ ObjCMissingSuperCallChecker.cpp \
+ ObjCSelfInitChecker.cpp \
+ ObjCUnusedIVarsChecker.cpp \
+ PointerArithChecker.cpp \
+ PointerSubChecker.cpp \
+ PthreadLockChecker.cpp \
+ RetainCountChecker.cpp \
+ ReturnPointerRangeChecker.cpp \
+ ReturnUndefChecker.cpp \
+ SimpleStreamChecker.cpp \
+ StackAddrEscapeChecker.cpp \
+ StreamChecker.cpp \
+ TaintTesterChecker.cpp \
+ TraversalChecker.cpp \
+ UndefBranchChecker.cpp \
+ UndefCapturedBlockVarChecker.cpp \
+ UndefResultChecker.cpp \
+ UndefinedArraySubscriptChecker.cpp \
+ UndefinedAssignmentChecker.cpp \
+ UnixAPIChecker.cpp \
+ UnreachableCodeChecker.cpp \
+ VLASizeChecker.cpp \
+ VirtualCallChecker.cpp
+
+TGHDRS= AttrList \
+ Attrs \
+ Checkers \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangstaticanalyzercore/Makefile b/lib/clang/libclangstaticanalyzercore/Makefile
new file mode 100644
index 0000000..eda991e
--- /dev/null
+++ b/lib/clang/libclangstaticanalyzercore/Makefile
@@ -0,0 +1,55 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangstaticanalyzercore
+
+SRCDIR= tools/clang/lib/StaticAnalyzer/Core
+SRCS= APSIntType.cpp \
+ AnalysisManager.cpp \
+ AnalyzerOptions.cpp \
+ BasicValueFactory.cpp \
+ BlockCounter.cpp \
+ BugReporter.cpp \
+ BugReporterVisitors.cpp \
+ CallEvent.cpp \
+ Checker.cpp \
+ CheckerContext.cpp \
+ CheckerHelpers.cpp \
+ CheckerManager.cpp \
+ CheckerRegistry.cpp \
+ ConstraintManager.cpp \
+ CoreEngine.cpp \
+ Environment.cpp \
+ ExplodedGraph.cpp \
+ ExprEngine.cpp \
+ ExprEngineC.cpp \
+ ExprEngineCXX.cpp \
+ ExprEngineCallAndReturn.cpp \
+ ExprEngineObjC.cpp \
+ FunctionSummary.cpp \
+ HTMLDiagnostics.cpp \
+ MemRegion.cpp \
+ PathDiagnostic.cpp \
+ PlistDiagnostics.cpp \
+ ProgramState.cpp \
+ RangeConstraintManager.cpp \
+ RegionStore.cpp \
+ SValBuilder.cpp \
+ SVals.cpp \
+ SimpleConstraintManager.cpp \
+ SimpleSValBuilder.cpp \
+ Store.cpp \
+ SubEngine.cpp \
+ SymbolManager.cpp \
+ TextPathDiagnostics.cpp
+
+TGHDRS= AttrList \
+ Attrs \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libclangstaticanalyzerfrontend/Makefile b/lib/clang/libclangstaticanalyzerfrontend/Makefile
new file mode 100644
index 0000000..de7b326
--- /dev/null
+++ b/lib/clang/libclangstaticanalyzerfrontend/Makefile
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= clangstaticanalyzerfrontend
+
+SRCDIR= tools/clang/lib/StaticAnalyzer/Frontend
+SRCS= AnalysisConsumer.cpp \
+ CheckerRegistration.cpp \
+ FrontendActions.cpp
+
+TGHDRS= AttrList \
+ Attrs \
+ Checkers \
+ CommentCommandList \
+ CommentNodes \
+ DeclNodes \
+ DiagnosticCommonKinds \
+ DiagnosticFrontendKinds \
+ StmtNodes
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmanalysis/Makefile b/lib/clang/libllvmanalysis/Makefile
new file mode 100644
index 0000000..1bd8e9e
--- /dev/null
+++ b/lib/clang/libllvmanalysis/Makefile
@@ -0,0 +1,73 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmanalysis
+
+SRCDIR= lib/Analysis
+SRCS= AliasAnalysis.cpp \
+ AliasAnalysisCounter.cpp \
+ AliasAnalysisEvaluator.cpp \
+ AliasDebugger.cpp \
+ AliasSetTracker.cpp \
+ Analysis.cpp \
+ BasicAliasAnalysis.cpp \
+ BranchProbabilityInfo.cpp \
+ CFGPrinter.cpp \
+ CaptureTracking.cpp \
+ CodeMetrics.cpp \
+ ConstantFolding.cpp \
+ CostModel.cpp \
+ DependenceAnalysis.cpp \
+ DomPrinter.cpp \
+ DominanceFrontier.cpp \
+ IVUsers.cpp \
+ InstCount.cpp \
+ InstructionSimplify.cpp \
+ Interval.cpp \
+ IntervalPartition.cpp \
+ LazyValueInfo.cpp \
+ LibCallAliasAnalysis.cpp \
+ LibCallSemantics.cpp \
+ Lint.cpp \
+ Loads.cpp \
+ LoopInfo.cpp \
+ LoopPass.cpp \
+ MemDepPrinter.cpp \
+ MemoryBuiltins.cpp \
+ MemoryDependenceAnalysis.cpp \
+ ModuleDebugInfoPrinter.cpp \
+ NoAliasAnalysis.cpp \
+ PHITransAddr.cpp \
+ PathNumbering.cpp \
+ PathProfileInfo.cpp \
+ PathProfileVerifier.cpp \
+ PostDominators.cpp \
+ ProfileDataLoader.cpp \
+ ProfileDataLoaderPass.cpp \
+ ProfileEstimatorPass.cpp \
+ ProfileInfo.cpp \
+ ProfileInfoLoader.cpp \
+ ProfileInfoLoaderPass.cpp \
+ ProfileVerifierPass.cpp \
+ PtrUseVisitor.cpp \
+ RegionInfo.cpp \
+ RegionPass.cpp \
+ RegionPrinter.cpp \
+ ScalarEvolution.cpp \
+ ScalarEvolutionAliasAnalysis.cpp \
+ ScalarEvolutionExpander.cpp \
+ ScalarEvolutionNormalization.cpp \
+ SparsePropagation.cpp \
+ TargetTransformInfo.cpp \
+ Trace.cpp \
+ TypeBasedAliasAnalysis.cpp \
+ ValueTracking.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= BlockFrequencyInfo.cpp
+.endif
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmarchive/Makefile b/lib/clang/libllvmarchive/Makefile
new file mode 100644
index 0000000..d553405
--- /dev/null
+++ b/lib/clang/libllvmarchive/Makefile
@@ -0,0 +1,12 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmarchive
+
+SRCDIR= lib/Archive
+SRCS= Archive.cpp \
+ ArchiveReader.cpp \
+ ArchiveWriter.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmarmasmparser/Makefile b/lib/clang/libllvmarmasmparser/Makefile
new file mode 100644
index 0000000..134d8a2
--- /dev/null
+++ b/lib/clang/libllvmarmasmparser/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmarmasmparser
+
+SRCDIR= lib/Target/ARM/AsmParser
+INCDIR= lib/Target/ARM
+SRCS= ARMAsmParser.cpp
+
+TGHDRS= ARMGenAsmMatcher \
+ ARMGenInstrInfo \
+ ARMGenRegisterInfo \
+ ARMGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmarmcodegen/Makefile b/lib/clang/libllvmarmcodegen/Makefile
new file mode 100644
index 0000000..db57418
--- /dev/null
+++ b/lib/clang/libllvmarmcodegen/Makefile
@@ -0,0 +1,53 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmarmcodegen
+
+SRCDIR= lib/Target/ARM
+SRCS= A15SDOptimizer.cpp \
+ ARMAsmPrinter.cpp \
+ ARMBaseInstrInfo.cpp \
+ ARMBaseRegisterInfo.cpp \
+ ARMCodeEmitter.cpp \
+ ARMConstantIslandPass.cpp \
+ ARMConstantPoolValue.cpp \
+ ARMExpandPseudoInsts.cpp \
+ ARMFastISel.cpp \
+ ARMFrameLowering.cpp \
+ ARMHazardRecognizer.cpp \
+ ARMISelDAGToDAG.cpp \
+ ARMISelLowering.cpp \
+ ARMInstrInfo.cpp \
+ ARMJITInfo.cpp \
+ ARMLoadStoreOptimizer.cpp \
+ ARMMCInstLower.cpp \
+ ARMMachineFunctionInfo.cpp \
+ ARMRegisterInfo.cpp \
+ ARMSelectionDAGInfo.cpp \
+ ARMSubtarget.cpp \
+ ARMTargetMachine.cpp \
+ ARMTargetObjectFile.cpp \
+ ARMTargetTransformInfo.cpp \
+ MLxExpansionPass.cpp \
+ Thumb1FrameLowering.cpp \
+ Thumb1InstrInfo.cpp \
+ Thumb1RegisterInfo.cpp \
+ Thumb2ITBlockPass.cpp \
+ Thumb2InstrInfo.cpp \
+ Thumb2RegisterInfo.cpp \
+ Thumb2SizeReduction.cpp
+
+TGHDRS= ARMGenAsmWriter \
+ ARMGenCallingConv \
+ ARMGenCodeEmitter \
+ ARMGenDAGISel \
+ ARMGenFastISel \
+ ARMGenInstrInfo \
+ ARMGenMCCodeEmitter \
+ ARMGenMCPseudoLowering \
+ ARMGenRegisterInfo \
+ ARMGenSubtargetInfo \
+ Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmarmdesc/Makefile b/lib/clang/libllvmarmdesc/Makefile
new file mode 100644
index 0000000..777e669
--- /dev/null
+++ b/lib/clang/libllvmarmdesc/Makefile
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmarmdesc
+
+SRCDIR= lib/Target/ARM/MCTargetDesc
+SRCS= ARMAsmBackend.cpp \
+ ARMELFObjectWriter.cpp \
+ ARMELFStreamer.cpp \
+ ARMMachObjectWriter.cpp \
+ ARMMCAsmInfo.cpp \
+ ARMMCCodeEmitter.cpp \
+ ARMMCExpr.cpp \
+ ARMMCTargetDesc.cpp \
+ ARMUnwindOpAsm.cpp
+CFLAGS+= -I${LLVM_SRCS}/${SRCDIR}/..
+
+TGHDRS= ARMGenInstrInfo \
+ ARMGenMCCodeEmitter \
+ ARMGenRegisterInfo \
+ ARMGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmarmdisassembler/Makefile b/lib/clang/libllvmarmdisassembler/Makefile
new file mode 100644
index 0000000..6af7265
--- /dev/null
+++ b/lib/clang/libllvmarmdisassembler/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmarmdisassembler
+
+SRCDIR= lib/Target/ARM/Disassembler
+INCDIR= lib/Target/ARM
+SRCS= ARMDisassembler.cpp
+
+TGHDRS= ARMGenDisassemblerTables \
+ ARMGenInstrInfo \
+ ARMGenRegisterInfo \
+ ARMGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmarminfo/Makefile b/lib/clang/libllvmarminfo/Makefile
new file mode 100644
index 0000000..1da434c
--- /dev/null
+++ b/lib/clang/libllvmarminfo/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmarminfo
+
+SRCDIR= lib/Target/ARM/TargetInfo
+INCDIR= lib/Target/ARM
+SRCS= ARMTargetInfo.cpp
+
+TGHDRS= ARMGenInstrInfo \
+ ARMGenRegisterInfo \
+ ARMGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmarminstprinter/Makefile b/lib/clang/libllvmarminstprinter/Makefile
new file mode 100644
index 0000000..67b8fee
--- /dev/null
+++ b/lib/clang/libllvmarminstprinter/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmarminstprinter
+
+SRCDIR= lib/Target/ARM/InstPrinter
+INCDIR= lib/Target/ARM
+SRCS= ARMInstPrinter.cpp
+
+TGHDRS= ARMGenAsmWriter \
+ ARMGenInstrInfo \
+ ARMGenRegisterInfo \
+ ARMGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmasmparser/Makefile b/lib/clang/libllvmasmparser/Makefile
new file mode 100644
index 0000000..bb8f0df
--- /dev/null
+++ b/lib/clang/libllvmasmparser/Makefile
@@ -0,0 +1,12 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmasmparser
+
+SRCDIR= lib/AsmParser
+SRCS= LLLexer.cpp \
+ LLParser.cpp \
+ Parser.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmasmprinter/Makefile b/lib/clang/libllvmasmprinter/Makefile
new file mode 100644
index 0000000..5df0898
--- /dev/null
+++ b/lib/clang/libllvmasmprinter/Makefile
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmasmprinter
+
+SRCDIR= lib/CodeGen/AsmPrinter
+SRCS= ARMException.cpp \
+ AsmPrinter.cpp \
+ AsmPrinterDwarf.cpp \
+ AsmPrinterInlineAsm.cpp \
+ DIE.cpp \
+ DwarfAccelTable.cpp \
+ DwarfCFIException.cpp \
+ DwarfCompileUnit.cpp \
+ DwarfDebug.cpp \
+ DwarfException.cpp \
+ ErlangGCPrinter.cpp \
+ OcamlGCPrinter.cpp \
+ Win64Exception.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmbitreader/Makefile b/lib/clang/libllvmbitreader/Makefile
new file mode 100644
index 0000000..6add8a3
--- /dev/null
+++ b/lib/clang/libllvmbitreader/Makefile
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmbitreader
+
+SRCDIR= lib/Bitcode/Reader
+SRCS= BitReader.cpp \
+ BitcodeReader.cpp \
+ BitstreamReader.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmbitwriter/Makefile b/lib/clang/libllvmbitwriter/Makefile
new file mode 100644
index 0000000..a99d1ac
--- /dev/null
+++ b/lib/clang/libllvmbitwriter/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmbitwriter
+
+SRCDIR= lib/Bitcode/Writer
+SRCS= BitWriter.cpp \
+ BitcodeWriter.cpp \
+ BitcodeWriterPass.cpp \
+ ValueEnumerator.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmcodegen/Makefile b/lib/clang/libllvmcodegen/Makefile
new file mode 100644
index 0000000..1d41a6a
--- /dev/null
+++ b/lib/clang/libllvmcodegen/Makefile
@@ -0,0 +1,121 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmcodegen
+
+SRCDIR= lib/CodeGen
+SRCS= AggressiveAntiDepBreaker.cpp \
+ AllocationOrder.cpp \
+ Analysis.cpp \
+ BasicTargetTransformInfo.cpp \
+ BranchFolding.cpp \
+ CalcSpillWeights.cpp \
+ CallingConvLower.cpp \
+ CodeGen.cpp \
+ CriticalAntiDepBreaker.cpp \
+ DFAPacketizer.cpp \
+ DeadMachineInstructionElim.cpp \
+ DwarfEHPrepare.cpp \
+ EarlyIfConversion.cpp \
+ EdgeBundles.cpp \
+ ErlangGC.cpp \
+ ExecutionDepsFix.cpp \
+ ExpandISelPseudos.cpp \
+ ExpandPostRAPseudos.cpp \
+ GCMetadata.cpp \
+ GCMetadataPrinter.cpp \
+ GCStrategy.cpp \
+ IfConversion.cpp \
+ InlineSpiller.cpp \
+ InterferenceCache.cpp \
+ IntrinsicLowering.cpp \
+ JITCodeEmitter.cpp \
+ LLVMTargetMachine.cpp \
+ LatencyPriorityQueue.cpp \
+ LexicalScopes.cpp \
+ LiveDebugVariables.cpp \
+ LiveInterval.cpp \
+ LiveIntervalAnalysis.cpp \
+ LiveIntervalUnion.cpp \
+ LiveRangeCalc.cpp \
+ LiveRangeEdit.cpp \
+ LiveRegMatrix.cpp \
+ LiveStackAnalysis.cpp \
+ LiveVariables.cpp \
+ LocalStackSlotAllocation.cpp \
+ MachineBasicBlock.cpp \
+ MachineBlockFrequencyInfo.cpp \
+ MachineBlockPlacement.cpp \
+ MachineBranchProbabilityInfo.cpp \
+ MachineCSE.cpp \
+ MachineCodeEmitter.cpp \
+ MachineCopyPropagation.cpp \
+ MachineDominators.cpp \
+ MachineFunction.cpp \
+ MachineFunctionAnalysis.cpp \
+ MachineFunctionPass.cpp \
+ MachineFunctionPrinterPass.cpp \
+ MachineInstr.cpp \
+ MachineInstrBundle.cpp \
+ MachineLICM.cpp \
+ MachineLoopInfo.cpp \
+ MachineModuleInfo.cpp \
+ MachineModuleInfoImpls.cpp \
+ MachinePassRegistry.cpp \
+ MachinePostDominators.cpp \
+ MachineRegisterInfo.cpp \
+ MachineSSAUpdater.cpp \
+ MachineScheduler.cpp \
+ MachineSink.cpp \
+ MachineTraceMetrics.cpp \
+ MachineVerifier.cpp \
+ OcamlGC.cpp \
+ OptimizePHIs.cpp \
+ PHIElimination.cpp \
+ PHIEliminationUtils.cpp \
+ Passes.cpp \
+ PeepholeOptimizer.cpp \
+ PostRASchedulerList.cpp \
+ ProcessImplicitDefs.cpp \
+ PrologEpilogInserter.cpp \
+ PseudoSourceValue.cpp \
+ RegAllocBase.cpp \
+ RegAllocBasic.cpp \
+ RegAllocFast.cpp \
+ RegAllocGreedy.cpp \
+ RegAllocPBQP.cpp \
+ RegisterClassInfo.cpp \
+ RegisterCoalescer.cpp \
+ RegisterPressure.cpp \
+ RegisterScavenging.cpp \
+ ScheduleDAG.cpp \
+ ScheduleDAGInstrs.cpp \
+ ScheduleDAGPrinter.cpp \
+ ScoreboardHazardRecognizer.cpp \
+ ShadowStackGC.cpp \
+ ShrinkWrapping.cpp \
+ SjLjEHPrepare.cpp \
+ SlotIndexes.cpp \
+ SpillPlacement.cpp \
+ Spiller.cpp \
+ SplitKit.cpp \
+ StackColoring.cpp \
+ StackProtector.cpp \
+ StackSlotColoring.cpp \
+ StrongPHIElimination.cpp \
+ TailDuplication.cpp \
+ TargetFrameLoweringImpl.cpp \
+ TargetInstrInfo.cpp \
+ TargetLoweringBase.cpp \
+ TargetLoweringObjectFileImpl.cpp \
+ TargetOptionsImpl.cpp \
+ TargetRegisterInfo.cpp \
+ TargetSchedule.cpp \
+ TwoAddressInstructionPass.cpp \
+ UnreachableBlockElim.cpp \
+ VirtRegMap.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmcore/Makefile b/lib/clang/libllvmcore/Makefile
new file mode 100644
index 0000000..4cbf3d6
--- /dev/null
+++ b/lib/clang/libllvmcore/Makefile
@@ -0,0 +1,49 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmcore
+
+SRCDIR= lib/IR
+SRCS= AsmWriter.cpp \
+ Attributes.cpp \
+ AutoUpgrade.cpp \
+ BasicBlock.cpp \
+ ConstantFold.cpp \
+ Constants.cpp \
+ Core.cpp \
+ DIBuilder.cpp \
+ DataLayout.cpp \
+ DebugInfo.cpp \
+ DebugLoc.cpp \
+ Dominators.cpp \
+ Function.cpp \
+ GCOV.cpp \
+ GVMaterializer.cpp \
+ Globals.cpp \
+ IRBuilder.cpp \
+ InlineAsm.cpp \
+ Instruction.cpp \
+ Instructions.cpp \
+ IntrinsicInst.cpp \
+ LLVMContext.cpp \
+ LLVMContextImpl.cpp \
+ LeakDetector.cpp \
+ Metadata.cpp \
+ Module.cpp \
+ Pass.cpp \
+ PassManager.cpp \
+ PassRegistry.cpp \
+ PrintModulePass.cpp \
+ Type.cpp \
+ TypeFinder.cpp \
+ Use.cpp \
+ User.cpp \
+ Value.cpp \
+ ValueSymbolTable.cpp \
+ ValueTypes.cpp \
+ Verifier.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmdebuginfo/Makefile b/lib/clang/libllvmdebuginfo/Makefile
new file mode 100644
index 0000000..72218ad
--- /dev/null
+++ b/lib/clang/libllvmdebuginfo/Makefile
@@ -0,0 +1,21 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmdebuginfo
+
+SRCDIR= lib/DebugInfo
+SRCS= DIContext.cpp \
+ DWARFAbbreviationDeclaration.cpp \
+ DWARFCompileUnit.cpp \
+ DWARFContext.cpp \
+ DWARFDebugAbbrev.cpp \
+ DWARFDebugArangeSet.cpp \
+ DWARFDebugAranges.cpp \
+ DWARFDebugFrame.cpp \
+ DWARFDebugInfoEntry.cpp \
+ DWARFDebugLine.cpp \
+ DWARFDebugRangeList.cpp \
+ DWARFFormValue.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmexecutionengine/Makefile b/lib/clang/libllvmexecutionengine/Makefile
new file mode 100644
index 0000000..3ec39c7
--- /dev/null
+++ b/lib/clang/libllvmexecutionengine/Makefile
@@ -0,0 +1,12 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmexecutionengine
+
+SRCDIR= lib/ExecutionEngine
+SRCS= ExecutionEngine.cpp \
+ ExecutionEngineBindings.cpp \
+ TargetSelect.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvminstcombine/Makefile b/lib/clang/libllvminstcombine/Makefile
new file mode 100644
index 0000000..3752aef
--- /dev/null
+++ b/lib/clang/libllvminstcombine/Makefile
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvminstcombine
+
+SRCDIR= lib/Transforms/InstCombine
+SRCS= InstCombineAddSub.cpp \
+ InstCombineAndOrXor.cpp \
+ InstCombineCalls.cpp \
+ InstCombineCasts.cpp \
+ InstCombineCompares.cpp \
+ InstCombineLoadStoreAlloca.cpp \
+ InstCombineMulDivRem.cpp \
+ InstCombinePHI.cpp \
+ InstCombineSelect.cpp \
+ InstCombineShifts.cpp \
+ InstCombineSimplifyDemanded.cpp \
+ InstCombineVectorOps.cpp \
+ InstructionCombining.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvminstrumentation/Makefile b/lib/clang/libllvminstrumentation/Makefile
new file mode 100644
index 0000000..e5e8b59
--- /dev/null
+++ b/lib/clang/libllvminstrumentation/Makefile
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvminstrumentation
+
+SRCDIR= lib/Transforms/Instrumentation
+SRCS= AddressSanitizer.cpp \
+ BlackList.cpp \
+ BoundsChecking.cpp \
+ EdgeProfiling.cpp \
+ GCOVProfiling.cpp \
+ MemorySanitizer.cpp \
+ Instrumentation.cpp \
+ OptimalEdgeProfiling.cpp \
+ PathProfiling.cpp \
+ ProfilingUtils.cpp \
+ ThreadSanitizer.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvminterpreter/Makefile b/lib/clang/libllvminterpreter/Makefile
new file mode 100644
index 0000000..06fcca4
--- /dev/null
+++ b/lib/clang/libllvminterpreter/Makefile
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvminterpreter
+
+SRCDIR= lib/ExecutionEngine/Interpreter
+SRCS= Execution.cpp \
+ ExternalFunctions.cpp \
+ Interpreter.cpp \
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmipa/Makefile b/lib/clang/libllvmipa/Makefile
new file mode 100644
index 0000000..85b75af
--- /dev/null
+++ b/lib/clang/libllvmipa/Makefile
@@ -0,0 +1,21 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmipa
+
+SRCDIR= lib/Analysis/IPA
+SRCS= CallGraph.cpp \
+ CallGraphSCCPass.cpp \
+ CallPrinter.cpp \
+ FindUsedTypes.cpp \
+ GlobalsModRef.cpp \
+ InlineCost.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= IPA.cpp
+.endif
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmipo/Makefile b/lib/clang/libllvmipo/Makefile
new file mode 100644
index 0000000..b1e9016
--- /dev/null
+++ b/lib/clang/libllvmipo/Makefile
@@ -0,0 +1,35 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmipo
+
+SRCDIR= lib/Transforms/IPO
+SRCS= ArgumentPromotion.cpp \
+ BarrierNoopPass.cpp \
+ ConstantMerge.cpp \
+ DeadArgumentElimination.cpp \
+ ExtractGV.cpp \
+ FunctionAttrs.cpp \
+ GlobalDCE.cpp \
+ GlobalOpt.cpp \
+ IPConstantPropagation.cpp \
+ InlineAlways.cpp \
+ InlineSimple.cpp \
+ Inliner.cpp \
+ Internalize.cpp \
+ LoopExtractor.cpp \
+ MergeFunctions.cpp \
+ PartialInlining.cpp \
+ PassManagerBuilder.cpp \
+ PruneEH.cpp \
+ StripDeadPrototypes.cpp \
+ StripSymbols.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= IPO.cpp
+.endif
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmirreader/Makefile b/lib/clang/libllvmirreader/Makefile
new file mode 100644
index 0000000..d9f7e69
--- /dev/null
+++ b/lib/clang/libllvmirreader/Makefile
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmirreader
+
+SRCDIR= lib/IRReader
+SRCS= IRReader.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmjit/Makefile b/lib/clang/libllvmjit/Makefile
new file mode 100644
index 0000000..682f704
--- /dev/null
+++ b/lib/clang/libllvmjit/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmjit
+
+SRCDIR= lib/ExecutionEngine/JIT
+SRCS= JIT.cpp \
+ JITDwarfEmitter.cpp \
+ JITEmitter.cpp \
+ JITMemoryManager.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmlinker/Makefile b/lib/clang/libllvmlinker/Makefile
new file mode 100644
index 0000000..711b369
--- /dev/null
+++ b/lib/clang/libllvmlinker/Makefile
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmlinker
+
+SRCDIR= lib/Linker
+SRCS= LinkModules.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmc/Makefile b/lib/clang/libllvmmc/Makefile
new file mode 100644
index 0000000..3986ba6
--- /dev/null
+++ b/lib/clang/libllvmmc/Makefile
@@ -0,0 +1,55 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmc
+
+SRCDIR= lib/MC
+SRCS= ELFObjectWriter.cpp \
+ MCAsmBackend.cpp \
+ MCAsmInfo.cpp \
+ MCAsmInfoCOFF.cpp \
+ MCAsmInfoDarwin.cpp \
+ MCAsmStreamer.cpp \
+ MCAssembler.cpp \
+ MCAtom.cpp \
+ MCCodeEmitter.cpp \
+ MCCodeGenInfo.cpp \
+ MCContext.cpp \
+ MCDwarf.cpp \
+ MCELF.cpp \
+ MCELFObjectTargetWriter.cpp \
+ MCELFStreamer.cpp \
+ MCExpr.cpp \
+ MCInst.cpp \
+ MCInstPrinter.cpp \
+ MCInstrAnalysis.cpp \
+ MCLabel.cpp \
+ MCMachOStreamer.cpp \
+ MCMachObjectTargetWriter.cpp \
+ MCModule.cpp \
+ MCNullStreamer.cpp \
+ MCObjectFileInfo.cpp \
+ MCObjectStreamer.cpp \
+ MCObjectWriter.cpp \
+ MCPureStreamer.cpp \
+ MCRegisterInfo.cpp \
+ MCSection.cpp \
+ MCSectionCOFF.cpp \
+ MCSectionELF.cpp \
+ MCSectionMachO.cpp \
+ MCStreamer.cpp \
+ MCSubtargetInfo.cpp \
+ MCSymbol.cpp \
+ MCValue.cpp \
+ MCWin64EH.cpp \
+ MachObjectWriter.cpp \
+ SubtargetFeature.cpp \
+ WinCOFFObjectWriter.cpp \
+ WinCOFFStreamer.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= MCDisassembler.cpp
+.endif
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmcdisassembler/Makefile b/lib/clang/libllvmmcdisassembler/Makefile
new file mode 100644
index 0000000..cfcf919
--- /dev/null
+++ b/lib/clang/libllvmmcdisassembler/Makefile
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmcdisassembler
+
+SRCDIR= lib/MC/MCDisassembler
+SRCS= Disassembler.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmcjit/Makefile b/lib/clang/libllvmmcjit/Makefile
new file mode 100644
index 0000000..ea3cf07
--- /dev/null
+++ b/lib/clang/libllvmmcjit/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmcjit
+
+SRCDIR= lib/ExecutionEngine/MCJIT
+SRCS= MCJIT.cpp \
+ SectionMemoryManager.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmcparser/Makefile b/lib/clang/libllvmmcparser/Makefile
new file mode 100644
index 0000000..b39926a
--- /dev/null
+++ b/lib/clang/libllvmmcparser/Makefile
@@ -0,0 +1,18 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmcparser
+
+SRCDIR= lib/MC/MCParser
+SRCS= AsmLexer.cpp \
+ AsmParser.cpp \
+ COFFAsmParser.cpp \
+ DarwinAsmParser.cpp \
+ ELFAsmParser.cpp \
+ MCAsmLexer.cpp \
+ MCAsmParser.cpp \
+ MCAsmParserExtension.cpp \
+ MCTargetAsmParser.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmipsasmparser/Makefile b/lib/clang/libllvmmipsasmparser/Makefile
new file mode 100644
index 0000000..0572f8d
--- /dev/null
+++ b/lib/clang/libllvmmipsasmparser/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmipsasmparser
+
+SRCDIR= lib/Target/Mips/AsmParser
+INCDIR= lib/Target/Mips
+SRCS= MipsAsmParser.cpp
+
+TGHDRS= MipsGenAsmMatcher \
+ MipsGenInstrInfo \
+ MipsGenRegisterInfo \
+ MipsGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmipscodegen/Makefile b/lib/clang/libllvmmipscodegen/Makefile
new file mode 100644
index 0000000..e5a99c9
--- /dev/null
+++ b/lib/clang/libllvmmipscodegen/Makefile
@@ -0,0 +1,49 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmipscodegen
+
+SRCDIR= lib/Target/Mips
+SRCS= Mips16FrameLowering.cpp \
+ Mips16ISelDAGToDAG.cpp \
+ Mips16ISelLowering.cpp \
+ Mips16InstrInfo.cpp \
+ Mips16RegisterInfo.cpp \
+ MipsAnalyzeImmediate.cpp \
+ MipsAsmPrinter.cpp \
+ MipsCodeEmitter.cpp \
+ MipsConstantIslandPass.cpp \
+ MipsDelaySlotFiller.cpp \
+ MipsFrameLowering.cpp \
+ MipsISelDAGToDAG.cpp \
+ MipsISelLowering.cpp \
+ MipsInstrInfo.cpp \
+ MipsJITInfo.cpp \
+ MipsLongBranch.cpp \
+ MipsMCInstLower.cpp \
+ MipsMachineFunction.cpp \
+ MipsModuleISelDAGToDAG.cpp \
+ MipsOs16.cpp \
+ MipsRegisterInfo.cpp \
+ MipsSEFrameLowering.cpp \
+ MipsSEISelDAGToDAG.cpp \
+ MipsSEISelLowering.cpp \
+ MipsSEInstrInfo.cpp \
+ MipsSERegisterInfo.cpp \
+ MipsSelectionDAGInfo.cpp \
+ MipsSubtarget.cpp \
+ MipsTargetMachine.cpp \
+ MipsTargetObjectFile.cpp
+
+TGHDRS= Intrinsics \
+ MipsGenAsmWriter \
+ MipsGenCallingConv \
+ MipsGenCodeEmitter \
+ MipsGenDAGISel \
+ MipsGenInstrInfo \
+ MipsGenMCPseudoLowering \
+ MipsGenRegisterInfo \
+ MipsGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmipsdesc/Makefile b/lib/clang/libllvmmipsdesc/Makefile
new file mode 100644
index 0000000..c5e60c6
--- /dev/null
+++ b/lib/clang/libllvmmipsdesc/Makefile
@@ -0,0 +1,23 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmipsdesc
+
+SRCDIR= lib/Target/Mips/MCTargetDesc
+SRCS= MipsAsmBackend.cpp \
+ MipsDirectObjLower.cpp \
+ MipsELFObjectWriter.cpp \
+ MipsELFStreamer.cpp \
+ MipsMCAsmInfo.cpp \
+ MipsMCCodeEmitter.cpp \
+ MipsMCTargetDesc.cpp \
+ MipsReginfo.cpp
+CFLAGS+= -I${LLVM_SRCS}/${SRCDIR}/..
+
+TGHDRS= MipsGenInstrInfo \
+ MipsGenMCCodeEmitter \
+ MipsGenRegisterInfo \
+ MipsGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmipsdisassembler/Makefile b/lib/clang/libllvmmipsdisassembler/Makefile
new file mode 100644
index 0000000..41d2062
--- /dev/null
+++ b/lib/clang/libllvmmipsdisassembler/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmipsdisassembler
+
+SRCDIR= lib/Target/Mips/Disassembler
+INCDIR= lib/Target/Mips
+SRCS= MipsDisassembler.cpp
+
+TGHDRS= MipsGenDisassemblerTables \
+ MipsGenInstrInfo \
+ MipsGenRegisterInfo \
+ MipsGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmipsinfo/Makefile b/lib/clang/libllvmmipsinfo/Makefile
new file mode 100644
index 0000000..c65c8c8
--- /dev/null
+++ b/lib/clang/libllvmmipsinfo/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmipsinfo
+
+SRCDIR= lib/Target/Mips/TargetInfo
+INCDIR= lib/Target/Mips
+SRCS= MipsTargetInfo.cpp
+
+TGHDRS= MipsGenInstrInfo \
+ MipsGenRegisterInfo \
+ MipsGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmmipsinstprinter/Makefile b/lib/clang/libllvmmipsinstprinter/Makefile
new file mode 100644
index 0000000..39df7cc
--- /dev/null
+++ b/lib/clang/libllvmmipsinstprinter/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmmipsinstprinter
+
+SRCDIR= lib/Target/Mips/InstPrinter
+INCDIR= lib/Target/Mips
+SRCS= MipsInstPrinter.cpp
+
+TGHDRS= MipsGenAsmWriter \
+ MipsGenInstrInfo \
+ MipsGenRegisterInfo \
+ MipsGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmobjcarcopts/Makefile b/lib/clang/libllvmobjcarcopts/Makefile
new file mode 100644
index 0000000..5c47aa8
--- /dev/null
+++ b/lib/clang/libllvmobjcarcopts/Makefile
@@ -0,0 +1,20 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmobjcarcopts
+
+SRCDIR= lib/Transforms/ObjCARC
+SRCS= ObjCARC.cpp \
+ ObjCARCOpts.cpp \
+ ObjCARCExpand.cpp \
+ ObjCARCAPElim.cpp \
+ ObjCARCAliasAnalysis.cpp \
+ ObjCARCUtil.cpp \
+ ObjCARCContract.cpp \
+ DependencyAnalysis.cpp \
+ ProvenanceAnalysis.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmobject/Makefile b/lib/clang/libllvmobject/Makefile
new file mode 100644
index 0000000..7358c13
--- /dev/null
+++ b/lib/clang/libllvmobject/Makefile
@@ -0,0 +1,17 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmobject
+
+SRCDIR= lib/Object
+SRCS= Archive.cpp \
+ Binary.cpp \
+ COFFObjectFile.cpp \
+ ELFObjectFile.cpp \
+ Error.cpp \
+ MachOObjectFile.cpp \
+ Object.cpp \
+ ObjectFile.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmpowerpccodegen/Makefile b/lib/clang/libllvmpowerpccodegen/Makefile
new file mode 100644
index 0000000..0c77b5c
--- /dev/null
+++ b/lib/clang/libllvmpowerpccodegen/Makefile
@@ -0,0 +1,35 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmpowerpccodegen
+
+SRCDIR= lib/Target/PowerPC
+SRCS= PPCAsmPrinter.cpp \
+ PPCBranchSelector.cpp \
+ PPCCTRLoops.cpp \
+ PPCCodeEmitter.cpp \
+ PPCFrameLowering.cpp \
+ PPCHazardRecognizers.cpp \
+ PPCISelDAGToDAG.cpp \
+ PPCISelLowering.cpp \
+ PPCInstrInfo.cpp \
+ PPCJITInfo.cpp \
+ PPCMCInstLower.cpp \
+ PPCMachineFunctionInfo.cpp \
+ PPCRegisterInfo.cpp \
+ PPCSelectionDAGInfo.cpp \
+ PPCSubtarget.cpp \
+ PPCTargetMachine.cpp \
+ PPCTargetTransformInfo.cpp
+
+TGHDRS= Intrinsics \
+ PPCGenCallingConv \
+ PPCGenCodeEmitter \
+ PPCGenDAGISel \
+ PPCGenInstrInfo \
+ PPCGenMCCodeEmitter \
+ PPCGenRegisterInfo \
+ PPCGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmpowerpcdesc/Makefile b/lib/clang/libllvmpowerpcdesc/Makefile
new file mode 100644
index 0000000..e48b484
--- /dev/null
+++ b/lib/clang/libllvmpowerpcdesc/Makefile
@@ -0,0 +1,21 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmpowerpcdesc
+
+SRCDIR= lib/Target/PowerPC/MCTargetDesc
+SRCS= PPCAsmBackend.cpp \
+ PPCMCAsmInfo.cpp \
+ PPCMCCodeEmitter.cpp \
+ PPCMCTargetDesc.cpp \
+ PPCPredicates.cpp \
+ PPCELFObjectWriter.cpp
+CFLAGS+= -I${LLVM_SRCS}/${SRCDIR}/..
+
+TGHDRS= PPCGenInstrInfo \
+ PPCGenMCCodeEmitter \
+ PPCGenRegisterInfo \
+ PPCGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmpowerpcinfo/Makefile b/lib/clang/libllvmpowerpcinfo/Makefile
new file mode 100644
index 0000000..03bba0e
--- /dev/null
+++ b/lib/clang/libllvmpowerpcinfo/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmpowerpcinfo
+
+SRCDIR= lib/Target/PowerPC/TargetInfo
+INCDIR= lib/Target/PowerPC
+SRCS= PowerPCTargetInfo.cpp
+
+TGHDRS= PPCGenInstrInfo \
+ PPCGenRegisterInfo \
+ PPCGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmpowerpcinstprinter/Makefile b/lib/clang/libllvmpowerpcinstprinter/Makefile
new file mode 100644
index 0000000..ac98321
--- /dev/null
+++ b/lib/clang/libllvmpowerpcinstprinter/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmpowerpcinstprinter
+
+SRCDIR= lib/Target/PowerPC/InstPrinter
+INCDIR= lib/Target/PowerPC
+SRCS= PPCInstPrinter.cpp
+
+TGHDRS= PPCGenAsmWriter \
+ PPCGenInstrInfo \
+ PPCGenRegisterInfo \
+ PPCGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmruntimedyld/Makefile b/lib/clang/libllvmruntimedyld/Makefile
new file mode 100644
index 0000000..02ca4bd
--- /dev/null
+++ b/lib/clang/libllvmruntimedyld/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmruntimedyld
+
+SRCDIR= lib/ExecutionEngine/RuntimeDyld
+SRCS= GDBRegistrar.cpp \
+ RuntimeDyld.cpp \
+ RuntimeDyldELF.cpp \
+ RuntimeDyldMachO.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmscalaropts/Makefile b/lib/clang/libllvmscalaropts/Makefile
new file mode 100644
index 0000000..38d945c
--- /dev/null
+++ b/lib/clang/libllvmscalaropts/Makefile
@@ -0,0 +1,50 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmscalaropts
+
+SRCDIR= lib/Transforms/Scalar
+SRCS= ADCE.cpp \
+ BasicBlockPlacement.cpp \
+ CodeGenPrepare.cpp \
+ ConstantProp.cpp \
+ CorrelatedValuePropagation.cpp \
+ DCE.cpp \
+ DeadStoreElimination.cpp \
+ EarlyCSE.cpp \
+ GlobalMerge.cpp \
+ GVN.cpp \
+ IndVarSimplify.cpp \
+ JumpThreading.cpp \
+ LICM.cpp \
+ LoopDeletion.cpp \
+ LoopIdiomRecognize.cpp \
+ LoopInstSimplify.cpp \
+ LoopRotation.cpp \
+ LoopStrengthReduce.cpp \
+ LoopUnrollPass.cpp \
+ LoopUnswitch.cpp \
+ LowerAtomic.cpp \
+ MemCpyOptimizer.cpp \
+ Reassociate.cpp \
+ Reg2Mem.cpp \
+ SCCP.cpp \
+ SROA.cpp \
+ Scalar.cpp \
+ ScalarReplAggregates.cpp \
+ SimplifyCFGPass.cpp \
+ SimplifyLibCalls.cpp \
+ Sink.cpp \
+ TailRecursionElimination.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= LoopInstSimplify.cpp \
+ LowerAtomic.cpp \
+ Reg2Mem.cpp \
+ Scalar.cpp
+.endif
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmselectiondag/Makefile b/lib/clang/libllvmselectiondag/Makefile
new file mode 100644
index 0000000..7543102
--- /dev/null
+++ b/lib/clang/libllvmselectiondag/Makefile
@@ -0,0 +1,34 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmselectiondag
+
+SRCDIR= lib/CodeGen/SelectionDAG
+SRCS= DAGCombiner.cpp \
+ FastISel.cpp \
+ FunctionLoweringInfo.cpp \
+ InstrEmitter.cpp \
+ LegalizeDAG.cpp \
+ LegalizeFloatTypes.cpp \
+ LegalizeIntegerTypes.cpp \
+ LegalizeTypes.cpp \
+ LegalizeTypesGeneric.cpp \
+ LegalizeVectorOps.cpp \
+ LegalizeVectorTypes.cpp \
+ ResourcePriorityQueue.cpp \
+ ScheduleDAGFast.cpp \
+ ScheduleDAGRRList.cpp \
+ ScheduleDAGSDNodes.cpp \
+ ScheduleDAGVLIW.cpp \
+ SelectionDAG.cpp \
+ SelectionDAGBuilder.cpp \
+ SelectionDAGDumper.cpp \
+ SelectionDAGISel.cpp \
+ SelectionDAGPrinter.cpp \
+ TargetLowering.cpp \
+ TargetSelectionDAGInfo.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmsupport/Makefile b/lib/clang/libllvmsupport/Makefile
new file mode 100644
index 0000000..6d043b4
--- /dev/null
+++ b/lib/clang/libllvmsupport/Makefile
@@ -0,0 +1,101 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmsupport
+
+SRCDIR= lib/Support
+SRCS= APFloat.cpp \
+ APInt.cpp \
+ APSInt.cpp \
+ Allocator.cpp \
+ Atomic.cpp \
+ BlockFrequency.cpp \
+ BranchProbability.cpp \
+ CommandLine.cpp \
+ ConstantRange.cpp \
+ ConvertUTF.c \
+ ConvertUTFWrapper.cpp \
+ CrashRecoveryContext.cpp \
+ DAGDeltaAlgorithm.cpp \
+ Debug.cpp \
+ DeltaAlgorithm.cpp \
+ Dwarf.cpp \
+ DynamicLibrary.cpp \
+ Errno.cpp \
+ ErrorHandling.cpp \
+ FileOutputBuffer.cpp \
+ FoldingSet.cpp \
+ FormattedStream.cpp \
+ GraphWriter.cpp \
+ Hashing.cpp \
+ Host.cpp \
+ IncludeFile.cpp \
+ IntEqClasses.cpp \
+ IntervalMap.cpp \
+ IntrusiveRefCntPtr.cpp \
+ IsInf.cpp \
+ IsNAN.cpp \
+ Locale.cpp \
+ LockFileManager.cpp \
+ ManagedStatic.cpp \
+ Memory.cpp \
+ MemoryBuffer.cpp \
+ MemoryObject.cpp \
+ Mutex.cpp \
+ Path.cpp \
+ PathV2.cpp \
+ PluginLoader.cpp \
+ PrettyStackTrace.cpp \
+ Process.cpp \
+ Program.cpp \
+ RWMutex.cpp \
+ Regex.cpp \
+ SearchForAddressOfSpecialSymbol.cpp \
+ Signals.cpp \
+ SmallPtrSet.cpp \
+ SmallVector.cpp \
+ SourceMgr.cpp \
+ Statistic.cpp \
+ StreamableMemoryObject.cpp \
+ StringExtras.cpp \
+ StringMap.cpp \
+ StringPool.cpp \
+ StringRef.cpp \
+ TargetRegistry.cpp \
+ ThreadLocal.cpp \
+ Threading.cpp \
+ TimeValue.cpp \
+ Timer.cpp \
+ ToolOutputFile.cpp \
+ Triple.cpp \
+ Twine.cpp \
+ Valgrind.cpp \
+ Watchdog.cpp \
+ YAMLParser.cpp \
+ YAMLTraits.cpp \
+ circular_raw_ostream.cpp \
+ raw_os_ostream.cpp \
+ raw_ostream.cpp \
+ regcomp.c \
+ regerror.c \
+ regexec.c \
+ regfree.c \
+ regstrlcpy.c \
+ system_error.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= Compression.cpp \
+ DataExtractor.cpp \
+ DataStream.cpp \
+ Disassembler.cpp \
+ FileUtilities.cpp \
+ SystemUtils.cpp
+.endif
+
+.include "../clang.lib.mk"
+
+# Ugly hack to work around CLOCK_PROCESS_CPUTIME_ID not being properly defined
+# between r239347 and r245428.
+CXXFLAGS.Process.cpp= -DCLOCK_PROCESS_CPUTIME_ID=15
+CXXFLAGS+= ${CXXFLAGS.${.IMPSRC:T}}
diff --git a/lib/clang/libllvmtablegen/Makefile b/lib/clang/libllvmtablegen/Makefile
new file mode 100644
index 0000000..9a764b3
--- /dev/null
+++ b/lib/clang/libllvmtablegen/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmtablegen
+
+SRCDIR= lib/TableGen
+SRCS= Error.cpp \
+ Main.cpp \
+ Record.cpp \
+ StringMatcher.cpp \
+ TableGenBackend.cpp \
+ TGLexer.cpp \
+ TGParser.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmtarget/Makefile b/lib/clang/libllvmtarget/Makefile
new file mode 100644
index 0000000..b85fbec
--- /dev/null
+++ b/lib/clang/libllvmtarget/Makefile
@@ -0,0 +1,18 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmtarget
+
+SRCDIR= lib/Target
+SRCS= Mangler.cpp \
+ Target.cpp \
+ TargetIntrinsicInfo.cpp \
+ TargetJITInfo.cpp \
+ TargetLibraryInfo.cpp \
+ TargetLoweringObjectFile.cpp \
+ TargetMachine.cpp \
+ TargetMachineC.cpp \
+ TargetSubtargetInfo.cpp
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmtransformutils/Makefile b/lib/clang/libllvmtransformutils/Makefile
new file mode 100644
index 0000000..cfdc85f
--- /dev/null
+++ b/lib/clang/libllvmtransformutils/Makefile
@@ -0,0 +1,46 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmtransformutils
+
+SRCDIR= lib/Transforms/Utils
+SRCS= BasicBlockUtils.cpp \
+ BreakCriticalEdges.cpp \
+ BuildLibCalls.cpp \
+ BypassSlowDivision.cpp \
+ CloneFunction.cpp \
+ CloneModule.cpp \
+ CmpInstAnalysis.cpp \
+ CodeExtractor.cpp \
+ DemoteRegToStack.cpp \
+ InlineFunction.cpp \
+ InstructionNamer.cpp \
+ IntegerDivision.cpp \
+ LCSSA.cpp \
+ Local.cpp \
+ LoopSimplify.cpp \
+ LoopUnroll.cpp \
+ LoopUnrollRuntime.cpp \
+ LowerExpectIntrinsic.cpp \
+ LowerInvoke.cpp \
+ LowerSwitch.cpp \
+ Mem2Reg.cpp \
+ MetaRenamer.cpp \
+ ModuleUtils.cpp \
+ PromoteMemoryToRegister.cpp \
+ SSAUpdater.cpp \
+ SimplifyCFG.cpp \
+ SimplifyIndVar.cpp \
+ SimplifyInstructions.cpp \
+ SimplifyLibCalls.cpp \
+ UnifyFunctionExitNodes.cpp \
+ ValueMapper.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= Utils.cpp
+.endif
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmvectorize/Makefile b/lib/clang/libllvmvectorize/Makefile
new file mode 100644
index 0000000..9a760fa
--- /dev/null
+++ b/lib/clang/libllvmvectorize/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmvectorize
+
+SRCDIR= lib/Transforms/Vectorize
+SRCS= BBVectorize.cpp \
+ LoopVectorize.cpp \
+ SLPVectorizer.cpp \
+ VecUtils.cpp \
+ Vectorize.cpp
+
+TGHDRS= Intrinsics
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmx86asmparser/Makefile b/lib/clang/libllvmx86asmparser/Makefile
new file mode 100644
index 0000000..0d32f9c
--- /dev/null
+++ b/lib/clang/libllvmx86asmparser/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmx86asmparser
+
+SRCDIR= lib/Target/X86/AsmParser
+INCDIR= lib/Target/X86
+SRCS= X86AsmParser.cpp
+
+TGHDRS= X86GenAsmMatcher \
+ X86GenInstrInfo \
+ X86GenRegisterInfo \
+ X86GenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmx86codegen/Makefile b/lib/clang/libllvmx86codegen/Makefile
new file mode 100644
index 0000000..ed7ab8e
--- /dev/null
+++ b/lib/clang/libllvmx86codegen/Makefile
@@ -0,0 +1,38 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmx86codegen
+
+SRCDIR= lib/Target/X86
+SRCS= X86AsmPrinter.cpp \
+ X86COFFMachineModuleInfo.cpp \
+ X86CodeEmitter.cpp \
+ X86FastISel.cpp \
+ X86FixupLEAs.cpp \
+ X86FloatingPoint.cpp \
+ X86FrameLowering.cpp \
+ X86ISelDAGToDAG.cpp \
+ X86ISelLowering.cpp \
+ X86InstrInfo.cpp \
+ X86JITInfo.cpp \
+ X86MCInstLower.cpp \
+ X86MachineFunctionInfo.cpp \
+ X86PadShortFunction.cpp \
+ X86RegisterInfo.cpp \
+ X86SelectionDAGInfo.cpp \
+ X86Subtarget.cpp \
+ X86TargetMachine.cpp \
+ X86TargetObjectFile.cpp \
+ X86TargetTransformInfo.cpp \
+ X86VZeroUpper.cpp
+
+TGHDRS= Intrinsics \
+ X86GenCallingConv \
+ X86GenDAGISel \
+ X86GenFastISel \
+ X86GenInstrInfo \
+ X86GenRegisterInfo \
+ X86GenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmx86desc/Makefile b/lib/clang/libllvmx86desc/Makefile
new file mode 100644
index 0000000..a177129
--- /dev/null
+++ b/lib/clang/libllvmx86desc/Makefile
@@ -0,0 +1,21 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmx86desc
+
+SRCDIR= lib/Target/X86/MCTargetDesc
+SRCS= X86AsmBackend.cpp \
+ X86ELFObjectWriter.cpp \
+ X86MachObjectWriter.cpp \
+ X86MCAsmInfo.cpp \
+ X86MCCodeEmitter.cpp \
+ X86MCTargetDesc.cpp \
+ X86WinCOFFObjectWriter.cpp
+CFLAGS+= -I${LLVM_SRCS}/${SRCDIR}/..
+
+TGHDRS= X86GenInstrInfo \
+ X86GenRegisterInfo \
+ X86GenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmx86disassembler/Makefile b/lib/clang/libllvmx86disassembler/Makefile
new file mode 100644
index 0000000..fbaa5c6
--- /dev/null
+++ b/lib/clang/libllvmx86disassembler/Makefile
@@ -0,0 +1,19 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmx86disassembler
+
+SRCDIR= lib/Target/X86/Disassembler
+INCDIR= lib/Target/X86
+SRCS= X86Disassembler.cpp
+
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS+= X86DisassemblerDecoder.c
+.endif
+
+TGHDRS= X86GenDisassemblerTables \
+ X86GenInstrInfo \
+ X86GenRegisterInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmx86info/Makefile b/lib/clang/libllvmx86info/Makefile
new file mode 100644
index 0000000..bc1a7d7
--- /dev/null
+++ b/lib/clang/libllvmx86info/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmx86info
+
+SRCDIR= lib/Target/X86/TargetInfo
+INCDIR= lib/Target/X86
+SRCS= X86TargetInfo.cpp
+
+TGHDRS= X86GenInstrInfo \
+ X86GenRegisterInfo \
+ X86GenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmx86instprinter/Makefile b/lib/clang/libllvmx86instprinter/Makefile
new file mode 100644
index 0000000..308f91c
--- /dev/null
+++ b/lib/clang/libllvmx86instprinter/Makefile
@@ -0,0 +1,19 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmx86instprinter
+
+SRCDIR= lib/Target/X86/InstPrinter
+INCDIR= lib/Target/X86
+SRCS= X86ATTInstPrinter.cpp \
+ X86InstComments.cpp \
+ X86IntelInstPrinter.cpp
+
+TGHDRS= X86GenAsmWriter \
+ X86GenAsmWriter1 \
+ X86GenInstrInfo \
+ X86GenRegisterInfo \
+ X86GenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmx86utils/Makefile b/lib/clang/libllvmx86utils/Makefile
new file mode 100644
index 0000000..8355e7e
--- /dev/null
+++ b/lib/clang/libllvmx86utils/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmx86utils
+
+SRCDIR= lib/Target/X86/Utils
+INCDIR= lib/Target/X86
+SRCS= X86ShuffleDecode.cpp
+
+.include "../clang.lib.mk"
OpenPOWER on IntegriCloud