<div dir="auto">Can we reuse main from compiler-rt/lib/fuzzer/standalone?</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Oct 12, 2017, 11:23 AM Mitch Phillips via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hctim updated this revision to Diff 118814.<br>
hctim added a comment.<br>
<br>
- kcc's comments<br>
<br>
<br>
<a href="https://reviews.llvm.org/D38855" rel="noreferrer" target="_blank">https://reviews.llvm.org/D38855</a><br>
<br>
Files:<br>
  tools/llvm-demangle-fuzzer/CMakeLists.txt<br>
  tools/llvm-demangle-fuzzer/llvm-demangle-fuzzer.cpp<br>
<br>
<br>
Index: tools/llvm-demangle-fuzzer/llvm-demangle-fuzzer.cpp<br>
===================================================================<br>
--- /dev/null<br>
+++ tools/llvm-demangle-fuzzer/llvm-demangle-fuzzer.cpp<br>
@@ -0,0 +1,24 @@<br>
+//===--- llvm-demangle-fuzzer.cpp - Fuzzer for the Itanium Demangler ------===//<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 "llvm/Demangle/Demangle.h"<br>
+<br>
+#include <cstdint><br>
+#include <cstdlib><br>
+#include <string><br>
+<br>
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {<br>
+  std::string NullTerminatedString((const char *)Data, Size);<br>
+  int status = 0;<br>
+  if (char *demangle = llvm::itaniumDemangle(NullTerminatedString.c_str(), nullptr,<br>
+                                         nullptr, &status))<br>
+    free(demangle);<br>
+<br>
+  return 0;<br>
+}<br>
Index: tools/llvm-demangle-fuzzer/CMakeLists.txt<br>
===================================================================<br>
--- /dev/null<br>
+++ tools/llvm-demangle-fuzzer/CMakeLists.txt<br>
@@ -0,0 +1,6 @@<br>
+set(LLVM_LINK_COMPONENTS<br>
+  Demangle<br>
+)<br>
+add_llvm_fuzzer(llvm-demangle-fuzzer<br>
+  EXCLUDE_FROM_ALL<br>
+  llvm-demangle-fuzzer.cpp)<br>
<br>
<br>
</blockquote></div>