<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Dmitri<div><br></div><div>This seems to be breaking the buildbots.  I’m going to revert it for now to get things green again.</div><div><br></div><div><a href="http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/1534">http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/1534</a></div><div><br></div><div>Thanks,</div><div>Pete<br><div><div>On May 9, 2013, at 5:43 PM, Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Author: gribozavr<br>Date: Thu May  9 19:43:44 2013<br>New Revision: 181572<br><br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project?rev=181572&view=rev">http://llvm.org/viewvc/llvm-project?rev=181572&view=rev</a><br>Log:<br>ArrayRef'ize ShuffleVectorExpr::setExprs<br><br>But ShuffleVectorExpr should be tail-allocating the storage for expressions.<br><br>Modified:<br>   cfe/trunk/include/clang/AST/Expr.h<br>   cfe/trunk/lib/AST/Expr.cpp<br>   cfe/trunk/lib/Serialization/ASTReaderStmt.cpp<br><br>Modified: cfe/trunk/include/clang/AST/Expr.h<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=181572&r1=181571&r2=181572&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=181572&r1=181571&r2=181572&view=diff</a><br>==============================================================================<br>--- cfe/trunk/include/clang/AST/Expr.h (original)<br>+++ cfe/trunk/include/clang/AST/Expr.h Thu May  9 19:43:44 2013<br>@@ -3450,7 +3450,7 @@ public:<br>    return cast<Expr>(SubExprs[Index]);<br>  }<br><br>-  void setExprs(ASTContext &C, Expr ** Exprs, unsigned NumExprs);<br>+  void setExprs(ASTContext &C, ArrayRef<Expr *> Exprs);<br><br>  unsigned getShuffleMaskIdx(ASTContext &Ctx, unsigned N) const {<br>    assert((N < NumExprs - 2) && "Shuffle idx out of range!");<br><br>Modified: cfe/trunk/lib/AST/Expr.cpp<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Expr.cpp?rev=181572&r1=181571&r2=181572&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Expr.cpp?rev=181572&r1=181571&r2=181572&view=diff</a><br>==============================================================================<br>--- cfe/trunk/lib/AST/Expr.cpp (original)<br>+++ cfe/trunk/lib/AST/Expr.cpp Thu May  9 19:43:44 2013<br>@@ -3565,13 +3565,12 @@ ShuffleVectorExpr::ShuffleVectorExpr(AST<br>  }<br>}<br><br>-void ShuffleVectorExpr::setExprs(ASTContext &C, Expr ** Exprs,<br>-                                 unsigned NumExprs) {<br>+void ShuffleVectorExpr::setExprs(ASTContext &C, ArrayRef<Expr *> Exprs) {<br>  if (SubExprs) C.Deallocate(SubExprs);<br><br>  SubExprs = new (C) Stmt* [NumExprs];<br>-  this->NumExprs = NumExprs;<br>-  memcpy(SubExprs, Exprs, sizeof(Expr *) * NumExprs);<br>+  this->NumExprs = Exprs.size();<br>+  memcpy(SubExprs, Exprs.data(), sizeof(Expr *) * Exprs.size());<br>}<br><br>GenericSelectionExpr::GenericSelectionExpr(ASTContext &Context,<br><br>Modified: cfe/trunk/lib/Serialization/ASTReaderStmt.cpp<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderStmt.cpp?rev=181572&r1=181571&r2=181572&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderStmt.cpp?rev=181572&r1=181571&r2=181572&view=diff</a><br>==============================================================================<br>--- cfe/trunk/lib/Serialization/ASTReaderStmt.cpp (original)<br>+++ cfe/trunk/lib/Serialization/ASTReaderStmt.cpp Thu May  9 19:43:44 2013<br>@@ -847,7 +847,7 @@ void ASTStmtReader::VisitShuffleVectorEx<br>  unsigned NumExprs = Record[Idx++];<br>  while (NumExprs--)<br>    Exprs.push_back(Reader.ReadSubExpr());<br>-  E->setExprs(Reader.getContext(), Exprs.data(), Exprs.size());<br>+  E->setExprs(Reader.getContext(), Exprs);<br>  E->setBuiltinLoc(ReadSourceLocation(Record, Idx));<br>  E->setRParenLoc(ReadSourceLocation(Record, Idx));<br>}<br><br><br>_______________________________________________<br>cfe-commits mailing list<br><a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a></div></blockquote></div><br></div></body></html>