https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84620
--- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- Jakub, ok, I'll move the union field, but I thought it would be better to keep it close to logically-similar entries. If the point is just to make it parallel to the order of the enum, maybe moving the enum would be better? There's no guarantee it will fit in 16 bits; perhaps the assembler will error out rather than just truncate the view number. There's no real upper limit, so uleb128 would be ideal, but since that's not viable ATM, I had to pick something, and 16 bits would cover all really useful cases than 32 or even 64 bits would, while being more compact. I was even tempted to go with 8 bits, but thought that was pushing it. I can make it 32 if you consider it better. Why do you say it would be terribly expensive to let the assembler compute offsets in .debug_info?