comparison src/inline.c @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents 57709be46d1b
children b8cc9ab3f761
comparison
equal deleted inserted replaced
403:9f011ab08d48 404:2f8bb876ab1d
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 <libpq-fe.h>
73 #include "postgresql.h"
68 #endif 74 #endif
69 75
70 #ifdef HAVE_TOOLBARS 76 #ifdef HAVE_TOOLBARS
71 #include "toolbar.h" 77 #include "toolbar.h"
72 #endif 78 #endif