head 1.3; access; symbols pkgsrc-2013Q2:1.3.0.8 pkgsrc-2013Q2-base:1.3 pkgsrc-2012Q4:1.3.0.6 pkgsrc-2012Q4-base:1.3 pkgsrc-2011Q4:1.3.0.4 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q2:1.3.0.2 pkgsrc-2011Q2-base:1.3 pkgsrc-2010Q3:1.2.0.4 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.2 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.1.1.1.0.4 pkgsrc-2010Q1-base:1.1.1.1 pkgsrc-2009Q4:1.1.1.1.0.2 pkgsrc-2009Q4-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2010.10.21.13.52.16; author adam; state dead; branches; next 1.2; 1.2 date 2010.04.27.15.12.09; author drochner; state Exp; branches; next 1.1; 1.1 date 2009.11.16.23.24.37; author drochner; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2009.11.16.23.24.37; author drochner; state Exp; branches; next ; desc @@ 1.3 log @Changes 2.8: * libc++ and LLDB are major new additions to the LLVM collective. * LLVM 2.8 now has pretty decent support for debugging optimized code. You should be able to reliably get debug info for function arguments, assuming that the value is actually available where you have stopped. * A new 'llvm-diff' tool is available that does a semantic diff of .ll files. * The MC subproject has made major progress in this release. Direct .o file writing support for darwin/x86[-64] is now reliable and support for other targets and object file formats are in progress. * The memcpy, memmove, and memset intrinsics now take address space qualified pointers and a bit to indicate whether the transfer is "volatile" or not. * Per-instruction debug info metadata is much faster and uses less memory by using the new DebugLoc class. * LLVM IR now has a more formalized concept of "trap values", which allow the optimizer to optimize more aggressively in the presence of undefined behavior, while still producing predictable results. * LLVM IR now supports two new linkage types (linker_private_weak and linker_private_weak_def_auto) which map onto some obscure MachO concepts. * The optimizer now has support for updating debug information as it goes. A key aspect of this is the new llvm.dbg.value intrinsic. This intrinsic represents debug info for variables that are promoted to SSA values (typically by mem2reg or the -scalarrepl passes). * The JumpThreading pass is now much more aggressive about implied value relations, allowing it to thread conditions like "a == 4" when a is known to be 13 in one of the predecessors of a block. It does this in conjunction with the new LazyValueInfo analysis pass. * The new RegionInfo analysis pass identifies single-entry single-exit regions in the CFG. You can play with it with the "opt -regions analyze" or "opt -view-regions" commands. * The loop optimizer has significantly improved strength reduction and analysis capabilities. Notably it is able to build on the trap value and signed integer overflow information to optimize <= and >= loops. * The CallGraphSCCPassManager now has some basic support for iterating within an SCC when a optimizer devirtualizes a function call. This allows inlining through indirect call sites that are devirtualized by store-load forwarding and other optimizations. * The new -loweratomic pass is available to lower atomic instructions into their non-atomic form. This can be useful to optimize generic code that expects to run in a single-threaded environment. @ text @$NetBSD: patch-ae,v 1.2 2010/04/27 15:12:09 drochner Exp $ --- lib/System/Unix/Path.inc.orig 2009-12-09 15:56:52.000000000 +0100 +++ lib/System/Unix/Path.inc @@@@ -283,7 +283,7 @@@@ Path::GetCurrentDirectory() { return Path(pathname); } -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__NetBSD__) static int test_dir(char buf[PATH_MAX], char ret[PATH_MAX], const char *dir, const char *bin) @@@@ -351,7 +351,7 @@@@ Path Path::GetMainExecutable(const char if (realpath(exe_path, link_path)) return Path(std::string(link_path)); } -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) char exe_path[PATH_MAX]; if (getprogpath(exe_path, argv0) != NULL) @ 1.2 log @update to 2.7 many fixes and improvements, eg C++ support see the release notes for details @ text @d1 1 a1 1 $NetBSD$ @ 1.1 log @Initial revision @ text @d3 1 a3 1 --- lib/System/Unix/Path.inc.orig 2009-08-05 22:16:55.000000000 +0200 d5 1 a5 1 @@@@ -279,7 +279,7 @@@@ Path::GetCurrentDirectory() { d14 6 a19 6 @@@@ -336,7 +336,7 @@@@ getprogpath(char ret[PATH_MAX], const ch /// GetMainExecutable - Return the path to the main executable, given the /// value of argv[0] from program startup. Path Path::GetMainExecutable(const char *argv0, void *MainAddr) { -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) @ 1.1.1.1 log @add clang-2.6, a C compiler based om LLVM, based on Adam Hoka's llvm pkg in pkgsrc-wip (This installs all the LLVM bits too, so it conflicts with a pure llvm pkg, but it is not easily separated.) @ text @@