head 1.1; access; symbols pkgsrc-2026Q3:1.1.0.2 pkgsrc-2026Q3-base:1.1; locks; strict; comment @ * @; 1.1 date 2026.09.15.21.10.07; author tnn; state Exp; branches; next ; commitid 54G8qKXgGbDJfLVG; desc @@ 1.1 log @llvm: fix build with xcode 27 Apply commit a558d656043734cc4d02e0a0a12e4c308c28f8c7 from upstream. I won't pretend to understand modern C++ to the extent that I can adequately explain this change, but I guess it removes UB and does not change code behaviour. @ text @$NetBSD$ https://github.com/llvm/llvm-project/commit/a558d656043734cc4d02e0a0a12e4c308c28f8c7.patch --- lib/Target/Hexagon/RDFCopy.h.orig 2025-12-12 10:35:47.000000000 +0000 +++ lib/Target/Hexagon/RDFCopy.h @@@@ -25,8 +25,8 @@@@ class MachineInstr; namespace rdf { struct CopyPropagation { - CopyPropagation(DataFlowGraph &dfg) : MDT(dfg.getDT()), DFG(dfg), - RDefMap(std::less(DFG.getPRI())) {} + CopyPropagation(DataFlowGraph &dfg) + : MDT(dfg.getDT()), DFG(dfg), RDefMap(RegisterRefLess(DFG.getPRI())) {} virtual ~CopyPropagation() = default; @@@@ -35,7 +35,7 @@@@ namespace rdf { bool trace() const { return Trace; } DataFlowGraph &getDFG() { return DFG; } - using EqualityMap = std::map; + using EqualityMap = std::map; virtual bool interpretAsCopy(const MachineInstr *MI, EqualityMap &EM); private: @@@@ -45,7 +45,7 @@@@ namespace rdf { bool Trace = false; // map: register -> (map: stmt -> reaching def) - std::map> RDefMap; + std::map, RegisterRefLess> RDefMap; // map: statement -> (map: dst reg -> src reg) std::map CopyMap; std::vector Copies; @