https://github.com/AaronBallman commented:

> 1 Is size_t appropriate here? I see some functions using unsigned, and some 
> using size_t. 

I think it's an appropriate type to use (`unsigned` would also be fine, but I 
tend to prefer `size_t` for this sort of use, personally).

> 2 On this new flow to get a string literal, there's at least 2 allocations of 
> the string from the 2 cxstring::createDup, one when evaluating the result, 
> and one when returning it. Is this ok/can it be done better?

I was thinking about that and I think it's okay. We do not have a public 
`createDup()` interface for `CXString`, which means returning a `CXString` with 
the same lifetime as the eval result can be a bit tricky because the user has 
to do their own buffer management if they want the string to outlive the eval 
results. If we had such a public interface, then I would think it's better to 
not have the second duplicate and leave it to the caller to decide the lifetime 
questions.

>  3 Is returning a "null" CXString on error a good idea?

I think so.

I've added a few more reviewers for some broader opinions.

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

Reply via email to