On Fri, 15 Jan 2016 21:41:41 -0500 Richard Damon <Richard at Damon-Family.org> wrote:
> there are machines where it doesn't work (you just need a larger > program space than data space). Huh. An example of which is the "medium model" of the Intel 8086: 20-bit code pointers and 16-bit data pointers. A machine for which C compilers existed, and on which no Posix system will ever run (because it lacks an MMU). Thanks for that. Until this very moment I thought the code/data schism of void* was a "rights reservation" on the part of the compiler writers, permitting them optimization opportunities. But there are historical examples, and one can't rule out future ones. The warning is attached to -pedantic for a reason. Yet we live in the real present. I admit there's probably no reason to make code and data pointers interchangeable. But if sure would be nice if the fine folks on the C standards committee would provide a more convenient syntax, and standardize the existing practice that dlsym(2) has exemplified for a quarter century. --jkl