summaryrefslogtreecommitdiff
path: root/lib-src/make-docfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src/make-docfile.c')
-rw-r--r--lib-src/make-docfile.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c
index ecd6447ab78..c48f202a511 100644
--- a/lib-src/make-docfile.c
+++ b/lib-src/make-docfile.c
@@ -592,7 +592,7 @@ struct global
};
/* Bit values for FLAGS field from the above. Applied for DEFUNs only. */
-enum { DEFUN_noreturn = 1, DEFUN_const = 2 };
+enum { DEFUN_noreturn = 1, DEFUN_const = 2, DEFUN_noinline = 4 };
/* All the variable names we saw while scanning C sources in `-g'
mode. */
@@ -742,6 +742,8 @@ write_globals (void)
{
if (globals[i].flags & DEFUN_noreturn)
fputs ("_Noreturn ", stdout);
+ if (globals[i].flags & DEFUN_noinline)
+ fputs ("NO_INLINE ", stdout);
printf ("EXFUN (%s, ", globals[i].name);
if (globals[i].v.value == -1)
@@ -1062,7 +1064,8 @@ scan_c_stream (FILE *infile)
attributes: attribute1 attribute2 ...)
(Lisp_Object arg...)
- Now only 'noreturn' and 'const' attributes are used. */
+ Now only ’const’, ’noinline’ and 'noreturn' attributes
+ are used. */
/* Advance to the end of docstring. */
c = getc (infile);
@@ -1108,6 +1111,8 @@ scan_c_stream (FILE *infile)
g->flags |= DEFUN_noreturn;
if (strstr (input_buffer, "const"))
g->flags |= DEFUN_const;
+ if (strstr (input_buffer, "noinline"))
+ g->flags |= DEFUN_noinline;
}
continue;
}