Joshua Haberman writes: > The protobuf library compiled and installed fine, but the generated > classes threw warnings (and since I was compiling with -Werror, failed > to compile). The warning was: > > benchmarks/google_messages.pb.cc: In copy constructor > ‘benchmarks::SpeedMessage2::SpeedMessage2(const > benchmarks::SpeedMessage2&)’: > benchmarks/google_messages.pb.cc:4179: warning: base class ‘class > google::protobuf::Message’ should be explicitly initialized in the > copy constructor > > I thought this was an odd warning, since the constructors don't > explicitly initialize their base classes, and do not throw warnings. > I also thought it was odd since other versions of gcc don't throw this > warning AFAIK.
This warning is triggered by using g++'s -Weffc++ warning flag. I raised this before[1], with a patch that was backed out because it led to constructor code being duplicated. Making both sides happy probably involves adding a command-line flag to protoc that toggles how it generates code: by default, omitting those constructor calls, but allowing the user to ask for those constructors to be called. Kenton, would that be a reasonable approach? If so, I should have time to update my patch to do that and resubmit. [1] http://code.google.com/p/protobuf/issues/detail?id=86 Michael Poole --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to protobuf@googlegroups.com To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~----------~----~----~----~------~----~------~--~---