#41548: llvm-3.4 @3.4-r193941: ‘class std::vector<llvm::SDValue, std::allocator<llvm::SDValue> >’ has no member named ‘data’ ---------------------------+------------------------ Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-3.4 | ---------------------------+------------------------ Comment (by jeremyhu@…): Email sent to committer and llvmdev: {{{ Hi Christian, Ryan just reported to me that llvm-3.4 is no longer building on OS X Leopard (https://trac.macports.org/ticket/41548). It seems the issue is with a commit that you made back in April (referenced below) which added this to SIISelLowering.cpp: // Adjust the writemask in the node std::vector<SDValue> Ops; Ops.push_back(DAG.getTargetConstant(NewDmask, MVT::i32)); for (unsigned i = 1, e = Node->getNumOperands(); i != e; ++i) Ops.push_back(Node->getOperand(i)); Node = (MachineSDNode*)DAG.UpdateNodeOperands(Node, Ops.data(), Ops.size()); That fails with Leopard's libstdc++ STL which does not a data method for std::vector. This method was added in C++11: http://www.cplusplus.com/reference/vector/vector/ Is llvm-3.4 now requiring a C++11 runtime? If not, can we solve this a different way? Thanks, Jeremy commit 84a775d8e3d5a3765e01db4b454f849ed8be99be Author: Christian Konig <christian.koenig@amd.com> Date: Wed Apr 10 08:39:08 2013 +0000 R600/SI: adjust writemask to only the used components Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179165 91177308-0d34-0410-b5e6-96231b3b80d8 }}} -- Ticket URL: <https://trac.macports.org/ticket/41548#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X