[PATCH] D22069: clang-tidy modernize-loop-convert: preserve type of alias declaration (bug 28341)

Matthias Gehre via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 7 01:18:24 PDT 2016


mgehre added inline comments.

================
Comment at: clang-tidy/modernize/LoopConvertCheck.cpp:525
@@ +524,3 @@
+      DeclarationType = DeclarationType.getNonReferenceType();
+    if (Descriptor.ElemType.isNull() || DeclarationType.isNull() ||
+        !Context->hasSameUnqualifiedType(DeclarationType, Descriptor.ElemType))
----------------
alexfh wrote:
> 1. Can the `AliasVar->getType().isNull()` condition be true?
> 2. If it can, consider `!Descriptor.ElemType.isNull().isNull()` and `AliasVar->getType().isNull()`. In this case setting `Descriptor.ElemType` to `AliasVar->getType()` (which is null) doesn't make much sense.
> 
> I'd probably just wrap the added code in `if (!AliasVar->getType().isNull())`.
Thanks for you fast review.

I copied the block from isAliasDecl(). I don't see any reason why the types can be Null, but I'm also not an expert in llvm.

When would a VarDecl have no type? Maybe I should put an assert instead?


http://reviews.llvm.org/D22069





More information about the cfe-commits mailing list