libstdc++: Define _GNU_SOURCE for secure_getenv on Cygwin [PR104217]
For GNU/Linux G++ defines _GNU_SOURCE automatically, but not for Cygwin. This means secure_getenv is not declared by Cygwin's <stdlib.h>, even though autoconf detected it is present in the library. Define it in the source files that want to use secure_getenv. libstdc++-v3/ChangeLog: PR libstdc++/104217 * src/c++17/fs_ops.cc (_GNU_SOURCE): Define. * src/filesystem/dir.cc (_GNU_SOURCE): Define. * src/filesystem/ops.cc (_GNU_SOURCE): Define.
This commit is contained in:
@@ -27,6 +27,10 @@
|
||||
# define NEED_DO_COPY_FILE
|
||||
# define NEED_DO_SPACE
|
||||
#endif
|
||||
#ifndef _GNU_SOURCE
|
||||
// Cygwin needs this for secure_getenv
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#include <bits/largefile-config.h>
|
||||
#include <filesystem>
|
||||
|
||||
@@ -25,6 +25,10 @@
|
||||
#ifndef _GLIBCXX_USE_CXX11_ABI
|
||||
# define _GLIBCXX_USE_CXX11_ABI 1
|
||||
#endif
|
||||
#ifndef _GNU_SOURCE
|
||||
// Cygwin needs this for secure_getenv
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#include <bits/largefile-config.h>
|
||||
#include <experimental/filesystem>
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
# define NEED_DO_COPY_FILE
|
||||
# define NEED_DO_SPACE
|
||||
#endif
|
||||
#ifndef _GNU_SOURCE
|
||||
// Cygwin needs this for secure_getenv
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#include <bits/largefile-config.h>
|
||||
#include <experimental/filesystem>
|
||||
|
||||
Reference in New Issue
Block a user