[LLVMdev] R600/SI build failure on Leopard (Use of C++11)

Anton Korobeynikov anton at korobeynikov.info
Tue Nov 26 01:41:09 PST 2013


Can't you just use &Ops[0] ?

On Tue, Nov 26, 2013 at 12:03 PM, Jeremy Huddleston Sequoia
<jeremyhu at apple.com> wrote:
> 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 at 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 at amd.com>
>     Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
>
>     git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179165 91177308-0d34-0410-b5e6-96231b3b80d8
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University




More information about the llvm-dev mailing list