Issue 030716.1: Catch Block Entries

Author: Brian Nettleton
Champion: Chris Quenelle
Date submitted: 2003-07-16
Date revised:
Date closed:
Type: Editorial
Status: Accepted with modification
DWARF Version: 3
What's the definition of the phrase "first sibling"?  Does it mean the first
child of a node or the immediate next sibling of a node?  Section 3.7 "Try
and Catch Block Entries" has the sentence:

  "The first sibling of each try block entry will be a catch block entry."

But the definition of first sibling isn't well defined (or I couldn't find
it).  It seems to me to make most sense that the definition here means "the
immediate next sibling" of a node as this seems to better match C++ syntax.
But if I ask myself independently what a "first sibling" is in DWARF I'm not
as sure.

------------
[Brian Nettleton responds to comment by David Anderson]
Good, this agrees with my interpretation of "first sibling" in this sentence
as well!  I didn't actually propose "immediate next sibling".  If I were to
propose a change it would be to simply remove the word first to make the
sentence:

  "The sibling of each try block entry will be a catch block entry."

Which I think still makes the same point.  (Note that the last sentence in
section 2.3 also uses the phrase "the sibling" to mean what I've been
calling "immediate next sibling"--it couldn't possibly mean anything else in
section 2.3 and I don't think it could mean anything else here either).  Of
course as long as we're all in agreement as to what the sentence means then
we're ok.  Of course the only reason I've brought this up was because the
sentence at least confused a colleague and outside of the context of the
sentence in 3.7, I'm not really sure what I would define "first sibling" to
be (although I agree with you at the moment too!).


Chris Quenelle:

>   "The first sibling of each try block entry will be a catch block entry."

Putting on my tech writer hat I would have to say that
"first sibling" is confusing.

Use "next sibling" or "following sibling" to be more clear.

In english, "first" (when used by itself) is normally used to specify 
an absolute position.  "next" is used for relative positioning.


-------------------------------
PROPOSAL:

Change Sec 3.7 sentence to what Brian suggests:
  "The sibling of each try block entry will be a catch block entry."

Suggestion:  "The sibling following any try block entry will be a 
  catch block entry."

------------------------------------------------------

Modified text: 
"The siblings following any try block entry will be its catch block entries."