<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 16, 2014 at 3:50 PM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Okay, so *now* the original email just came in for me. So perhaps Phab<br>
was just running very (12 hours) behind on this?<br></blockquote><div><br></div><div>It was a retry - I just fixed a problem where phab got dos-attacked by a user registering an invalid email, and then subscribing to basically all initial patches, and phab started to retry the initial messages it wasn't able to send out before.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Mon, Jun 16, 2014 at 7:56 AM, Manuel Klimek <<a href="mailto:klimek@google.com">klimek@google.com</a>> wrote:<br>
> On Mon, Jun 16, 2014 at 1:50 PM, Yaron Keren <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>> wrote:<br>
>><br>
>> Hi Manuel,<br>
>><br>
>> The situation with Phab is somewhat different than the e-mail lists since<br>
>> you can create a revision without CC the lists but you can't post on the<br>
>> lists without mailing it...<br>
><br>
><br>
> You can write emails to people personally without cc'ing the list.<br>
> I can (and have) sent patches to people off-list, when I just wanted to<br>
> throw around an idea that I didn't think was ready for review, or somebody<br>
> else wanted to patch it in. Of course that doesn't count as review...<br>
><br>
>><br>
>> Sending to both lists of course make no sense, I thought about having a CC<br>
>> default of the two lists and the engineer will choose which one (or possibly<br>
>> both) to remove while creating the revision rather having none and the<br>
>> engineer choosing which one to add. This way one can't forget to add the CC<br>
>> list since they are the default.<br>
><br>
><br>
> I still believe that this can be easily addressed with education (but I am<br>
> aware that I might be wrong), the same way I point out to somebody who sends<br>
> me reviews privately via email (yes, that happens, too) to send it to<br>
> cfe-commits.<br>
><br>
>><br>
>><br>
>> Yaron<br>
>><br>
>><br>
>><br>
>><br>
>> 2014-06-16 14:44 GMT+03:00 Manuel Klimek <<a href="mailto:klimek@google.com">klimek@google.com</a>>:<br>
>><br>
>>> On Mon, Jun 16, 2014 at 1:34 PM, Yaron Keren <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>><br>
>>> wrote:<br>
>>>><br>
>>>> I had seen messages from the mailing list bot telling me as a revision<br>
>>>> owner that the automated e-mail from Phab needs approval since it addressed<br>
>>>> too many e-mails. This may be another possible point of failure. Otherwise,<br>
>>>> I find Phab to be much more orderly way of reviewing than the list.<br>
>>>><br>
>>>> Right now the default in Phab is no CC to the lists. How about making<br>
>>>> the default CC to llvm-commits and/or cfe-commits?<br>
>>><br>
>>><br>
>>> I think using both would be too spammy, and deciding on one would need<br>
>>> somebody to put some implementation effort into it. I think engineers are<br>
>>> generally very capable of adding the right list to CC, much like they are<br>
>>> when sending emails.<br>
>>><br>
>>> Cheers,<br>
>>> /Manuel<br>
>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> 2014-06-16 14:02 GMT+03:00 Timur Iskhodzhanov <<a href="mailto:timurrrr@google.com">timurrrr@google.com</a>>:<br>
>>>>><br>
>>>>> I by no means blame you for pointing that out. I don't support the<br>
>>>>> exact way it was done though.<br>
>>>>><br>
>>>>> 16 июня 2014 г. 15:00 пользователь "Alp Toker" <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>><br>
>>>>> написал:<br>
>>>>><br>
>>>>>><br>
>>>>>> On 16/06/2014 13:28, Timur Iskhodzhanov wrote:<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> Some of these are good questions for whoever runs Phab (not David<br>
>>>>>>> AFAIK), but for a different discussion (feel free to start a new thread on<br>
>>>>>>> the list).<br>
>>>>>>><br>
>>>>>>> I see nothing wrong David had done intentionally during this review,<br>
>>>>>>> so I'd prefer if you apologize to him for the rant and we get back to work<br>
>>>>>>> (and I'll get back to my sick leave).<br>
>>>>>>><br>
>>>>>><br>
>>>>>> Timur, that's out of order. The developer policy makes it clear the<br>
>>>>>> list is the place for patches. It's also made clear:<br>
>>>>>><br>
>>>>>> " If someone sends you a patch privately, encourage them to submit<br>
>>>>>> it to the appropriate list first."<br>
>>>>>><br>
>>>>>> <a href="http://llvm.org/docs/DeveloperPolicy.html" target="_blank">http://llvm.org/docs/DeveloperPolicy.html</a><br>
>>>>>><br>
>>>>>> It's basically not OK that every time the community is excluded from<br>
>>>>>> review, some tool gets blamed and the person pointing it out gets personally<br>
>>>>>> attacked.<br>
>>>>>><br>
>>>>>> The policy makes it clear that responsibility lies with the author. If<br>
>>>>>> I hadn't pointed this out, the code would have just slipped through as<br>
>>>>>> happens quite often, without anyone outside the closed circle getting a say.<br>
>>>>>><br>
>>>>>> How about we focus on fixing that instead of making this about<br>
>>>>>> personalities?<br>
>>>>>><br>
>>>>>> The patch workflow is becoming increasingly dysfunctional with 3.5<br>
>>>>>> just round the corner and I'm concerned, and speaking up about it.<br>
>>>>>><br>
>>>>>> Alp.<br>
>>>>>><br>
>>>>>><br>
>>>>>><br>
>>>>>>> 16 июня 2014 г. 14:01 пользователь "Alp Toker" <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>>> написал:<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> On 16/06/2014 12:11, Timur Iskhodzhanov wrote:<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> I'm sorry to see that you've read my email very differently<br>
>>>>>>> from what I've intended.<br>
>>>>>>> I think you should calm down a little bit and read the Phab<br>
>>>>>>> log in our shoes. I don't think anyone on this thread tried<br>
>>>>>>> to do anything suspicious on purpose.<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> Okay, let's try to understand how the patch workflow goes in your<br>
>>>>>>> shoes. I think more transparency about the web-based review<br>
>>>>>>> workflow is needed.<br>
>>>>>>><br>
>>>>>>> None of the below is actually clear to people using the mailing<br>
>>>>>>> list for review, and very often the web-based changes seem fly by<br>
>>>>>>> in read-only form or on-list reviews get summarily ignored:<br>
>>>>>>><br>
>>>>>>> How are the CC lists for patches decided? The names don't seem to<br>
>>>>>>> be derived from the canonical CODE_OWNERS.txt -- are they<br>
>>>>>>> maintained in SVN or a separate repository?<br>
>>>>>>><br>
>>>>>>> Is there public access to see who is assigned to what piece of<br>
>>>>>>> code? How are these decided, and are mailing list reviewers able<br>
>>>>>>> to join the CC list or is it exclusive to web-based reviewers?<br>
>>>>>>><br>
>>>>>>> What determines if a patch is in "private pre-review" and<br>
>>>>>>> excluded<br>
>>>>>>> from public mailing lists? Is there some kind of<br>
>>>>>>> subscription-only<br>
>>>>>>> mailing list to track such patches, or are they kept in a private<br>
>>>>>>> database?<br>
>>>>>>><br>
>>>>>>> Why do arbitrary names show up on the "Reviewers" line when<br>
>>>>>>> review<br>
>>>>>>> was actually been done by someone on-list?<br>
>>>>>>><br>
>>>>>>> Why do on-list reviews of web-based patches frequently get<br>
>>>>>>> ignored? Are the patch authors ignoring something, or is it a bug<br>
>>>>>>> in the web interface?<br>
>>>>>>><br>
>>>>>>> Alp.<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> 16 июня 2014 г. 13:00 пользователь "Alp Toker"<br>
>>>>>>> <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>>>> написал:<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> On 16/06/2014 11:32, Timur Iskhodzhanov wrote:<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> I think it wasn't hard to see llvm-commits on CC in<br>
>>>>>>> Phab. I<br>
>>>>>>> can't imagine a single reason for an ADT review to be<br>
>>>>>>> private<br>
>>>>>>> and David responses were perfectly reasonable for me<br>
>>>>>>> (note I<br>
>>>>>>> was one of the reviewers and saw all the mail).<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> That attitude is part of the problem. I don't think it's<br>
>>>>>>> OK for<br>
>>>>>>> the patch to skip the mailing list Just because it seemed<br>
>>>>>>> reasonable to you and David.<br>
>>>>>>><br>
>>>>>>> Did you notice there are two duplicate copies of a large<br>
>>>>>>> chunk of<br>
>>>>>>> code in the patch, presumably attempting to provide<br>
>>>>>>> const-correctness?<br>
>>>>>>><br>
>>>>>>> I guess not, but why exclude others from pointing out<br>
>>>>>>> flaws and<br>
>>>>>>> improving quality of review?<br>
>>>>>>><br>
>>>>>>> It looks like this time you've trusted the technology<br>
>>>>>>> more<br>
>>>>>>> than you've trusted people -- if you ask me, you<br>
>>>>>>> should have<br>
>>>>>>> much stronger arguments before blaming people like<br>
>>>>>>> this.<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> It turns out the technology was right -- as Manuel<br>
>>>>>>> pointed<br>
>>>>>>> out,<br>
>>>>>>> the patch was *never sent to the list* and only you guys<br>
>>>>>>> had the<br>
>>>>>>> chance to comment.<br>
>>>>>>><br>
>>>>>>> Alp.<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> 16 июня 2014 г. 12:07 пользователь "Alp Toker"<br>
>>>>>>> <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>>><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>>>>><br>
>>>>>>> написал:<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> On 16/06/2014 10:32, David Blaikie wrote:<br>
>>>>>>><br>
>>>>>>> On Mon, Jun 16, 2014 at 12:28 AM, Alp Toker<br>
>>>>>>> <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>>><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>><br>
>>>>>>> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a> <mailto:<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>>>>> wrote:<br>
>>>>>>><br>
>>>>>>> On 16/06/2014 10:01, David Blaikie wrote:<br>
>>>>>>><br>
>>>>>>> The test case looks a bit thin - it<br>
>>>>>>> doesn't<br>
>>>>>>> test the<br>
>>>>>>> return value of<br>
>>>>>>> insert, only tests one of the two<br>
>>>>>>> insert<br>
>>>>>>> functions the<br>
>>>>>>> patch<br>
>>>>>>> introduces, and doesn't test positive<br>
>>>>>>> and negative<br>
>>>>>>> cases of insert<br>
>>>>>>> (pre-existing element and new<br>
>>>>>>> insertion)<br>
>>>>>>><br>
>>>>>>> Does this function have some/all<br>
>>>>>>> redundancy with<br>
>>>>>>> existing interface?<br>
>>>>>>> (should the other insert-like APIs be<br>
>>>>>>> refactored to<br>
>>>>>>> call insert (&<br>
>>>>>>> perhaps eventually removed in favor<br>
>>>>>>> of<br>
>>>>>>> just using<br>
>>>>>>> insert?))<br>
>>>>>>><br>
>>>>>>> In the other code review you mention<br>
>>>>>>> StringMap<br>
>>>>>>> has an<br>
>>>>>>> insert that<br>
>>>>>>> returns bool? Yet you're not<br>
>>>>>>> modifying<br>
>>>>>>> that<br>
>>>>>>> version<br>
>>>>>>> here? What<br>
>>>>>>> arguments does it take that make it<br>
>>>>>>> distinct<br>
>>>>>>> from the<br>
>>>>>>> two functions<br>
>>>>>>> you're adding?<br>
>>>>>>><br>
>>>>>>> (though don't get me wrong, this<br>
>>>>>>> seems<br>
>>>>>>> like a good<br>
>>>>>>> change to make)<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> I'm sorry David, that's not your decision<br>
>>>>>>> to make.<br>
>>>>>>> This is<br>
>>>>>>> taking the<br>
>>>>>>> private review idea way too far.<br>
>>>>>>><br>
>>>>>>> The patch should be posted to<br>
>>>>>>> llvm-commits for<br>
>>>>>>> public review.<br>
>>>>>>><br>
>>>>>>> I'm not sure what you're referring to, but I<br>
>>>>>>> guess<br>
>>>>>>> it's a Phab<br>
>>>>>>> bug/mail delivery issue, because I replied to<br>
>>>>>>> the<br>
>>>>>>> on-list mail<br>
>>>>>>> with an<br>
>>>>>>> on-list reply. This is a code review<br>
>>>>>>> occurring on<br>
>>>>>>> llvm-commits.<br>
>>>>>>><br>
>>>>>>> Perhaps it ended up in your spam filter?<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> David, could you check your facts instead of<br>
>>>>>>> firing off<br>
>>>>>>> defensive<br>
>>>>>>> one-liners?<br>
>>>>>>><br>
>>>>>>> The revision is private and there is no public<br>
>>>>>>> record of<br>
>>>>>>> the patch<br>
>>>>>>> at all:<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> <a href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140616/thread.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140616/thread.html</a><br>
>>>>>>><br>
>>>>>>> Sneaking commits into SVN without inviting public<br>
>>>>>>> review, and<br>
>>>>>>> blaming tools when it gets noticed is so last<br>
>>>>>>> week.<br>
>>>>>>><br>
>>>>>>> Alp.<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> - David<br>
>>>>>>><br>
>>>>>>> Alp.<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> On Sun, Jun 15, 2014 at 6:17 PM,<br>
>>>>>>> Agustín Bergé<br>
>>>>>>> <<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a><br>
>>>>>>> <mailto:<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a>><br>
>>>>>>> <mailto:<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a><br>
>>>>>>> <mailto:<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a>>> <mailto:<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a><br>
>>>>>>> <mailto:<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a>><br>
>>>>>>> <mailto:<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a><br>
>>>>>>> <mailto:<a href="mailto:kaballo86@hotmail.com">kaballo86@hotmail.com</a>>>>><br>
>>>>>>> wrote:<br>
>>>>>>><br>
>>>>>>> Hi timurrrr, dblaikie, bkramer,<br>
>>>>>>><br>
>>>>>>> This patch adds to `StringMap`<br>
>>>>>>> overloads of<br>
>>>>>>> `insert` taking a<br>
>>>>>>> `std::pair<K, V>`, following the<br>
>>>>>>> standard<br>
>>>>>>> associative container interface.<br>
>>>>>>> This was suggested in<br>
>>>>>>> <a href="http://reviews.llvm.org/D4130" target="_blank">http://reviews.llvm.org/D4130</a><br>
>>>>>>><br>
>>>>>>> <a href="http://reviews.llvm.org/D4153" target="_blank">http://reviews.llvm.org/D4153</a><br>
>>>>>>><br>
>>>>>>> Files:<br>
>>>>>>> include/llvm/ADT/StringMap.h<br>
>>>>>>><br>
>>>>>>> unittests/ADT/StringMapTest.cpp<br>
>>>>>>><br>
>>>>>>> Index:<br>
>>>>>>> include/llvm/ADT/StringMap.h<br>
>>>>>>><br>
>>>>>>> ===================================================================<br>
>>>>>>> --- include/llvm/ADT/StringMap.h<br>
>>>>>>> +++ include/llvm/ADT/StringMap.h<br>
>>>>>>> @@ -323,6 +323,51 @@<br>
>>>>>>> return true;<br>
>>>>>>> }<br>
>>>>>>><br>
>>>>>>> + /// insert - Inserts the<br>
>>>>>>> specified<br>
>>>>>>> key/value<br>
>>>>>>> pair into the map if the<br>
>>>>>>> key<br>
>>>>>>> + /// isn't already in the map.<br>
>>>>>>> If the key is<br>
>>>>>>> already in the map, it<br>
>>>>>>> returns<br>
>>>>>>> + // false and doesn't update<br>
>>>>>>> the<br>
>>>>>>> value.<br>
>>>>>>> + std::pair<iterator, bool><br>
>>>>>>> insert(const<br>
>>>>>>> std::pair<StringRef, ValueTy><br>
>>>>>>> &KV) {<br>
>>>>>>> + unsigned BucketNo =<br>
>>>>>>> LookupBucketFor(KV.first);<br>
>>>>>>> + StringMapEntryBase *&Bucket<br>
>>>>>>> =<br>
>>>>>>> TheTable[BucketNo];<br>
>>>>>>> + if (Bucket && Bucket !=<br>
>>>>>>> getTombstoneVal())<br>
>>>>>>> + return<br>
>>>>>>> std::make_pair(iterator(&Bucket, false),<br>
>>>>>>> + false); //<br>
>>>>>>> Already<br>
>>>>>>> exists in map.<br>
>>>>>>> +<br>
>>>>>>> + MapEntryTy *NewItem =<br>
>>>>>>> MapEntryTy::Create(KV.first,<br>
>>>>>>> Allocator,<br>
>>>>>>> KV.second);<br>
>>>>>>> +<br>
>>>>>>> + if (Bucket ==<br>
>>>>>>> getTombstoneVal())<br>
>>>>>>> + --NumTombstones;<br>
>>>>>>> + Bucket = NewItem;<br>
>>>>>>> + ++NumItems;<br>
>>>>>>> + assert(NumItems +<br>
>>>>>>> NumTombstones <=<br>
>>>>>>> NumBuckets);<br>
>>>>>>> +<br>
>>>>>>> + RehashTable();<br>
>>>>>>> + return<br>
>>>>>>> std::make_pair(iterator(&Bucket,<br>
>>>>>>> false), true);<br>
>>>>>>> + }<br>
>>>>>>> +<br>
>>>>>>> + /// insert - Inserts the<br>
>>>>>>> specified<br>
>>>>>>> key/value<br>
>>>>>>> pair into the map if the<br>
>>>>>>> key<br>
>>>>>>> + /// isn't already in the map.<br>
>>>>>>> If the key is<br>
>>>>>>> already in the map, it<br>
>>>>>>> returns<br>
>>>>>>> + // false and doesn't update<br>
>>>>>>> the<br>
>>>>>>> value.<br>
>>>>>>> + std::pair<iterator, bool><br>
>>>>>>> insert(std::pair<StringRef,<br>
>>>>>>> ValueTy> &&KV) {<br>
>>>>>>> + unsigned BucketNo =<br>
>>>>>>> LookupBucketFor(KV.first);<br>
>>>>>>> + StringMapEntryBase *&Bucket<br>
>>>>>>> =<br>
>>>>>>> TheTable[BucketNo];<br>
>>>>>>> + if (Bucket && Bucket !=<br>
>>>>>>> getTombstoneVal())<br>
>>>>>>> + return<br>
>>>>>>> std::make_pair(iterator(&Bucket, false),<br>
>>>>>>> + false); //<br>
>>>>>>> Already<br>
>>>>>>> exists in map.<br>
>>>>>>> +<br>
>>>>>>> + MapEntryTy *NewItem =<br>
>>>>>>> + MapEntryTy::Create(KV.first,<br>
>>>>>>> Allocator,<br>
>>>>>>> std::move(KV.second));<br>
>>>>>>> +<br>
>>>>>>> + if (Bucket ==<br>
>>>>>>> getTombstoneVal())<br>
>>>>>>> + --NumTombstones;<br>
>>>>>>> + Bucket = NewItem;<br>
>>>>>>> + ++NumItems;<br>
>>>>>>> + assert(NumItems +<br>
>>>>>>> NumTombstones <=<br>
>>>>>>> NumBuckets);<br>
>>>>>>> +<br>
>>>>>>> + RehashTable();<br>
>>>>>>> + return<br>
>>>>>>> std::make_pair(iterator(&Bucket,<br>
>>>>>>> false), true);<br>
>>>>>>> + }<br>
>>>>>>> +<br>
>>>>>>> // clear - Empties out the<br>
>>>>>>> StringMap<br>
>>>>>>> void clear() {<br>
>>>>>>> if (empty()) return;<br>
>>>>>>> Index:<br>
>>>>>>> unittests/ADT/StringMapTest.cpp<br>
>>>>>>><br>
>>>>>>> ===================================================================<br>
>>>>>>> ---<br>
>>>>>>> unittests/ADT/StringMapTest.cpp<br>
>>>>>>> +++<br>
>>>>>>> unittests/ADT/StringMapTest.cpp<br>
>>>>>>> @@ -203,6 +203,13 @@<br>
>>>>>>> assertSingleItemMap();<br>
>>>>>>> }<br>
>>>>>>><br>
>>>>>>> +// Test insert(pair<K, V>)<br>
>>>>>>> method<br>
>>>>>>> +TEST_F(StringMapTest,<br>
>>>>>>> InsertTestPair) {<br>
>>>>>>> +<br>
>>>>>>> testMap.insert(std::make_pair(testKeyFirst,<br>
>>>>>>> testValue));<br>
>>>>>>> + EXPECT_EQ(1u, testMap.size());<br>
>>>>>>> + EXPECT_EQ(testValue,<br>
>>>>>>> testMap[testKeyFirst]);<br>
>>>>>>> +}<br>
>>>>>>> +<br>
>>>>>>> // Create a non-default<br>
>>>>>>> constructable value<br>
>>>>>>> struct StringMapTestStruct {<br>
>>>>>>> StringMapTestStruct(int i) :<br>
>>>>>>> i(i) {}<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> _______________________________________________<br>
>>>>>>> llvm-commits mailing list<br>
>>>>>>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>>><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>>>><br>
>>>>>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> --<br>
>>>>>>> <a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
>>>>>>> the browser experts<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> -- <a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
>>>>>>> the browser experts<br>
>>>>>>><br>
>>>>>>> _______________________________________________<br>
>>>>>>> llvm-commits mailing list<br>
>>>>>>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>>><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>>>>> <mailto:<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>>>><br>
>>>>>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> -- <a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
>>>>>>> the browser experts<br>
>>>>>>><br>
>>>>>>><br>
>>>>>>> -- <a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
>>>>>>> the browser experts<br>
>>>>>>><br>
>>>>>><br>
>>>>>> --<br>
>>>>>> <a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
>>>>>> the browser experts<br>
>>>>>><br>
>>>>><br>
>>>>> _______________________________________________<br>
>>>>> llvm-commits mailing list<br>
>>>>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>>>>><br>
>>>><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> llvm-commits mailing list<br>
>>>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>>>><br>
>>><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
><br>
</div></div></blockquote></div><br></div></div>