https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116620
--- Comment #4 from Stephane <stephane at syena dot net> --- (In reply to Andrew Pinski from comment #3) > https://gcc.gnu.org/pipermail/gcc/2008-July/178284.html This is indeed the prior mentions I found and the only objection I read in the thread was in https://gcc.gnu.org/pipermail/gcc/2008-July/178287.html "But on the C compiler level the problem is that you'll have an completely own ABI and won't be able to use any standard libraries unless you recompile them. And no system calls without a translation layer or some way to tag all system interfaces to the the standard ABI. Java avoids that by having clearly defined interfaces to the outside world, but that's not the case in C. Or you annotiate all structures where this translation should happen." And the proposed alternative points towards what I'm suggesting. It gives the freedom to the developers to manage these so-called compressed pointer in their own code without necessarily breaking things at interfaces because the feature is not activated globally but only on selected data. Then, following the referenced thread, I didn't really see a conclusion to the discussion...