[llvm-commits] [llvm-gcc-4.2] r49253 - /llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp

Duncan Sands baldrick at free.fr
Sun Apr 6 01:48:09 PDT 2008


Hi Dale,

> -    if (flag_unit_at_a_time)
> +    if (flag_unit_at_a_time && !flag_unwind_tables)
>        PM->add(createPruneEHPass());               // Remove dead EH info

in toplevel.c:

  if (flag_non_call_exceptions)
    flag_asynchronous_unwind_tables = 1;
  if (flag_asynchronous_unwind_tables)
    flag_unwind_tables = 1;


in ada/misc.c:

  flag_non_call_exceptions = 1;

So you just turned off prune-eh for Ada, which is rather bad.
Also, I see that some targets turn on flag_unwind_tables by
default, which means that prune-eh will be turned off for C++
for those targets (eg: IA64), which is also bad.  Any ideas
on how to handle this?

Ciao,

Duncan.



More information about the llvm-commits mailing list