tmp/tmp9651oabe/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Clause [[lex]]: lexical conventions <a id="diff.cpp14.lex">[[diff.cpp14.lex]]</a>
|
| 2 |
+
|
| 3 |
+
[[lex.phases]] **Change:** Removal of trigraph support as a required
|
| 4 |
+
feature. **Rationale:** Prevents accidental uses of trigraphs in non-raw
|
| 5 |
+
string literals and comments. **Effect on original feature:** Valid
|
| 6 |
+
C++14code that uses trigraphs may not be valid or may have different
|
| 7 |
+
semantics in this International Standard. Implementations may choose to
|
| 8 |
+
translate trigraphs as specified in C++14if they appear outside of a raw
|
| 9 |
+
string literal, as part of the *implementation-defined* mapping from
|
| 10 |
+
physical source file characters to the basic source character set.
|
| 11 |
+
|
| 12 |
+
[[lex.ppnumber]] **Change:** *pp-number* can contain `p` *sign* and `P`
|
| 13 |
+
*sign*. **Rationale:** Necessary to enable hexadecimal floating
|
| 14 |
+
literals. **Effect on original feature:** Valid C++14code may fail to
|
| 15 |
+
compile or produce different results in this International Standard.
|
| 16 |
+
Specifically, character sequences like `0p+0` and `0e1_p+0` are three
|
| 17 |
+
separate tokens each in C++14, but one single token in this
|
| 18 |
+
International Standard.
|
| 19 |
+
|
| 20 |
+
``` cpp
|
| 21 |
+
#define F(a) b ## a
|
| 22 |
+
int b0p = F(0p+0); // ill-formed; equivalent to ``int b0p = b0p + 0;'' in C++14
|
| 23 |
+
```
|
| 24 |
+
|