head 1.6; access; symbols pkgsrc-2026Q1:1.6.0.8 pkgsrc-2026Q1-base:1.6 pkgsrc-2025Q4:1.6.0.6 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.6.0.4 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.2 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.5.0.6 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.4 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.2 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.3.0.2 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.2.0.22 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.20 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.18 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.16 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.14 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.12 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.10 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.8 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.6 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.4 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.2 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.1.0.14 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.12 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.10 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.8 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.6 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.2 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.4 pkgsrc-2019Q4-base:1.1; locks; strict; comment @// @; 1.6 date 2025.05.09.05.51.24; author adam; state Exp; branches; next 1.5; commitid gd9WBpmGiiwY5cUF; 1.5 date 2024.07.07.14.00.21; author wiz; state Exp; branches; next 1.4; commitid 7D3yOyJILV2DDUgF; 1.4 date 2024.07.06.15.45.07; author adam; state Exp; branches; next 1.3; commitid 9KpFpYTi5zNpfNgF; 1.3 date 2024.05.09.14.15.51; author jperkin; state Exp; branches; next 1.2; commitid QjAbpX1uks8AAk9F; 1.2 date 2021.07.12.18.42.06; author adam; state Exp; branches; next 1.1; commitid JKMY4M5TXVcpgJ0D; 1.1 date 2019.11.03.11.55.53; author kamil; state Exp; branches; next ; commitid kPNllJUMqgmJQoJB; desc @@ 1.6 log @llvm: updated to 19.1.7 19.1.7 https://releases.llvm.org/19.1.0/docs/ReleaseNotes.html @ text @$NetBSD: patch-lib_Driver_ToolChain.cpp,v 1.2 2021/07/12 18:42:06 adam Exp $ [LLD] Add NetBSD support as a new flavor of LLD (nb.lld) https://reviews.llvm.org/D70048 --- lib/Driver/ToolChain.cpp.orig 2019-07-11 19:06:38.000000000 +0000 +++ lib/Driver/ToolChain.cpp @@@@ -506,6 +506,8 @@@@ std::string ToolChain::GetLinkerPath() c llvm::SmallString<8> LinkerName; if (Triple.isOSDarwin()) LinkerName.append("ld64."); + else if (Triple.isOSNetBSD()) + LinkerName.append("nb."); else LinkerName.append("ld."); LinkerName.append(UseLinker); @ 1.5 log @clang: try merging Solaris patches @ text @d1 1 a1 1 $NetBSD: patch-lib_Driver_ToolChain.cpp,v 1.3 2024/05/09 14:15:51 jperkin Exp $ a4 1 Add -R for library paths on SunOS. d6 1 a6 1 --- lib/Driver/ToolChain.cpp.orig 2023-11-28 08:52:28.000000000 +0000 d8 1 a8 1 @@@@ -837,6 +837,8 @@@@ std::string ToolChain::GetLinkerPath(boo a16 16 @@@@ -1213,9 +1215,13 @@@@ void ToolChain::AddCXXStdlibLibArgs(cons void ToolChain::AddFilePathLibArgs(const ArgList &Args, ArgStringList &CmdArgs) const { - for (const auto &LibPath : getFilePaths()) - if(LibPath.length() > 0) + for (const auto &LibPath : getFilePaths()) { + if(LibPath.length() > 0) { CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath)); + if (Triple.isOSSolaris()) + CmdArgs.push_back(Args.MakeArgString(StringRef("-R") + LibPath)); + } + } } void ToolChain::AddCCKextLibArgs(const ArgList &Args, @ 1.4 log @llvm: updated to 18.1.8 https://releases.llvm.org @ text @d1 1 a1 1 $NetBSD: patch-lib_Driver_ToolChain.cpp,v 1.2 2021/07/12 18:42:06 adam Exp $ d5 1 d7 1 a7 1 --- lib/Driver/ToolChain.cpp.orig 2019-07-11 19:06:38.000000000 +0000 d9 1 a9 1 @@@@ -506,6 +506,8 @@@@ std::string ToolChain::GetLinkerPath() c d18 16 @ 1.3 log @clang: Switch SunOS back to using the GCC runtime. Upstream LLVM have removed the SunOS code from libcxx et al, despite us offering to support it and it working fine, and so we're left with no choice but to go back to using the GCC libraries and headers, which is a shame. Tested to compile at least a few different C/C++ files, and is able to complete the builds of lang/wasi-*. @ text @a4 1 Add -R for library paths on SunOS. d6 1 a6 1 --- lib/Driver/ToolChain.cpp.orig 2023-11-28 08:52:28.000000000 +0000 d8 1 a8 1 @@@@ -837,6 +837,8 @@@@ std::string ToolChain::GetLinkerPath(boo a16 16 @@@@ -1213,9 +1215,13 @@@@ void ToolChain::AddCXXStdlibLibArgs(cons void ToolChain::AddFilePathLibArgs(const ArgList &Args, ArgStringList &CmdArgs) const { - for (const auto &LibPath : getFilePaths()) - if(LibPath.length() > 0) + for (const auto &LibPath : getFilePaths()) { + if(LibPath.length() > 0) { CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath)); + if (Triple.isOSSolaris()) + CmdArgs.push_back(Args.MakeArgString(StringRef("-R") + LibPath)); + } + } } void ToolChain::AddCCKextLibArgs(const ArgList &Args, @ 1.2 log @clang: updated to 12.0.1 12.0.1: Non-comprehensive list of changes in this release The builtin intrinsics __builtin_bitreverse8, __builtin_bitreverse16, __builtin_bitreverse32 and __builtin_bitreverse64 may now be used within constant expressions. The builtin intrinsics __builtin_rotateleft8, __builtin_rotateleft16, __builtin_rotateleft32 and __builtin_rotateleft64 may now be used within constant expressions. The builtin intrinsics __builtin_rotateright8, __builtin_rotateright16, __builtin_rotateright32 and __builtin_rotateright64 may now be used within constant expressions. New Compiler Flags … AArch64 options -moutline-atomics, -mno-outline-atomics to enable and disable calls to helper functions implementing atomic operations. These out-of-line helpers like ‘__aarch64_cas8_relax’ will detect at runtime AArch64 Large System Extensions (LSE) availability and either use their atomic instructions, or falls back to LL/SC loop. These options do not apply if the compilation target supports LSE. Atomic instructions are used directly in that case. The option’s behaviour mirrors GCC, the helpers are implemented both in compiler-rt and libgcc. New option -fbinutils-version= specifies the targeted binutils version. For example, -fbinutils-version=2.35 means compatibility with GNU as/ld before 2.35 is not needed: new features can be used and there is no need to work around old GNU as/ld bugs. Deprecated Compiler Flags The following options are deprecated and ignored. They will be removed in future versions of Clang. The clang-cl /fallback flag, which made clang-cl invoke Microsoft Visual C++ on files it couldn’t compile itself, has been deprecated. It will be removed in Clang 13. … Modified Compiler Flags On ELF, -gz now defaults to -gz=zlib with the integrated assembler. It produces SHF_COMPRESSED style compression of debug information. GNU binutils 2.26 or newer, or lld is required to link produced object files. Use -gz=zlib-gnu to get the old behavior. Now that this pointers are tagged with nonnull and dereferenceable(N), -fno-delete-null-pointer-checks has gained the power to remove the nonnull attribute on this for configurations that need it to be nullable. -gsplit-dwarf no longer implies -g2. -fasynchronous-unwind-tables is now the default on Linux AArch64/PowerPC. This behavior matches newer GCC. (D91760) (D92054) Support has been added for the following processors (command-line identifiers in parentheses): Arm Cortex-A78C (cortex-a78c). Arm Cortex-R82 (cortex-r82). Arm Neoverse V1 (neoverse-v1). Arm Neoverse N2 (neoverse-n2). Fujitsu A64FX (a64fx). For example, to select architecture support and tuning for Neoverse-V1 based systems, use -mcpu=neoverse-v1. Removed Compiler Flags The following options no longer exist. clang-cl’s /Zd flag no longer exist. But -gline-tables-only still exists and does the same thing. New Pragmas in Clang … Modified Pragmas in Clang The “#pragma clang loop vectorize_width” has been extended to support an optional ‘fixed|scalable’ argument, which can be used to indicate that the compiler should use fixed-width or scalable vectorization. Fixed-width is assumed by default. Scalable or vector length agnostic vectorization is an experimental feature for targets that support scalable vectors. For more information please refer to the Clang Language Extensions documentation. Attribute Changes in Clang Added support for the C++20 likelihood attributes [[likely]] and [[unlikely]]. As an extension they can be used in C++11 and newer. This extension is enabled by default. @ text @d1 1 a1 1 $NetBSD: patch-lib_Driver_ToolChain.cpp,v 1.1 2019/11/03 11:55:53 kamil Exp $ d5 1 d7 1 a7 1 --- lib/Driver/ToolChain.cpp.orig 2019-07-11 19:06:38.000000000 +0000 d9 1 a9 1 @@@@ -506,6 +506,8 @@@@ std::string ToolChain::GetLinkerPath() c d18 16 @ 1.1 log @lld: Cherry-pick NetBSD LLD pending patch from review [LLD] Add NetBSD support as a new flavor of LLD (nb.lld) https://reviews.llvm.org/D69755 @ text @d1 1 a1 1 $NetBSD$ d4 1 a4 1 https://reviews.llvm.org/D69755 @