Make sure UTF-16 strings end with a 16-bit null (as opposed to 8-bit).
llvm-svn: 78001
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 51fa330..08dc993 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -1251,6 +1251,9 @@
AsBytes.push_back(Val & 0xFF);
}
}
+ // Append one extra null character, the second is automatically added by our
+ // caller.
+ AsBytes.push_back(0);
IsUTF16 = true;
return Map.GetOrCreateValue(llvm::StringRef(AsBytes.data(), AsBytes.size()));