This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PING: [C PATCH] Various c_do_switch_warnings improvements
- From: Roger Sayle <roger at eyesopen dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Joseph Myers <joseph at codesourcery dot com>
- Date: Thu, 24 Aug 2006 05:09:39 -0600 (MDT)
- Subject: PING: [C PATCH] Various c_do_switch_warnings improvements
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@eyesopen.com>
>
> * 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
--