File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change 27
27
#define __pure __attribute__((pure))
28
28
#endif
29
29
#define noinline __attribute__((noinline))
30
+ #ifdef __has_attribute
31
+ #if __has_attribute (disable_tail_calls )
32
+ #define __no_tail_call __attribute__((disable_tail_calls))
33
+ #endif
34
+ #endif
35
+ #ifndef __no_tail_call
36
+ #if GCC_VERSION > 40201
37
+ #define __no_tail_call __attribute__((optimize("no-optimize-sibling-calls")))
38
+ #else
39
+ #define __no_tail_call
40
+ #endif
41
+ #endif
30
42
#ifndef __packed
31
43
#define __packed __attribute__((packed))
32
44
#endif
Original file line number Diff line number Diff line change 47
47
#ifndef noinline
48
48
#define noinline
49
49
#endif
50
+ #ifndef __no_tail_call
51
+ #define __no_tail_call
52
+ #endif
50
53
51
54
/* Are two types/vars the same type (ignoring qualifiers)? */
52
55
#ifndef __same_type
You can’t perform that action at this time.
0 commit comments