================
@@ -373,6 +373,13 @@ void ReadFunctionInfo(const uint8_t *&Data, FunctionInfo 
&Info) {
       endian::readNext<uint16_t, llvm::endianness::little>(Data);
   Info.ResultType = std::string(Data, Data + ResultTypeLen);
   Data += ResultTypeLen;
+
+  unsigned SwiftReturnOwnershipLength =
+      endian::readNext<uint16_t, llvm::endianness::little>(Data);
+  Info.SwiftReturnOwnership = std::string(reinterpret_cast<const char *>(Data),
+                                          reinterpret_cast<const char *>(Data) 
+
+                                              SwiftReturnOwnershipLength);
----------------
compnerd wrote:

What do you think of making this stronger and using a `StringSwitch` to encode 
this as an enumerated type? That would compress the encoded serialisation, 
ensure that we catch an errant representation allowing better diagnostics, and 
just make this generally less confusing to see with the string representation.

https://github.com/llvm/llvm-project/pull/118938
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to