head 1.4; access; symbols pkgsrc-2013Q2:1.3.0.4 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.2 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.2.0.2 pkgsrc-2012Q4-base:1.2; locks; strict; comment @// @; 1.4 date 2013.07.02.10.33.02; author adam; state dead; branches; next 1.3; commitid RhzwaVrnJ34UNSVw; 1.3 date 2013.01.03.15.19.53; author adam; state Exp; branches; next 1.2; 1.2 date 2012.11.29.11.42.25; author marino; state Exp; branches; next 1.1; 1.1 date 2012.11.22.22.45.15; author marino; state Exp; branches; next ; desc @@ 1.4 log @Changes 3.3: The CellSPU port has been removed. It can still be found in older versions. The IR-level extended linker APIs (for example, to link bitcode files out of archives) have been removed. Any existing clients of these features should move to using a linker with integrated LTO support. LLVM and Clang’s documentation has been migrated to the Sphinx documentation generation system which uses easy-to-write reStructuredText. See llvm/docs/README.txt for more information. TargetTransformInfo (TTI) is a new interface that can be used by IR-level passes to obtain target-specific information, such as the costs of instructions. Only “Lowering” passes such as LSR and the vectorizer are allowed to use the TTI infrastructure. We’ve improved the X86 and ARM cost model. The Attributes classes have been completely rewritten and expanded. They now support not only enumerated attributes and alignments, but “string” attributes, which are useful for passing information to code generation. See How To Use Attributes for more details. TableGen’s syntax for instruction selection patterns has been simplified. Instead of specifying types indirectly with register classes, you should now specify types directly in the input patterns. See SparcInstrInfo.td for examples of the new syntax. The old syntax using register classes still works, but it will be removed in a future LLVM release. MCJIT now supports exception handling. Support for it in the old jit will be removed in the 3.4 release. Command line options can now be grouped into categories which are shown in the output of -help. See Grouping options into categories. The appearance of command line options in -help that are inherited by linking with libraries that use the LLVM Command line support library can now be modified at runtime. See The cl::getRegisteredOptions function. @ text @$NetBSD: patch-tools_clang_lib_Driver_ToolChains.cpp,v 1.3 2013/01/03 15:19:53 adam Exp $ DragonFly no longer has gcc 4.1 in base, so clang stopped working. We prefer to use gcc 4.7 if available due to a better libstdc++. The fallback is gcc 4.4 which has been available for several years. --- tools/clang/lib/Driver/ToolChains.cpp.orig 2012-05-12 00:16:02.000000000 +0000 +++ tools/clang/lib/Driver/ToolChains.cpp @@@@ -2404,7 +2404,10 @@@@ DragonFly::DragonFly(const Driver &D, co getFilePaths().push_back(getDriver().Dir + "/../lib"); getFilePaths().push_back("/usr/lib"); - getFilePaths().push_back("/usr/lib/gcc41"); + if (llvm::sys::fs::exists("/usr/lib/gcc47")) + getFilePaths().push_back("/usr/lib/gcc47"); + else + getFilePaths().push_back("/usr/lib/gcc44"); } Tool &DragonFly::SelectTool(const Compilation &C, const JobAction &JA, @ 1.3 log @Changes 3.2: * Improvements to Clang's diagnostics * Support for tls_model attribute * Type safety attributes * Documentation comment support More... @ text @d1 1 a1 1 $NetBSD: patch-tools_clang_lib_Driver_ToolChains.cpp,v 1.2 2012/11/29 11:42:25 marino Exp $ @ 1.2 log @lang/clang: Improve DragonFly support 1) Don't pass both gcc 4.4 and gcc 4.7 paths to the driver. Detect if gcc47 is available and use those paths, otherwise fall back to gcc44. 2) Add support for exception handling 3) Add rdynamic support 4) Add gnu-hash style support 5) Fix (!!) crtstuff (This was obsolete, include PIE support) 6) Remove rpath-link 7) Remove unneeded duplicate libgcc handling 8) Make libgcc handling match gcc specs (different for gcc 4.4 and 4.7) 9) Update dragonfly driver test @ text @d1 1 a1 1 $NetBSD: patch-tools_clang_lib_Driver_ToolChains.cpp,v 1.1 2012/11/22 22:45:15 marino Exp $ d9 1 a9 1 @@@@ -2307,7 +2307,10 @@@@ DragonFly::DragonFly(const Driver &D, co @ 1.1 log @lang/clang: Fix binary generation on latest DragonFly Clang was hardwired to search for crt* stuff and libstdc++ at /usr/lib/gcc41. This worked for most people even when DragonFly moved to gcc 4.4 as the primary base compiler since gcc 4.1 was usually also on the system. With the release of DragonFly 3.2, gcc 4.7 replaced gcc 4.1 and clang stopped compiling due to not being able to find libraries and crt* objects. The new patches make clang driver first look for gcc 4.7 and failing to find that: gcc 4.4. The other patches were "de-fuzzed". Revision bump was necessary because clang did build, it just didn't work. Patches submitted upstream: http://llvm.org/bugs/show_bug.cgi?id=14417 @ text @d1 1 a1 1 $NetBSD$ d9 1 a9 1 @@@@ -2307,7 +2307,8 @@@@ DragonFly::DragonFly(const Driver &D, co d14 4 a17 2 + getFilePaths().push_back("/usr/lib/gcc47"); + getFilePaths().push_back("/usr/lib/gcc44"); @