aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2012-07-09 09:38:45 -0700
committerPaul Eggert2012-07-09 09:38:45 -0700
commit5994c1836bc3c2457aa1e27c1191bf03a9be1721 (patch)
tree7aee5e4d288885098634f9356a485b1908a48775 /src
parent26bccfaebf452511a06c2b19414a73b041b17853 (diff)
downloademacs-5994c1836bc3c2457aa1e27c1191bf03a9be1721.tar.gz
emacs-5994c1836bc3c2457aa1e27c1191bf03a9be1721.zip
Add GCC-style 'const' attribute to functions that can use it.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog14
-rw-r--r--src/character.h2
-rw-r--r--src/emacs.c2
-rw-r--r--src/keyboard.h2
-rw-r--r--src/lisp.h20
-rw-r--r--src/mem-limits.h2
-rw-r--r--src/menu.h2
7 files changed, 31 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d5a8abe5c56..2f8dfbdedf3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,19 @@
12012-07-09 Paul Eggert <eggert@cs.ucla.edu> 12012-07-09 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Add GCC-style 'const' attribute to functions that can use it.
4 * character.h (char_resolve_modifier_mask):
5 * keyboard.h (make_ctrl_char):
6 * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe)
7 (init_character_once, next_almost_prime, init_fns, init_image)
8 (flush_pending_output, init_sound):
9 * mem-limits.h (start_of_data):
10 * menu.h (finish_menu_items):
11 Add ATTRIBUTE_CONST.
12 * emacs.c (DEFINE_DUMMY_FUNCTION):
13 Declare the dummy function with ATTRIBUTE_CONST.
14 * lisp.h (Fbyteorder, Fmax_char, Fidentity):
15 Add decls with ATTRIBUTE_CONST.
16
3 Minor improvements to make_formatted_string. 17 Minor improvements to make_formatted_string.
4 * alloc.c (make_formatted_string): Prefer int to ptrdiff_t 18 * alloc.c (make_formatted_string): Prefer int to ptrdiff_t
5 where int is good enough, as vsprintf returns an int. 19 where int is good enough, as vsprintf returns an int.
diff --git a/src/character.h b/src/character.h
index a64b48d896c..2cfeff85fee 100644
--- a/src/character.h
+++ b/src/character.h
@@ -665,7 +665,7 @@ typedef enum {
665 UNICODE_CATEGORY_Cn 665 UNICODE_CATEGORY_Cn
666} unicode_category_t; 666} unicode_category_t;
667 667
668extern EMACS_INT char_resolve_modifier_mask (EMACS_INT); 668extern EMACS_INT char_resolve_modifier_mask (EMACS_INT) ATTRIBUTE_CONST;
669extern int char_string (unsigned, unsigned char *); 669extern int char_string (unsigned, unsigned char *);
670extern int string_char (const unsigned char *, 670extern int string_char (const unsigned char *,
671 const unsigned char **, int *); 671 const unsigned char **, int *);
diff --git a/src/emacs.c b/src/emacs.c
index bdc92f88e8e..2b386bac176 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -569,7 +569,7 @@ static char dump_tz[] = "UtC0";
569/* Define a dummy function F. Declare F too, to pacify gcc 569/* Define a dummy function F. Declare F too, to pacify gcc
570 -Wmissing-prototypes. */ 570 -Wmissing-prototypes. */
571#define DEFINE_DUMMY_FUNCTION(f) \ 571#define DEFINE_DUMMY_FUNCTION(f) \
572 void f (void) EXTERNALLY_VISIBLE; void f (void) {} 572 void f (void) ATTRIBUTE_CONST EXTERNALLY_VISIBLE; void f (void) {}
573 573
574#ifndef GCC_CTORS_IN_LIBC 574#ifndef GCC_CTORS_IN_LIBC
575DEFINE_DUMMY_FUNCTION (__do_global_ctors) 575DEFINE_DUMMY_FUNCTION (__do_global_ctors)
diff --git a/src/keyboard.h b/src/keyboard.h
index 202972ffbd8..752064a6121 100644
--- a/src/keyboard.h
+++ b/src/keyboard.h
@@ -487,7 +487,7 @@ extern int input_polling_used (void);
487extern void clear_input_pending (void); 487extern void clear_input_pending (void);
488extern int requeued_events_pending_p (void); 488extern int requeued_events_pending_p (void);
489extern void bind_polling_period (int); 489extern void bind_polling_period (int);
490extern int make_ctrl_char (int); 490extern int make_ctrl_char (int) ATTRIBUTE_CONST;
491extern void stuff_buffered_input (Lisp_Object); 491extern void stuff_buffered_input (Lisp_Object);
492extern void clear_waiting_for_input (void); 492extern void clear_waiting_for_input (void);
493extern void swallow_events (int); 493extern void swallow_events (int);
diff --git a/src/lisp.h b/src/lisp.h
index 440a37c8bfb..ba27d86fc85 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2336,6 +2336,8 @@ extern Lisp_Object Qinteger;
2336 2336
2337extern Lisp_Object Qfont_spec, Qfont_entity, Qfont_object; 2337extern Lisp_Object Qfont_spec, Qfont_entity, Qfont_object;
2338 2338
2339EXFUN (Fbyteorder, 0) ATTRIBUTE_CONST;
2340
2339/* Defined in frame.c */ 2341/* Defined in frame.c */
2340extern Lisp_Object Qframep; 2342extern Lisp_Object Qframep;
2341 2343
@@ -2395,11 +2397,12 @@ extern void init_coding_once (void);
2395extern void syms_of_coding (void); 2397extern void syms_of_coding (void);
2396 2398
2397/* Defined in character.c */ 2399/* Defined in character.c */
2400EXFUN (Fmax_char, 0) ATTRIBUTE_CONST;
2398extern ptrdiff_t chars_in_text (const unsigned char *, ptrdiff_t); 2401extern ptrdiff_t chars_in_text (const unsigned char *, ptrdiff_t);
2399extern ptrdiff_t multibyte_chars_in_text (const unsigned char *, ptrdiff_t); 2402extern ptrdiff_t multibyte_chars_in_text (const unsigned char *, ptrdiff_t);
2400extern int multibyte_char_to_unibyte (int); 2403extern int multibyte_char_to_unibyte (int) ATTRIBUTE_CONST;
2401extern int multibyte_char_to_unibyte_safe (int); 2404extern int multibyte_char_to_unibyte_safe (int) ATTRIBUTE_CONST;
2402extern void init_character_once (void); 2405extern void init_character_once (void) ATTRIBUTE_CONST;
2403extern void syms_of_character (void); 2406extern void syms_of_character (void);
2404 2407
2405/* Defined in charset.c */ 2408/* Defined in charset.c */
@@ -2419,7 +2422,8 @@ extern void syms_of_syntax (void);
2419/* Defined in fns.c */ 2422/* Defined in fns.c */
2420extern Lisp_Object QCrehash_size, QCrehash_threshold; 2423extern Lisp_Object QCrehash_size, QCrehash_threshold;
2421enum { NEXT_ALMOST_PRIME_LIMIT = 11 }; 2424enum { NEXT_ALMOST_PRIME_LIMIT = 11 };
2422extern EMACS_INT next_almost_prime (EMACS_INT); 2425EXFUN (Fidentity, 1) ATTRIBUTE_CONST;
2426extern EMACS_INT next_almost_prime (EMACS_INT) ATTRIBUTE_CONST;
2423extern Lisp_Object larger_vector (Lisp_Object, ptrdiff_t, ptrdiff_t); 2427extern Lisp_Object larger_vector (Lisp_Object, ptrdiff_t, ptrdiff_t);
2424extern void sweep_weak_hash_tables (void); 2428extern void sweep_weak_hash_tables (void);
2425extern Lisp_Object Qcursor_in_echo_area; 2429extern Lisp_Object Qcursor_in_echo_area;
@@ -2434,7 +2438,7 @@ ptrdiff_t hash_lookup (struct Lisp_Hash_Table *, Lisp_Object, EMACS_UINT *);
2434ptrdiff_t hash_put (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object, 2438ptrdiff_t hash_put (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object,
2435 EMACS_UINT); 2439 EMACS_UINT);
2436void init_weak_hash_tables (void); 2440void init_weak_hash_tables (void);
2437extern void init_fns (void); 2441extern void init_fns (void) ATTRIBUTE_CONST;
2438 2442
2439extern Lisp_Object substring_both (Lisp_Object, ptrdiff_t, ptrdiff_t, 2443extern Lisp_Object substring_both (Lisp_Object, ptrdiff_t, ptrdiff_t,
2440 ptrdiff_t, ptrdiff_t); 2444 ptrdiff_t, ptrdiff_t);
@@ -2470,7 +2474,7 @@ extern Lisp_Object QCascent, QCmargin, QCrelief;
2470extern Lisp_Object QCconversion; 2474extern Lisp_Object QCconversion;
2471extern int x_bitmap_mask (struct frame *, ptrdiff_t); 2475extern int x_bitmap_mask (struct frame *, ptrdiff_t);
2472extern void syms_of_image (void); 2476extern void syms_of_image (void);
2473extern void init_image (void); 2477extern void init_image (void) ATTRIBUTE_CONST;
2474 2478
2475/* Defined in insdel.c */ 2479/* Defined in insdel.c */
2476extern Lisp_Object Qinhibit_modification_hooks; 2480extern Lisp_Object Qinhibit_modification_hooks;
@@ -3119,7 +3123,7 @@ extern void init_all_sys_modes (void);
3119extern void reset_all_sys_modes (void); 3123extern void reset_all_sys_modes (void);
3120extern void wait_for_termination (pid_t); 3124extern void wait_for_termination (pid_t);
3121extern void interruptible_wait_for_termination (pid_t); 3125extern void interruptible_wait_for_termination (pid_t);
3122extern void flush_pending_output (int); 3126extern void flush_pending_output (int) ATTRIBUTE_CONST;
3123extern void child_setup_tty (int); 3127extern void child_setup_tty (int);
3124extern void setup_pty (int); 3128extern void setup_pty (int);
3125extern int set_window_size (int, int, int); 3129extern int set_window_size (int, int, int);
@@ -3141,7 +3145,7 @@ extern void init_filelock (void);
3141 3145
3142/* Defined in sound.c */ 3146/* Defined in sound.c */
3143extern void syms_of_sound (void); 3147extern void syms_of_sound (void);
3144extern void init_sound (void); 3148extern void init_sound (void) ATTRIBUTE_CONST;
3145 3149
3146/* Defined in category.c */ 3150/* Defined in category.c */
3147extern void init_category_once (void); 3151extern void init_category_once (void);
diff --git a/src/mem-limits.h b/src/mem-limits.h
index 01b0e6ebb2b..dbe58dc9156 100644
--- a/src/mem-limits.h
+++ b/src/mem-limits.h
@@ -33,7 +33,7 @@ extern int etext;
33# endif 33# endif
34#endif 34#endif
35 35
36extern char *start_of_data (void); 36extern char *start_of_data (void) ATTRIBUTE_CONST;
37#if USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX 37#if USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX
38#define EXCEEDS_LISP_PTR(ptr) 0 38#define EXCEEDS_LISP_PTR(ptr) 0
39#elif defined DATA_SEG_BITS 39#elif defined DATA_SEG_BITS
diff --git a/src/menu.h b/src/menu.h
index cb22a5255d6..3406928a8d5 100644
--- a/src/menu.h
+++ b/src/menu.h
@@ -26,7 +26,7 @@ extern void x_set_menu_bar_lines (struct frame *f,
26 Lisp_Object oldval); 26 Lisp_Object oldval);
27 27
28extern void init_menu_items (void); 28extern void init_menu_items (void);
29extern void finish_menu_items (void); 29extern void finish_menu_items (void) ATTRIBUTE_CONST;
30extern void discard_menu_items (void); 30extern void discard_menu_items (void);
31extern void save_menu_items (void); 31extern void save_menu_items (void);
32extern int parse_single_submenu (Lisp_Object, Lisp_Object, Lisp_Object); 32extern int parse_single_submenu (Lisp_Object, Lisp_Object, Lisp_Object);