Merge change 6571

* changes:
  Since we're using gcc 4.4 in master, we can use the -Werror= option to make not having a virtual destructor in classes with virtual methods an error. I already fixed all code that had this problem, so now it's a matter of turning the option on. Also, as long as we don't have any C-specific options, it's probably best to copy the CPP flags from the C flags. We can always break them out later.