comparison src/inline.c @ 442:abe6d1db359e r21-2-36

Import from CVS: tag r21-2-36
author cvs
date Mon, 13 Aug 2007 11:35:02 +0200
parents 3ecd8885ac67
children 1ccc32a20af4
comparison
equal deleted inserted replaced
441:72a7cfa4a488 442:abe6d1db359e
20 20
21 /* Synched up with: Not in FSF. */ 21 /* Synched up with: Not in FSF. */
22 22
23 /* The purpose of this file is so that there is at least one actual 23 /* The purpose of this file is so that there is at least one actual
24 definition of each inline function. This is needed under GCC. The 24 definition of each inline function. This is needed under GCC. The
25 reason is that under GCC we declare our inline functions `extern 25 reason is that under GCC we declare our inline functions `inline
26 inline', which causes the inlined version to get used only for 26 extern', which causes the inlined version to get used only for
27 inlining, and in other cases to generate an external reference to 27 inlining, and in other cases to generate an external reference to
28 the function. This is more efficient than declaring our inline 28 the function. This is more efficient than declaring our inline
29 functions `static inline', which (in many cases) would cause a separate 29 functions `inline static', which (in many cases) would cause a separate
30 version of the function to get inserted into every source file that 30 version of the function to get inserted into every source file that
31 included the corresponding header file. 31 included the corresponding header file. See internals.texi.
32 32
33 Some compilers that recognize `inline' may not do the same 33 Some compilers that recognize `inline' may not do the same
34 `extern inline' business, so on those we just do `static inline'. 34 `inline extern' business, so on those we just do `inline static'.
35 */ 35 */
36 36
37 /* Note to maintainers: This file contains a list of all header files 37 /* Note to maintainers: This file contains a list of all header files
38 that use the INLINE macro, either directly, or by using DECLARE_LRECORD. 38 that use the INLINE macro, either directly, or by using DECLARE_LRECORD.
39 i.e. the output of ``grep -l -w 'DECLARE_LRECORD|INLINE' *.h'' */ 39 i.e. the output of ``grep -l -w 'DECLARE_LRECORD|INLINE_HEADER' *.h'' */
40 40
41 #define DONT_EXTERN_INLINE_FUNCTIONS 41 #define DONT_EXTERN_INLINE_HEADER_FUNCTIONS
42 42
43 #include <config.h> 43 #include <config.h>
44 #include "lisp.h" 44 #include "lisp.h"
45 #include "buffer.h" 45 #include "buffer.h"
46 #include "bytecode.h" 46 #include "bytecode.h"
51 #include "events.h" 51 #include "events.h"
52 #include "extents.h" 52 #include "extents.h"
53 #include "faces.h" 53 #include "faces.h"
54 #include "frame.h" 54 #include "frame.h"
55 #include "glyphs.h" 55 #include "glyphs.h"
56 #include "gui.h"
56 #include "keymap.h" 57 #include "keymap.h"
57 #include "lstream.h" 58 #include "lstream.h"
58 #include "objects.h" 59 #include "objects.h"
59 #include "opaque.h" 60 #include "opaque.h"
60 #include "process.h" 61 #include "process.h"
63 #include "syntax.h" 64 #include "syntax.h"
64 #include "window.h" 65 #include "window.h"
65 66
66 #ifdef HAVE_LDAP 67 #ifdef HAVE_LDAP
67 #include "eldap.h" 68 #include "eldap.h"
69 #endif
70
71 #ifdef HAVE_POSTGRESQL
72 #include "postgresql.h"
68 #endif 73 #endif
69 74
70 #ifdef HAVE_TOOLBARS 75 #ifdef HAVE_TOOLBARS
71 #include "toolbar.h" 76 #include "toolbar.h"
72 #endif 77 #endif
78 #ifdef HAVE_X_WINDOWS 83 #ifdef HAVE_X_WINDOWS
79 #include "glyphs-x.h" 84 #include "glyphs-x.h"
80 #include "gui-x.h" 85 #include "gui-x.h"
81 #endif 86 #endif
82 87
88 #ifdef HAVE_MS_WINDOWS
89 #include "console-msw.h"
90 #endif
91
83 #ifdef FILE_CODING 92 #ifdef FILE_CODING
84 #include "file-coding.h" 93 #include "file-coding.h"
85 #endif 94 #endif
86 95
87 #ifdef TOOLTALK 96 #ifdef TOOLTALK