C++: Difference between calling memcpy and __builtin_memcpy
Martin Sebor
msebor@gmail.com
Mon Mar 14 16:52:00 GMT 2016
> The only reason not to do this is that the address of the strchr
> function will not be consistent across the entire process. Do you think
> this could be a problem, even just a conformance problem?
I'm not sure I understand the concern. There can be up to three
overloads of strchr in a program (one extern "C" and two extern
"C++" if the program includes C++ bits). Each of the overloads
must has its own distinct address (and name) but that address of
the same overload needs to be the same across the whole program
(though the C bits will never see the C address and the C++ bits
have no way of accessing the C address in conforming programs).
As long as this invariant is maintained I don't think there is
a problem.
Martin
More information about the Gcc-help
mailing list