diff options
| author | Paul Eggert | 2015-10-10 11:56:20 -0700 |
|---|---|---|
| committer | Paul Eggert | 2015-10-10 11:57:36 -0700 |
| commit | c0ae12581c8f961ecad6d8ae1a1c4489c0e0abed (patch) | |
| tree | 29a311e970609faa7ca67fc877f6ac69eeeeea52 /src | |
| parent | 5b2c9f4339c6cd9778b099268fcfee87a888324d (diff) | |
| download | emacs-c0ae12581c8f961ecad6d8ae1a1c4489c0e0abed.tar.gz emacs-c0ae12581c8f961ecad6d8ae1a1c4489c0e0abed.zip | |
Fix --enable-gcc-warnings problem with older GCC
* src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
This is for building with --enable-gcc-warnings with
GCC 4.6 through 5.0.
Diffstat (limited to 'src')
| -rw-r--r-- | src/conf_post.h | 5 | ||||
| -rw-r--r-- | src/puresize.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/conf_post.h b/src/conf_post.h index 785e5d7554b..2c3eee59b77 100644 --- a/src/conf_post.h +++ b/src/conf_post.h | |||
| @@ -316,6 +316,11 @@ extern int emacs_setenv_TZ (char const *); | |||
| 316 | 316 | ||
| 317 | before including config.h or any other .h file. | 317 | before including config.h or any other .h file. |
| 318 | Other .c files should not define INLINE. | 318 | Other .c files should not define INLINE. |
| 319 | For Emacs, this is done by having emacs.c first '#define INLINE | ||
| 320 | EXTERN_INLINE' and then include every .h file that uses INLINE. | ||
| 321 | |||
| 322 | The INLINE_HEADER_BEGIN and INLINE_HEADER_END suppress bogus | ||
| 323 | warnings in some GCC versions; see ../m4/extern-inline.m4. | ||
| 319 | 324 | ||
| 320 | C99 compilers compile functions like 'incr' as C99-style extern | 325 | C99 compilers compile functions like 'incr' as C99-style extern |
| 321 | inline functions. Buggy GCC implementations do something similar with | 326 | inline functions. Buggy GCC implementations do something similar with |
diff --git a/src/puresize.h b/src/puresize.h index d0926c65213..c61b31f2bde 100644 --- a/src/puresize.h +++ b/src/puresize.h | |||
| @@ -16,6 +16,8 @@ GNU General Public License for more details. | |||
| 16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
| 17 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 17 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 18 | 18 | ||
| 19 | INLINE_HEADER_BEGIN | ||
| 20 | |||
| 19 | /* Define PURESIZE, the number of bytes of pure Lisp code to leave space for. | 21 | /* Define PURESIZE, the number of bytes of pure Lisp code to leave space for. |
| 20 | 22 | ||
| 21 | At one point, this was defined in config.h, meaning that changing | 23 | At one point, this was defined in config.h, meaning that changing |
| @@ -88,3 +90,5 @@ CHECK_IMPURE (Lisp_Object obj, void *ptr) | |||
| 88 | if (PURE_P (ptr)) | 90 | if (PURE_P (ptr)) |
| 89 | pure_write_error (obj); | 91 | pure_write_error (obj); |
| 90 | } | 92 | } |
| 93 | |||
| 94 | INLINE_HEADER_END | ||