<div dir="ltr">Hello Dan,<br><br>It look like this commit added warnings to one of our builders:<br><a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/4040">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/4040</a><br><br>C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\lib\CodeGen\BackendUtil.cpp(1004): warning C4062: enumerator 'llvm::Triple::Wasm' in switch of enum 'llvm::Triple::ObjectFormatType' is not handled<br>C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\lib\CodeGen\BackendUtil.cpp(1016): warning C4062: enumerator 'llvm::Triple::Wasm' in switch of enum 'llvm::Triple::ObjectFormatType' is not handled<br>C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\lib\CodeGen\CodeGenModule.cpp(3349): warning C4062: enumerator 'llvm::Triple::Wasm' in switch of enum 'llvm::Triple::ObjectFormatType' is not handled<br><br>Please have a look at this?<br><br>Thanks<br><br>Galina<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 17, 2017 at 12:34 PM, Dan Gohman via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: djg<br>
Date: Tue Jan 17 14:34:09 2017<br>
New Revision: 292252<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=292252&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=292252&view=rev</a><br>
Log:<br>
[WebAssembly] Add triple support for the new wasm object format<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D26701" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D26701</a><br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/ADT/<wbr>Triple.h<br>
    llvm/trunk/lib/MC/<wbr>MCObjectFileInfo.cpp<br>
    llvm/trunk/lib/ProfileData/<wbr>InstrProf.cpp<br>
    llvm/trunk/lib/Support/Triple.<wbr>cpp<br>
    llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>AddressSanitizer.cpp<br>
    llvm/trunk/unittests/ADT/<wbr>TripleTest.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/ADT/<wbr>Triple.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=292252&r1=292251&r2=292252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/ADT/Triple.h?rev=292252&<wbr>r1=292251&r2=292252&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/include/llvm/ADT/<wbr>Triple.h (original)<br>
+++ llvm/trunk/include/llvm/ADT/<wbr>Triple.h Tue Jan 17 14:34:09 2017<br>
@@ -206,6 +206,7 @@ public:<br>
     COFF,<br>
     ELF,<br>
     MachO,<br>
+    Wasm,<br>
   };<br>
<br>
 private:<br>
@@ -576,6 +577,11 @@ public:<br>
     return getObjectFormat() == Triple::MachO;<br>
   }<br>
<br>
+  /// Tests whether the OS uses the Wasm binary format.<br>
+  bool isOSBinFormatWasm() const {<br>
+    return getObjectFormat() == Triple::Wasm;<br>
+  }<br>
+<br>
   /// Tests whether the target is the PS4 CPU<br>
   bool isPS4CPU() const {<br>
     return getArch() == Triple::x86_64 &&<br>
<br>
Modified: llvm/trunk/lib/MC/<wbr>MCObjectFileInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCObjectFileInfo.cpp?rev=292252&r1=292251&r2=292252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/MC/<wbr>MCObjectFileInfo.cpp?rev=<wbr>292252&r1=292251&r2=292252&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/MC/<wbr>MCObjectFileInfo.cpp (original)<br>
+++ llvm/trunk/lib/MC/<wbr>MCObjectFileInfo.cpp Tue Jan 17 14:34:09 2017<br>
@@ -843,6 +843,9 @@ void MCObjectFileInfo::<wbr>InitMCObjectFileI<br>
     Env = IsELF;<br>
     initELFMCObjectFileInfo(TT);<br>
     break;<br>
+  case Triple::Wasm:<br>
+    report_fatal_error("Cannot initialize MC for wasm object file format yet.");<br>
+    break;<br>
   case Triple::UnknownObjectFormat:<br>
     report_fatal_error("Cannot initialize MC for unknown object file format.");<br>
     break;<br>
<br>
Modified: llvm/trunk/lib/ProfileData/<wbr>InstrProf.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ProfileData/InstrProf.cpp?rev=292252&r1=292251&r2=292252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>ProfileData/InstrProf.cpp?rev=<wbr>292252&r1=292251&r2=292252&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/ProfileData/<wbr>InstrProf.cpp (original)<br>
+++ llvm/trunk/lib/ProfileData/<wbr>InstrProf.cpp Tue Jan 17 14:34:09 2017<br>
@@ -794,7 +794,7 @@ bool needsComdatForCounter(const Functio<br>
     return true;<br>
<br>
   Triple TT(M.getTargetTriple());<br>
-  if (!TT.isOSBinFormatELF())<br>
+  if (!TT.isOSBinFormatELF() && !TT.isOSBinFormatWasm())<br>
     return false;<br>
<br>
   // See createPGOFuncNameVar for more details. To avoid link errors, profile<br>
<br>
Modified: llvm/trunk/lib/Support/Triple.<wbr>cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=292252&r1=292251&r2=292252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Support/Triple.cpp?rev=292252&<wbr>r1=292251&r2=292252&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Support/Triple.<wbr>cpp (original)<br>
+++ llvm/trunk/lib/Support/Triple.<wbr>cpp Tue Jan 17 14:34:09 2017<br>
@@ -510,6 +510,7 @@ static Triple::ObjectFormatType parseFor<br>
     .EndsWith("coff", Triple::COFF)<br>
     .EndsWith("elf", Triple::ELF)<br>
     .EndsWith("macho", Triple::MachO)<br>
+    .EndsWith("wasm", Triple::Wasm)<br>
     .Default(Triple::<wbr>UnknownObjectFormat);<br>
 }<br>
<br>
@@ -581,6 +582,7 @@ static StringRef getObjectFormatTypeName<br>
   case Triple::COFF: return "coff";<br>
   case Triple::ELF: return "elf";<br>
   case Triple::MachO: return "macho";<br>
+  case Triple::Wasm: return "wasm";<br>
   }<br>
   llvm_unreachable("unknown object format type");<br>
 }<br>
<br>
Modified: llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>AddressSanitizer.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp?rev=292252&r1=292251&r2=292252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Instrumentation/<wbr>AddressSanitizer.cpp?rev=<wbr>292252&r1=292251&r2=292252&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>AddressSanitizer.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>AddressSanitizer.cpp Tue Jan 17 14:34:09 2017<br>
@@ -1853,7 +1853,8 @@ bool AddressSanitizerModule::<wbr>InstrumentG<br>
     GlobalValue *InstrumentedGlobal = NewGlobal;<br>
<br>
     bool CanUsePrivateAliases =<br>
-        TargetTriple.isOSBinFormatELF(<wbr>) || TargetTriple.<wbr>isOSBinFormatMachO();<br>
+        TargetTriple.isOSBinFormatELF(<wbr>) || TargetTriple.<wbr>isOSBinFormatMachO() ||<br>
+        TargetTriple.<wbr>isOSBinFormatWasm();<br>
     if (CanUsePrivateAliases && ClUsePrivateAliasForGlobals) {<br>
       // Create local alias for NewGlobal to avoid crash on ODR between<br>
       // instrumented and non-instrumented libraries.<br>
<br>
Modified: llvm/trunk/unittests/ADT/<wbr>TripleTest.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/TripleTest.cpp?rev=292252&r1=292251&r2=292252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/unittests/<wbr>ADT/TripleTest.cpp?rev=292252&<wbr>r1=292251&r2=292252&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/unittests/ADT/<wbr>TripleTest.cpp (original)<br>
+++ llvm/trunk/unittests/ADT/<wbr>TripleTest.cpp Tue Jan 17 14:34:09 2017<br>
@@ -888,6 +888,9 @@ TEST(TripleTest, FileFormat) {<br>
   EXPECT_EQ(Triple::ELF, Triple("i686-pc-windows-msvc-<wbr>elf").getObjectFormat());<br>
   EXPECT_EQ(Triple::ELF, Triple("i686-pc-cygwin-elf").<wbr>getObjectFormat());<br>
<br>
+  EXPECT_EQ(Triple::Wasm, Triple("wasm32-unknown-<wbr>unknown-wasm").<wbr>getObjectFormat());<br>
+  EXPECT_EQ(Triple::Wasm, Triple("wasm64-unknown-<wbr>unknown-wasm").<wbr>getObjectFormat());<br>
+<br>
   Triple MSVCNormalized(Triple::<wbr>normalize("i686-pc-windows-<wbr>msvc-elf"));<br>
   EXPECT_EQ(Triple::ELF, MSVCNormalized.<wbr>getObjectFormat());<br>
<br>
<br>
<br>
______________________________<wbr>_________________<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/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>