diff options
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r-- | libstdc++-v3/src/Makefile.am | 9 | ||||
-rw-r--r-- | libstdc++-v3/src/Makefile.in | 30 | ||||
-rw-r--r-- | libstdc++-v3/src/limits_c++0x.cc | 81 |
3 files changed, 107 insertions, 13 deletions
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 0b5f2a70885..f5d99c63525 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -1,6 +1,7 @@ ## Makefile for the src subdirectory of the GNU C++ Standard library. ## -## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 +## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +## 2006, 2007, 2008 ## Free Software Foundation, Inc. ## ## This file is part of the libstdc++ version 3 distribution. @@ -155,6 +156,7 @@ sources = \ ios_init.cc \ ios_locale.cc \ limits.cc \ + limits_c++0x.cc \ list.cc \ debug_list.cc \ locale.cc \ @@ -261,6 +263,11 @@ hashtable_c++0x.lo: hashtable_c++0x.cc hashtable_c++0x.o: hashtable_c++0x.cc $(CXXCOMPILE) -std=gnu++0x -c $< +limits_c++0x.lo: limits_c++0x.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +limits_c++0x.o: limits_c++0x.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + date_time.lo: date_time.cc $(LTCXXCOMPILE) -std=gnu++0x -c $< date_time.o: date_time.cc diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index c1e56fb4071..508a399e7e8 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -77,17 +77,17 @@ am__libstdc___la_SOURCES_DIST = atomic.cc bitmap_allocator.cc \ complex_io.cc ctype.cc date_time.cc debug.cc functexcept.cc \ hash.cc hash_c++0x.cc globals_io.cc hashtable.cc \ hashtable_c++0x.cc ios.cc ios_failure.cc ios_init.cc \ - ios_locale.cc limits.cc list.cc debug_list.cc locale.cc \ - locale_init.cc locale_facets.cc localename.cc stdexcept.cc \ - strstream.cc system_error.cc tree.cc allocator-inst.cc \ - concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc \ - iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc \ - misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc \ - streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc \ - wstring-inst.cc mutex.cc condition_variable.cc atomicity.cc \ - codecvt_members.cc collate_members.cc ctype_members.cc \ - messages_members.cc monetary_members.cc numeric_members.cc \ - time_members.cc basic_file.cc c++locale.cc \ + ios_locale.cc limits.cc limits_c++0x.cc list.cc debug_list.cc \ + locale.cc locale_init.cc locale_facets.cc localename.cc \ + stdexcept.cc strstream.cc system_error.cc tree.cc \ + allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc \ + ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc \ + locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc \ + streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc \ + wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc \ + atomicity.cc codecvt_members.cc collate_members.cc \ + ctype_members.cc messages_members.cc monetary_members.cc \ + numeric_members.cc time_members.cc basic_file.cc c++locale.cc \ compatibility-ldbl.cc parallel_list.cc parallel_settings.cc am__objects_1 = atomicity.lo codecvt_members.lo collate_members.lo \ ctype_members.lo messages_members.lo monetary_members.lo \ @@ -102,7 +102,7 @@ am__objects_5 = atomic.lo bitmap_allocator.lo pool_allocator.lo \ ctype.lo date_time.lo debug.lo functexcept.lo hash.lo \ hash_c++0x.lo globals_io.lo hashtable.lo hashtable_c++0x.lo \ ios.lo ios_failure.lo ios_init.lo ios_locale.lo limits.lo \ - list.lo debug_list.lo locale.lo locale_init.lo \ + limits_c++0x.lo list.lo debug_list.lo locale.lo locale_init.lo \ locale_facets.lo localename.lo stdexcept.lo strstream.lo \ system_error.lo tree.lo allocator-inst.lo concept-inst.lo \ fstream-inst.lo ext-inst.lo ios-inst.lo iostream-inst.lo \ @@ -392,6 +392,7 @@ sources = \ ios_init.cc \ ios_locale.cc \ limits.cc \ + limits_c++0x.cc \ list.cc \ debug_list.cc \ locale.cc \ @@ -856,6 +857,11 @@ hashtable_c++0x.lo: hashtable_c++0x.cc hashtable_c++0x.o: hashtable_c++0x.cc $(CXXCOMPILE) -std=gnu++0x -c $< +limits_c++0x.lo: limits_c++0x.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +limits_c++0x.o: limits_c++0x.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + date_time.lo: date_time.cc $(LTCXXCOMPILE) -std=gnu++0x -c $< date_time.o: date_time.cc diff --git a/libstdc++-v3/src/limits_c++0x.cc b/libstdc++-v3/src/limits_c++0x.cc new file mode 100644 index 00000000000..d3d5df68ab8 --- /dev/null +++ b/libstdc++-v3/src/limits_c++0x.cc @@ -0,0 +1,81 @@ +// std::limits definitions -*- C++ -*- + +// Copyright (C) 2008 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 2, 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. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +#include <limits> + +namespace std +{ + // char16_t + const bool numeric_limits<char16_t>::is_specialized; + const int numeric_limits<char16_t>::digits; + const int numeric_limits<char16_t>::digits10; + const bool numeric_limits<char16_t>::is_signed; + const bool numeric_limits<char16_t>::is_integer; + const bool numeric_limits<char16_t>::is_exact; + const int numeric_limits<char16_t>::radix; + const int numeric_limits<char16_t>::min_exponent; + const int numeric_limits<char16_t>::min_exponent10; + const int numeric_limits<char16_t>::max_exponent; + const int numeric_limits<char16_t>::max_exponent10; + const bool numeric_limits<char16_t>::has_infinity; + const bool numeric_limits<char16_t>::has_quiet_NaN; + const bool numeric_limits<char16_t>::has_signaling_NaN; + const float_denorm_style numeric_limits<char16_t>::has_denorm; + const bool numeric_limits<char16_t>::has_denorm_loss; + const bool numeric_limits<char16_t>::is_iec559; + const bool numeric_limits<char16_t>::is_bounded; + const bool numeric_limits<char16_t>::is_modulo; + const bool numeric_limits<char16_t>::traps; + const bool numeric_limits<char16_t>::tinyness_before; + const float_round_style numeric_limits<char16_t>::round_style; + + // char32_t + const bool numeric_limits<char32_t>::is_specialized; + const int numeric_limits<char32_t>::digits; + const int numeric_limits<char32_t>::digits10; + const bool numeric_limits<char32_t>::is_signed; + const bool numeric_limits<char32_t>::is_integer; + const bool numeric_limits<char32_t>::is_exact; + const int numeric_limits<char32_t>::radix; + const int numeric_limits<char32_t>::min_exponent; + const int numeric_limits<char32_t>::min_exponent10; + const int numeric_limits<char32_t>::max_exponent; + const int numeric_limits<char32_t>::max_exponent10; + const bool numeric_limits<char32_t>::has_infinity; + const bool numeric_limits<char32_t>::has_quiet_NaN; + const bool numeric_limits<char32_t>::has_signaling_NaN; + const float_denorm_style numeric_limits<char32_t>::has_denorm; + const bool numeric_limits<char32_t>::has_denorm_loss; + const bool numeric_limits<char32_t>::is_iec559; + const bool numeric_limits<char32_t>::is_bounded; + const bool numeric_limits<char32_t>::is_modulo; + const bool numeric_limits<char32_t>::traps; + const bool numeric_limits<char32_t>::tinyness_before; + const float_round_style numeric_limits<char32_t>::round_style; +} |