Consider adding even more compiler warnings, even when they require code changes.

Some of these warnings might be worth adding, either globally or selectively, but they would require a significant amount of effort to modify our code. (I already got the easy cases with legacy/trac#19180 (moved), I think.)

  cast-qual (4.6)

    Rationale: triggers everywhere, even in some pretty normal C.  Would
    be nice to have it trigger less, but would need to blow up a bunch
    of API things.  Bigger project.

  conversion (4.6)

    Rationale: triggers all over.  Probably wrong code in some
    cases, but careful thought needed in most Bigger project.

  sign-conversion (4.6)

    Triggers ALL OVER.  Quite possibly a bug in some cases, though.
    Bigger project.

  cast-align (3)
    We already do this safely. Need to re-test on a system with
    stronger-than-intel alignment rules, though.

  shadow (3)
    mistake; worth fixing.

  switch-default (3)
   Not sure this is a good idea; someof these look like mistakes,
   but some don't.

  assign-enum (clang)
   triggers all over; worth fixing.

  conditional-uninitialized (clang)
   triggers all over; not sure whether this is worth fixing.