[PATCH] D25255: Add a c_str() method to StringRef, similar to data() but asserting if the string isn't null terminated (NFC)

Mehdi AMINI via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 4 15:34:23 PDT 2016


mehdi_amini added a comment.

In https://reviews.llvm.org/D25255#561566, @zturner wrote:

> Not sure how I feel about this.  It's convenient, but it has potential for abuse.  Where did you run into issues porting code to `StringRef` that this solves?


I ran into this with "printf" like API at some point, or with places that can't be converted to StringRef because of space constraint, like MachineOperand. So you're out of the IR and you have to use .data() to initialize the MO. Later you may construct a StringRef from this "const char *" again.

>   I've done a lot of `StringRef` porting in LLDB by now, and I've always managed to find a solution to this.  Usually it involves trickling the `StringRef` changes down further

Usually that's what I do, yes. The problem is when you reach some cases like above.


https://reviews.llvm.org/D25255





More information about the llvm-commits mailing list