On Wed, May 26, 2010 at 6:08 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
>> You could "fix" this by walking all functions and check if only
>> one real language personality routine remains and promote
>> the generic C personality uses to that.  Of course you need then
>> to be able to identify the C personality which you can't (well,
>> you could by name).
>
> Can't we simply record the first personality routine encountered when reading
> in the GIMPLE IL and assign it to all FDEs that don't have one?  That would
> at least solve the problem in the homogeneous case.

Hm, we could arrange dwarf2out.c:current_unit_personality to be
set to that of the first DECL_FUNCTION_PERSONALITY we
stream in and in expr.c:get_personality_function use that
for the eh_personality_any case.  Sort of ugly as current_unit_personality
is not exported, but ...

For multi-language LTO it's probably still prefered to use the
C personality for eh_personality_any, so conditionalizing this
on !CFI assembler would be needed.

Richard.

Reply via email to