From b50cf568d71c7887953b49cc5678e51d45a707c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20Gr=C3=B6n?= <peck@spotify.com> Date: Thu, 11 May 2017 08:16:48 +0200 Subject: [PATCH] Emit additional headers in generated .h file instead of .cc For Flatbuffers compatibility. From what I can tell, File::additional_headers is not used by gRPC itself or its default protobuf implementation; it was added for Flatbuffers support (it just returns "" for protobuf). In the Flatbuffer case, the generated header contains references to Flatbuffer gRPC glue code which is in a header in additional_headers. Prior to this patch, this meant that the generated .h file could not be included unless this glue file was included first. Because the protobuf implementation of additional_headers returns an empty string, I think this change should be safe to do and not have unintentional consequences. --- src/compiler/cpp_generator.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc index 42d4c498e6..7a2c44fd46 100644 --- a/src/compiler/cpp_generator.cc +++ b/src/compiler/cpp_generator.cc @@ -125,6 +125,7 @@ grpc::string GetHeaderPrologue(grpc_generator::File *file, printer->Print(vars, "#define GRPC_$filename_identifier$__INCLUDED\n"); printer->Print(vars, "\n"); printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n"); + printer->Print(vars, file->additional_headers().c_str()); printer->Print(vars, "\n"); } return output; @@ -1046,7 +1047,6 @@ grpc::string GetSourcePrologue(grpc_generator::File *file, printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n"); printer->Print(vars, "#include \"$filename_base$$service_header_ext$\"\n"); - printer->Print(vars, file->additional_headers().c_str()); printer->Print(vars, "\n"); } return output; -- GitLab