diff options
| author | Paul Eggert | 2019-04-18 00:30:24 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-04-18 00:35:18 -0700 |
| commit | 6d6c55db2cdfb6b354873f17285a3f602e011817 (patch) | |
| tree | fc9647797be220e613962260700c05e5f37100c1 /src | |
| parent | dded2c4cf30fbdb5e90c44bc76a26970d00e0f22 (diff) | |
| download | emacs-6d6c55db2cdfb6b354873f17285a3f602e011817.tar.gz emacs-6d6c55db2cdfb6b354873f17285a3f602e011817.zip | |
Mark _Noreturn error functions as cold
On my platform this made ‘make compile-always’ 1.3% faster.
Suggested by Alex Gramiak in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00684.html
* configure.ac (nw): Don’t use -Wsuggest-attribute=cold.
* lib-src/make-docfile.c (write_globals):
Mark noreturn functions as cold.
* src/callproc.c (exec_failed):
* src/data.c (wrong_length_argument, wrong_type_argument):
* src/emacs-module.c (module_abort):
* src/emacs.c (terminate_due_to_signal):
* src/eval.c (unwind_to_catch):
* src/image.c (my_png_error, my_error_exit):
* src/json.c (json_out_of_memory, json_parse_error):
* src/keyboard.c (quit_throw_to_read_char, user_error):
* src/lisp.h (die, wrong_type_argument, wrong_choice)
(args_out_of_range, args_out_of_range_3, circular_list)
(buffer_overflow, memory_full, buffer_memory_full)
(string_overflow, xsignal, xsignal0, xsignal1, xsignal2)
(xsignal3, signal_error, overflow_error, error, verror)
(nsberror, report_file_errno, report_file_error)
(report_file_notify_error, terminate_due_to_signal)
(emacs_abort, fatal):
* src/lread.c (load_error_old_style_backquotes)
(end_of_file_error, invalid_syntax):
* src/pdumper.c (error_unsupported_dump_object):
* src/puresize.h (pure_write_error):
* src/search.c (matcher_overflow):
* src/sound.c (sound_perror, alsa_sound_perror):
* src/sysdep.c (handle_arith_signal):
* src/systime.h (time_overflow):
* src/term.c (maybe_fatal, vfatal):
* src/textprop.c (text_read_only):
* src/timefns.c (invalid_time_zone_specification)
(time_error, invalid_hz):
* src/xterm.c (x_connection_closed):
Use AVOID instead of _Noreturn void, so that it’s marked cold.
* src/conf_post.h (__has_attribute_cold) [!__has_attribute]:
New macro.
(ATTRIBUTE_COLD): New macro.
* src/frame.h (WINDOW_SYSTEM_RETURN): Add ATTRIBUTE_COLD.
* src/lisp.h (AVOID): New macro.
* src/xterm.c: Omit unnecessary static decls, so that we needn’t
worry about which functions should be marked cold.
(x_io_error_quitter): Mark as cold.
Diffstat (limited to 'src')
| -rw-r--r-- | src/callproc.c | 2 | ||||
| -rw-r--r-- | src/conf_post.h | 7 | ||||
| -rw-r--r-- | src/data.c | 4 | ||||
| -rw-r--r-- | src/emacs-module.c | 6 | ||||
| -rw-r--r-- | src/emacs.c | 2 | ||||
| -rw-r--r-- | src/eval.c | 2 | ||||
| -rw-r--r-- | src/frame.h | 2 | ||||
| -rw-r--r-- | src/image.c | 4 | ||||
| -rw-r--r-- | src/json.c | 4 | ||||
| -rw-r--r-- | src/keyboard.c | 6 | ||||
| -rw-r--r-- | src/lisp.h | 58 | ||||
| -rw-r--r-- | src/lread.c | 6 | ||||
| -rw-r--r-- | src/pdumper.c | 3 | ||||
| -rw-r--r-- | src/puresize.h | 2 | ||||
| -rw-r--r-- | src/search.c | 2 | ||||
| -rw-r--r-- | src/sound.c | 4 | ||||
| -rw-r--r-- | src/sysdep.c | 2 | ||||
| -rw-r--r-- | src/systime.h | 2 | ||||
| -rw-r--r-- | src/term.c | 7 | ||||
| -rw-r--r-- | src/textprop.c | 2 | ||||
| -rw-r--r-- | src/timefns.c | 6 | ||||
| -rw-r--r-- | src/xterm.c | 35 |
22 files changed, 70 insertions, 98 deletions
diff --git a/src/callproc.c b/src/callproc.c index 2cdf84d9a80..98c67312b49 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -1135,7 +1135,7 @@ add_env (char **env, char **new_env, char *string) | |||
| 1135 | mess up the allocator's data structures in the parent. | 1135 | mess up the allocator's data structures in the parent. |
| 1136 | Report the error and exit the child. */ | 1136 | Report the error and exit the child. */ |
| 1137 | 1137 | ||
| 1138 | static _Noreturn void | 1138 | static AVOID |
| 1139 | exec_failed (char const *name, int err) | 1139 | exec_failed (char const *name, int err) |
| 1140 | { | 1140 | { |
| 1141 | /* Avoid deadlock if the child's perror writes to a full pipe; the | 1141 | /* Avoid deadlock if the child's perror writes to a full pipe; the |
diff --git a/src/conf_post.h b/src/conf_post.h index f8254cfa9df..6ea2c7b664b 100644 --- a/src/conf_post.h +++ b/src/conf_post.h | |||
| @@ -73,6 +73,7 @@ typedef bool bool_bf; | |||
| 73 | # define __has_attribute(a) __has_attribute_##a | 73 | # define __has_attribute(a) __has_attribute_##a |
| 74 | # define __has_attribute_alloc_size GNUC_PREREQ (4, 3, 0) | 74 | # define __has_attribute_alloc_size GNUC_PREREQ (4, 3, 0) |
| 75 | # define __has_attribute_cleanup GNUC_PREREQ (3, 4, 0) | 75 | # define __has_attribute_cleanup GNUC_PREREQ (3, 4, 0) |
| 76 | # define __has_attribute_cold GNUC_PREREQ (4, 3, 0) | ||
| 76 | # define __has_attribute_externally_visible GNUC_PREREQ (4, 1, 0) | 77 | # define __has_attribute_externally_visible GNUC_PREREQ (4, 1, 0) |
| 77 | # define __has_attribute_no_address_safety_analysis false | 78 | # define __has_attribute_no_address_safety_analysis false |
| 78 | # define __has_attribute_no_sanitize_address GNUC_PREREQ (4, 8, 0) | 79 | # define __has_attribute_no_sanitize_address GNUC_PREREQ (4, 8, 0) |
| @@ -223,6 +224,12 @@ extern void _DebPrint (const char *fmt, ...); | |||
| 223 | extern char *emacs_getenv_TZ (void); | 224 | extern char *emacs_getenv_TZ (void); |
| 224 | extern int emacs_setenv_TZ (char const *); | 225 | extern int emacs_setenv_TZ (char const *); |
| 225 | 226 | ||
| 227 | #if __has_attribute (cold) | ||
| 228 | # define ATTRIBUTE_COLD __attribute__ ((cold)) | ||
| 229 | #else | ||
| 230 | # define ATTRIBUTE_COLD | ||
| 231 | #endif | ||
| 232 | |||
| 226 | #if __GNUC__ >= 3 /* On GCC 3.0 we might get a warning. */ | 233 | #if __GNUC__ >= 3 /* On GCC 3.0 we might get a warning. */ |
| 227 | #define NO_INLINE __attribute__((noinline)) | 234 | #define NO_INLINE __attribute__((noinline)) |
| 228 | #else | 235 | #else |
diff --git a/src/data.c b/src/data.c index 11cd598ed85..1b2431011e9 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -130,7 +130,7 @@ set_blv_valcell (struct Lisp_Buffer_Local_Value *blv, Lisp_Object val) | |||
| 130 | blv->valcell = val; | 130 | blv->valcell = val; |
| 131 | } | 131 | } |
| 132 | 132 | ||
| 133 | static _Noreturn void | 133 | static AVOID |
| 134 | wrong_length_argument (Lisp_Object a1, Lisp_Object a2, Lisp_Object a3) | 134 | wrong_length_argument (Lisp_Object a1, Lisp_Object a2, Lisp_Object a3) |
| 135 | { | 135 | { |
| 136 | Lisp_Object size1 = make_fixnum (bool_vector_size (a1)); | 136 | Lisp_Object size1 = make_fixnum (bool_vector_size (a1)); |
| @@ -142,7 +142,7 @@ wrong_length_argument (Lisp_Object a1, Lisp_Object a2, Lisp_Object a3) | |||
| 142 | make_fixnum (bool_vector_size (a3))); | 142 | make_fixnum (bool_vector_size (a3))); |
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | _Noreturn void | 145 | AVOID |
| 146 | wrong_type_argument (register Lisp_Object predicate, register Lisp_Object value) | 146 | wrong_type_argument (register Lisp_Object predicate, register Lisp_Object value) |
| 147 | { | 147 | { |
| 148 | /* If VALUE is not even a valid Lisp object, we'd want to abort here | 148 | /* If VALUE is not even a valid Lisp object, we'd want to abort here |
diff --git a/src/emacs-module.c b/src/emacs-module.c index 47ca3368c0f..09a768e18ed 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c | |||
| @@ -147,8 +147,7 @@ static enum emacs_funcall_exit module_non_local_exit_check (emacs_env *); | |||
| 147 | static void module_assert_thread (void); | 147 | static void module_assert_thread (void); |
| 148 | static void module_assert_runtime (struct emacs_runtime *); | 148 | static void module_assert_runtime (struct emacs_runtime *); |
| 149 | static void module_assert_env (emacs_env *); | 149 | static void module_assert_env (emacs_env *); |
| 150 | static _Noreturn void module_abort (const char *format, ...) | 150 | static AVOID module_abort (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); |
| 151 | ATTRIBUTE_FORMAT_PRINTF(1, 2); | ||
| 152 | static emacs_env *initialize_environment (emacs_env *, | 151 | static emacs_env *initialize_environment (emacs_env *, |
| 153 | struct emacs_env_private *); | 152 | struct emacs_env_private *); |
| 154 | static void finalize_environment (emacs_env *); | 153 | static void finalize_environment (emacs_env *); |
| @@ -1163,8 +1162,7 @@ init_module_assertions (bool enable) | |||
| 1163 | initialize_storage (&global_storage); | 1162 | initialize_storage (&global_storage); |
| 1164 | } | 1163 | } |
| 1165 | 1164 | ||
| 1166 | static _Noreturn void | 1165 | static AVOID ATTRIBUTE_FORMAT_PRINTF (1, 2) |
| 1167 | ATTRIBUTE_FORMAT_PRINTF(1, 2) | ||
| 1168 | module_abort (const char *format, ...) | 1166 | module_abort (const char *format, ...) |
| 1169 | { | 1167 | { |
| 1170 | fputs ("Emacs module assertion: ", stderr); | 1168 | fputs ("Emacs module assertion: ", stderr); |
diff --git a/src/emacs.c b/src/emacs.c index 6ed4b0ed87a..5eba88c74ff 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -370,7 +370,7 @@ using_utf8 (void) | |||
| 370 | 370 | ||
| 371 | /* Report a fatal error due to signal SIG, output a backtrace of at | 371 | /* Report a fatal error due to signal SIG, output a backtrace of at |
| 372 | most BACKTRACE_LIMIT lines, and exit. */ | 372 | most BACKTRACE_LIMIT lines, and exit. */ |
| 373 | _Noreturn void | 373 | AVOID |
| 374 | terminate_due_to_signal (int sig, int backtrace_limit) | 374 | terminate_due_to_signal (int sig, int backtrace_limit) |
| 375 | { | 375 | { |
| 376 | signal (sig, SIG_DFL); | 376 | signal (sig, SIG_DFL); |
diff --git a/src/eval.c b/src/eval.c index fa7b2d06031..c2e996a9474 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1133,7 +1133,7 @@ internal_catch (Lisp_Object tag, | |||
| 1133 | 1133 | ||
| 1134 | This is used for correct unwinding in Fthrow and Fsignal. */ | 1134 | This is used for correct unwinding in Fthrow and Fsignal. */ |
| 1135 | 1135 | ||
| 1136 | static _Noreturn void | 1136 | static AVOID |
| 1137 | unwind_to_catch (struct handler *catch, Lisp_Object value) | 1137 | unwind_to_catch (struct handler *catch, Lisp_Object value) |
| 1138 | { | 1138 | { |
| 1139 | bool last_time; | 1139 | bool last_time; |
diff --git a/src/frame.h b/src/frame.h index ec8f61465f2..e2e8eaab9bb 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -1262,7 +1262,7 @@ extern int frame_default_tool_bar_height; | |||
| 1262 | #ifdef HAVE_WINDOW_SYSTEM | 1262 | #ifdef HAVE_WINDOW_SYSTEM |
| 1263 | # define WINDOW_SYSTEM_RETURN | 1263 | # define WINDOW_SYSTEM_RETURN |
| 1264 | #else | 1264 | #else |
| 1265 | # define WINDOW_SYSTEM_RETURN _Noreturn | 1265 | # define WINDOW_SYSTEM_RETURN _Noreturn ATTRIBUTE_COLD |
| 1266 | #endif | 1266 | #endif |
| 1267 | 1267 | ||
| 1268 | extern WINDOW_SYSTEM_RETURN struct frame * | 1268 | extern WINDOW_SYSTEM_RETURN struct frame * |
diff --git a/src/image.c b/src/image.c index c1a23edefce..8e3a9a4930a 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -6079,7 +6079,7 @@ init_png_functions (void) | |||
| 6079 | /* Error and warning handlers installed when the PNG library | 6079 | /* Error and warning handlers installed when the PNG library |
| 6080 | is initialized. */ | 6080 | is initialized. */ |
| 6081 | 6081 | ||
| 6082 | static _Noreturn void | 6082 | static AVOID |
| 6083 | my_png_error (png_struct *png_ptr, const char *msg) | 6083 | my_png_error (png_struct *png_ptr, const char *msg) |
| 6084 | { | 6084 | { |
| 6085 | eassert (png_ptr != NULL); | 6085 | eassert (png_ptr != NULL); |
| @@ -6718,7 +6718,7 @@ struct my_jpeg_error_mgr | |||
| 6718 | }; | 6718 | }; |
| 6719 | 6719 | ||
| 6720 | 6720 | ||
| 6721 | static _Noreturn void | 6721 | static AVOID |
| 6722 | my_error_exit (j_common_ptr cinfo) | 6722 | my_error_exit (j_common_ptr cinfo) |
| 6723 | { | 6723 | { |
| 6724 | struct my_jpeg_error_mgr *mgr = (struct my_jpeg_error_mgr *) cinfo->err; | 6724 | struct my_jpeg_error_mgr *mgr = (struct my_jpeg_error_mgr *) cinfo->err; |
diff --git a/src/json.c b/src/json.c index 74e0534065f..5917212899e 100644 --- a/src/json.c +++ b/src/json.c | |||
| @@ -255,7 +255,7 @@ json_encode (Lisp_Object string) | |||
| 255 | return code_convert_string (string, Qutf_8_unix, Qt, true, true, true); | 255 | return code_convert_string (string, Qutf_8_unix, Qt, true, true, true); |
| 256 | } | 256 | } |
| 257 | 257 | ||
| 258 | static _Noreturn void | 258 | static AVOID |
| 259 | json_out_of_memory (void) | 259 | json_out_of_memory (void) |
| 260 | { | 260 | { |
| 261 | xsignal0 (Qjson_out_of_memory); | 261 | xsignal0 (Qjson_out_of_memory); |
| @@ -263,7 +263,7 @@ json_out_of_memory (void) | |||
| 263 | 263 | ||
| 264 | /* Signal a Lisp error corresponding to the JSON ERROR. */ | 264 | /* Signal a Lisp error corresponding to the JSON ERROR. */ |
| 265 | 265 | ||
| 266 | static _Noreturn void | 266 | static AVOID |
| 267 | json_parse_error (const json_error_t *error) | 267 | json_parse_error (const json_error_t *error) |
| 268 | { | 268 | { |
| 269 | Lisp_Object symbol; | 269 | Lisp_Object symbol; |
diff --git a/src/keyboard.c b/src/keyboard.c index 8fb6db987b5..dff8f6b2fc9 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -364,7 +364,7 @@ static void restore_getcjmp (void *); | |||
| 364 | static Lisp_Object apply_modifiers (int, Lisp_Object); | 364 | static Lisp_Object apply_modifiers (int, Lisp_Object); |
| 365 | static void restore_kboard_configuration (int); | 365 | static void restore_kboard_configuration (int); |
| 366 | static void handle_interrupt (bool); | 366 | static void handle_interrupt (bool); |
| 367 | static _Noreturn void quit_throw_to_read_char (bool); | 367 | static AVOID quit_throw_to_read_char (bool); |
| 368 | static void timer_start_idle (void); | 368 | static void timer_start_idle (void); |
| 369 | static void timer_stop_idle (void); | 369 | static void timer_stop_idle (void); |
| 370 | static void timer_resume_idle (void); | 370 | static void timer_resume_idle (void); |
| @@ -1131,13 +1131,12 @@ This also exits all active minibuffers. */ | |||
| 1131 | Fthrow (Qtop_level, Qnil); | 1131 | Fthrow (Qtop_level, Qnil); |
| 1132 | } | 1132 | } |
| 1133 | 1133 | ||
| 1134 | static _Noreturn void | 1134 | static AVOID |
| 1135 | user_error (const char *msg) | 1135 | user_error (const char *msg) |
| 1136 | { | 1136 | { |
| 1137 | xsignal1 (Quser_error, build_string (msg)); | 1137 | xsignal1 (Quser_error, build_string (msg)); |
| 1138 | } | 1138 | } |
| 1139 | 1139 | ||
| 1140 | /* _Noreturn will be added to prototype by make-docfile. */ | ||
| 1141 | DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "", | 1140 | DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "", |
| 1142 | doc: /* Exit from the innermost recursive edit or minibuffer. */ | 1141 | doc: /* Exit from the innermost recursive edit or minibuffer. */ |
| 1143 | attributes: noreturn) | 1142 | attributes: noreturn) |
| @@ -1149,7 +1148,6 @@ DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, | |||
| 1149 | user_error ("No recursive edit is in progress"); | 1148 | user_error ("No recursive edit is in progress"); |
| 1150 | } | 1149 | } |
| 1151 | 1150 | ||
| 1152 | /* _Noreturn will be added to prototype by make-docfile. */ | ||
| 1153 | DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "", | 1151 | DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "", |
| 1154 | doc: /* Abort the command that requested this recursive edit or minibuffer input. */ | 1152 | doc: /* Abort the command that requested this recursive edit or minibuffer input. */ |
| 1155 | attributes: noreturn) | 1153 | attributes: noreturn) |
diff --git a/src/lisp.h b/src/lisp.h index 2915944ffec..25d0a3d6ac1 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -166,6 +166,9 @@ typedef EMACS_UINT uprintmax_t; | |||
| 166 | # define pD "t" | 166 | # define pD "t" |
| 167 | #endif | 167 | #endif |
| 168 | 168 | ||
| 169 | /* Convenience macro for rarely-used functions that do not return. */ | ||
| 170 | #define AVOID _Noreturn ATTRIBUTE_COLD void | ||
| 171 | |||
| 169 | /* Extra internal type checking? */ | 172 | /* Extra internal type checking? */ |
| 170 | 173 | ||
| 171 | /* Define Emacs versions of <assert.h>'s 'assert (COND)' and <verify.h>'s | 174 | /* Define Emacs versions of <assert.h>'s 'assert (COND)' and <verify.h>'s |
| @@ -196,7 +199,7 @@ typedef EMACS_UINT uprintmax_t; | |||
| 196 | # define eassume(cond) assume (cond) | 199 | # define eassume(cond) assume (cond) |
| 197 | #else /* ENABLE_CHECKING */ | 200 | #else /* ENABLE_CHECKING */ |
| 198 | 201 | ||
| 199 | extern _Noreturn void die (const char *, const char *, int); | 202 | extern AVOID die (const char *, const char *, int); |
| 200 | 203 | ||
| 201 | extern bool suppress_checking EXTERNALLY_VISIBLE; | 204 | extern bool suppress_checking EXTERNALLY_VISIBLE; |
| 202 | 205 | ||
| @@ -621,7 +624,7 @@ extern Lisp_Object char_table_ref (Lisp_Object, int); | |||
| 621 | extern void char_table_set (Lisp_Object, int, Lisp_Object); | 624 | extern void char_table_set (Lisp_Object, int, Lisp_Object); |
| 622 | 625 | ||
| 623 | /* Defined in data.c. */ | 626 | /* Defined in data.c. */ |
| 624 | extern _Noreturn void wrong_type_argument (Lisp_Object, Lisp_Object); | 627 | extern AVOID wrong_type_argument (Lisp_Object, Lisp_Object); |
| 625 | 628 | ||
| 626 | 629 | ||
| 627 | /* Defined in emacs.c. */ | 630 | /* Defined in emacs.c. */ |
| @@ -3528,7 +3531,7 @@ modiff_to_integer (modiff_count a) | |||
| 3528 | } | 3531 | } |
| 3529 | 3532 | ||
| 3530 | /* Defined in data.c. */ | 3533 | /* Defined in data.c. */ |
| 3531 | extern _Noreturn void wrong_choice (Lisp_Object, Lisp_Object); | 3534 | extern AVOID wrong_choice (Lisp_Object, Lisp_Object); |
| 3532 | extern void notify_variable_watchers (Lisp_Object, Lisp_Object, | 3535 | extern void notify_variable_watchers (Lisp_Object, Lisp_Object, |
| 3533 | Lisp_Object, Lisp_Object); | 3536 | Lisp_Object, Lisp_Object); |
| 3534 | extern Lisp_Object indirect_function (Lisp_Object); | 3537 | extern Lisp_Object indirect_function (Lisp_Object); |
| @@ -3555,10 +3558,9 @@ extern intmax_t cons_to_signed (Lisp_Object, intmax_t, intmax_t); | |||
| 3555 | extern uintmax_t cons_to_unsigned (Lisp_Object, uintmax_t); | 3558 | extern uintmax_t cons_to_unsigned (Lisp_Object, uintmax_t); |
| 3556 | 3559 | ||
| 3557 | extern struct Lisp_Symbol *indirect_variable (struct Lisp_Symbol *); | 3560 | extern struct Lisp_Symbol *indirect_variable (struct Lisp_Symbol *); |
| 3558 | extern _Noreturn void args_out_of_range (Lisp_Object, Lisp_Object); | 3561 | extern AVOID args_out_of_range (Lisp_Object, Lisp_Object); |
| 3559 | extern _Noreturn void args_out_of_range_3 (Lisp_Object, Lisp_Object, | 3562 | extern AVOID args_out_of_range_3 (Lisp_Object, Lisp_Object, Lisp_Object); |
| 3560 | Lisp_Object); | 3563 | extern AVOID circular_list (Lisp_Object); |
| 3561 | extern _Noreturn void circular_list (Lisp_Object); | ||
| 3562 | extern Lisp_Object do_symval_forwarding (lispfwd); | 3564 | extern Lisp_Object do_symval_forwarding (lispfwd); |
| 3563 | enum Set_Internal_Bind { | 3565 | enum Set_Internal_Bind { |
| 3564 | SET_INTERNAL_SET, | 3566 | SET_INTERNAL_SET, |
| @@ -3666,7 +3668,7 @@ extern void syms_of_json (void); | |||
| 3666 | 3668 | ||
| 3667 | /* Defined in insdel.c. */ | 3669 | /* Defined in insdel.c. */ |
| 3668 | extern void move_gap_both (ptrdiff_t, ptrdiff_t); | 3670 | extern void move_gap_both (ptrdiff_t, ptrdiff_t); |
| 3669 | extern _Noreturn void buffer_overflow (void); | 3671 | extern AVOID buffer_overflow (void); |
| 3670 | extern void make_gap (ptrdiff_t); | 3672 | extern void make_gap (ptrdiff_t); |
| 3671 | extern void make_gap_1 (struct buffer *, ptrdiff_t); | 3673 | extern void make_gap_1 (struct buffer *, ptrdiff_t); |
| 3672 | extern ptrdiff_t copy_text (const unsigned char *, unsigned char *, | 3674 | extern ptrdiff_t copy_text (const unsigned char *, unsigned char *, |
| @@ -3766,8 +3768,8 @@ extern void *my_heap_start (void); | |||
| 3766 | extern void check_pure_size (void); | 3768 | extern void check_pure_size (void); |
| 3767 | extern void allocate_string_data (struct Lisp_String *, EMACS_INT, EMACS_INT); | 3769 | extern void allocate_string_data (struct Lisp_String *, EMACS_INT, EMACS_INT); |
| 3768 | extern void malloc_warning (const char *); | 3770 | extern void malloc_warning (const char *); |
| 3769 | extern _Noreturn void memory_full (size_t); | 3771 | extern AVOID memory_full (size_t); |
| 3770 | extern _Noreturn void buffer_memory_full (ptrdiff_t); | 3772 | extern AVOID buffer_memory_full (ptrdiff_t); |
| 3771 | extern bool survives_gc_p (Lisp_Object); | 3773 | extern bool survives_gc_p (Lisp_Object); |
| 3772 | extern void mark_object (Lisp_Object); | 3774 | extern void mark_object (Lisp_Object); |
| 3773 | #if defined REL_ALLOC && !defined SYSTEM_MALLOC && !defined HYBRID_MALLOC | 3775 | #if defined REL_ALLOC && !defined SYSTEM_MALLOC && !defined HYBRID_MALLOC |
| @@ -3848,7 +3850,7 @@ list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMACS_INT h) | |||
| 3848 | 3850 | ||
| 3849 | extern Lisp_Object make_uninit_bool_vector (EMACS_INT); | 3851 | extern Lisp_Object make_uninit_bool_vector (EMACS_INT); |
| 3850 | extern Lisp_Object bool_vector_fill (Lisp_Object, Lisp_Object); | 3852 | extern Lisp_Object bool_vector_fill (Lisp_Object, Lisp_Object); |
| 3851 | extern _Noreturn void string_overflow (void); | 3853 | extern AVOID string_overflow (void); |
| 3852 | extern Lisp_Object make_string (const char *, ptrdiff_t); | 3854 | extern Lisp_Object make_string (const char *, ptrdiff_t); |
| 3853 | extern Lisp_Object make_formatted_string (char *, const char *, ...) | 3855 | extern Lisp_Object make_formatted_string (char *, const char *, ...) |
| 3854 | ATTRIBUTE_FORMAT_PRINTF (2, 3); | 3856 | ATTRIBUTE_FORMAT_PRINTF (2, 3); |
| @@ -4095,18 +4097,17 @@ extern Lisp_Object run_hook_with_args (ptrdiff_t nargs, Lisp_Object *args, | |||
| 4095 | Lisp_Object (*funcall) | 4097 | Lisp_Object (*funcall) |
| 4096 | (ptrdiff_t nargs, Lisp_Object *args)); | 4098 | (ptrdiff_t nargs, Lisp_Object *args)); |
| 4097 | extern Lisp_Object quit (void); | 4099 | extern Lisp_Object quit (void); |
| 4098 | INLINE _Noreturn void | 4100 | INLINE AVOID |
| 4099 | xsignal (Lisp_Object error_symbol, Lisp_Object data) | 4101 | xsignal (Lisp_Object error_symbol, Lisp_Object data) |
| 4100 | { | 4102 | { |
| 4101 | Fsignal (error_symbol, data); | 4103 | Fsignal (error_symbol, data); |
| 4102 | } | 4104 | } |
| 4103 | extern _Noreturn void xsignal0 (Lisp_Object); | 4105 | extern AVOID xsignal0 (Lisp_Object); |
| 4104 | extern _Noreturn void xsignal1 (Lisp_Object, Lisp_Object); | 4106 | extern AVOID xsignal1 (Lisp_Object, Lisp_Object); |
| 4105 | extern _Noreturn void xsignal2 (Lisp_Object, Lisp_Object, Lisp_Object); | 4107 | extern AVOID xsignal2 (Lisp_Object, Lisp_Object, Lisp_Object); |
| 4106 | extern _Noreturn void xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object, | 4108 | extern AVOID xsignal3 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); |
| 4107 | Lisp_Object); | 4109 | extern AVOID signal_error (const char *, Lisp_Object); |
| 4108 | extern _Noreturn void signal_error (const char *, Lisp_Object); | 4110 | extern AVOID overflow_error (void); |
| 4109 | extern _Noreturn void overflow_error (void); | ||
| 4110 | extern bool FUNCTIONP (Lisp_Object); | 4111 | extern bool FUNCTIONP (Lisp_Object); |
| 4111 | extern Lisp_Object funcall_subr (struct Lisp_Subr *subr, ptrdiff_t numargs, Lisp_Object *arg_vector); | 4112 | extern Lisp_Object funcall_subr (struct Lisp_Subr *subr, ptrdiff_t numargs, Lisp_Object *arg_vector); |
| 4112 | extern Lisp_Object eval_sub (Lisp_Object form); | 4113 | extern Lisp_Object eval_sub (Lisp_Object form); |
| @@ -4145,8 +4146,8 @@ extern void set_unwind_protect_ptr (ptrdiff_t, void (*) (void *), void *); | |||
| 4145 | extern Lisp_Object unbind_to (ptrdiff_t, Lisp_Object); | 4146 | extern Lisp_Object unbind_to (ptrdiff_t, Lisp_Object); |
| 4146 | extern void rebind_for_thread_switch (void); | 4147 | extern void rebind_for_thread_switch (void); |
| 4147 | extern void unbind_for_thread_switch (struct thread_state *); | 4148 | extern void unbind_for_thread_switch (struct thread_state *); |
| 4148 | extern _Noreturn void error (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); | 4149 | extern AVOID error (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); |
| 4149 | extern _Noreturn void verror (const char *, va_list) | 4150 | extern AVOID verror (const char *, va_list) |
| 4150 | ATTRIBUTE_FORMAT_PRINTF (1, 0); | 4151 | ATTRIBUTE_FORMAT_PRINTF (1, 0); |
| 4151 | extern Lisp_Object vformat_string (const char *, va_list) | 4152 | extern Lisp_Object vformat_string (const char *, va_list) |
| 4152 | ATTRIBUTE_FORMAT_PRINTF (1, 0); | 4153 | ATTRIBUTE_FORMAT_PRINTF (1, 0); |
| @@ -4243,7 +4244,7 @@ extern void syms_of_editfns (void); | |||
| 4243 | /* Defined in buffer.c. */ | 4244 | /* Defined in buffer.c. */ |
| 4244 | extern bool mouse_face_overlay_overlaps (Lisp_Object); | 4245 | extern bool mouse_face_overlay_overlaps (Lisp_Object); |
| 4245 | extern Lisp_Object disable_line_numbers_overlay_at_eob (void); | 4246 | extern Lisp_Object disable_line_numbers_overlay_at_eob (void); |
| 4246 | extern _Noreturn void nsberror (Lisp_Object); | 4247 | extern AVOID nsberror (Lisp_Object); |
| 4247 | extern void adjust_overlays_for_insert (ptrdiff_t, ptrdiff_t); | 4248 | extern void adjust_overlays_for_insert (ptrdiff_t, ptrdiff_t); |
| 4248 | extern void adjust_overlays_for_delete (ptrdiff_t, ptrdiff_t); | 4249 | extern void adjust_overlays_for_delete (ptrdiff_t, ptrdiff_t); |
| 4249 | extern void fix_start_end_in_overlays (ptrdiff_t, ptrdiff_t); | 4250 | extern void fix_start_end_in_overlays (ptrdiff_t, ptrdiff_t); |
| @@ -4286,9 +4287,9 @@ extern void close_file_unwind (int); | |||
| 4286 | extern void fclose_unwind (void *); | 4287 | extern void fclose_unwind (void *); |
| 4287 | extern void restore_point_unwind (Lisp_Object); | 4288 | extern void restore_point_unwind (Lisp_Object); |
| 4288 | extern Lisp_Object get_file_errno_data (const char *, Lisp_Object, int); | 4289 | extern Lisp_Object get_file_errno_data (const char *, Lisp_Object, int); |
| 4289 | extern _Noreturn void report_file_errno (const char *, Lisp_Object, int); | 4290 | extern AVOID report_file_errno (const char *, Lisp_Object, int); |
| 4290 | extern _Noreturn void report_file_error (const char *, Lisp_Object); | 4291 | extern AVOID report_file_error (const char *, Lisp_Object); |
| 4291 | extern _Noreturn void report_file_notify_error (const char *, Lisp_Object); | 4292 | extern AVOID report_file_notify_error (const char *, Lisp_Object); |
| 4292 | extern bool internal_delete_file (Lisp_Object); | 4293 | extern bool internal_delete_file (Lisp_Object); |
| 4293 | extern Lisp_Object emacs_readlinkat (int, const char *); | 4294 | extern Lisp_Object emacs_readlinkat (int, const char *); |
| 4294 | extern bool file_directory_p (Lisp_Object); | 4295 | extern bool file_directory_p (Lisp_Object); |
| @@ -4409,7 +4410,7 @@ extern bool display_arg; | |||
| 4409 | #endif | 4410 | #endif |
| 4410 | extern Lisp_Object decode_env_path (const char *, const char *, bool); | 4411 | extern Lisp_Object decode_env_path (const char *, const char *, bool); |
| 4411 | extern Lisp_Object empty_unibyte_string, empty_multibyte_string; | 4412 | extern Lisp_Object empty_unibyte_string, empty_multibyte_string; |
| 4412 | extern _Noreturn void terminate_due_to_signal (int, int); | 4413 | extern AVOID terminate_due_to_signal (int, int); |
| 4413 | #ifdef WINDOWSNT | 4414 | #ifdef WINDOWSNT |
| 4414 | extern Lisp_Object Vlibrary_cache; | 4415 | extern Lisp_Object Vlibrary_cache; |
| 4415 | #endif | 4416 | #endif |
| @@ -4574,7 +4575,7 @@ extern EMACS_INT get_random (void); | |||
| 4574 | extern void seed_random (void *, ptrdiff_t); | 4575 | extern void seed_random (void *, ptrdiff_t); |
| 4575 | extern void init_random (void); | 4576 | extern void init_random (void); |
| 4576 | extern void emacs_backtrace (int); | 4577 | extern void emacs_backtrace (int); |
| 4577 | extern _Noreturn void emacs_abort (void) NO_INLINE; | 4578 | extern AVOID emacs_abort (void) NO_INLINE; |
| 4578 | extern int emacs_open (const char *, int, int); | 4579 | extern int emacs_open (const char *, int, int); |
| 4579 | extern int emacs_pipe (int[2]); | 4580 | extern int emacs_pipe (int[2]); |
| 4580 | extern int emacs_close (int); | 4581 | extern int emacs_close (int); |
| @@ -4615,8 +4616,7 @@ extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object, | |||
| 4615 | /* Defined in term.c. */ | 4616 | /* Defined in term.c. */ |
| 4616 | extern int *char_ins_del_vector; | 4617 | extern int *char_ins_del_vector; |
| 4617 | extern void syms_of_term (void); | 4618 | extern void syms_of_term (void); |
| 4618 | extern _Noreturn void fatal (const char *msgid, ...) | 4619 | extern AVOID fatal (const char *msgid, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2); |
| 4619 | ATTRIBUTE_FORMAT_PRINTF (1, 2); | ||
| 4620 | 4620 | ||
| 4621 | /* Defined in terminal.c. */ | 4621 | /* Defined in terminal.c. */ |
| 4622 | extern void syms_of_terminal (void); | 4622 | extern void syms_of_terminal (void); |
diff --git a/src/lread.c b/src/lread.c index 5f33fcd6957..8cb4b63cc3a 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -1019,7 +1019,7 @@ load_error_handler (Lisp_Object data) | |||
| 1019 | return Qnil; | 1019 | return Qnil; |
| 1020 | } | 1020 | } |
| 1021 | 1021 | ||
| 1022 | static _Noreturn void | 1022 | static AVOID |
| 1023 | load_error_old_style_backquotes (void) | 1023 | load_error_old_style_backquotes (void) |
| 1024 | { | 1024 | { |
| 1025 | if (NILP (Vload_file_name)) | 1025 | if (NILP (Vload_file_name)) |
| @@ -1874,7 +1874,7 @@ readevalloop_1 (int old) | |||
| 1874 | /* Signal an `end-of-file' error, if possible with file name | 1874 | /* Signal an `end-of-file' error, if possible with file name |
| 1875 | information. */ | 1875 | information. */ |
| 1876 | 1876 | ||
| 1877 | static _Noreturn void | 1877 | static AVOID |
| 1878 | end_of_file_error (void) | 1878 | end_of_file_error (void) |
| 1879 | { | 1879 | { |
| 1880 | if (STRINGP (Vload_file_name)) | 1880 | if (STRINGP (Vload_file_name)) |
| @@ -2297,7 +2297,7 @@ read_internal_start (Lisp_Object stream, Lisp_Object start, Lisp_Object end) | |||
| 2297 | /* Signal Qinvalid_read_syntax error. | 2297 | /* Signal Qinvalid_read_syntax error. |
| 2298 | S is error string of length N (if > 0) */ | 2298 | S is error string of length N (if > 0) */ |
| 2299 | 2299 | ||
| 2300 | static _Noreturn void | 2300 | static AVOID |
| 2301 | invalid_syntax (const char *s) | 2301 | invalid_syntax (const char *s) |
| 2302 | { | 2302 | { |
| 2303 | xsignal1 (Qinvalid_read_syntax, build_string (s)); | 2303 | xsignal1 (Qinvalid_read_syntax, build_string (s)); |
diff --git a/src/pdumper.c b/src/pdumper.c index 600c5b3ca3d..2cc9af7f56c 100644 --- a/src/pdumper.c +++ b/src/pdumper.c | |||
| @@ -680,8 +680,7 @@ static void dump_remember_cold_op (struct dump_context *ctx, | |||
| 680 | enum cold_op op, | 680 | enum cold_op op, |
| 681 | Lisp_Object arg); | 681 | Lisp_Object arg); |
| 682 | 682 | ||
| 683 | _Noreturn | 683 | static AVOID |
| 684 | static void | ||
| 685 | error_unsupported_dump_object (struct dump_context *ctx, | 684 | error_unsupported_dump_object (struct dump_context *ctx, |
| 686 | Lisp_Object object, | 685 | Lisp_Object object, |
| 687 | const char *msg) | 686 | const char *msg) |
diff --git a/src/puresize.h b/src/puresize.h index f120a4b3307..f5fad8b42b6 100644 --- a/src/puresize.h +++ b/src/puresize.h | |||
| @@ -77,7 +77,7 @@ INLINE_HEADER_BEGIN | |||
| 77 | #define PURESIZE (BASE_PURESIZE * PURESIZE_RATIO * PURESIZE_CHECKING_RATIO) | 77 | #define PURESIZE (BASE_PURESIZE * PURESIZE_RATIO * PURESIZE_CHECKING_RATIO) |
| 78 | #endif | 78 | #endif |
| 79 | 79 | ||
| 80 | extern _Noreturn void pure_write_error (Lisp_Object); | 80 | extern AVOID pure_write_error (Lisp_Object); |
| 81 | 81 | ||
| 82 | extern EMACS_INT pure[]; | 82 | extern EMACS_INT pure[]; |
| 83 | 83 | ||
diff --git a/src/search.c b/src/search.c index a450e920b03..7a6e680685a 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -73,7 +73,7 @@ static EMACS_INT search_buffer (Lisp_Object, ptrdiff_t, ptrdiff_t, | |||
| 73 | 73 | ||
| 74 | Lisp_Object re_match_object; | 74 | Lisp_Object re_match_object; |
| 75 | 75 | ||
| 76 | static _Noreturn void | 76 | static AVOID |
| 77 | matcher_overflow (void) | 77 | matcher_overflow (void) |
| 78 | { | 78 | { |
| 79 | error ("Stack overflow in regexp matcher"); | 79 | error ("Stack overflow in regexp matcher"); |
diff --git a/src/sound.c b/src/sound.c index 2b8715010e7..4ba826e82c4 100644 --- a/src/sound.c +++ b/src/sound.c | |||
| @@ -297,7 +297,7 @@ static int do_play_sound (const char *, unsigned long); | |||
| 297 | #ifndef WINDOWSNT | 297 | #ifndef WINDOWSNT |
| 298 | /* Like perror, but signals an error. */ | 298 | /* Like perror, but signals an error. */ |
| 299 | 299 | ||
| 300 | static _Noreturn void | 300 | static AVOID |
| 301 | sound_perror (const char *msg) | 301 | sound_perror (const char *msg) |
| 302 | { | 302 | { |
| 303 | int saved_errno = errno; | 303 | int saved_errno = errno; |
| @@ -874,7 +874,7 @@ vox_write (struct sound_device *sd, const char *buffer, ptrdiff_t nbytes) | |||
| 874 | #define DEFAULT_ALSA_SOUND_DEVICE "default" | 874 | #define DEFAULT_ALSA_SOUND_DEVICE "default" |
| 875 | #endif | 875 | #endif |
| 876 | 876 | ||
| 877 | static _Noreturn void | 877 | static AVOID |
| 878 | alsa_sound_perror (const char *msg, int err) | 878 | alsa_sound_perror (const char *msg, int err) |
| 879 | { | 879 | { |
| 880 | error ("%s: %s", msg, snd_strerror (err)); | 880 | error ("%s: %s", msg, snd_strerror (err)); |
diff --git a/src/sysdep.c b/src/sysdep.c index 57ea8220cac..bc88e70dcb4 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1805,7 +1805,7 @@ deliver_fatal_thread_signal (int sig) | |||
| 1805 | deliver_thread_signal (sig, handle_fatal_signal); | 1805 | deliver_thread_signal (sig, handle_fatal_signal); |
| 1806 | } | 1806 | } |
| 1807 | 1807 | ||
| 1808 | static _Noreturn void | 1808 | static AVOID |
| 1809 | handle_arith_signal (int sig) | 1809 | handle_arith_signal (int sig) |
| 1810 | { | 1810 | { |
| 1811 | pthread_sigmask (SIG_SETMASK, &empty_mask, 0); | 1811 | pthread_sigmask (SIG_SETMASK, &empty_mask, 0); |
diff --git a/src/systime.h b/src/systime.h index 9080cd2bba1..89af0c5e3df 100644 --- a/src/systime.h +++ b/src/systime.h | |||
| @@ -92,7 +92,7 @@ extern Lisp_Object make_lisp_time (struct timespec); | |||
| 92 | extern bool list4_to_timespec (Lisp_Object, Lisp_Object, Lisp_Object, | 92 | extern bool list4_to_timespec (Lisp_Object, Lisp_Object, Lisp_Object, |
| 93 | Lisp_Object, struct timespec *); | 93 | Lisp_Object, struct timespec *); |
| 94 | extern struct timespec lisp_time_argument (Lisp_Object); | 94 | extern struct timespec lisp_time_argument (Lisp_Object); |
| 95 | extern _Noreturn void time_overflow (void); | 95 | extern AVOID time_overflow (void); |
| 96 | extern void init_timefns (void); | 96 | extern void init_timefns (void); |
| 97 | extern void syms_of_timefns (void); | 97 | extern void syms_of_timefns (void); |
| 98 | 98 | ||
diff --git a/src/term.c b/src/term.c index a492276c888..2de0a0e6649 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -73,11 +73,10 @@ static void clear_tty_hooks (struct terminal *terminal); | |||
| 73 | static void set_tty_hooks (struct terminal *terminal); | 73 | static void set_tty_hooks (struct terminal *terminal); |
| 74 | static void dissociate_if_controlling_tty (int fd); | 74 | static void dissociate_if_controlling_tty (int fd); |
| 75 | static void delete_tty (struct terminal *); | 75 | static void delete_tty (struct terminal *); |
| 76 | static _Noreturn void maybe_fatal (bool, struct terminal *, | 76 | static AVOID maybe_fatal (bool, struct terminal *, const char *, const char *, |
| 77 | const char *, const char *, ...) | 77 | ...) |
| 78 | ATTRIBUTE_FORMAT_PRINTF (3, 5) ATTRIBUTE_FORMAT_PRINTF (4, 5); | 78 | ATTRIBUTE_FORMAT_PRINTF (3, 5) ATTRIBUTE_FORMAT_PRINTF (4, 5); |
| 79 | static _Noreturn void vfatal (const char *str, va_list ap) | 79 | static AVOID vfatal (const char *, va_list) ATTRIBUTE_FORMAT_PRINTF (1, 0); |
| 80 | ATTRIBUTE_FORMAT_PRINTF (1, 0); | ||
| 81 | 80 | ||
| 82 | 81 | ||
| 83 | #define OUTPUT(tty, a) \ | 82 | #define OUTPUT(tty, a) \ |
diff --git a/src/textprop.c b/src/textprop.c index bb063d3eaaa..ae42c44185f 100644 --- a/src/textprop.c +++ b/src/textprop.c | |||
| @@ -65,7 +65,7 @@ static Lisp_Object interval_insert_in_front_hooks; | |||
| 65 | /* Signal a `text-read-only' error. This function makes it easier | 65 | /* Signal a `text-read-only' error. This function makes it easier |
| 66 | to capture that error in GDB by putting a breakpoint on it. */ | 66 | to capture that error in GDB by putting a breakpoint on it. */ |
| 67 | 67 | ||
| 68 | static _Noreturn void | 68 | static AVOID |
| 69 | text_read_only (Lisp_Object propval) | 69 | text_read_only (Lisp_Object propval) |
| 70 | { | 70 | { |
| 71 | if (STRINGP (propval)) | 71 | if (STRINGP (propval)) |
diff --git a/src/timefns.c b/src/timefns.c index 514fa24f8b9..cb953d1b4ce 100644 --- a/src/timefns.c +++ b/src/timefns.c | |||
| @@ -172,7 +172,7 @@ emacs_localtime_rz (timezone_t tz, time_t const *t, struct tm *tm) | |||
| 172 | return tm; | 172 | return tm; |
| 173 | } | 173 | } |
| 174 | 174 | ||
| 175 | static _Noreturn void | 175 | static AVOID |
| 176 | invalid_time_zone_specification (Lisp_Object zone) | 176 | invalid_time_zone_specification (Lisp_Object zone) |
| 177 | { | 177 | { |
| 178 | xsignal2 (Qerror, build_string ("Invalid time zone specification"), zone); | 178 | xsignal2 (Qerror, build_string ("Invalid time zone specification"), zone); |
| @@ -337,7 +337,7 @@ time_overflow (void) | |||
| 337 | error ("Specified time is not representable"); | 337 | error ("Specified time is not representable"); |
| 338 | } | 338 | } |
| 339 | 339 | ||
| 340 | static _Noreturn void | 340 | static AVOID |
| 341 | time_error (int err) | 341 | time_error (int err) |
| 342 | { | 342 | { |
| 343 | switch (err) | 343 | switch (err) |
| @@ -348,7 +348,7 @@ time_error (int err) | |||
| 348 | } | 348 | } |
| 349 | } | 349 | } |
| 350 | 350 | ||
| 351 | static _Noreturn void | 351 | static AVOID |
| 352 | invalid_hz (Lisp_Object hz) | 352 | invalid_hz (Lisp_Object hz) |
| 353 | { | 353 | { |
| 354 | xsignal2 (Qerror, build_string ("Invalid time frequency"), hz); | 354 | xsignal2 (Qerror, build_string ("Invalid time frequency"), hz); |
diff --git a/src/xterm.c b/src/xterm.c index 0facb524549..0b83263a0e6 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -1505,37 +1505,8 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fring | |||
| 1505 | Glyph display | 1505 | Glyph display |
| 1506 | ***********************************************************************/ | 1506 | ***********************************************************************/ |
| 1507 | 1507 | ||
| 1508 | |||
| 1509 | |||
| 1510 | static void x_set_glyph_string_clipping (struct glyph_string *); | ||
| 1511 | static void x_set_glyph_string_gc (struct glyph_string *); | ||
| 1512 | static void x_draw_glyph_string_foreground (struct glyph_string *); | ||
| 1513 | static void x_draw_composite_glyph_string_foreground (struct glyph_string *); | ||
| 1514 | static void x_draw_glyph_string_box (struct glyph_string *); | ||
| 1515 | static void x_draw_glyph_string (struct glyph_string *); | ||
| 1516 | static _Noreturn void x_delete_glyphs (struct frame *, int); | ||
| 1517 | static void x_compute_glyph_string_overhangs (struct glyph_string *); | ||
| 1518 | static void x_set_cursor_gc (struct glyph_string *); | ||
| 1519 | static void x_set_mode_line_face_gc (struct glyph_string *); | ||
| 1520 | static void x_set_mouse_face_gc (struct glyph_string *); | ||
| 1521 | static bool x_alloc_lighter_color (struct frame *, Display *, Colormap, | 1508 | static bool x_alloc_lighter_color (struct frame *, Display *, Colormap, |
| 1522 | unsigned long *, double, int); | 1509 | unsigned long *, double, int); |
| 1523 | static void x_setup_relief_color (struct frame *, struct relief *, | ||
| 1524 | double, int, unsigned long); | ||
| 1525 | static void x_setup_relief_colors (struct glyph_string *); | ||
| 1526 | static void x_draw_image_glyph_string (struct glyph_string *); | ||
| 1527 | static void x_draw_image_relief (struct glyph_string *); | ||
| 1528 | static void x_draw_image_foreground (struct glyph_string *); | ||
| 1529 | #ifndef USE_CAIRO | ||
| 1530 | static void x_draw_image_foreground_1 (struct glyph_string *, Pixmap); | ||
| 1531 | #endif | ||
| 1532 | static void x_clear_glyph_string_rect (struct glyph_string *, int, | ||
| 1533 | int, int, int); | ||
| 1534 | static void x_draw_relief_rect (struct frame *, int, int, int, int, | ||
| 1535 | int, bool, bool, bool, bool, bool, | ||
| 1536 | XRectangle *); | ||
| 1537 | static void x_draw_box_rect (struct glyph_string *, int, int, int, int, | ||
| 1538 | int, bool, bool, XRectangle *); | ||
| 1539 | static void x_scroll_bar_clear (struct frame *); | 1510 | static void x_scroll_bar_clear (struct frame *); |
| 1540 | 1511 | ||
| 1541 | #ifdef GLYPH_DEBUG | 1512 | #ifdef GLYPH_DEBUG |
| @@ -3975,7 +3946,7 @@ x_shift_glyphs_for_insert (struct frame *f, int x, int y, int width, int height, | |||
| 3975 | for X frames. */ | 3946 | for X frames. */ |
| 3976 | 3947 | ||
| 3977 | static void | 3948 | static void |
| 3978 | x_delete_glyphs (struct frame *f, register int n) | 3949 | x_delete_glyphs (struct frame *f, int n) |
| 3979 | { | 3950 | { |
| 3980 | emacs_abort (); | 3951 | emacs_abort (); |
| 3981 | } | 3952 | } |
| @@ -9842,7 +9813,7 @@ static char *error_msg; | |||
| 9842 | /* Handle the loss of connection to display DPY. ERROR_MESSAGE is | 9813 | /* Handle the loss of connection to display DPY. ERROR_MESSAGE is |
| 9843 | the text of an error message that lead to the connection loss. */ | 9814 | the text of an error message that lead to the connection loss. */ |
| 9844 | 9815 | ||
| 9845 | static _Noreturn void | 9816 | static AVOID |
| 9846 | x_connection_closed (Display *dpy, const char *error_message, bool ioerror) | 9817 | x_connection_closed (Display *dpy, const char *error_message, bool ioerror) |
| 9847 | { | 9818 | { |
| 9848 | struct x_display_info *dpyinfo = x_display_info_for_display (dpy); | 9819 | struct x_display_info *dpyinfo = x_display_info_for_display (dpy); |
| @@ -10005,7 +9976,7 @@ x_error_quitter (Display *display, XErrorEvent *event) | |||
| 10005 | It kills all frames on the display that we lost touch with. | 9976 | It kills all frames on the display that we lost touch with. |
| 10006 | If that was the only one, it prints an error message and kills Emacs. */ | 9977 | If that was the only one, it prints an error message and kills Emacs. */ |
| 10007 | 9978 | ||
| 10008 | static _Noreturn int | 9979 | static _Noreturn ATTRIBUTE_COLD int |
| 10009 | x_io_error_quitter (Display *display) | 9980 | x_io_error_quitter (Display *display) |
| 10010 | { | 9981 | { |
| 10011 | char buf[256]; | 9982 | char buf[256]; |