Andrew Pinski wrote:
No, you said it has limitations and it is mistake to allow vendor
extensions in DWARF.
My exact words were:
Not my fault and not really related because we are creating a new standard and
don't want to repeat this mistake, messages don't have this issue.
I was not trying to imply dwarf2 was mistaken to use numbers.
"... don't want to repeat **this** mistake ...". What are referring here ?
Read proposal again. There is one thing in proposal that allows to
handle similar
situation for diary messages in nicer way.
What look funny instead of looking right?
Optimization diary has its own version number. When new messages
are included version number is updated. This allows its consumer to
take appropriate action and not choke. Appropriate action may be, ignore
entire diary or ignore unknown messages or something else...
Version numbers are sometimes counter productive.
How ?
Since you chose to not continue discuss regarding your three questions
(overlapping
numbers, no space in extension range and tools mismatch), I guess I've
answered all your questions.
Overlapping numbers and tool mismatch are instaintly solved with messages
and there is no problems with space in the extension range because you don't
need a range.
And string does not answer localization issue, however for numbers at least
there is one precedent to follow.
The other issue that numbers come with is are the corresponding messages
sharable between compilers and compiler versions?
Again it is a not a unsolvable issue.
Plus strings do not play nice with command messages.
Like say, call location was not inlined because number of times this function
can be inlined was hit. Shouldn't we provide this information to the user
instead
of saying it was not inlined (with no reason). Yes this is extension range but
what happens when two compilers says the same thing but a third cannot say that
but
instead says "because 10 inlines is too much for the function".
So ? What are you trying to say here ?
Or with the vectorizer in mind, we have to version this loop for alignment
because
we can only prove the alignment is 4 bytes. Isn't that better than just saying
the
loop was version because alignment cannot be proved to be 16bytes?
So, what are you trying to say here ?
-
Devang