-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Don't bother messing with the protobuf-generated stuff, since it's lib-dependent. We need to skip this flag for all lib-dependent code. Monty, can you assist?
- -j Chris Musialek wrote: > I've started to hack on Monty's suggestion of --enable-effective-style and > I've gotten stuck. I was hoping someone could nudge me in the right > direction. I'm getting several member initialization list errors in > binary_log.pb.cc, which is an autogenerated protobuffers file built from > binary_log.proto. Since it's autogenerated, it seems I can't just add the > initialization of _unknown_fields_ in the Header constructor. > > binary_log.pb.cc: In constructor ‘BinaryLog::Header::Header()’: > binary_log.pb.cc:213: error: ‘BinaryLog::Header::_unknown_fields_’ should be > initialized in the member initialization list > > I looked at the protobuf syntax for creating a .proto file and didn't see > any syntax related to trying to solve this problem. In the protobuf source > it looks like the generation is handled in src/google/protobuf/compiler/cpp, > with cpp_generator.cc being key. > > Will I need to modify the protobuffers source in order to remove this error? > What other ideas does anyone have to help get past this problem? > > Chris > > On Mon, Mar 9, 2009 at 1:22 PM, Monty Taylor <[email protected]> wrote: > >> If anybody is looking for a fun semi-mindless task to hack on... >> >> run configure with --enable-effective-style >> >> And then start fixing build failures. :) >> >> The flag enables warnings from Scott Meyers’ Effective C++ book: >> >> · Define a copy constructor and an assignment operator >> for classes with dynamically allocated memory. >> >> · Prefer initialization to assignment in constructors. >> >> · Make destructors virtual in base classes. >> >> · Have "operator=" return a reference to *this. >> >> · Don’t try to return a reference when you must return >> an object. >> >> And from Scott Meyers’ More Effective C++ book: >> >> · Distinguish between prefix and postfix forms of >> increment and decrement operators. >> >> · Never overload "&&", "||", or ",". >> >> I gotta say I'd love to have this one on... and it makes me sad to see >> the carnage when it's turned on. >> >> If you are new to C++ or are looking to find a good set of >> best-practices, the Meyers book is a fairly standard and well regarded >> set of them, as should be evidenced by the fact that some of them have >> made it in to the GCC warning system. :) >> >> Monty >> >> _______________________________________________ >> Mailing list: >> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss> >> Post to : [email protected] >> Unsubscribe : >> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss> >> More help : https://help.launchpad.net/ListHelp >> > > > ------------------------------------------------------------------------ > > _______________________________________________ > Mailing list: https://launchpad.net/~drizzle-discuss > Post to : [email protected] > Unsubscribe : https://launchpad.net/~drizzle-discuss > More help : https://help.launchpad.net/ListHelp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkm9SzoACgkQ2upbWsB4UtG6LgCaA8xeF8ClOsL3gWcOFOZZgzwa GvAAn062QuftvLRNQhM3oeeq9nNJmKET =ClB6 -----END PGP SIGNATURE----- _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

