From Jason Turner

[conv.lval]

Diff to HTML by rtfpessoa

tmp/tmpta0qrca8/{from.md → to.md} RENAMED
@@ -1,12 +1,14 @@
1
  ### Lvalue-to-rvalue conversion <a id="conv.lval">[[conv.lval]]</a>
2
 
3
  A glvalue [[basic.lval]] of a non-function, non-array type `T` can be
4
- converted to a prvalue.[^5] If `T` is an incomplete type, a program that
5
- necessitates this conversion is ill-formed. If `T` is a non-class type,
6
- the type of the prvalue is the cv-unqualified version of `T`. Otherwise,
7
- the type of the prvalue is `T`. [^6]
 
 
8
 
9
  When an lvalue-to-rvalue conversion is applied to an expression E, and
10
  either
11
 
12
  - E is not potentially evaluated, or
@@ -41,13 +43,12 @@ rules:
41
  `T` is volatile-qualified [[intro.execution]], and the glvalue can
42
  refer to an inactive member of a union [[class.union]]. — *end note*]
43
  - Otherwise, if `T` has a class type, the conversion copy-initializes
44
  the result object from the glvalue.
45
  - Otherwise, if the object to which the glvalue refers contains an
46
- invalid pointer value ([[basic.stc.dynamic.deallocation]],
47
- [[basic.stc.dynamic.safety]]), the behavior is
48
- *implementation-defined*.
49
  - Otherwise, the object indicated by the glvalue is read
50
  [[defns.access]], and the value contained in the object is the prvalue
51
  result.
52
 
53
  [*Note 2*: See also  [[basic.lval]]. — *end note*]
 
1
  ### Lvalue-to-rvalue conversion <a id="conv.lval">[[conv.lval]]</a>
2
 
3
  A glvalue [[basic.lval]] of a non-function, non-array type `T` can be
4
+ converted to a prvalue.[^5]
5
+
6
+ If `T` is an incomplete type, a program that necessitates this
7
+ conversion is ill-formed. If `T` is a non-class type, the type of the
8
+ prvalue is the cv-unqualified version of `T`. Otherwise, the type of the
9
+ prvalue is `T`.[^6]
10
 
11
  When an lvalue-to-rvalue conversion is applied to an expression E, and
12
  either
13
 
14
  - E is not potentially evaluated, or
 
43
  `T` is volatile-qualified [[intro.execution]], and the glvalue can
44
  refer to an inactive member of a union [[class.union]]. — *end note*]
45
  - Otherwise, if `T` has a class type, the conversion copy-initializes
46
  the result object from the glvalue.
47
  - Otherwise, if the object to which the glvalue refers contains an
48
+ invalid pointer value [[basic.stc.dynamic.deallocation]], the behavior
49
+ is *implementation-defined*.
 
50
  - Otherwise, the object indicated by the glvalue is read
51
  [[defns.access]], and the value contained in the object is the prvalue
52
  result.
53
 
54
  [*Note 2*: See also  [[basic.lval]]. — *end note*]