erichkeane added inline comments.

================
Comment at: clang/docs/ReleaseNotes.rst:107
 
+- Clang now supports the _BitInt(N) family of bit-precise integer types from
+  C23. This type was previously exposed as _ExtInt(N), which is still supported
----------------
This section should probably mention the ABI break.  It shouldn't be a surprise 
for people upgrading.


================
Comment at: clang/docs/ReleaseNotes.rst:108
+- Clang now supports the _BitInt(N) family of bit-precise integer types from
+  C23. This type was previously exposed as _ExtInt(N), which is still supported
+  but is now deprecated in favor of the standard type. _BitInt(N) and
----------------
I would think it would be a better idea to not claim that `_ExtInt` is still 
supported , but perhaps just say that it is now an alias for the 'new type'.  I 
realize it is a little pedantic, but `_ExtInt` is no longer a type in our type 
system. I think this will make the diagnostics more understandable.


================
Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:1489
+  InGroup<DiagGroup<"bit-int-extension">>;
+def warn_prec2x_compat_bit_int : Warning<
+  "'_BitInt' is incompatible with C standards before C2x">,
----------------
should this be warn_cpre2x here, just to be more consistent with the 'group'?


================
Comment at: clang/include/clang/Basic/TargetInfo.h:581
   /// limitation is put into place for ABI reasons.
-  virtual bool hasExtIntType() const {
+  /// FIXME: _BitInt is a required type in C23, so there's not much utility in
+  /// asking whether the target supported it or not; I think this should be
----------------
Concur on the fixme.  I would expect after this lands that an llvm-dev 
discussion happen to do this alert, and have us remove this pretty quickly (a 
release or two?)


================
Comment at: clang/lib/AST/Type.cpp:2021
+    return IT->isSigned();
+  if (const auto *IT = dyn_cast<DependentBitIntType>(CanonicalType))
     return IT->isSigned();
----------------
Note to others: Aaron and I discussed this offline.  I don't think it is 
NECESSARY (as I don't think we really call these functions on dependent types), 
but I thought it was a good idea to be here for completeness.


================
Comment at: clang/lib/Parse/ParseDecl.cpp:3873
                                      DiagID, Policy);
-      break;
-    case tok::kw__ExtInt: {
+      break;    
+    case tok::kw__ExtInt:
----------------
Is this extra trailing WS?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108643/new/

https://reviews.llvm.org/D108643

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to