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