From Jason Turner

[diff.iso]

Diff to HTML by rtfpessoa

tmp/tmpk39_bpwf/{from.md → to.md} RENAMED
@@ -151,18 +151,10 @@ char *c = (char *) b;
151
 
152
  This is fairly widely used but it is good programming practice to add
153
  the cast when assigning pointer-to-void to pointer-to-object. Some ISO C
154
  translators will give a warning if the cast is not used.
155
 
156
- [[conv.ptr]] **Change:** Only pointers to non-const and non-volatile
157
- objects may be implicitly converted to `void*` **Rationale:** This
158
- improves type safety. **Effect on original feature:** Deletion of
159
- semantically well-defined feature. Could be automated. A C program
160
- containing such an implicit conversion from, e.g.,
161
- pointer-to-const-object to void\* will receive a diagnostic message. The
162
- correction is to add an explicit cast. Seldom.
163
-
164
  ### Clause [[expr]]: expressions <a id="diff.expr">[[diff.expr]]</a>
165
 
166
  [[expr.call]] **Change:** Implicit declaration of functions is not
167
  allowed **Rationale:** The type-safe nature of C++. **Effect on original
168
  feature:** Deletion of semantically well-defined feature. Note: the
@@ -461,10 +453,18 @@ original feature:** Change to semantics of well-defined feature.
461
  Semantic transformation. If the hidden name that needs to be accessed is
462
  at global scope, the `::` C++operator can be used. If the hidden name is
463
  at block scope, either the type or the struct tag has to be renamed.
464
  Seldom.
465
 
 
 
 
 
 
 
 
 
466
  [[class.nest]] **Change:** In C++, the name of a nested class is local
467
  to its enclosing class. In C the name of the nested class belongs to the
468
  same scope as the name of the outermost enclosing class.
469
 
470
  Example:
 
151
 
152
  This is fairly widely used but it is good programming practice to add
153
  the cast when assigning pointer-to-void to pointer-to-object. Some ISO C
154
  translators will give a warning if the cast is not used.
155
 
 
 
 
 
 
 
 
 
156
  ### Clause [[expr]]: expressions <a id="diff.expr">[[diff.expr]]</a>
157
 
158
  [[expr.call]] **Change:** Implicit declaration of functions is not
159
  allowed **Rationale:** The type-safe nature of C++. **Effect on original
160
  feature:** Deletion of semantically well-defined feature. Note: the
 
453
  Semantic transformation. If the hidden name that needs to be accessed is
454
  at global scope, the `::` C++operator can be used. If the hidden name is
455
  at block scope, either the type or the struct tag has to be renamed.
456
  Seldom.
457
 
458
+ [[class.bit]] **Change:** Bit-fields of type plain `int` are signed.
459
+ **Rationale:** Leaving the choice of signedness to implementations could
460
+ lead to inconsistent definitions of template specializations. For
461
+ consistency, the implementation freedom was eliminated for non-dependent
462
+ types, too. **Effect on original feature:** The choise is
463
+ implementation-defined in C, but not so in C++. Syntactic
464
+ transformation. Seldom.
465
+
466
  [[class.nest]] **Change:** In C++, the name of a nested class is local
467
  to its enclosing class. In C the name of the nested class belongs to the
468
  same scope as the name of the outermost enclosing class.
469
 
470
  Example: