<div dir="ltr">On Sun, Mar 6, 2016 at 12:01 AM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Saleem, we really needed something like this. I'll make a note<br>
to extend it, so we can retire the Clang tests.<br></blockquote><div><br></div><div>My pleasure.</div><div><br></div><div>I was actually half tempted to drop a clang test that I added (which then prompted me to actually put the effort in for this work).  Im torn on whether that is a good thing or not since that ensures that the frontend actually emits an error, which is a good thing to check anyways.</div><div><br></div><div>But, I do think that we should have the more strenuous tests on the LLVM side rather than clang.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
--renato<br>
<br>
On 6 March 2016 at 04:50, Saleem Abdulrasool via llvm-commits<br>
<div class="HOEnZb"><div class="h5"><<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Author: compnerd<br>
> Date: Sat Mar  5 22:50:55 2016<br>
> New Revision: 262790<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=262790&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=262790&view=rev</a><br>
> Log:<br>
> unitests: add some ARM TargetParser tests<br>
><br>
> The ARM TargetParser would construct invalid StringRefs.  This would cause<br>
> asserts to trigger.  Add some tests in LLVM to ensure that we dont regress on<br>
> this in the future.  Although there is a test for this in clang, this ensures<br>
> that the changes would get caught in the same repository.<br>
><br>
> Added:<br>
>     llvm/trunk/unittests/Support/TargetParserTest.cpp<br>
> Modified:<br>
>     llvm/trunk/unittests/Support/CMakeLists.txt<br>
><br>
> Modified: llvm/trunk/unittests/Support/CMakeLists.txt<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/CMakeLists.txt?rev=262790&r1=262789&r2=262790&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/CMakeLists.txt?rev=262790&r1=262789&r2=262790&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/unittests/Support/CMakeLists.txt (original)<br>
> +++ llvm/trunk/unittests/Support/CMakeLists.txt Sat Mar  5 22:50:55 2016<br>
> @@ -38,6 +38,7 @@ add_llvm_unittest(SupportTests<br>
>    StreamingMemoryObject.cpp<br>
>    StringPool.cpp<br>
>    SwapByteOrderTest.cpp<br>
> +  TargetParserTest.cpp<br>
>    ThreadLocalTest.cpp<br>
>    ThreadPool.cpp<br>
>    TimerTest.cpp<br>
><br>
> Added: llvm/trunk/unittests/Support/TargetParserTest.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/TargetParserTest.cpp?rev=262790&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/TargetParserTest.cpp?rev=262790&view=auto</a><br>
> ==============================================================================<br>
> --- llvm/trunk/unittests/Support/TargetParserTest.cpp (added)<br>
> +++ llvm/trunk/unittests/Support/TargetParserTest.cpp Sat Mar  5 22:50:55 2016<br>
> @@ -0,0 +1,51 @@<br>
> +//===----------- TargetParser.cpp - Target Parser -------------------------===//<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>
> +#include "gtest/gtest.h"<br>
> +#include "llvm/Support/TargetParser.h"<br>
> +<br>
> +using namespace llvm;<br>
> +<br>
> +namespace {<br>
> +TEST(TargetParserTest, ARMArchName) {<br>
> +  for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0);<br>
> +       AK <= ARM::ArchKind::AK_LAST;<br>
> +       AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1))<br>
> +    EXPECT_TRUE(AK == ARM::AK_LAST ? ARM::getArchName(AK).empty()<br>
> +                                   : !ARM::getArchName(AK).empty());<br>
> +}<br>
> +<br>
> +TEST(TargetParserTest, ARMCPUAttr) {<br>
> +  for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0);<br>
> +       AK <= ARM::ArchKind::AK_LAST;<br>
> +       AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1))<br>
> +    EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_LAST)<br>
> +                    ? ARM::getCPUAttr(AK).empty()<br>
> +                    : !ARM::getCPUAttr(AK).empty());<br>
> +}<br>
> +<br>
> +TEST(TargetParserTest, ARMSubArch) {<br>
> +  for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0);<br>
> +       AK <= ARM::ArchKind::AK_LAST;<br>
> +       AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1))<br>
> +    EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_IWMMXT ||<br>
> +                 AK == ARM::AK_IWMMXT2 || AK == ARM::AK_LAST)<br>
> +                    ? ARM::getSubArch(AK).empty()<br>
> +                    : !ARM::getSubArch(AK).empty());<br>
> +}<br>
> +<br>
> +TEST(TargetParserTest, ARMFPUName) {<br>
> +  for (ARM::FPUKind FK = static_cast<ARM::FPUKind>(0);<br>
> +       FK <= ARM::FPUKind::FK_LAST;<br>
> +       FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1))<br>
> +    EXPECT_TRUE(FK == ARM::FK_LAST ? ARM::getFPUName(FK).empty()<br>
> +                                   : !ARM::getFPUName(FK).empty());<br>
> +}<br>
> +}<br>
> +<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>