[llvm-commits] [llvm-gcc-4.2] r49171 - in /llvm-gcc-4.2/trunk/gcc: llvm-convert.cpp llvm-types.cpp
echristo at apple.com
Mon Apr 7 10:36:06 PDT 2008
>> I think there is a slight difference. There's the "this file doesn't
>> exceptions" and "this file doesn't throw or propagate exceptions".
> it's a bit different: we're discussing what you should get if a file
> is compiled with -fno-exceptions, which is a gcc flag saying that this
> file doesn't need to support exceptions unwinding through it (it also
> means that nothing in the file throws or catches exceptions).
I agree. This is why some targets in gcc specify that the unwind tables
should exist even if you compile with -fno-exceptions. Look for the
-fasynchronus-unwind-tables code in gcc.
>> Dale is doing the first, though I'd like to personally have files
>> to unwind across even if nothing in the file throws.
> If a function does not throw exceptions and the compiler can prove
> functions it calls don't throw exceptions either (or, rather, any
> they throw don't unwind out of the function), then the compiler can
> some exception handling info needed to unwind out of it because that
> is pointless. But that's a different issue to what we're discussing
Agreed, but that's not what I'm saying either. :)
More information about the llvm-commits