[llvm] r213994 - IR/UseTest.cpp: Avoid std::to_string() to appease mingw32 bot.

NAKAMURA Takumi geek4civic at gmail.com
Sun Aug 3 15:11:40 PDT 2014


See also http://lab.llvm.org:8011/builders/clang-native-mingw32-win7/builds/7040

I am not sure whether to avoid std::to_string() or drop away incomplete hosts.
In fact in Cygwin's libstdc++-4.8.2, std::to_string is conditionalized,

#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \
     && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF))

Cygwin's c++config.h doesn't provide _GLIBCXX_USE_C99. I don't know
how it would be in mingw32 builder.

2014-08-04 4:30 GMT+09:00 Duncan P. N. Exon Smith <dexonsmith at apple.com>:
>
>> On 2014 Jul 25, at 17:45, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
>>
>> Author: chapuni
>> Date: Fri Jul 25 19:45:30 2014
>> New Revision: 213994
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=213994&view=rev
>> Log:
>> IR/UseTest.cpp: Avoid std::to_string() to appease mingw32 bot.
>>
>> Modified:
>>    llvm/trunk/unittests/IR/UseTest.cpp
>>
>
> Thanks for this, I didn't see any bot failure emails.
>
> Is `std::to_string()` totally unsupported?  Let me know and I'll
> add it to the list [1].
>
> [1]: http://llvm.org/docs/CodingStandards.html#supported-c-11-language-and-library-features
>
>> Modified: llvm/trunk/unittests/IR/UseTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/IR/UseTest.cpp?rev=213994&r1=213993&r2=213994&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/IR/UseTest.cpp (original)
>> +++ llvm/trunk/unittests/IR/UseTest.cpp Fri Jul 25 19:45:30 2014
>> @@ -13,9 +13,9 @@
>> #include "llvm/IR/Module.h"
>> #include "llvm/IR/User.h"
>> #include "llvm/IR/Instructions.h"
>> +#include "llvm/Support/Format.h"
>> #include "llvm/Support/SourceMgr.h"
>> #include "gtest/gtest.h"
>> -#include <string>
>>
>> using namespace llvm;
>>
>> @@ -37,6 +37,7 @@ TEST(UseTest, sort) {
>>                              "  ret void\n"
>>                              "}\n";
>>   SMDiagnostic Err;
>> +  char vnbuf[8];
>>   Module *M = ParseAssemblyString(ModuleString, nullptr, Err, C);
>>   Function *F = M->getFunction("f");
>>   ASSERT_TRUE(F);
>> @@ -48,16 +49,20 @@ TEST(UseTest, sort) {
>>     return L.getUser()->getName() < R.getUser()->getName();
>>   });
>>   unsigned I = 0;
>> -  for (User *U : X.users())
>> -    EXPECT_EQ("v" + std::to_string(I++), U->getName());
>> +  for (User *U : X.users()) {
>> +    snprintf(vnbuf, sizeof(vnbuf), "v%u", I++);
>> +    EXPECT_EQ(vnbuf, U->getName());
>> +  }
>>   ASSERT_EQ(8u, I);
>>
>>   X.sortUseList([](const Use &L, const Use &R) {
>>     return L.getUser()->getName() > R.getUser()->getName();
>>   });
>>   I = 0;
>> -  for (User *U : X.users())
>> -    EXPECT_EQ("v" + std::to_string((7 - I++)), U->getName());
>> +  for (User *U : X.users()) {
>> +    snprintf(vnbuf, sizeof(vnbuf), "v%u", (7 - I++));
>> +    EXPECT_EQ(vnbuf, U->getName());
>> +  }
>>   ASSERT_EQ(8u, I);
>> }
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



More information about the llvm-commits mailing list