efriedma added inline comments.

================
Comment at: clang/lib/CodeGen/CGStmt.cpp:2287
   assert(RegResults.size() == ResultRegDests.size());
+  assert(ResultTypeRequiresCast.size() <= ResultRegDests.size());
   for (unsigned i = 0, e = RegResults.size(); i != e; ++i) {
----------------
Not "=="?


================
Comment at: clang/lib/CodeGen/CGStmt.cpp:2325
+      Dest = MakeAddrLValue(
+          A, getContext().getIntTypeForBitwidth(Size, /*Signed*/ false));
+    }
----------------
Will this work if the struct is an unusual size, like `sizeof(struct s) == 3` 
or `sizeof(struct s) == 32`?  (3 is unlikely to show up in real code, but 32 
could correspond to a vector register.)


================
Comment at: clang/test/CodeGen/PR42672.c:2
+// RUN: %clang_cc1 -DSTRUCT -O2 -emit-llvm %s -o - | FileCheck %s
+// RUN: %clang_cc1 -USTRUCT -O2 -emit-llvm %s -o - | FileCheck %s
+//
----------------
We usually try to avoid tests that run "-O2"; it's simpler to just check the 
unoptimized clang output directly.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D65234



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

Reply via email to