Index: clang/tools/clang-fuzzer/cxx_loop_proto.proto =================================================================== --- clang/tools/clang-fuzzer/cxx_loop_proto.proto +++ clang/tools/clang-fuzzer/cxx_loop_proto.proto @@ -73,8 +73,12 @@ repeated Statement statements = 1; } -message LoopFunction { +message Loop { required StatementSeq statements = 1; } +message LoopFunction { + repeated Loop loops = 1; +} + package clang_fuzzer; Index: clang/tools/clang-fuzzer/proto-to-cxx/loop_proto_to_cxx.cpp =================================================================== --- clang/tools/clang-fuzzer/proto-to-cxx/loop_proto_to_cxx.cpp +++ clang/tools/clang-fuzzer/proto-to-cxx/loop_proto_to_cxx.cpp @@ -108,10 +108,15 @@ os << st; return os; } +std::ostream &operator<<(std::ostream &os, const Loop &x){ + return os << "for (int i=0; i