[committed] libstdc++: Define _GNU_SOURCE for secure_getenv on Cygwin [PR107511]

Message ID 20221104140612.834725-1-jwakely@redhat.com
State Repeat Merge
Headers
Series [committed] libstdc++: Define _GNU_SOURCE for secure_getenv on Cygwin [PR107511] |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Jonathan Wakely Nov. 4, 2022, 2:06 p.m. UTC
  Tested powerpc64le-linux. Pushed to trunk.

-- >8 --

As in r12-6867-ge20486d508afdf we need to define _GNU_SOURCE explicitly
for Cygwin, because configure finds it in libc but it isn't declared
unless we request it.

libstdc++-v3/ChangeLog:

	PR libstdc++/107511
	* libsupc++/eh_alloc.cc (_GNU_SOURCE): Define.
---
 libstdc++-v3/libsupc++/eh_alloc.cc | 5 +++++
 1 file changed, 5 insertions(+)
  

Patch

diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc
index e93f14c887b..83d15f39ca4 100644
--- a/libstdc++-v3/libsupc++/eh_alloc.cc
+++ b/libstdc++-v3/libsupc++/eh_alloc.cc
@@ -25,6 +25,11 @@ 
 // This is derived from the C++ ABI for IA-64.  Where we diverge
 // for cross-architecture compatibility are noted with "@@@".
 
+#ifndef _GNU_SOURCE
+// Cygwin needs this for secure_getenv
+# define _GNU_SOURCE 1
+#endif
+
 #include <exception>           // std::exception
 #include <new>                 // std::terminate
 #include <cstdlib>             // std::malloc, std::free, std::strtoul