[llvm-commits] [llvm-gcc-4.2] r57022 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Evan Cheng
evan.cheng at apple.com
Fri Oct 3 13:37:51 PDT 2008
/// EmitEXC_PTR_EXPR - Handle EXC_PTR_EXPR.
Value *TreeToLLVM::EmitEXC_PTR_EXPR(tree exp) {
CreateExceptionValues();
// Load exception address.
return Builder.CreateLoad(ExceptionValue, "eh_value");
}
So, if the node is a EXEC_PTR_EXPR it's processing this special Value
ExceptionValue. Therefore, we should pick up the type of
ExceptionValue rather than type of arg.
This feels like a hack. But I don't enough to do anything about that.
Evan
On Oct 3, 2008, at 12:51 PM, Duncan Sands wrote:
> Hi Evan,
>
>> Fix a bug in EmitCallOf which shows up only with assertion turned on.
>> When it's processing a call argument that corresponds to eh_value or
>> eh_select, grab the type of special variables ExceptionValue or
>> ExceptionSelectorValue instead or it won't match the expected type.
>
> can you please explain. It sounds like TREE_TYPE(TREE_VALUE(arg))
> does
> not contain the correct type for TREE_VALUE(arg). If so, isn't that
> the
> bug?
>
> Thanks,
>
> Duncan.
More information about the llvm-commits
mailing list