================ @@ -25,14 +25,19 @@ enum CXStringFlag { /// CXString contains a 'const char *' that it doesn't own. CXS_Unmanaged, - /// CXString contains a 'const char *' that it allocated with malloc(). - CXS_Malloc, + /// CXString contains a 'CStringImpl' that it allocated with malloc(). + CXS_MallocWithSize, /// CXString contains a CXStringBuf that needs to be returned to the /// CXStringPool. CXS_StringBuf }; +struct CStringImpl { + size_t length; + char buffer[sizeof(length)]; ---------------- andamian-bd wrote:
I forgot about oob here. I was trying to avoid compiler extensions (flexible array member), as I understand it's not standard C++. I can change it to flexible array member without problem. https://github.com/llvm/llvm-project/pull/134551 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits