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

Jeremy Huddleston Sequoia jeremyhu at apple.com
Tue Nov 26 01:56:27 PST 2013


On Nov 26, 2013, at 1:41, Anton Korobeynikov <anton at korobeynikov.info> wrote:

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

Is that safely portable?  ie is it required that pre-C++11 std:vector be implemented such that the data is stored contiguously in a realloc'd array?  

While I'm not sure anyone would do this (so perhaps the point is moot), it seems that one could use non-contiguous blocks as an implementation detail if allowed by the standard.

> 
> 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4136 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131126/dbc040eb/attachment.bin>


More information about the llvm-dev mailing list