Closed by commit rL219629 (authored by @danalbert).

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D5754

Files:
  libcxxabi/trunk/include/unwind.h
  libcxxabi/trunk/src/Unwind/Unwind-EHABI.cpp
  libcxxabi/trunk/src/Unwind/UnwindCursor.hpp
  libcxxabi/trunk/src/Unwind/UnwindLevel1-gcc-ext.c
Index: libcxxabi/trunk/include/unwind.h
===================================================================
--- libcxxabi/trunk/include/unwind.h
+++ libcxxabi/trunk/include/unwind.h
@@ -206,37 +206,13 @@
 _Unwind_VRS_Pop(_Unwind_Context *context, _Unwind_VRS_RegClass regclass,
                 uint32_t discriminator,
                 _Unwind_VRS_DataRepresentation representation);
+#endif
 
-static inline uintptr_t _Unwind_GetGR(struct _Unwind_Context* context,
-                                      int index) {
-  uintptr_t value = 0;
-  _Unwind_VRS_Get(context, _UVRSC_CORE, (uint32_t)index, _UVRSD_UINT32, &value);
-  return value;
-}
-
-static inline void _Unwind_SetGR(struct _Unwind_Context* context, int index,
-                                 uintptr_t new_value) {
-  _Unwind_VRS_Set(context, _UVRSC_CORE, (uint32_t)index,
-                  _UVRSD_UINT32, &new_value);
-}
-
-static inline uintptr_t _Unwind_GetIP(struct _Unwind_Context* context) {
-  // remove the thumb-bit before returning
-  return (_Unwind_GetGR(context, 15) & (~(uintptr_t)0x1));
-}
-
-static inline void _Unwind_SetIP(struct _Unwind_Context* context,
-                                 uintptr_t new_value) {
-  uintptr_t thumb_bit = _Unwind_GetGR(context, 15) & ((uintptr_t)0x1);
-  _Unwind_SetGR(context, 15, new_value | thumb_bit);
-}
-#else
 extern uintptr_t _Unwind_GetGR(struct _Unwind_Context *context, int index);
 extern void _Unwind_SetGR(struct _Unwind_Context *context, int index,
                           uintptr_t new_value);
 extern uintptr_t _Unwind_GetIP(struct _Unwind_Context *context);
 extern void _Unwind_SetIP(struct _Unwind_Context *, uintptr_t new_value);
-#endif
 
 extern uintptr_t _Unwind_GetRegionStart(struct _Unwind_Context *context);
 extern uintptr_t
Index: libcxxabi/trunk/src/Unwind/UnwindLevel1-gcc-ext.c
===================================================================
--- libcxxabi/trunk/src/Unwind/UnwindLevel1-gcc-ext.c
+++ libcxxabi/trunk/src/Unwind/UnwindLevel1-gcc-ext.c
@@ -130,7 +130,7 @@
     struct _Unwind_Context *context = (struct _Unwind_Context *)&cursor;
     size_t off;
     size_t len;
-    uint32_t* unwindInfo = (uint32_t *) frameInfo.unwind_info;
+    const uint32_t* unwindInfo = (uint32_t *) frameInfo.unwind_info;
     unwindInfo = decode_eht_entry(unwindInfo, &off, &len);
     if (unwindInfo == NULL) {
       return _URC_FAILURE;
Index: libcxxabi/trunk/src/Unwind/UnwindCursor.hpp
===================================================================
--- libcxxabi/trunk/src/Unwind/UnwindCursor.hpp
+++ libcxxabi/trunk/src/Unwind/UnwindCursor.hpp
@@ -638,7 +638,7 @@
   }
 
   EHABISectionIterator(A& addressSpace, const UnwindInfoSections& sects, size_t i)
-      : _addressSpace(&addressSpace), _sects(&sects), _i(i) {}
+      : _i(i), _addressSpace(&addressSpace), _sects(&sects) {}
 
   _Self& operator++() { ++_i; return *this; }
   _Self& operator+=(size_t a) { _i += a; return *this; }
Index: libcxxabi/trunk/src/Unwind/Unwind-EHABI.cpp
===================================================================
--- libcxxabi/trunk/src/Unwind/Unwind-EHABI.cpp
+++ libcxxabi/trunk/src/Unwind/Unwind-EHABI.cpp
@@ -206,6 +206,28 @@
 
 } // end anonymous namespace
 
+uintptr_t _Unwind_GetGR(struct _Unwind_Context* context, int index) {
+  uintptr_t value = 0;
+  _Unwind_VRS_Get(context, _UVRSC_CORE, (uint32_t)index, _UVRSD_UINT32, &value);
+  return value;
+}
+
+void _Unwind_SetGR(struct _Unwind_Context* context, int index, uintptr_t
+    new_value) {
+  _Unwind_VRS_Set(context, _UVRSC_CORE, (uint32_t)index,
+                  _UVRSD_UINT32, &new_value);
+}
+
+uintptr_t _Unwind_GetIP(struct _Unwind_Context* context) {
+  // remove the thumb-bit before returning
+  return (_Unwind_GetGR(context, 15) & (~(uintptr_t)0x1));
+}
+
+void _Unwind_SetIP(struct _Unwind_Context* context, uintptr_t new_value) {
+  uintptr_t thumb_bit = _Unwind_GetGR(context, 15) & ((uintptr_t)0x1);
+  _Unwind_SetGR(context, 15, new_value | thumb_bit);
+}
+
 /**
  * Decodes an EHT entry.
  *
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to