At that place, eqn has included the header <stdlib.h>.  As part of the
C++ standard library, <stdlib.h> provides a bunch of stuff, including
atexit, in the global scope; it need not provide that stuff in
namespace std.

See https://eel.is/c++draft/support.c.headers.other
---
 src/preproc/eqn/main.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/preproc/eqn/main.cpp b/src/preproc/eqn/main.cpp
index a14ac3632..9db412b2a 100644
--- a/src/preproc/eqn/main.cpp
+++ b/src/preproc/eqn/main.cpp
@@ -427,7 +427,7 @@ int main(int argc, char **argv)
   init_table(device);
   init_char_table();
   init_param_table();
-  std::atexit(free_param_table);
+  atexit(free_param_table);
   printf(".do if !dEQ .ds EQ\n"
         ".do if !dEN .ds EN\n");
   if (output_format == troff) {
-- 
2.43.0


Reply via email to