From Jason Turner

[dcl.attr.fallthrough]

Diff to HTML by rtfpessoa

tmp/tmpod54r913/{from.md → to.md} RENAMED
@@ -1,9 +1,9 @@
1
  ### Fallthrough attribute <a id="dcl.attr.fallthrough">[[dcl.attr.fallthrough]]</a>
2
 
3
  The *attribute-token* `fallthrough` may be applied to a null statement
4
- [[stmt.expr]]; such a statement is a fallthrough statement. No
5
  *attribute-argument-clause* shall be present. A fallthrough statement
6
  may only appear within an enclosing `switch` statement [[stmt.switch]].
7
  The next statement that would be executed after a fallthrough statement
8
  shall be a labeled statement whose label is a case label or default
9
  label for the same `switch` statement and, if the fallthrough statement
@@ -13,12 +13,15 @@ iteration statement. The program is ill-formed if there is no such
13
  statement.
14
 
15
  *Recommended practice:* The use of a fallthrough statement should
16
  suppress a warning that an implementation might otherwise issue for a
17
  case or default label that is reachable from another case or default
18
- label along some path of execution. Implementations should issue a
19
- warning if a fallthrough statement is not dynamically reachable.
 
 
 
20
 
21
  [*Example 1*:
22
 
23
  ``` cpp
24
  void f(int n) {
 
1
  ### Fallthrough attribute <a id="dcl.attr.fallthrough">[[dcl.attr.fallthrough]]</a>
2
 
3
  The *attribute-token* `fallthrough` may be applied to a null statement
4
+ [[stmt.expr]]; such a statement is a *fallthrough statement*. No
5
  *attribute-argument-clause* shall be present. A fallthrough statement
6
  may only appear within an enclosing `switch` statement [[stmt.switch]].
7
  The next statement that would be executed after a fallthrough statement
8
  shall be a labeled statement whose label is a case label or default
9
  label for the same `switch` statement and, if the fallthrough statement
 
13
  statement.
14
 
15
  *Recommended practice:* The use of a fallthrough statement should
16
  suppress a warning that an implementation might otherwise issue for a
17
  case or default label that is reachable from another case or default
18
+ label along some path of execution. The value of a
19
+ *has-attribute-expression* for the `fallthrough` attribute should be `0`
20
+ if the attribute does not cause suppression of such warnings.
21
+ Implementations should issue a warning if a fallthrough statement is not
22
+ dynamically reachable.
23
 
24
  [*Example 1*:
25
 
26
  ``` cpp
27
  void f(int n) {