<p dir="ltr"><br>
On Jul 14, 2013 8:30 AM, "Quentin Colombet" <<a href="mailto:qcolombet@apple.com">qcolombet@apple.com</a>> wrote:<br>
><br>
> Hi David,<br>
><br>
> On Jul 13, 2013, at 11:54 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br>
><br>
>><br>
>><br>
>><br>
>> On Sat, Jul 13, 2013 at 11:49 AM, Quentin Colombet <<a href="mailto:qcolombet@apple.com">qcolombet@apple.com</a>> wrote:<br>
>>><br>
>>> Hi David,<br>
>>><br>
>>> This breaks a buildbot:<br>
>>> <a href="http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/4351">http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/4351</a><br>
>><br>
>><br>
>> Yes, I'm aware of the issue (it might help if buildcops such as yourself were on IRC for such things - bots report into the channel & a lot of live triage happens there for time-sensitive issues such as build breaks.<br>

><br>
> I didn't know that. Thanks for the information.</p>
<p dir="ltr">No worries - might be something worth suggesting/adding to the apple buildcop process/documentation.</p>
<p dir="ltr">><br>
>> It's a bit unnecessary to be sending email (when buildbots already send out failure mail anyway) when it's already being actively discussed)<br>
><br>
> Sorry, sometimes people missed that email and I wanted to be sure you were aware of the problem and working on it. SInce I was not checking IRC, I guess it is my fault for not knowing you were already working on the issue.<br>

> My apologies.</p>
<p dir="ltr">Yeah, people do have a tendency to miss the build email (I do sometimes). I think there are some things we could do to improve that: </p>
<p dir="ltr">* more builds (to ensure precise blame) - using more hardware, incremental builds, etc.<br>
* less email spam - or make it easier to triage the mail. I guess its because I'm on lab mailing lists, but getting email for every buildbreak and buildfix adds a fair bit of noise, I probably need to figure out how to triage those emails better - but I question their value in general. Knowing the tree is broken is only important 'now', not historically if I check my email an hour from now - and the website should be a better indicator of current state (though it is pull not push)<br>

* possibly having the build failure emails sent as replies to the commit that caused them, maybe even on-list. This would automate what you and other apple build cops are doing already (which does add some value, informing the community of the breakm etc - but is redundant with other notifications (email and otherwise) while also providing more context in the form of the actual build failure email (though these emails could be improved too, they often lack the required context and have a lot of boilerplate to wade through)</p>

<p dir="ltr">><br>
>>  <br>
>>><br>
>>> llvm[4]: Linking Release+Asserts unit test AST<br>
>>> Undefined symbols for architecture x86_64:<br>
>>>   "operator new[](unsigned long, clang::ASTContext const&, unsigned long)", referenced from:<br>
>>>       clang::ASTVector<int>::insert(clang::ASTContext&, int*, int const&) in ASTVectorTest.o<br>
>>> ld: symbol(s) not found for architecture x86_64<br>
>>> clang: error: linker command failed with exit code 1 (use -v to see invocation)<br>
>>> make[4]: *** [Release+Asserts/ASTTests] Error 1<br>
>>> make[3]: *** [AST/.makeall] Error 2<br>
>>> make[3]: *** Waiting for unfinished jobs....<br>
>>><br>
>>> Could you fix it please?<br>
>><br>
>><br>
>> I'd love to, but having some trouble understanding how (short of reverting the patch, which I can do) - care to offer any insight on how this might be failing to link an inline function? (& this is building cleanly for me with CMake+Ninja)<br>

>>  <br>
>>><br>
>>><br>
>>> Thanks,<br>
>>><br>
>>> -Quentin<br>
>>> On Jul 13, 2013, at 11:08 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br>
>>><br>
>>>> Author: dblaikie<br>
>>>> Date: Sat Jul 13 13:08:59 2013<br>
>>>> New Revision: 186253<br>
>>>><br>
>>>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=186253&view=rev">http://llvm.org/viewvc/llvm-project?rev=186253&view=rev</a><br>
>>>> Log:<br>
>>>> PR16540: ASTVector::insert(Context, Iter, Element) doesn't compile<br>
>>>><br>
>>>> Fix some uninstantiable code in ASTVector::insert. I've added a<br>
>>>> cheap-and-dirty compile test for this, because I don't have the time to<br>
>>>> figure out a nice way to get a real ASTContext to implement executable<br>
>>>> tests - but we probably should have them for this ADT.<br>
>>>><br>
>>>> Added:<br>
>>>>    cfe/trunk/unittests/AST/ASTVectorTest.cpp<br>
>>>> Modified:<br>
>>>>    cfe/trunk/include/clang/AST/ASTVector.h<br>
>>>>    cfe/trunk/unittests/AST/CMakeLists.txt<br>
>>>><br>
>>>> Modified: cfe/trunk/include/clang/AST/ASTVector.h<br>
>>>> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTVector.h?rev=186253&r1=186252&r2=186253&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTVector.h?rev=186253&r1=186252&r2=186253&view=diff</a><br>

>>>> ==============================================================================<br>
>>>> --- cfe/trunk/include/clang/AST/ASTVector.h (original)<br>
>>>> +++ cfe/trunk/include/clang/AST/ASTVector.h Sat Jul 13 13:08:59 2013<br>
>>>> @@ -216,11 +216,11 @@ public:<br>
>>>><br>
>>>>   iterator insert(ASTContext &C, iterator I, const T &Elt) {<br>
>>>>     if (I == this->end()) {  // Important special case for empty vector.<br>
>>>> -      push_back(Elt);<br>
>>>> +      push_back(Elt, C);<br>
>>>>       return this->end()-1;<br>
>>>>     }<br>
>>>><br>
>>>> -    if (this->EndX < this->CapacityX) {<br>
>>>> +    if (this->End < this->Capacity) {<br>
>>>>     Retry:<br>
>>>>       new (this->end()) T(this->back());<br>
>>>>       this->setEnd(this->end()+1);<br>
>>>><br>
>>>> Added: cfe/trunk/unittests/AST/ASTVectorTest.cpp<br>
>>>> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/ASTVectorTest.cpp?rev=186253&view=auto">http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/ASTVectorTest.cpp?rev=186253&view=auto</a><br>

>>>> ==============================================================================<br>
>>>> --- cfe/trunk/unittests/AST/ASTVectorTest.cpp (added)<br>
>>>> +++ cfe/trunk/unittests/AST/ASTVectorTest.cpp Sat Jul 13 13:08:59 2013<br>
>>>> @@ -0,0 +1,26 @@<br>
>>>> +//===- unittests/AST/DeclTest.cpp --- Declaration tests -------------------===//<br>
>>>> +//<br>
>>>> +//                     The LLVM Compiler Infrastructure<br>
>>>> +//<br>
>>>> +// This file is distributed under the University of Illinois Open Source<br>
>>>> +// License. See LICENSE.TXT for details.<br>
>>>> +//<br>
>>>> +//===----------------------------------------------------------------------===//<br>
>>>> +//<br>
>>>> +// Unit tests for the ASTVector container.<br>
>>>> +//<br>
>>>> +//===----------------------------------------------------------------------===//<br>
>>>> +<br>
>>>> +#include "llvm/Support/Compiler.h"<br>
>>>> +#include "clang/AST/ASTVector.h"<br>
>>>> +#include "clang/Basic/TargetInfo.h"<br>
>>>> +#include "clang/Frontend/CompilerInstance.h"<br>
>>>> +#include "gtest/gtest.h"<br>
>>>> +<br>
>>>> +using namespace clang;<br>
>>>> +<br>
>>>> +LLVM_ATTRIBUTE_UNUSED void CompileTest() {<br>
>>>> +  ASTContext *C = 0;<br>
>>>> +  ASTVector<int> V;<br>
>>>> +  V.insert(*C, V.begin(), 0);<br>
>>>> +}<br>
>>>><br>
>>>> Modified: cfe/trunk/unittests/AST/CMakeLists.txt<br>
>>>> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/CMakeLists.txt?rev=186253&r1=186252&r2=186253&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/CMakeLists.txt?rev=186253&r1=186252&r2=186253&view=diff</a><br>

>>>> ==============================================================================<br>
>>>> --- cfe/trunk/unittests/AST/CMakeLists.txt (original)<br>
>>>> +++ cfe/trunk/unittests/AST/CMakeLists.txt Sat Jul 13 13:08:59 2013<br>
>>>> @@ -1,6 +1,7 @@<br>
>>>> add_clang_unittest(ASTTests<br>
>>>>   ASTContextParentMapTest.cpp<br>
>>>>   ASTTypeTraitsTest.cpp<br>
>>>> +  ASTVectorTest.cpp<br>
>>>>   CommentLexer.cpp<br>
>>>>   CommentParser.cpp<br>
>>>>   DeclPrinterTest.cpp<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><br>
>>><br>
>>><br>
>><br>
><br>
</p>