[PATCH] D36324: Integrate Kostya's clang-proto-fuzzer with LLVM.

Vitaly Buka via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 4 13:50:22 PDT 2017


vitalybuka added inline comments.


================
Comment at: clang/cmake/modules/ProtobufMutator.cmake:13
+    -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+    -DCMAKE_BUILD_TYPE=Debug
+  BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}
----------------
Why this is debug?



================
Comment at: clang/tools/clang-fuzzer/CMakeLists.txt:12
+    # Hack to bypass LLVM's cmake sources check and allow multiple libraries and
+    # executables from this directory.
+    set(LLVM_OPTIONAL_SOURCES
----------------
You already download mutator, so maybe just DOWNLOAD_PROTOBUF and simplify this piece?


================
Comment at: clang/tools/clang-fuzzer/ClangFuzzer.cpp:20
 
 extern "C" int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
   std::string s((const char *)data, size);
----------------
Do we want replace this fuzzer? Why not just add another one?


================
Comment at: clang/tools/clang-fuzzer/cxx_proto.proto:93
+}
+
+package clang_fuzzer;
----------------
message CxxInput {
  required Function f = 1;
  required int/enum opt_level = 2;
  required enum tripple = 3;
  required scalar-evolution-max-arith-depth ...
}


================
Comment at: clang/tools/clang-fuzzer/proto-to-cxx/proto_to_cxx.cpp:22
+
+#define P(Type) std::ostream &operator<<(std::ostream &os, const Type &x)
+// Forward decls.
----------------
Not sure that macro here is justified
could you please replace with 
std::ostream &operator<<(std::ostream &os, const BinaryOp& x) {

...


https://reviews.llvm.org/D36324





More information about the cfe-commits mailing list