diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lisp.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index 41f8af35e8a..8ee37f5298a 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -4479,6 +4479,12 @@ flush_stack_call_func (void (*func) (void *arg), void *arg) | |||
| 4479 | { | 4479 | { |
| 4480 | __builtin_unwind_init (); | 4480 | __builtin_unwind_init (); |
| 4481 | flush_stack_call_func1 (func, arg); | 4481 | flush_stack_call_func1 (func, arg); |
| 4482 | /* Work around GCC sibling call optimization making | ||
| 4483 | '__builtin_unwind_init' ineffective (bug#65727). | ||
| 4484 | See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115132>. */ | ||
| 4485 | #if defined __GNUC__ && !defined __clang__ | ||
| 4486 | asm (""); | ||
| 4487 | #endif | ||
| 4482 | } | 4488 | } |
| 4483 | 4489 | ||
| 4484 | extern void garbage_collect (void); | 4490 | extern void garbage_collect (void); |