Liste des Groupes | Revenir à co vms |
Yes, all good points. The size_t and offset_t = 32-bits and ptrdiff_t = 32-bits on Alpha/Itanium started the mess years ago.Hindsight is always easy.
Personally, I would have kept all the defaults the same as Itanium but got "convinced" to go wider. The first attempt was ONLY 64-bit pointers on x86 with C++ but things like those pesky descriptors and itemlists got in the way.
I did suggest an LP64, ILP32, etc qualifier but mostly got blank stares from other engineers as "too nerdy"
long == 64-bits has caused us to make changes as prior header writers assumed that long was 32-bits. They should have all followed Arne's advice and used int32_t and int64_t when specifying their ABIs.
I'll can take some ownership on the changes, but I suffered with years of "John, why is size_t 32-bits? Why does subtracting two 64-bit pointers only give me a 32-bit result?"
Les messages affichés proviennent d'usenet.