aaron.ballman added a comment.

Pre-commit CI found build errors that should be addressed.



================
Comment at: clang/include/clang/AST/TransformTypeTraits.def:1-2
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
----------------
Have to fix the formatting manually though.


================
Comment at: clang/include/clang/Sema/DeclSpec.h:424-431
+  static bool isTransformTypeTrait(TST T) {
+    constexpr TST Traits[] = {
+#define TRANSFORM_TYPE_TRAIT_DEF(_, Trait) TST_##Trait,
+#include "clang/AST/TransformTypeTraits.def"
+    };
+
+    return (T >= Traits[0] && T <= std::end(Traits)[-1]);
----------------
Errr, this isn't Python, so that `[-1]` terrifies me. It took me a good solid 
ten minutes to convince myself this was actually valid. Any interest in 
something along the lines of this form?


================
Comment at: clang/lib/AST/TypePrinter.cpp:1158
                                            raw_ostream &OS) {
   IncludeStrongLifetimeRAII Strong(Policy);
 }
----------------
cjdb wrote:
> rsmith wrote:
> > Remove this line too. No point building an RAII scope with nothing in it.
> Can we get rid of this function entirely in that case?
I believe you can.


================
Comment at: clang/lib/Parse/ParseDecl.cpp:3475
+    case tok::identifier:
+    ParseIdentifier : {
       // This identifier can only be a typedef name if we haven't already seen
----------------



================
Comment at: clang/lib/Sema/SemaType.cpp:9267
+  constexpr auto UKind = UTTKind::RemovePointer;
+  // We don't want block pointers or ObjectiveC's id type
+  if (!BaseType->isAnyPointerType() || BaseType->isObjCIdType())
----------------



================
Comment at: clang/lib/Sema/SemaType.cpp:9305-9308
+  else if (const auto *AT = Context.getAsArrayType(BaseType))
+    return AT->getElementType();
+  else
+    return BaseType;
----------------



================
Comment at: clang/lib/Sema/SemaType.cpp:9350-9352
+    if (auto BitInt = dyn_cast<BitIntType>(Underlying)) {
+      return S.Context.getBitIntType(!IsMakeSigned, BitInt->getNumBits());
     }
----------------
An interesting test case for you to consider (both for enumeration underlying 
types as well as types in general): `signed _BitInt` requires at least two 
bits, so trying to do a make_signed on `_BitInt(1)` should be diagnosed.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D116203

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D116203... Richard Smith - zygoloid via Phabricator via cfe-commits
    • [PATCH] D1... Christopher Di Bella via Phabricator via cfe-commits
    • [PATCH] D1... Aaron Ballman via Phabricator via cfe-commits
    • [PATCH] D1... Christopher Di Bella via Phabricator via cfe-commits
    • [PATCH] D1... Aaron Ballman via Phabricator via cfe-commits
    • [PATCH] D1... Nico Weber via Phabricator via cfe-commits
    • [PATCH] D1... Martin Storsjö via Phabricator via cfe-commits
    • [PATCH] D1... Nico Weber via Phabricator via cfe-commits
    • [PATCH] D1... Felipe de Azevedo Piovezan via Phabricator via cfe-commits
    • [PATCH] D1... Felipe de Azevedo Piovezan via Phabricator via cfe-commits
    • [PATCH] D1... Felipe de Azevedo Piovezan via Phabricator via cfe-commits
    • [PATCH] D1... Christopher Di Bella via Phabricator via cfe-commits
    • [PATCH] D1... Felipe de Azevedo Piovezan via Phabricator via cfe-commits

Reply via email to