and <i>filter</i> clauses. The exception is tested against the clauses
sequentially from first to last. The selector value is a positive number if
the exception matched a type info, a negative number if it matched a filter,
- and zero if it matched to a cleanup. If nothing is matched, the behavior of
+ and zero if it matched a cleanup. If nothing is matched, the behavior of
the program is <a href="#restrictions">undefined</a>. If a type info matched,
then the selector value is the index of the type info in the exception table,
which can be obtained using the
determine the index for a given type info. If the catch fails to match the
selector then control is passed on to the next catch.</p>
-<p><b>Note:</b> Since the landing pad will not be used if there is no match in
- the list of type info on the call to the <tt>landingpad</tt> instruction,
- then neither the last catch nor <i>catch all</i> need to perform the check
- against the selector.</p>
-
<p>Finally, the entry and exit of catch code is bracketed with calls to
<tt>__cxa_begin_catch</tt> and <tt>__cxa_end_catch</tt>.</p>
<div>
<p>The unwinder delegates the decision of whether to stop in a call frame to
- that call frame's language-specific personality function. Not all personality
- functions guarantee that they will stop to perform cleanups. For example, the
- GNU C++ personality function doesn't do so unless the exception is actually
- caught somewhere further up the stack. When using this personality to
- implement EH for a language that guarantees that cleanups will always be run
- (e.g. Ada), be sure to indicate a catch-all in the
- <a href="LangRef.html#i_landingpad"><tt>landingpad</tt> instruction</a>
- rather than just cleanups.</p>
+ that call frame's language-specific personality function. Not all unwinders
+ guarantee that they will stop to perform cleanups. For example, the GNU C++
+ unwinder doesn't do so unless the exception is actually caught somewhere
+ further up the stack.</p>
<p>In order for inlining to behave correctly, landing pads must be prepared to
handle selector results that they did not originally advertise. Suppose that