[libcxx] Reinstate <string.h> and fix overload sets to be const-correct wherever possible
Duncan P. N. Exon Smith via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 10 17:24:43 PST 2015
> On 2015-Dec-10, at 15:32, Richard Smith <richard at metafoo.co.uk> wrote:
>
> On Thu, Dec 10, 2015 at 11:45 AM, Marshall Clow <mclow.lists at gmail.com> wrote:
> On Tue, Dec 8, 2015 at 3:52 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> Ping.
>
> Sorry about that.
> Completely missed this in my email flood.
>
> This approach looks ok to me, but I wonder if it would be better to get Apple to fix their iOS C library instead.
>
> Well, it's not broken in the sense that it does what the C standard library is supposed to do. But it's not providing the "C pieces" of a C++ standard library. I don't know what its design goal is here, but with this patch we don't need to care.
>
> Duncan offered to file a bug on this, but I don't know if that's happened.
Nope, I lost track of this.
I just re-read the thread and I'm not clear on what bug I would even file with the Libc folks.
Darwin's implementation of the string.h C header seems to match what n1570's 7.24.5.2 The strchr function asks for. That's not the right thing for n3337's 21.7 Null-terminated sequence utilities, but that does seem like a problem for libc++ to solve.
I'm probably missing the point somehow though. If you can clarify exactly what should be different in Libc (whether or not it's a bug in C), I can ask around and find out how likely it is to get fixed. (What does GCC do here that it's not a problem over there? Provide different signatures depending on whether the caller is C or C++?)
> Are there other broken C libraries that we are concerned with?
>
> Probably :) I don't know the complete set of C standard library implementations that people use with libc++, but I'd be surprised if Darwin were the only case we need to fix.
More information about the cfe-commits
mailing list