tmp/tmpqh3fj79i/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Clause [[dcl.dcl]]: declarations <a id="diff.cpp14.dcl.dcl">[[diff.cpp14.dcl.dcl]]</a>
|
| 2 |
+
|
| 3 |
+
[[dcl.stc]] **Change:** Removal of `register` *storage-class-specifier*.
|
| 4 |
+
**Rationale:** Enable repurposing of deprecated keyword in future
|
| 5 |
+
revisions of this International Standard. **Effect on original
|
| 6 |
+
feature:** A valid C++14declaration utilizing the `register`
|
| 7 |
+
*storage-class-specifier* is ill-formed in this International Standard.
|
| 8 |
+
The specifier can simply be removed to retain the original meaning.
|
| 9 |
+
|
| 10 |
+
[[dcl.spec.auto]] **Change:** `auto` deduction from *braced-init-list*.
|
| 11 |
+
**Rationale:** More intuitive deduction behavior. **Effect on original
|
| 12 |
+
feature:** Valid C++14code may fail to compile or may change meaning in
|
| 13 |
+
this International Standard. For example:
|
| 14 |
+
|
| 15 |
+
``` cpp
|
| 16 |
+
auto x1{1}; // was std::initializer_list<int>, now int
|
| 17 |
+
auto x2{1, 2}; // was std::initializer_list<int>, now ill-formed
|
| 18 |
+
```
|
| 19 |
+
|