tbaeder added inline comments.

================
Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:1133-1134
+  } else if (const auto *SL = dyn_cast<StringLiteral>(Initializer)) {
+    const ArrayType *AT = SL->getType()->getAsArrayTypeUnsafe();
+    const auto *CAT = cast<ConstantArrayType>(AT);
+    size_t NumElems = CAT->getSize().getZExtValue();
----------------
aaron.ballman wrote:
> 
I feel like every time I write the code to get the `ConstantArrayType` from 
some array expression, I use a different version. I've never used 
`getAsConstantArrayType()` before :)


================
Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:1143
+    case 1:
+      CharType = PT_Sint8;
+      break;
----------------
aaron.ballman wrote:
> Should we be looking at the sign of `char` to decide whether to use a uint8 
> or an sint8?
I was wondering about that too, but this code is copy/paste from `Program.cpp` 
where we create global storage for string literals. That code works, so I 
assume it will work here, too. Getting rid of the duplication might be nice 
though.


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

https://reviews.llvm.org/D137488

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

Reply via email to