diff options
author | Daniel Garcia <danielgarcia@gmail.com> | 2014-11-04 22:09:13 +0300 |
---|---|---|
committer | Daniel Garcia <danielgarcia@gmail.com> | 2014-11-04 22:09:13 +0300 |
commit | 6ca2090e95ca2a5c9d4bb79fc06c5e6c5a122f34 (patch) | |
tree | 3b13dd9fb3af7ad09ae43b09ec7784c08b5053ca | |
parent | 820ab41e5083ca685ebed447ce9ba3a0ed633de4 (diff) |
Add extra C++ bits that some environments might need
-rw-r--r-- | FastLED.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/FastLED.cpp b/FastLED.cpp index ec95e075..077efbe3 100644 --- a/FastLED.cpp +++ b/FastLED.cpp @@ -202,3 +202,34 @@ void CFastLED::setMaxRefreshRate(uint16_t refresh) { m_nMinMicros = 0; } } + + +#ifdef NEED_CXX_BITS +namespace __cxxabiv1 +{ + extern "C" void __cxa_pure_virtual (void) {} + /* guard variables */ + + /* The ABI requires a 64-bit type. */ + __extension__ typedef int __guard __attribute__((mode(__DI__))); + + extern "C" int __cxa_guard_acquire (__guard *); + extern "C" void __cxa_guard_release (__guard *); + extern "C" void __cxa_guard_abort (__guard *); + + extern "C" int __cxa_guard_acquire (__guard *g) + { + return !*(char *)(g); + } + + extern "C" void __cxa_guard_release (__guard *g) + { + *(char *)g = 1; + } + + extern "C" void __cxa_guard_abort (__guard *) + { + + } +} +#endif |