Changeset e2b55ac9 in mainline
- Timestamp:
- 2018-07-05T21:41:17Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 134fd03
- Parents:
- e6c9fa6
- git-author:
- Jaroslav Jindrak <dzejrou@…> (2017-10-17 16:17:34)
- git-committer:
- Dzejrou <dzejrou@…> (2018-07-05 21:41:17)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/cpp/src/internal/unwind.cpp
re6c9fa6 re2b55ac9 28 28 29 29 #include <cstdint> 30 #include <cstdlib> 30 31 31 32 namespace __cxxabiv1 … … 82 83 { 83 84 // TODO: implement 85 return _URC_NO_REASON; 84 86 } 85 87 … … 97 99 { 98 100 // TODO: implement 101 return 0; 99 102 } 100 103 … … 107 110 { 108 111 // TODO: implement 112 return 0; 109 113 } 110 114 … … 117 121 { 118 122 // TODO: implement 123 return 0; 119 124 } 120 125 … … 122 127 { 123 128 // TODO: implement 129 return 0; 124 130 } 125 131 … … 135 141 * Stack unwinding functionality - Level 2. 136 142 */ 137 // TODO: 143 struct __cxa_exception 144 { 145 std::type_info* exceptionType; 146 void (*exceptionDestructor)(void*); 147 // TODO: Add handler types to <exception>. 148 /* std::unexpected_handler unexpectedHandler; */ 149 void (*unexpectedHandler)(); 150 /* std::terminate_handler terminateHandler; */ 151 void (*terminateHandler)(); 152 __cxa_exception* nextException; 153 154 int handlerCount; 155 int handlerSwitchValue; 156 const char* actionRecord; 157 const char* languageSpecificData; 158 void* catchTemp; 159 void* adjujstedPtr; 160 161 _Unwind_Exception unwindHeader; 162 }; 163 164 struct __cxa_eh_globals 165 { 166 __cxa_exception* caughtExceptions; 167 unsigned int uncaughtExceptions; 168 }; 169 170 extern "C" __cxa_eh_globals* __cxa_get_globals(); 171 172 extern "C" __cxa_eh_globals* __cxa_get_globals_fast(); 173 174 extern "C" void* __cxa_allocate_exception(std::size_t thrown_size) 175 { 176 // TODO: implement 177 return nullptr; 178 } 179 180 extern "C" void __cxa_free_exception(void* thrown_exception) 181 { 182 // TODO: implement 183 } 184 185 extern "C" void __cxa_throw(void* thrown_exception, std::type_info* tinfo, void (*dest)(void*)) 186 { 187 // TODO: implement 188 } 189 190 extern "C" void* __cxa_get_exception_ptr(void* exception_object) 191 { 192 // TODO: implement 193 return nullptr; 194 } 195 196 extern "C" void* __cxa_begin_catch(void* exception_object) 197 { 198 // TODO: implement 199 return nullptr; 200 } 201 202 extern "C" void __cxa_end_catch() 203 { 204 // TODO: implement 205 } 206 207 extern "C" void __cxa_rethrow() 208 { 209 // TODO: implement 210 } 211 212 extern "C" void __cxa_bad_cast() 213 { 214 // TODO: implement 215 } 216 217 extern "C" void __cxa_bad_typeid() 218 { 219 // TODO: implement 220 } 138 221 }
Note:
See TracChangeset
for help on using the changeset viewer.