This is a resubmission of the patch originally posted before
the holidays, but now split up into smaller change sets to make
review easier.  The substance of the changes is described in
the original post:

  https://gcc.gnu.org/ml/gcc-patches/2016-12/msg01892.html

The changes are broken up into a series of 5 smaller patches.
The purpose of the first three is only to refactor code and
set the stage for the last two.  The goal of the refactoring
is to minimize code duplication and movement as a result of
the substantive changes in the last two patches.

The grouping of changes into each of the first three patches is
fairly arbitrary, driven only by the goal of reducing their scope
to make each patch possible to review on its own.  They have no
observable effect on either optimization or warnings.  The last
two patches then build on top of the first three to implement
the observable substantive changes.

Martin

Reply via email to