[gcc r13-3684] libstdc++: Define _GNU_SOURCE for secure_getenv on Cygwin [PR107511]

Jonathan Wakely redi@gcc.gnu.org
Fri Nov 4 14:05:50 GMT 2022


https://gcc.gnu.org/g:f505f37a8e5a7646af4038b5c46f72d8a05dc7f0

commit r13-3684-gf505f37a8e5a7646af4038b5c46f72d8a05dc7f0
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Nov 3 11:44:47 2022 +0000

    libstdc++: Define _GNU_SOURCE for secure_getenv on Cygwin [PR107511]
    
    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.

Diff:
---
 libstdc++-v3/libsupc++/eh_alloc.cc | 5 +++++
 1 file changed, 5 insertions(+)

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


More information about the Libstdc++-cvs mailing list