gcc-patches@gcc.gnu.org
[Top] [All Lists]

PING: [C PATCH] Various c_do_switch_warnings improvements

Subject: PING: [C PATCH] Various c_do_switch_warnings improvements
From: Roger Sayle
Date: Thu, 24 Aug 2006 05:09:39 -0600 MDT
Ping?

On Sat, 8 Jul 2006, Roger Sayle wrote:
http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00379.html
> 2006-07-08  Roger Sayle  <roger@xxxxxxxxxxxx>
>
>       * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
>       temporary visit flags on CASE_LABEL_EXPRs.
>       * c-common.c (match_case_to_enum): Add function comment.  Avoid
>       O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
>       (c_do_switch_warnings):  Reorganize to record CASE_LOW_SEEN and
>       CASE_HIGH_SEEN for enumerated types.  If the switch expression is
>       a constant, only warn if that constant value isn't handled.
>
>       * gcc.dg/Wswitch-enum-2.c: New test case.
>       * gcc.dg/Wswitch-enum-3.c: Likewise.

Basically a diagnostic regression fix, removal of a quadratic loop in
the C front-end to speed up the compiler, and a code clean-up to avoid
undocumented use of tree_common bits.  Unfortunately, summer vacations
have resulted in this going for over a month without comment and not
being pinged earlier.

I've rebootstrapped and regression tested the patch and testcases on
x86_64-unknown-linux-gnu against 20060822 mainline, again with no new
failures.

Many thanks in advance,

Roger
--

<Prev in Thread] Current Thread [Next in Thread>