From Jason Turner

[dcl.attr.likelihood]

Diff to HTML by rtfpessoa

tmp/tmpa9bcwm5m/{from.md → to.md} RENAMED
@@ -4,22 +4,25 @@ The *attribute-token*s `likely` and `unlikely` may be applied to labels
4
  or statements. No *attribute-argument-clause* shall be present. The
5
  *attribute-token* `likely` shall not appear in an
6
  *attribute-specifier-seq* that contains the *attribute-token*
7
  `unlikely`.
8
 
9
- *Recommended practice:* The use of the `likely` attribute is intended to
10
- allow implementations to optimize for the case where paths of execution
11
  including it are arbitrarily more likely than any alternative path of
12
  execution that does not include such an attribute on a statement or
13
  label. The use of the `unlikely` attribute is intended to allow
14
  implementations to optimize for the case where paths of execution
15
  including it are arbitrarily more unlikely than any alternative path of
16
  execution that does not include such an attribute on a statement or
17
- label. A path of execution includes a label if and only if it contains a
18
- jump to that label.
 
 
 
19
 
20
- [*Note 1*: Excessive usage of either of these attributes is liable to
21
  result in performance degradation. — *end note*]
22
 
23
  [*Example 1*:
24
 
25
  ``` cpp
 
4
  or statements. No *attribute-argument-clause* shall be present. The
5
  *attribute-token* `likely` shall not appear in an
6
  *attribute-specifier-seq* that contains the *attribute-token*
7
  `unlikely`.
8
 
9
+ [*Note 1*: The use of the `likely` attribute is intended to allow
10
+ implementations to optimize for the case where paths of execution
11
  including it are arbitrarily more likely than any alternative path of
12
  execution that does not include such an attribute on a statement or
13
  label. The use of the `unlikely` attribute is intended to allow
14
  implementations to optimize for the case where paths of execution
15
  including it are arbitrarily more unlikely than any alternative path of
16
  execution that does not include such an attribute on a statement or
17
+ label. It is expected that the value of a *has-attribute-expression* for
18
+ the `likely` and `unlikely` attributes is `0` if the implementation does
19
+ not attempt to use these attributes for such optimizations. A path of
20
+ execution includes a label if and only if it contains a jump to that
21
+ label. — *end note*]
22
 
23
+ [*Note 2*: Excessive usage of either of these attributes is liable to
24
  result in performance degradation. — *end note*]
25
 
26
  [*Example 1*:
27
 
28
  ``` cpp