Subject: bug#68179: Re: automake-1.16j on OpenBSD

From: Bogdan <[email-masked]>
Date: Tue, 13 Feb 2024 23:27:13 +0100

Hello, Bruno.

Thank you for your testing.
About your defect:
1) t/objcxx-* - may need our attention,
2) t/strip2 - could you check if you have the STRIPPROG environment
variable set and, if yes, unset it (or, at least, remove the
"--verbose" parameter from it) prior to running the test?
3) t/yacc-mix-c-cxx - can you apply the attached patch and re-run the
test?

--
Regards - Bogdan ('bogdro') D.                 (GNU/Linux & FreeDOS)
X86 assembly (DOS, GNU/Linux):    http://bogdro.evai.pl/index-en.php
Soft(EN): http://bogdro.evai.pl/soft  http://bogdro.evai.pl/soft4asm
www.Xiph.org  www.TorProject.org  www.LibreOffice.org  www.GnuPG.org
diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh
index 3f891dac5..effb6e282 100644
--- a/t/yacc-cxx.sh
+++ b/t/yacc-cxx.sh
@@ -51,9 +51,15 @@ cat > parse1.yy << 'END'
 // Valid C++, but deliberately invalid C.
 #include <cstdio>
 #include <cstdlib>
+#ifdef __sun
 using std::exit;
 using std::free;
 using std::malloc;
+#else
+using ::exit;
+using ::free;
+using ::malloc;
+#endif
 #if (defined __cplusplus) && ((!defined __sun) || (defined __EXTERN_C__))
 extern "C" {
 #endif
diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh
index 556977c22..3885b68bb 100644
--- a/t/yacc-d-cxx.sh
+++ b/t/yacc-d-cxx.sh
@@ -31,9 +31,15 @@ write_parse ()
     #include <stdlib.h>
     // Valid C++, but deliberately invalid C.
     #include <cstdlib>
+    #ifdef __sun
     using std::exit;
     using std::free;
     using std::malloc;
+    #else
+    using ::exit;
+    using ::free;
+    using ::malloc;
+    #endif
     #include "$header"
     #if (defined __cplusplus) && ((!defined __sun) || (defined __EXTERN_C__))
     extern "C" {
diff --git a/t/yacc-mix-c-cxx.sh b/t/yacc-mix-c-cxx.sh
index d454fe244..dfe5feeb3 100644
--- a/t/yacc-mix-c-cxx.sh
+++ b/t/yacc-mix-c-cxx.sh
@@ -95,9 +95,15 @@ cat > parse.yy <<'END'
 #include <stdlib.h>
 // Valid C++, but deliberately invalid C.
 #include <cstdlib>
+#ifdef __sun
 using std::exit;
 using std::free;
 using std::malloc;
+#else
+using ::exit;
+using ::free;
+using ::malloc;
+#endif
 #include "parse.hh"
 #if (defined __cplusplus) && ((!defined __sun) || (defined __EXTERN_C__))
 extern "C" {