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

Reply via email to