On 11/20/19 4:15 PM, Joseph Myers wrote:
> Various bad uses of the [[fallthrough]] attribute are constraint
> violations in C2x, so need pedwarns rather than warnings.
> 
> This patch duly turns the relevant warnings into pedwarns.  The
> relevant code is not specific to C, and does not know which form the
> attribute was given in ([[fallthrough]] or [[gnu::fallthrough]] or
> __attribute__((fallthrough))), but as I understand it these usages are
> also erroneous for C++ and it seems reasonable to give a pedwarn here
> even when a form other than [[fallthrough]] is being used.
> 
> The precise meaning of the standard wording about "The next statement
> that would be executed" seems a but unclear in some corner cases; the
> tests added keep to cases where it is clear whether or not the next
> statement executed is of the required form.
> 
> Bootstrapped with no regressions for x86_64-pc-linux-gnu.  OK to commit 
> (the gimplify.c changes)?
> 
> gcc:
> 2019-11-20  Joseph Myers  <jos...@codesourcery.com>
> 
>       * gimplify.c (expand_FALLTHROUGH_r, expand_FALLTHROUGH): Use
>       pedwarn instead of warning_at for fallthrough not preceding a case
>       or default label.
> 
> gcc/c-family:
> 2019-11-20  Joseph Myers  <jos...@codesourcery.com>
> 
>       * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
>       of warning.
> 
> gcc/testsuite:
> 2019-11-20  Joseph Myers  <jos...@codesourcery.com>
> 
>       * gcc.dg/c2x-attr-fallthrough-6.c: New test.  Split out from
>       c2x-attr-fallthrough-3.c.
>       * gcc.dg/c2x-attr-fallthrough-1.c: Add more tests.
>       * gcc.dg/c2x-attr-fallthrough-2.c: Update expected diagnostics.
>       * gcc.dg/c2x-attr-fallthrough-3.c: Split inside-switch part of
>       test out to c2x-attr-fallthrough-6.c.
OK
jeff

Reply via email to