diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /libstdc++-v3/config/os/mingw32 | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'libstdc++-v3/config/os/mingw32')
-rw-r--r-- | libstdc++-v3/config/os/mingw32/ctype_base.h | 64 | ||||
-rw-r--r-- | libstdc++-v3/config/os/mingw32/ctype_inline.h | 75 | ||||
-rw-r--r-- | libstdc++-v3/config/os/mingw32/ctype_noninline.h | 236 | ||||
-rw-r--r-- | libstdc++-v3/config/os/mingw32/error_constants.h | 128 | ||||
-rw-r--r-- | libstdc++-v3/config/os/mingw32/os_defines.h | 68 |
5 files changed, 571 insertions, 0 deletions
diff --git a/libstdc++-v3/config/os/mingw32/ctype_base.h b/libstdc++-v3/config/os/mingw32/ctype_base.h new file mode 100644 index 000000000..5fbdff8e7 --- /dev/null +++ b/libstdc++-v3/config/os/mingw32/ctype_base.h @@ -0,0 +1,64 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2007, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// <http://www.gnu.org/licenses/>. + +// +// ISO C++ 14882: 22.1 Locales +// + +// We don't use the C-locale masks defined in mingw/include/ctype.h +// because those masks do not conform to the requirements of 22.2.1. +// In particular, a separate 'print' bitmask does not exist (isprint(c) +// relies on a combination of flags) and the '_ALPHA' mask is also a +// combination of simple bitmasks. Thus, we define libstdc++-specific +// masks here, based on the generic masks, and the corresponding +// classic_table in ctype_noninline.h. + +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + /// @brief Base class for ctype. + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __to_type; + + // NB: Offsets into ctype<char>::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. + typedef unsigned short mask; + static const mask upper = 1 << 0; + static const mask lower = 1 << 1; + static const mask alpha = 1 << 2; + static const mask digit = 1 << 3; + static const mask xdigit = 1 << 4; + static const mask space = 1 << 5; + static const mask print = 1 << 6; + static const mask graph = (1 << 2) | (1 << 3) | (1 << 9); // alnum|punct + static const mask cntrl = 1 << 8; + static const mask punct = 1 << 9; + static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit + }; + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace diff --git a/libstdc++-v3/config/os/mingw32/ctype_inline.h b/libstdc++-v3/config/os/mingw32/ctype_inline.h new file mode 100644 index 000000000..f1b9f6c66 --- /dev/null +++ b/libstdc++-v3/config/os/mingw32/ctype_inline.h @@ -0,0 +1,75 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 2009, 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// <http://www.gnu.org/licenses/>. + +/** @file bits/ctype_inline.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{locale} + */ + +// +// ISO C++ 14882: 22.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + bool + ctype<char>:: + is(mask __m, char __c) const + { return (_M_table[static_cast<unsigned char>(__c) ] & __m); } + + + const char* + ctype<char>:: + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) + *__vec++ = _M_table[static_cast<unsigned char>(*__low++)]; + return __high; + } + + const char* + ctype<char>:: + scan_is(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && !this->is(__m, *__low)) + ++__low; + return __low; + } + + const char* + ctype<char>:: + scan_not(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace diff --git a/libstdc++-v3/config/os/mingw32/ctype_noninline.h b/libstdc++-v3/config/os/mingw32/ctype_noninline.h new file mode 100644 index 000000000..10b1fbc49 --- /dev/null +++ b/libstdc++-v3/config/os/mingw32/ctype_noninline.h @@ -0,0 +1,236 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2007, 2009, 2010 +// Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// <http://www.gnu.org/licenses/>. + +/** @file bits/ctype_noninline.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{locale} + */ + +// +// ISO C++ 14882: 22.1 Locales +// + +// The classic table used in libstdc++ is *not* the C _ctype table +// used by mscvrt, but is based on the ctype masks defined for libstdc++ +// in ctype_base.h. + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { + static const ctype_base::mask _S_classic_table[256] = + { + cntrl /* null */, + cntrl /* ^A */, + cntrl /* ^B */, + cntrl /* ^C */, + cntrl /* ^D */, + cntrl /* ^E */, + cntrl /* ^F */, + cntrl /* ^G */, + cntrl /* ^H */, + ctype_base::mask(space | cntrl) /* tab */, + ctype_base::mask(space | cntrl) /* LF */, + ctype_base::mask(space | cntrl) /* ^K */, + ctype_base::mask(space | cntrl) /* FF */, + ctype_base::mask(space | cntrl) /* ^M */, + cntrl /* ^N */, + cntrl /* ^O */, + cntrl /* ^P */, + cntrl /* ^Q */, + cntrl /* ^R */, + cntrl /* ^S */, + cntrl /* ^T */, + cntrl /* ^U */, + cntrl /* ^V */, + cntrl /* ^W */, + cntrl /* ^X */, + cntrl /* ^Y */, + cntrl /* ^Z */, + cntrl /* esc */, + cntrl /* ^\ */, + cntrl /* ^] */, + cntrl /* ^^ */, + cntrl /* ^_ */, + ctype_base::mask(space | print) /* */, + ctype_base::mask(punct | print) /* ! */, + ctype_base::mask(punct | print) /* " */, + ctype_base::mask(punct | print) /* # */, + ctype_base::mask(punct | print) /* $ */, + ctype_base::mask(punct | print) /* % */, + ctype_base::mask(punct | print) /* & */, + ctype_base::mask(punct | print) /* ' */, + ctype_base::mask(punct | print) /* ( */, + ctype_base::mask(punct | print) /* ) */, + ctype_base::mask(punct | print) /* * */, + ctype_base::mask(punct | print) /* + */, + ctype_base::mask(punct | print) /* , */, + ctype_base::mask(punct | print) /* - */, + ctype_base::mask(punct | print) /* . */, + ctype_base::mask(punct | print) /* / */, + ctype_base::mask(digit | xdigit | print) /* 0 */, + ctype_base::mask(digit | xdigit | print) /* 1 */, + ctype_base::mask(digit | xdigit | print) /* 2 */, + ctype_base::mask(digit | xdigit | print) /* 3 */, + ctype_base::mask(digit | xdigit | print) /* 4 */, + ctype_base::mask(digit | xdigit | print) /* 5 */, + ctype_base::mask(digit | xdigit | print) /* 6 */, + ctype_base::mask(digit | xdigit | print) /* 7 */, + ctype_base::mask(digit | xdigit | print) /* 8 */, + ctype_base::mask(digit | xdigit | print) /* 9 */, + ctype_base::mask(punct | print) /* : */, + ctype_base::mask(punct | print) /* ; */, + ctype_base::mask(punct | print) /* < */, + ctype_base::mask(punct | print) /* = */, + ctype_base::mask(punct | print) /* > */, + ctype_base::mask(punct | print) /* ? */, + ctype_base::mask(punct | print) /* ! */, + ctype_base::mask(alpha | upper | xdigit | print) /* A */, + ctype_base::mask(alpha | upper | xdigit | print) /* B */, + ctype_base::mask(alpha | upper | xdigit | print) /* C */, + ctype_base::mask(alpha | upper | xdigit | print) /* D */, + ctype_base::mask(alpha | upper | xdigit | print) /* E */, + ctype_base::mask(alpha | upper | xdigit | print) /* F */, + ctype_base::mask(alpha | upper | print) /* G */, + ctype_base::mask(alpha | upper | print) /* H */, + ctype_base::mask(alpha | upper | print) /* I */, + ctype_base::mask(alpha | upper | print) /* J */, + ctype_base::mask(alpha | upper | print) /* K */, + ctype_base::mask(alpha | upper | print) /* L */, + ctype_base::mask(alpha | upper | print) /* M */, + ctype_base::mask(alpha | upper | print) /* N */, + ctype_base::mask(alpha | upper | print) /* O */, + ctype_base::mask(alpha | upper | print) /* P */, + ctype_base::mask(alpha | upper | print) /* Q */, + ctype_base::mask(alpha | upper | print) /* R */, + ctype_base::mask(alpha | upper | print) /* S */, + ctype_base::mask(alpha | upper | print) /* T */, + ctype_base::mask(alpha | upper | print) /* U */, + ctype_base::mask(alpha | upper | print) /* V */, + ctype_base::mask(alpha | upper | print) /* W */, + ctype_base::mask(alpha | upper | print) /* X */, + ctype_base::mask(alpha | upper | print) /* Y */, + ctype_base::mask(alpha | upper | print) /* Z */, + ctype_base::mask(punct | print) /* [ */, + ctype_base::mask(punct | print) /* \ */, + ctype_base::mask(punct | print) /* ] */, + ctype_base::mask(punct | print) /* ^ */, + ctype_base::mask(punct | print) /* _ */, + ctype_base::mask(punct | print) /* ` */, + ctype_base::mask(alpha | lower | xdigit | print) /* a */, + ctype_base::mask(alpha | lower | xdigit | print) /* b */, + ctype_base::mask(alpha | lower | xdigit | print) /* c */, + ctype_base::mask(alpha | lower | xdigit | print) /* d */, + ctype_base::mask(alpha | lower | xdigit | print) /* e */, + ctype_base::mask(alpha | lower | xdigit | print) /* f */, + ctype_base::mask(alpha | lower | print) /* g */, + ctype_base::mask(alpha | lower | print) /* h */, + ctype_base::mask(alpha | lower | print) /* i */, + ctype_base::mask(alpha | lower | print) /* j */, + ctype_base::mask(alpha | lower | print) /* k */, + ctype_base::mask(alpha | lower | print) /* l */, + ctype_base::mask(alpha | lower | print) /* m */, + ctype_base::mask(alpha | lower | print) /* n */, + ctype_base::mask(alpha | lower | print) /* o */, + ctype_base::mask(alpha | lower | print) /* p */, + ctype_base::mask(alpha | lower | print) /* q */, + ctype_base::mask(alpha | lower | print) /* r */, + ctype_base::mask(alpha | lower | print) /* s */, + ctype_base::mask(alpha | lower | print) /* t */, + ctype_base::mask(alpha | lower | print) /* u */, + ctype_base::mask(alpha | lower | print) /* v */, + ctype_base::mask(alpha | lower | print) /* w */, + ctype_base::mask(alpha | lower | print) /* x */, + ctype_base::mask(alpha | lower | print) /* y */, + ctype_base::mask(alpha | lower | print) /* x */, + ctype_base::mask(punct | print) /* { */, + ctype_base::mask(punct | print) /* | */, + ctype_base::mask(punct | print) /* } */, + ctype_base::mask(punct | print) /* ~ */, + cntrl /* del (0x7f)*/, + /* The next 128 entries are all 0. */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + return _S_classic_table; + } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { + memset(_M_widen, 0, sizeof(_M_widen)); + _M_widen_ok = 0; + memset(_M_narrow, 0, sizeof(_M_narrow)); + _M_narrow_ok = 0; + } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { + memset(_M_widen, 0, sizeof(_M_widen)); + _M_widen_ok = 0; + memset(_M_narrow, 0, sizeof(_M_narrow)); + _M_narrow_ok = 0; + } + + char + ctype<char>::do_toupper(char __c) const + { return (this->is(ctype_base::lower, __c) ? (__c - 'a' + 'A') : __c); } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_toupper(*__low); + ++__low; + } + return __high; + } + + char + ctype<char>::do_tolower(char __c) const + { return (this->is(ctype_base::upper, __c) ? (__c - 'A' + 'a') : __c); } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_tolower(*__low); + ++__low; + } + return __high; + } diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h new file mode 100644 index 000000000..f2a9116ba --- /dev/null +++ b/libstdc++-v3/config/os/mingw32/error_constants.h @@ -0,0 +1,128 @@ +// Specific definitions for mingw32 platform -*- C++ -*- + +// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// <http://www.gnu.org/licenses/>. + +/** @file bits/error_constants.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{system_error} + */ + +#ifndef _GLIBCXX_ERROR_CONSTANTS +# define _GLIBCXX_ERROR_CONSTANTS + +#include <bits/c++config.h> +#include <cerrno> + + +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + +// Most of the commented-out error codes are socket-related and could be +// replaced by Winsock WSA-prefixed equivalents. + enum class errc + { +// address_family_not_supported = EAFNOSUPPORT, +// address_in_use = EADDRINUSE, +// address_not_available = EADDRNOTAVAIL, +// already_connected = EISCONN, + argument_list_too_long = E2BIG, + argument_out_of_domain = EDOM, + bad_address = EFAULT, + bad_file_descriptor = EBADF, +// bad_message = EBADMSG, + broken_pipe = EPIPE, +// connection_aborted = ECONNABORTED, +// connection_already_in_progress = EALREADY, +// connection_refused = ECONNREFUSED, +// connection_reset = ECONNRESET, +// cross_device_link = EXDEV, +// destination_address_required = EDESTADDRREQ, + device_or_resource_busy = EBUSY, + directory_not_empty = ENOTEMPTY, + executable_format_error = ENOEXEC, + file_exists = EEXIST, + file_too_large = EFBIG, + filename_too_long = ENAMETOOLONG, + function_not_supported = ENOSYS, +// host_unreachable = EHOSTUNREACH, +// identifier_removed = EIDRM, + illegal_byte_sequence = EILSEQ, + inappropriate_io_control_operation = ENOTTY, + interrupted = EINTR, + invalid_argument = EINVAL, + invalid_seek = ESPIPE, + io_error = EIO, + is_a_directory = EISDIR, +// message_size = EMSGSIZE, +// network_down = ENETDOWN, +// network_reset = ENETRESET, +// network_unreachable = ENETUNREACH, +// no_buffer_space = ENOBUFS, +// no_child_process = ECHILD, +// no_link = ENOLINK, + no_lock_available = ENOLCK, +// no_message_available = ENODATA, +// no_message = ENOMSG, +// no_protocol_option = ENOPROTOOPT, +// no_space_on_device = ENOSPC, +// no_stream_resources = ENOSR, + no_such_device_or_address = ENXIO, + no_such_device = ENODEV, + no_such_file_or_directory = ENOENT, + no_such_process = ESRCH, + not_a_directory = ENOTDIR, +// not_a_socket = ENOTSOCK, +// not_a_stream = ENOSTR, +// not_connected = ENOTCONN, + not_enough_memory = ENOMEM, +// not_supported = ENOTSUP, +// operation_canceled = ECANCELED, +// operation_in_progress = EINPROGRESS, +// operation_not_permitted = EPERM, +// operation_not_supported = EOPNOTSUPP, +// operation_would_block = EWOULDBLOCK, +// owner_dead = EOWNERDEAD, + permission_denied = EACCES, +// protocol_error = EPROTO, +// protocol_not_supported = EPROTONOSUPPORT, + read_only_file_system = EROFS, + resource_deadlock_would_occur = EDEADLK, + resource_unavailable_try_again = EAGAIN, + result_out_of_range = ERANGE, +// state_not_recoverable = ENOTRECOVERABLE, +// stream_timeout = ETIME, +// text_file_busy = ETXTBSY, +// timed_out = ETIMEDOUT, + too_many_files_open_in_system = ENFILE, + too_many_files_open = EMFILE, + too_many_links = EMLINK + // too_many_symbolic_link_levels = ELOOP, + // value_too_large = EOVERFLOW, + // wrong_protocol_type = EPROTOTYPE + }; + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace + +#endif diff --git a/libstdc++-v3/config/os/mingw32/os_defines.h b/libstdc++-v3/config/os/mingw32/os_defines.h new file mode 100644 index 000000000..c483a92e6 --- /dev/null +++ b/libstdc++-v3/config/os/mingw32/os_defines.h @@ -0,0 +1,68 @@ +// Specific definitions for generic platforms -*- C++ -*- + +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +// 2009, 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// <http://www.gnu.org/licenses/>. + +/** @file bits/os_defines.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{iosfwd} + */ + +#ifndef _GLIBCXX_OS_DEFINES +# define _GLIBCXX_OS_DEFINES + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +// Define as 0, if you want, to enable inlining of gthread functions. +// By default, don't pollute libstdc++ with win32api names. +#if !defined (__GTHREAD_HIDE_WIN32API) +# define __GTHREAD_HIDE_WIN32API 1 +#endif + +// Don't let win32api windef.h define min and max as macros +// if included after c++config.h. +#undef NOMINMAX +#define NOMINMAX 1 + +#if defined (_GLIBCXX_DLL) +#define _GLIBCXX_PSEUDO_VISIBILITY_default __attribute__ ((__dllimport__)) +#else +#define _GLIBCXX_PSEUDO_VISIBILITY_default +#endif +#define _GLIBCXX_PSEUDO_VISIBILITY_hidden + +#define _GLIBCXX_PSEUDO_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY_ ## V + +// See libstdc++/20806. +#define _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM 1 + +// See libstdc++/37522. +#define _GLIBCXX_HAVE_BROKEN_VSWPRINTF 1 + +// See libstdc++/43738 +// On native windows targets there is no ioctl function. And the existing +// ioctlsocket function doesn't work for normal file-descriptors. +#define _GLIBCXX_NO_IOCTL 1 + +#endif |