gbranden pushed a commit to branch master
in repository groff.
commit 65cf17d9ca53bc85ab4621618be9338a24546ed3
Author: G. Branden Robinson <[email protected]>
AuthorDate: Thu May 14 18:21:31 2026 -0500
[groff]: Give command a proper header file.
...for external symbols.
* src/roff/groff/pipeline.c: Move `extern` declarations of symbols
defined in "groff.cpp" from here...
* src/roff/groff/groff.h: ...to this new file.
* src/roff/groff/groff.cpp:
* src/roff/groff/pipeline.c: Preprocessor-include new file.
* src/roff/groff/groff.cpp: Wrap this inclusion in `extern "C"` brace
scope to indicate need for C-compatible calling conventions.
* src/roff/groff/groff.am: Add new file to `groff_SOURCES` macro
definition.
Fixes `-Wmissing-declarations` GCC warning.
---
ChangeLog | 17 +++++++++++++++++
src/roff/groff/groff.am | 1 +
src/roff/groff/groff.cpp | 4 ++++
src/roff/groff/groff.h | 11 +++++++++++
src/roff/groff/pipeline.c | 6 ++----
5 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index cb32f18de..2eed6c915 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2026-05-15 G. Branden Robinson <[email protected]>
+
+ [groff]: Give command a proper header file for external symbols.
+
+ * src/roff/groff/pipeline.c: Move `extern` declarations of
+ symbols defined in "groff.cpp" from here...
+ * src/roff/groff/groff.h: ...to this new file.
+ * src/roff/groff/groff.cpp:
+ * src/roff/groff/pipeline.c: Preprocessor-include new file.
+ * src/roff/groff/groff.cpp: Wrap this inclusion in `extern "C"`
+ brace scope to indicate need for C-compatible calling
+ conventions.
+ * src/roff/groff/groff.am: Add new file to `groff_SOURCES` macro
+ definition.
+
+ Fixes `-Wmissing-declarations` GCC warning.
+
2026-05-14 G. Branden Robinson <[email protected]>
* src/preproc/html/pre-html.cpp (html_system, make_string)
diff --git a/src/roff/groff/groff.am b/src/roff/groff/groff.am
index e3e51548c..ce7362f4b 100644
--- a/src/roff/groff/groff.am
+++ b/src/roff/groff/groff.am
@@ -29,6 +29,7 @@ groff_LDADD = \
$(LIBM)
groff_SOURCES = \
src/roff/groff/groff.cpp \
+ src/roff/groff/groff.h \
src/roff/groff/pipeline.c \
src/roff/groff/pipeline.h
src/roff/groff/groff.$(OBJEXT): defs.h
diff --git a/src/roff/groff/groff.cpp b/src/roff/groff/groff.cpp
index dd8f6a26d..10129306c 100644
--- a/src/roff/groff/groff.cpp
+++ b/src/roff/groff/groff.cpp
@@ -54,6 +54,10 @@ along with this program. If not, see
<http://www.gnu.org/licenses/>. */
#include "relocate.h"
#include "defs.h"
+extern "C" {
+#include "groff.h" // c_error(), c_fatal()
+}
+
#define GXDITVIEW "gxditview"
// troff will be passed an argument of -rXREG=1 if the -X option is
diff --git a/src/roff/groff/groff.h b/src/roff/groff/groff.h
new file mode 100644
index 000000000..e5b892a67
--- /dev/null
+++ b/src/roff/groff/groff.h
@@ -0,0 +1,11 @@
+// groff.cpp
+extern void c_error(const char * /* format */, const char * /* arg1 */,
+ const char * /* arg2 */, const char * /* arg3 */);
+extern void c_fatal(const char * /* format */, const char * /* arg1 */,
+ const char * /* arg2 */, const char * /* arg3 */);
+
+// Local Variables:
+// fill-column: 72
+// mode: C++
+// End:
+// vim: set cindent noexpandtab shiftwidth=2 textwidth=72:
diff --git a/src/roff/groff/pipeline.c b/src/roff/groff/pipeline.c
index 0872afaa8..05adc398a 100644
--- a/src/roff/groff/pipeline.c
+++ b/src/roff/groff/pipeline.c
@@ -81,10 +81,8 @@ int run_pipeline(int, char ***, bool);
extern "C" {
#endif
-extern void c_error(const char *, const char *, const char *,
- const char *);
-extern void c_fatal(const char *, const char *, const char *,
- const char *);
+#include "groff.h" // c_error(), c_fatal()
+
extern const char *i_to_a(int); /* from libgroff */
#ifdef __cplusplus
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit