Changes in libcfa/src/bits/defs.hfa [428adbc:b443db0]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/bits/defs.hfa
r428adbc rb443db0 21 21 #include <stdint.h> 22 22 #include <assert.h> 23 #include <signal.h>24 23 25 24 #define likely(x) __builtin_expect(!!(x), 1) 26 25 #define unlikely(x) __builtin_expect(!!(x), 0) 27 #define thread_local _Thread_local28 26 29 27 typedef void (*fptr_t)(); … … 38 36 #endif 39 37 38 39 #if defined(__has_attribute) 40 #if !__has_attribute(__noclone__) 41 #define ATTRIBUTE_NOCLONE 42 #endif 43 #endif 44 #ifndef ATTRIBUTE_NOCLONE 45 #define ATTRIBUTE_NOCLONE __attribute__((__noclone__)) 46 #endif 47 40 48 #define libcfa_public __attribute__((visibility("default"))) 49 #define libcfa_nopreempt __attribute__((section("cfatext_nopreempt"))) __attribute__((__noinline__)) ATTRIBUTE_NOCLONE 50 51 struct __cfa_nopreempt_region { 52 void * start; 53 void * stop; 54 }; 41 55 42 56 #ifdef __cforall … … 44 58 void abort( bool signalAbort, const char fmt[], ... ) __attribute__ (( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ )); 45 59 extern "C" { 46 #include <pthread.h> 47 void __cabi_abort( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ )); 48 int real_pthread_create(pthread_t *_thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 49 int real_pthread_join(pthread_t _thread, void **retval); 50 pthread_t real_pthread_self(void); 51 int real_pthread_attr_init(pthread_attr_t *attr); 52 int real_pthread_attr_destroy(pthread_attr_t *attr); 53 int real_pthread_attr_setstack( pthread_attr_t *attr, void *stackaddr, size_t stacksize ); 54 int real_pthread_attr_getstacksize( const pthread_attr_t *attr, size_t *stacksize ); 55 int real_pthread_sigqueue(pthread_t _thread, int sig, const union sigval value); 56 int real_pthread_sigmask( int how, const sigset_t *set, sigset_t *oset); 60 #endif 61 void __cabi_abort( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ )); 62 #ifdef __cforall 57 63 } 58 64 #endif
Note:
See TracChangeset
for help on using the changeset viewer.