bebuch requested changes to this revision.
bebuch added a comment.
This revision now requires changes to proceed.
I get some new errors:
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp: In
function ‘void __cxxabiv1::scan_eh_tab(__cxxabiv1::{anonymous}::scan_results&,
_Unwind_Action, bool, _Unwind_Control_Block*, _Unwind_Context*)’:
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:564:22:
error: ‘_URC_FATAL_PHASE1_ERROR’ was not declared in this scope
results.reason = _URC_FATAL_PHASE1_ERROR;
^
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:584:30:
error: ‘_URC_FATAL_PHASE2_ERROR’ was not declared in this scope
results.reason = _URC_FATAL_PHASE2_ERROR;
^
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp: In
function ‘_Unwind_Reason_Code __cxxabiv1::__gxx_personality_v0(_Unwind_State,
_Unwind_Control_Block*, _Unwind_Context*)’:
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:1074:16:
error: ‘_URC_FATAL_PHASE1_ERROR’ was not declared in this scope
return _URC_FATAL_PHASE1_ERROR;
^
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:1087:11:
error: invalid conversion from ‘int’ to ‘_Unwind_State’ [-fpermissive]
state &= ~_US_FORCE_UNWIND;
^
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:1090:12:
warning: enumeration value ‘_US_ACTION_MASK’ not handled in switch [-Wswitch]
switch (state) {
^
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:1090:12:
warning: enumeration value ‘_US_FORCE_UNWIND’ not handled in switch [-Wswitch]
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:1090:12:
warning: enumeration value ‘_US_END_OF_STACK’ not handled in switch [-Wswitch]
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:1167:12:
error: ‘_URC_FATAL_PHASE1_ERROR’ was not declared in this scope
return _URC_FATAL_PHASE1_ERROR;
^
/home/pi/projects/llvm/llvm/projects/libcxxabi/src/cxa_personality.cpp:1168:1:
error: control reaches end of non-void function [-Werror=return-type]
}
^
`_URC_FATAL_PHASE1_ERROR` and `_URC_FATAL_PHASE2_ERROR` should be `enum` values
of `_Unwind_Reason_Code`, but this is defined in `unwind-arm-common.h` as:
typedef enum
{
_URC_OK = 0, /* operation completed successfully */
_URC_FOREIGN_EXCEPTION_CAUGHT = 1,
_URC_END_OF_STACK = 5,
_URC_HANDLER_FOUND = 6,
_URC_INSTALL_CONTEXT = 7,
_URC_CONTINUE_UNWIND = 8,
_URC_FAILURE = 9 /* unspecified failure of some kind */
}
_Unwind_Reason_Code;
In other unwind libraries these values are defined:
https://github.com/llvm-mirror/libunwind/blob/master/include/unwind.h
In the arm version it isn't:
https://github.com/gcc-mirror/gcc/blob/gcc-4_9-branch/gcc/ginclude/unwind-arm-common.h
https://reviews.llvm.org/D42242
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits