diff options
| author | Paul Eggert | 2016-06-08 10:33:34 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-06-08 11:50:42 -0700 |
| commit | 82f49c6a373f981a778f4d939ca2d47c031e0659 (patch) | |
| tree | e84afa8e7af336f15f37789fbf23f4ec62905790 /src | |
| parent | 7715ee54b3588cfdef03b5d45aaf44b73b422ec6 (diff) | |
| download | emacs-82f49c6a373f981a778f4d939ca2d47c031e0659.tar.gz emacs-82f49c6a373f981a778f4d939ca2d47c031e0659.zip | |
Replace IF_LINT by NONVOLATILE and UNINIT
Inspired by a suggestion from RMS in: http://bugs.gnu.org/23640#58
* .dir-locals.el (c-mode): Adjust to macro changes.
* src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
(IF_LINT): Remove. All uses replaced by the new macros.
Diffstat (limited to 'src')
| -rw-r--r-- | src/buffer.c | 3 | ||||
| -rw-r--r-- | src/charset.c | 3 | ||||
| -rw-r--r-- | src/cm.c | 2 | ||||
| -rw-r--r-- | src/coding.c | 9 | ||||
| -rw-r--r-- | src/composite.c | 3 | ||||
| -rw-r--r-- | src/conf_post.h | 16 | ||||
| -rw-r--r-- | src/editfns.c | 4 | ||||
| -rw-r--r-- | src/fileio.c | 4 | ||||
| -rw-r--r-- | src/font.c | 3 | ||||
| -rw-r--r-- | src/fontset.c | 3 | ||||
| -rw-r--r-- | src/fringe.c | 2 | ||||
| -rw-r--r-- | src/gtkutil.c | 3 | ||||
| -rw-r--r-- | src/image.c | 11 | ||||
| -rw-r--r-- | src/indent.c | 6 | ||||
| -rw-r--r-- | src/keyboard.c | 10 | ||||
| -rw-r--r-- | src/lread.c | 9 | ||||
| -rw-r--r-- | src/minibuf.c | 2 | ||||
| -rw-r--r-- | src/print.c | 2 | ||||
| -rw-r--r-- | src/regex.c | 2 | ||||
| -rw-r--r-- | src/syntax.c | 2 | ||||
| -rw-r--r-- | src/term.c | 8 | ||||
| -rw-r--r-- | src/window.c | 8 | ||||
| -rw-r--r-- | src/xdisp.c | 30 | ||||
| -rw-r--r-- | src/xfont.c | 2 |
24 files changed, 79 insertions, 68 deletions
diff --git a/src/buffer.c b/src/buffer.c index 534b9e40da3..af8c7324da1 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -3907,7 +3907,8 @@ buffer. */) | |||
| 3907 | struct buffer *b, *ob = 0; | 3907 | struct buffer *b, *ob = 0; |
| 3908 | Lisp_Object obuffer; | 3908 | Lisp_Object obuffer; |
| 3909 | ptrdiff_t count = SPECPDL_INDEX (); | 3909 | ptrdiff_t count = SPECPDL_INDEX (); |
| 3910 | ptrdiff_t n_beg, n_end, o_beg IF_LINT (= 0), o_end IF_LINT (= 0); | 3910 | ptrdiff_t n_beg, n_end; |
| 3911 | ptrdiff_t o_beg UNINIT, o_end UNINIT; | ||
| 3911 | 3912 | ||
| 3912 | CHECK_OVERLAY (overlay); | 3913 | CHECK_OVERLAY (overlay); |
| 3913 | if (NILP (buffer)) | 3914 | if (NILP (buffer)) |
diff --git a/src/charset.c b/src/charset.c index 1a135849539..688205245a9 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -240,7 +240,8 @@ struct charset_map_entries | |||
| 240 | static void | 240 | static void |
| 241 | load_charset_map (struct charset *charset, struct charset_map_entries *entries, int n_entries, int control_flag) | 241 | load_charset_map (struct charset *charset, struct charset_map_entries *entries, int n_entries, int control_flag) |
| 242 | { | 242 | { |
| 243 | Lisp_Object vec, table IF_LINT (= Qnil); | 243 | Lisp_Object vec; |
| 244 | Lisp_Object table UNINIT; | ||
| 244 | unsigned max_code = CHARSET_MAX_CODE (charset); | 245 | unsigned max_code = CHARSET_MAX_CODE (charset); |
| 245 | bool ascii_compatible_p = charset->ascii_compatible_p; | 246 | bool ascii_compatible_p = charset->ascii_compatible_p; |
| 246 | int min_char, max_char, nonascii_min_char; | 247 | int min_char, max_char, nonascii_min_char; |
| @@ -321,7 +321,7 @@ cmgoto (struct tty_display_info *tty, int row, int col) | |||
| 321 | llcost, | 321 | llcost, |
| 322 | relcost, | 322 | relcost, |
| 323 | directcost; | 323 | directcost; |
| 324 | int use IF_LINT (= 0); | 324 | int use UNINIT; |
| 325 | char *p; | 325 | char *p; |
| 326 | const char *dcm; | 326 | const char *dcm; |
| 327 | 327 | ||
diff --git a/src/coding.c b/src/coding.c index a28fec1efe4..3f7d11151d4 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -2365,7 +2365,8 @@ decode_coding_emacs_mule (struct coding_system *coding) | |||
| 2365 | 2365 | ||
| 2366 | while (1) | 2366 | while (1) |
| 2367 | { | 2367 | { |
| 2368 | int c, id IF_LINT (= 0); | 2368 | int c; |
| 2369 | int id UNINIT; | ||
| 2369 | 2370 | ||
| 2370 | src_base = src; | 2371 | src_base = src; |
| 2371 | consumed_chars_base = consumed_chars; | 2372 | consumed_chars_base = consumed_chars; |
| @@ -2410,7 +2411,7 @@ decode_coding_emacs_mule (struct coding_system *coding) | |||
| 2410 | } | 2411 | } |
| 2411 | else | 2412 | else |
| 2412 | { | 2413 | { |
| 2413 | int nchars IF_LINT (= 0), nbytes IF_LINT (= 0); | 2414 | int nchars UNINIT, nbytes UNINIT; |
| 2414 | /* emacs_mule_char can load a charset map from a file, which | 2415 | /* emacs_mule_char can load a charset map from a file, which |
| 2415 | allocates a large structure and might cause buffer text | 2416 | allocates a large structure and might cause buffer text |
| 2416 | to be relocated as result. Thus, we need to remember the | 2417 | to be relocated as result. Thus, we need to remember the |
| @@ -8565,8 +8566,8 @@ detect_coding_system (const unsigned char *src, | |||
| 8565 | base_category = XINT (CODING_ATTR_CATEGORY (attrs)); | 8566 | base_category = XINT (CODING_ATTR_CATEGORY (attrs)); |
| 8566 | if (base_category == coding_category_undecided) | 8567 | if (base_category == coding_category_undecided) |
| 8567 | { | 8568 | { |
| 8568 | enum coding_category category IF_LINT (= 0); | 8569 | enum coding_category category UNINIT; |
| 8569 | struct coding_system *this IF_LINT (= NULL); | 8570 | struct coding_system *this UNINIT; |
| 8570 | int c, i; | 8571 | int c, i; |
| 8571 | bool inhibit_nbd = inhibit_flag (coding.spec.undecided.inhibit_nbd, | 8572 | bool inhibit_nbd = inhibit_flag (coding.spec.undecided.inhibit_nbd, |
| 8572 | inhibit_null_byte_detection); | 8573 | inhibit_null_byte_detection); |
diff --git a/src/composite.c b/src/composite.c index 49b00036361..bef1c5f7c3b 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -1308,7 +1308,8 @@ composition_reseat_it (struct composition_it *cmp_it, ptrdiff_t charpos, | |||
| 1308 | int | 1308 | int |
| 1309 | composition_update_it (struct composition_it *cmp_it, ptrdiff_t charpos, ptrdiff_t bytepos, Lisp_Object string) | 1309 | composition_update_it (struct composition_it *cmp_it, ptrdiff_t charpos, ptrdiff_t bytepos, Lisp_Object string) |
| 1310 | { | 1310 | { |
| 1311 | int i, c IF_LINT (= 0); | 1311 | int i; |
| 1312 | int c UNINIT; | ||
| 1312 | 1313 | ||
| 1313 | if (cmp_it->ch < 0) | 1314 | if (cmp_it->ch < 0) |
| 1314 | { | 1315 | { |
diff --git a/src/conf_post.h b/src/conf_post.h index 762aa7727fd..1dd915b5969 100644 --- a/src/conf_post.h +++ b/src/conf_post.h | |||
| @@ -357,11 +357,21 @@ extern int emacs_setenv_TZ (char const *); | |||
| 357 | # define FLEXIBLE_ARRAY_MEMBER | 357 | # define FLEXIBLE_ARRAY_MEMBER |
| 358 | #endif | 358 | #endif |
| 359 | 359 | ||
| 360 | /* Use CODE only if lint checking is in effect. */ | 360 | /* When used in place of 'volatile', 'NONVOLATILE' is equivalent to nothing, |
| 361 | except it cajoles GCC into not warning incorrectly that a variable needs to | ||
| 362 | be volatile. This works around GCC bug 54561. */ | ||
| 361 | #if defined GCC_LINT || defined lint | 363 | #if defined GCC_LINT || defined lint |
| 362 | # define IF_LINT(Code) Code | 364 | # define NONVOLATILE volatile |
| 363 | #else | 365 | #else |
| 364 | # define IF_LINT(Code) /* empty */ | 366 | # define NONVOLATILE /* empty */ |
| 367 | #endif | ||
| 368 | |||
| 369 | /* 'int x UNINIT;' is equivalent to 'int x;', except it cajoles GCC | ||
| 370 | into not warning incorrectly about use of an uninitialized variable. */ | ||
| 371 | #if defined GCC_LINT || defined lint | ||
| 372 | # define UNINIT = {0,} | ||
| 373 | #else | ||
| 374 | # define UNINIT /* empty */ | ||
| 365 | #endif | 375 | #endif |
| 366 | 376 | ||
| 367 | /* conf_post.h ends here */ | 377 | /* conf_post.h ends here */ |
diff --git a/src/editfns.c b/src/editfns.c index 81c30d30d62..f29fc510a21 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3362,7 +3362,7 @@ It returns the number of characters changed. */) | |||
| 3362 | ptrdiff_t size; /* Size of translate table. */ | 3362 | ptrdiff_t size; /* Size of translate table. */ |
| 3363 | ptrdiff_t pos, pos_byte, end_pos; | 3363 | ptrdiff_t pos, pos_byte, end_pos; |
| 3364 | bool multibyte = !NILP (BVAR (current_buffer, enable_multibyte_characters)); | 3364 | bool multibyte = !NILP (BVAR (current_buffer, enable_multibyte_characters)); |
| 3365 | bool string_multibyte IF_LINT (= 0); | 3365 | bool string_multibyte UNINIT; |
| 3366 | 3366 | ||
| 3367 | validate_region (&start, &end); | 3367 | validate_region (&start, &end); |
| 3368 | if (CHAR_TABLE_P (table)) | 3368 | if (CHAR_TABLE_P (table)) |
| @@ -3917,7 +3917,7 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message) | |||
| 3917 | ptrdiff_t bufsize = sizeof initial_buffer; | 3917 | ptrdiff_t bufsize = sizeof initial_buffer; |
| 3918 | ptrdiff_t max_bufsize = STRING_BYTES_BOUND + 1; | 3918 | ptrdiff_t max_bufsize = STRING_BYTES_BOUND + 1; |
| 3919 | char *p; | 3919 | char *p; |
| 3920 | ptrdiff_t buf_save_value_index IF_LINT (= 0); | 3920 | ptrdiff_t buf_save_value_index UNINIT; |
| 3921 | char *format, *end; | 3921 | char *format, *end; |
| 3922 | ptrdiff_t nchars; | 3922 | ptrdiff_t nchars; |
| 3923 | /* When we make a multibyte string, we must pay attention to the | 3923 | /* When we make a multibyte string, we must pay attention to the |
diff --git a/src/fileio.c b/src/fileio.c index 9e3e54df969..99840457ec5 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -4687,7 +4687,7 @@ write_region (Lisp_Object start, Lisp_Object end, Lisp_Object filename, | |||
| 4687 | { | 4687 | { |
| 4688 | int open_flags; | 4688 | int open_flags; |
| 4689 | int mode; | 4689 | int mode; |
| 4690 | off_t offset IF_LINT (= 0); | 4690 | off_t offset UNINIT; |
| 4691 | bool open_and_close_file = desc < 0; | 4691 | bool open_and_close_file = desc < 0; |
| 4692 | bool ok; | 4692 | bool ok; |
| 4693 | int save_errno = 0; | 4693 | int save_errno = 0; |
| @@ -4695,7 +4695,7 @@ write_region (Lisp_Object start, Lisp_Object end, Lisp_Object filename, | |||
| 4695 | struct stat st; | 4695 | struct stat st; |
| 4696 | struct timespec modtime; | 4696 | struct timespec modtime; |
| 4697 | ptrdiff_t count = SPECPDL_INDEX (); | 4697 | ptrdiff_t count = SPECPDL_INDEX (); |
| 4698 | ptrdiff_t count1 IF_LINT (= 0); | 4698 | ptrdiff_t count1 UNINIT; |
| 4699 | Lisp_Object handler; | 4699 | Lisp_Object handler; |
| 4700 | Lisp_Object visit_file; | 4700 | Lisp_Object visit_file; |
| 4701 | Lisp_Object annotations; | 4701 | Lisp_Object annotations; |
diff --git a/src/font.c b/src/font.c index 6dbda40d52f..f289891bf65 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -2234,7 +2234,8 @@ font_sort_entities (Lisp_Object list, Lisp_Object prefer, | |||
| 2234 | struct font_sort_data *data; | 2234 | struct font_sort_data *data; |
| 2235 | unsigned best_score; | 2235 | unsigned best_score; |
| 2236 | Lisp_Object best_entity; | 2236 | Lisp_Object best_entity; |
| 2237 | Lisp_Object tail, vec IF_LINT (= Qnil); | 2237 | Lisp_Object tail; |
| 2238 | Lisp_Object vec UNINIT; | ||
| 2238 | USE_SAFE_ALLOCA; | 2239 | USE_SAFE_ALLOCA; |
| 2239 | 2240 | ||
| 2240 | for (i = FONT_WEIGHT_INDEX; i <= FONT_AVGWIDTH_INDEX; i++) | 2241 | for (i = FONT_WEIGHT_INDEX; i <= FONT_AVGWIDTH_INDEX; i++) |
diff --git a/src/fontset.c b/src/fontset.c index d87901d42b8..81528de55a0 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -750,7 +750,8 @@ fontset_find_font (Lisp_Object fontset, int c, struct face *face, | |||
| 750 | static Lisp_Object | 750 | static Lisp_Object |
| 751 | fontset_font (Lisp_Object fontset, int c, struct face *face, int id) | 751 | fontset_font (Lisp_Object fontset, int c, struct face *face, int id) |
| 752 | { | 752 | { |
| 753 | Lisp_Object rfont_def, default_rfont_def IF_LINT (= Qnil); | 753 | Lisp_Object rfont_def; |
| 754 | Lisp_Object default_rfont_def UNINIT; | ||
| 754 | Lisp_Object base_fontset; | 755 | Lisp_Object base_fontset; |
| 755 | 756 | ||
| 756 | /* Try a font-group of FONTSET. */ | 757 | /* Try a font-group of FONTSET. */ |
diff --git a/src/fringe.c b/src/fringe.c index 55f37b88787..87ec9d15c01 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -956,7 +956,7 @@ update_window_fringes (struct window *w, bool keep_current_p) | |||
| 956 | row->indicate_bob_p is set, so it's OK that top_row_ends_at_zv_p | 956 | row->indicate_bob_p is set, so it's OK that top_row_ends_at_zv_p |
| 957 | is not initialized here. Similarly for bot_ind_rn, | 957 | is not initialized here. Similarly for bot_ind_rn, |
| 958 | row->indicate_eob_p and bot_row_ends_at_zv_p. */ | 958 | row->indicate_eob_p and bot_row_ends_at_zv_p. */ |
| 959 | int top_row_ends_at_zv_p IF_LINT (= 0), bot_row_ends_at_zv_p IF_LINT (= 0); | 959 | int top_row_ends_at_zv_p UNINIT, bot_row_ends_at_zv_p UNINIT; |
| 960 | 960 | ||
| 961 | if (w->pseudo_window_p) | 961 | if (w->pseudo_window_p) |
| 962 | return 0; | 962 | return 0; |
diff --git a/src/gtkutil.c b/src/gtkutil.c index e791e6ac317..88e6d30bd9a 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -1829,7 +1829,8 @@ xg_get_file_with_chooser (struct frame *f, | |||
| 1829 | { | 1829 | { |
| 1830 | char msgbuf[1024]; | 1830 | char msgbuf[1024]; |
| 1831 | 1831 | ||
| 1832 | GtkWidget *filewin, *wtoggle, *wbox, *wmessage IF_LINT (= NULL); | 1832 | GtkWidget *filewin, *wtoggle, *wbox; |
| 1833 | GtkWidget *wmessage UNINIT; | ||
| 1833 | GtkWindow *gwin = GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)); | 1834 | GtkWindow *gwin = GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)); |
| 1834 | GtkFileChooserAction action = (mustmatch_p ? | 1835 | GtkFileChooserAction action = (mustmatch_p ? |
| 1835 | GTK_FILE_CHOOSER_ACTION_OPEN : | 1836 | GTK_FILE_CHOOSER_ACTION_OPEN : |
diff --git a/src/image.c b/src/image.c index 0991f579579..38866e08345 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -1142,7 +1142,8 @@ static RGB_PIXEL_COLOR | |||
| 1142 | four_corners_best (XImagePtr_or_DC ximg, int *corners, | 1142 | four_corners_best (XImagePtr_or_DC ximg, int *corners, |
| 1143 | unsigned long width, unsigned long height) | 1143 | unsigned long width, unsigned long height) |
| 1144 | { | 1144 | { |
| 1145 | RGB_PIXEL_COLOR corner_pixels[4], best IF_LINT (= 0); | 1145 | RGB_PIXEL_COLOR corner_pixels[4]; |
| 1146 | RGB_PIXEL_COLOR best UNINIT; | ||
| 1146 | int i, best_count; | 1147 | int i, best_count; |
| 1147 | 1148 | ||
| 1148 | if (corners && corners[BOT_CORNER] >= 0) | 1149 | if (corners && corners[BOT_CORNER] >= 0) |
| @@ -5895,9 +5896,8 @@ static bool | |||
| 5895 | png_load_body (struct frame *f, struct image *img, struct png_load_context *c) | 5896 | png_load_body (struct frame *f, struct image *img, struct png_load_context *c) |
| 5896 | { | 5897 | { |
| 5897 | Lisp_Object specified_file; | 5898 | Lisp_Object specified_file; |
| 5898 | /* IF_LINT (volatile) works around GCC bug 54561. */ | 5899 | Lisp_Object NONVOLATILE specified_data; |
| 5899 | Lisp_Object IF_LINT (volatile) specified_data; | 5900 | FILE *NONVOLATILE fp = NULL; |
| 5900 | FILE * IF_LINT (volatile) fp = NULL; | ||
| 5901 | int x, y; | 5901 | int x, y; |
| 5902 | ptrdiff_t i; | 5902 | ptrdiff_t i; |
| 5903 | png_struct *png_ptr; | 5903 | png_struct *png_ptr; |
| @@ -6668,8 +6668,7 @@ jpeg_load_body (struct frame *f, struct image *img, | |||
| 6668 | struct my_jpeg_error_mgr *mgr) | 6668 | struct my_jpeg_error_mgr *mgr) |
| 6669 | { | 6669 | { |
| 6670 | Lisp_Object specified_file; | 6670 | Lisp_Object specified_file; |
| 6671 | /* IF_LINT (volatile) works around GCC bug 54561. */ | 6671 | Lisp_Object NONVOLATILE specified_data; |
| 6672 | Lisp_Object IF_LINT (volatile) specified_data; | ||
| 6673 | FILE *volatile fp = NULL; | 6672 | FILE *volatile fp = NULL; |
| 6674 | JSAMPARRAY buffer; | 6673 | JSAMPARRAY buffer; |
| 6675 | int row_stride, x, y; | 6674 | int row_stride, x, y; |
diff --git a/src/indent.c b/src/indent.c index 0ef8903501d..5d7c6ae4f98 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -1995,7 +1995,7 @@ whether or not it is currently displayed in some window. */) | |||
| 1995 | struct text_pos pt; | 1995 | struct text_pos pt; |
| 1996 | struct window *w; | 1996 | struct window *w; |
| 1997 | Lisp_Object old_buffer; | 1997 | Lisp_Object old_buffer; |
| 1998 | EMACS_INT old_charpos IF_LINT (= 0), old_bytepos IF_LINT (= 0); | 1998 | EMACS_INT old_charpos UNINIT, old_bytepos UNINIT; |
| 1999 | Lisp_Object lcols; | 1999 | Lisp_Object lcols; |
| 2000 | void *itdata = NULL; | 2000 | void *itdata = NULL; |
| 2001 | 2001 | ||
| @@ -2036,8 +2036,8 @@ whether or not it is currently displayed in some window. */) | |||
| 2036 | bool disp_string_at_start_p = 0; | 2036 | bool disp_string_at_start_p = 0; |
| 2037 | ptrdiff_t nlines = XINT (lines); | 2037 | ptrdiff_t nlines = XINT (lines); |
| 2038 | int vpos_init = 0; | 2038 | int vpos_init = 0; |
| 2039 | double start_col IF_LINT (= 0); | 2039 | double start_col UNINIT; |
| 2040 | int start_x IF_LINT (= 0); | 2040 | int start_x UNINIT; |
| 2041 | int to_x = -1; | 2041 | int to_x = -1; |
| 2042 | 2042 | ||
| 2043 | bool start_x_given = !NILP (cur_col); | 2043 | bool start_x_given = !NILP (cur_col); |
diff --git a/src/keyboard.c b/src/keyboard.c index d2976cb7359..717c0710a5c 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -2312,9 +2312,7 @@ read_char (int commandflag, Lisp_Object map, | |||
| 2312 | Lisp_Object prev_event, | 2312 | Lisp_Object prev_event, |
| 2313 | bool *used_mouse_menu, struct timespec *end_time) | 2313 | bool *used_mouse_menu, struct timespec *end_time) |
| 2314 | { | 2314 | { |
| 2315 | /* IF_LINT (volatile) works around GCC bug 54561. */ | 2315 | Lisp_Object NONVOLATILE c; |
| 2316 | Lisp_Object IF_LINT (volatile) c; | ||
| 2317 | |||
| 2318 | ptrdiff_t jmpcount; | 2316 | ptrdiff_t jmpcount; |
| 2319 | sys_jmp_buf local_getcjmp; | 2317 | sys_jmp_buf local_getcjmp; |
| 2320 | sys_jmp_buf save_jump; | 2318 | sys_jmp_buf save_jump; |
| @@ -8843,7 +8841,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 8843 | 8841 | ||
| 8844 | /* The length of the echo buffer when we started reading, and | 8842 | /* The length of the echo buffer when we started reading, and |
| 8845 | the length of this_command_keys when we started reading. */ | 8843 | the length of this_command_keys when we started reading. */ |
| 8846 | ptrdiff_t echo_start IF_LINT (= 0); | 8844 | ptrdiff_t echo_start UNINIT; |
| 8847 | ptrdiff_t keys_start; | 8845 | ptrdiff_t keys_start; |
| 8848 | 8846 | ||
| 8849 | Lisp_Object current_binding = Qnil; | 8847 | Lisp_Object current_binding = Qnil; |
| @@ -8891,7 +8889,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 8891 | While we're reading, we keep the event here. */ | 8889 | While we're reading, we keep the event here. */ |
| 8892 | Lisp_Object delayed_switch_frame; | 8890 | Lisp_Object delayed_switch_frame; |
| 8893 | 8891 | ||
| 8894 | Lisp_Object original_uppercase IF_LINT (= Qnil); | 8892 | Lisp_Object original_uppercase UNINIT; |
| 8895 | int original_uppercase_position = -1; | 8893 | int original_uppercase_position = -1; |
| 8896 | 8894 | ||
| 8897 | /* Gets around Microsoft compiler limitations. */ | 8895 | /* Gets around Microsoft compiler limitations. */ |
| @@ -9001,7 +8999,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9001 | while those allow us to restart the entire key sequence, | 8999 | while those allow us to restart the entire key sequence, |
| 9002 | echo_local_start and keys_local_start allow us to throw away | 9000 | echo_local_start and keys_local_start allow us to throw away |
| 9003 | just one key. */ | 9001 | just one key. */ |
| 9004 | ptrdiff_t echo_local_start IF_LINT (= 0); | 9002 | ptrdiff_t echo_local_start UNINIT; |
| 9005 | int keys_local_start; | 9003 | int keys_local_start; |
| 9006 | Lisp_Object new_binding; | 9004 | Lisp_Object new_binding; |
| 9007 | 9005 | ||
diff --git a/src/lread.c b/src/lread.c index 98a4d69894b..b08ce17fd9c 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -1040,7 +1040,7 @@ Return t if the file exists and loads successfully. */) | |||
| 1040 | { | 1040 | { |
| 1041 | FILE *stream; | 1041 | FILE *stream; |
| 1042 | int fd; | 1042 | int fd; |
| 1043 | int fd_index; | 1043 | int fd_index UNINIT; |
| 1044 | ptrdiff_t count = SPECPDL_INDEX (); | 1044 | ptrdiff_t count = SPECPDL_INDEX (); |
| 1045 | Lisp_Object found, efound, hist_file_name; | 1045 | Lisp_Object found, efound, hist_file_name; |
| 1046 | /* True means we printed the ".el is newer" message. */ | 1046 | /* True means we printed the ".el is newer" message. */ |
| @@ -1156,12 +1156,7 @@ Return t if the file exists and loads successfully. */) | |||
| 1156 | #endif | 1156 | #endif |
| 1157 | } | 1157 | } |
| 1158 | 1158 | ||
| 1159 | if (fd < 0) | 1159 | if (0 <= fd) |
| 1160 | { | ||
| 1161 | /* Pacify older GCC with --enable-gcc-warnings. */ | ||
| 1162 | IF_LINT (fd_index = 0); | ||
| 1163 | } | ||
| 1164 | else | ||
| 1165 | { | 1160 | { |
| 1166 | fd_index = SPECPDL_INDEX (); | 1161 | fd_index = SPECPDL_INDEX (); |
| 1167 | record_unwind_protect_int (close_file_unwind, fd); | 1162 | record_unwind_protect_int (close_file_unwind, fd); |
diff --git a/src/minibuf.c b/src/minibuf.c index 75831618ea5..7bad6f0e018 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -194,7 +194,7 @@ read_minibuf_noninteractive (Lisp_Object map, Lisp_Object initial, | |||
| 194 | int c; | 194 | int c; |
| 195 | unsigned char hide_char = 0; | 195 | unsigned char hide_char = 0; |
| 196 | struct emacs_tty etty; | 196 | struct emacs_tty etty; |
| 197 | bool etty_valid IF_LINT (= false); | 197 | bool etty_valid UNINIT; |
| 198 | 198 | ||
| 199 | /* Check, whether we need to suppress echoing. */ | 199 | /* Check, whether we need to suppress echoing. */ |
| 200 | if (CHARACTERP (Vread_hide_char)) | 200 | if (CHARACTERP (Vread_hide_char)) |
diff --git a/src/print.c b/src/print.c index 83edbb6bfa4..5531210e1b8 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -203,7 +203,7 @@ print_unwind (Lisp_Object saved_text) | |||
| 203 | static void | 203 | static void |
| 204 | printchar_to_stream (unsigned int ch, FILE *stream) | 204 | printchar_to_stream (unsigned int ch, FILE *stream) |
| 205 | { | 205 | { |
| 206 | Lisp_Object dv IF_LINT (= Qnil); | 206 | Lisp_Object dv UNINIT; |
| 207 | ptrdiff_t i = 0, n = 1; | 207 | ptrdiff_t i = 0, n = 1; |
| 208 | Lisp_Object coding_system = Vlocale_coding_system; | 208 | Lisp_Object coding_system = Vlocale_coding_system; |
| 209 | bool encode_p = false; | 209 | bool encode_p = false; |
diff --git a/src/regex.c b/src/regex.c index fc2a46fd5a3..f92bcb7923b 100644 --- a/src/regex.c +++ b/src/regex.c | |||
| @@ -5444,7 +5444,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp, const_re_char *string1, | |||
| 5444 | 5444 | ||
| 5445 | /* Start of actual range_table, or end of bitmap if there is no | 5445 | /* Start of actual range_table, or end of bitmap if there is no |
| 5446 | range table. */ | 5446 | range table. */ |
| 5447 | re_char *range_table IF_LINT (= NULL); | 5447 | re_char *range_table UNINIT; |
| 5448 | 5448 | ||
| 5449 | /* Nonzero if there is a range table. */ | 5449 | /* Nonzero if there is a range table. */ |
| 5450 | int range_table_exists; | 5450 | int range_table_exists; |
diff --git a/src/syntax.c b/src/syntax.c index 78c7de9c65b..1c1a2f82782 100644 --- a/src/syntax.c +++ b/src/syntax.c | |||
| @@ -1633,7 +1633,7 @@ skip_chars (bool forwardp, Lisp_Object string, Lisp_Object lim, | |||
| 1633 | int c; | 1633 | int c; |
| 1634 | char fastmap[0400]; | 1634 | char fastmap[0400]; |
| 1635 | /* Store the ranges of non-ASCII characters. */ | 1635 | /* Store the ranges of non-ASCII characters. */ |
| 1636 | int *char_ranges IF_LINT (= NULL); | 1636 | int *char_ranges UNINIT; |
| 1637 | int n_char_ranges = 0; | 1637 | int n_char_ranges = 0; |
| 1638 | bool negate = 0; | 1638 | bool negate = 0; |
| 1639 | ptrdiff_t i, i_byte; | 1639 | ptrdiff_t i, i_byte; |
diff --git a/src/term.c b/src/term.c index df583cb1502..7e63a0cf634 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -548,8 +548,8 @@ encode_terminal_code (struct glyph *src, int src_len, | |||
| 548 | { | 548 | { |
| 549 | if (src->type == COMPOSITE_GLYPH) | 549 | if (src->type == COMPOSITE_GLYPH) |
| 550 | { | 550 | { |
| 551 | struct composition *cmp IF_LINT (= NULL); | 551 | struct composition *cmp UNINIT; |
| 552 | Lisp_Object gstring IF_LINT (= Qnil); | 552 | Lisp_Object gstring UNINIT; |
| 553 | int i; | 553 | int i; |
| 554 | 554 | ||
| 555 | nbytes = buf - encode_terminal_src; | 555 | nbytes = buf - encode_terminal_src; |
| @@ -614,7 +614,7 @@ encode_terminal_code (struct glyph *src, int src_len, | |||
| 614 | else if (! CHAR_GLYPH_PADDING_P (*src)) | 614 | else if (! CHAR_GLYPH_PADDING_P (*src)) |
| 615 | { | 615 | { |
| 616 | GLYPH g; | 616 | GLYPH g; |
| 617 | int c IF_LINT (= 0); | 617 | int c UNINIT; |
| 618 | Lisp_Object string; | 618 | Lisp_Object string; |
| 619 | 619 | ||
| 620 | string = Qnil; | 620 | string = Qnil; |
| @@ -3099,7 +3099,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx, | |||
| 3099 | struct tty_menu_state *state; | 3099 | struct tty_menu_state *state; |
| 3100 | int statecount, x, y, i; | 3100 | int statecount, x, y, i; |
| 3101 | bool leave, onepane; | 3101 | bool leave, onepane; |
| 3102 | int result IF_LINT (= 0); | 3102 | int result UNINIT; |
| 3103 | int title_faces[4]; /* Face to display the menu title. */ | 3103 | int title_faces[4]; /* Face to display the menu title. */ |
| 3104 | int faces[4], buffers_num_deleted = 0; | 3104 | int faces[4], buffers_num_deleted = 0; |
| 3105 | struct frame *sf = SELECTED_FRAME (); | 3105 | struct frame *sf = SELECTED_FRAME (); |
diff --git a/src/window.c b/src/window.c index 99a0709d627..fe10241c45c 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -2910,9 +2910,11 @@ window-start value is reasonable when this function is called. */) | |||
| 2910 | { | 2910 | { |
| 2911 | struct window *w, *r, *s; | 2911 | struct window *w, *r, *s; |
| 2912 | struct frame *f; | 2912 | struct frame *f; |
| 2913 | Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta; | 2913 | Lisp_Object sibling, pwindow, delta; |
| 2914 | ptrdiff_t startpos IF_LINT (= 0), startbyte IF_LINT (= 0); | 2914 | Lisp_Object swindow UNINIT; |
| 2915 | int top IF_LINT (= 0), new_top; | 2915 | ptrdiff_t startpos UNINIT, startbyte UNINIT; |
| 2916 | int top UNINIT; | ||
| 2917 | int new_top; | ||
| 2916 | bool resize_failed = false; | 2918 | bool resize_failed = false; |
| 2917 | 2919 | ||
| 2918 | w = decode_valid_window (window); | 2920 | w = decode_valid_window (window); |
diff --git a/src/xdisp.c b/src/xdisp.c index d2f0d49d2b1..d589080ac4c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -8558,7 +8558,8 @@ move_it_in_display_line_to (struct it *it, | |||
| 8558 | void *ppos_data = NULL; | 8558 | void *ppos_data = NULL; |
| 8559 | bool may_wrap = false; | 8559 | bool may_wrap = false; |
| 8560 | enum it_method prev_method = it->method; | 8560 | enum it_method prev_method = it->method; |
| 8561 | ptrdiff_t closest_pos IF_LINT (= 0), prev_pos = IT_CHARPOS (*it); | 8561 | ptrdiff_t closest_pos UNINIT; |
| 8562 | ptrdiff_t prev_pos = IT_CHARPOS (*it); | ||
| 8562 | bool saw_smaller_pos = prev_pos < to_charpos; | 8563 | bool saw_smaller_pos = prev_pos < to_charpos; |
| 8563 | 8564 | ||
| 8564 | /* Don't produce glyphs in produce_glyphs. */ | 8565 | /* Don't produce glyphs in produce_glyphs. */ |
| @@ -20416,16 +20417,16 @@ display_line (struct it *it) | |||
| 20416 | struct it wrap_it; | 20417 | struct it wrap_it; |
| 20417 | void *wrap_data = NULL; | 20418 | void *wrap_data = NULL; |
| 20418 | bool may_wrap = false; | 20419 | bool may_wrap = false; |
| 20419 | int wrap_x IF_LINT (= 0); | 20420 | int wrap_x UNINIT; |
| 20420 | int wrap_row_used = -1; | 20421 | int wrap_row_used = -1; |
| 20421 | int wrap_row_ascent IF_LINT (= 0), wrap_row_height IF_LINT (= 0); | 20422 | int wrap_row_ascent UNINIT, wrap_row_height UNINIT; |
| 20422 | int wrap_row_phys_ascent IF_LINT (= 0), wrap_row_phys_height IF_LINT (= 0); | 20423 | int wrap_row_phys_ascent UNINIT, wrap_row_phys_height UNINIT; |
| 20423 | int wrap_row_extra_line_spacing IF_LINT (= 0); | 20424 | int wrap_row_extra_line_spacing UNINIT; |
| 20424 | ptrdiff_t wrap_row_min_pos IF_LINT (= 0), wrap_row_min_bpos IF_LINT (= 0); | 20425 | ptrdiff_t wrap_row_min_pos UNINIT, wrap_row_min_bpos UNINIT; |
| 20425 | ptrdiff_t wrap_row_max_pos IF_LINT (= 0), wrap_row_max_bpos IF_LINT (= 0); | 20426 | ptrdiff_t wrap_row_max_pos UNINIT, wrap_row_max_bpos UNINIT; |
| 20426 | int cvpos; | 20427 | int cvpos; |
| 20427 | ptrdiff_t min_pos = ZV + 1, max_pos = 0; | 20428 | ptrdiff_t min_pos = ZV + 1, max_pos = 0; |
| 20428 | ptrdiff_t min_bpos IF_LINT (= 0), max_bpos IF_LINT (= 0); | 20429 | ptrdiff_t min_bpos UNINIT, max_bpos UNINIT; |
| 20429 | bool pending_handle_line_prefix = false; | 20430 | bool pending_handle_line_prefix = false; |
| 20430 | 20431 | ||
| 20431 | /* We always start displaying at hpos zero even if hscrolled. */ | 20432 | /* We always start displaying at hpos zero even if hscrolled. */ |
| @@ -25595,7 +25596,7 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row, | |||
| 25595 | { | 25596 | { |
| 25596 | struct glyph_string *h, *t; | 25597 | struct glyph_string *h, *t; |
| 25597 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); | 25598 | Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); |
| 25598 | int mouse_beg_col IF_LINT (= 0), mouse_end_col IF_LINT (= 0); | 25599 | int mouse_beg_col UNINIT, mouse_end_col UNINIT; |
| 25599 | bool check_mouse_face = false; | 25600 | bool check_mouse_face = false; |
| 25600 | int dummy_x = 0; | 25601 | int dummy_x = 0; |
| 25601 | 25602 | ||
| @@ -29702,12 +29703,11 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y, | |||
| 29702 | int dx, dy, width, height; | 29703 | int dx, dy, width, height; |
| 29703 | ptrdiff_t charpos; | 29704 | ptrdiff_t charpos; |
| 29704 | Lisp_Object string, object = Qnil; | 29705 | Lisp_Object string, object = Qnil; |
| 29705 | Lisp_Object pos IF_LINT (= Qnil), help; | 29706 | Lisp_Object pos UNINIT; |
| 29706 | |||
| 29707 | Lisp_Object mouse_face; | 29707 | Lisp_Object mouse_face; |
| 29708 | int original_x_pixel = x; | 29708 | int original_x_pixel = x; |
| 29709 | struct glyph * glyph = NULL, * row_start_glyph = NULL; | 29709 | struct glyph * glyph = NULL, * row_start_glyph = NULL; |
| 29710 | struct glyph_row *row IF_LINT (= 0); | 29710 | struct glyph_row *row UNINIT; |
| 29711 | 29711 | ||
| 29712 | if (area == ON_MODE_LINE || area == ON_HEADER_LINE) | 29712 | if (area == ON_MODE_LINE || area == ON_HEADER_LINE) |
| 29713 | { | 29713 | { |
| @@ -29747,7 +29747,7 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y, | |||
| 29747 | &object, &dx, &dy, &width, &height); | 29747 | &object, &dx, &dy, &width, &height); |
| 29748 | } | 29748 | } |
| 29749 | 29749 | ||
| 29750 | help = Qnil; | 29750 | Lisp_Object help = Qnil; |
| 29751 | 29751 | ||
| 29752 | #ifdef HAVE_WINDOW_SYSTEM | 29752 | #ifdef HAVE_WINDOW_SYSTEM |
| 29753 | if (IMAGEP (object)) | 29753 | if (IMAGEP (object)) |
| @@ -30322,8 +30322,8 @@ note_mouse_highlight (struct frame *f, int x, int y) | |||
| 30322 | { | 30322 | { |
| 30323 | /* The mouse-highlighting, if any, comes from an overlay | 30323 | /* The mouse-highlighting, if any, comes from an overlay |
| 30324 | or text property in the buffer. */ | 30324 | or text property in the buffer. */ |
| 30325 | Lisp_Object buffer IF_LINT (= Qnil); | 30325 | Lisp_Object buffer UNINIT; |
| 30326 | Lisp_Object disp_string IF_LINT (= Qnil); | 30326 | Lisp_Object disp_string UNINIT; |
| 30327 | 30327 | ||
| 30328 | if (STRINGP (object)) | 30328 | if (STRINGP (object)) |
| 30329 | { | 30329 | { |
diff --git a/src/xfont.c b/src/xfont.c index 0ef64bef10e..8fbe94c01ab 100644 --- a/src/xfont.c +++ b/src/xfont.c | |||
| @@ -635,7 +635,7 @@ xfont_list_family (struct frame *f) | |||
| 635 | char **names; | 635 | char **names; |
| 636 | int num_fonts, i; | 636 | int num_fonts, i; |
| 637 | Lisp_Object list; | 637 | Lisp_Object list; |
| 638 | char *last_family IF_LINT (= 0); | 638 | char *last_family UNINIT; |
| 639 | int last_len; | 639 | int last_len; |
| 640 | 640 | ||
| 641 | block_input (); | 641 | block_input (); |