diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-30 14:17:49 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-30 14:17:49 +0000 |
commit | cdd306bef327393903d2a2f3fe658feba87606e3 (patch) | |
tree | 8d7707f10409beae3b55bc76f1fd23c16f043bc4 /libstdc++-v3/include | |
parent | 8061ea3e384be224f019d4e9f86ac138de972c0d (diff) | |
download | gcc-cdd306bef327393903d2a2f3fe658feba87606e3.tar.gz |
2006-01-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cinttypes: New.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cinttypes/functions: New.
* testsuite/tr1/8_c_compatibility/cinttypes/types: Likewise.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <inttypes.h> checks.
* docs/html/ext/tr1.html: Update.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
* testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Cosmetic tweak.
* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdint/types.cc: Fix, check in
std::tr1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110397 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r-- | libstdc++-v3/include/Makefile.am | 1 | ||||
-rw-r--r-- | libstdc++-v3/include/Makefile.in | 1 | ||||
-rw-r--r-- | libstdc++-v3/include/tr1/cinttypes | 83 |
3 files changed, 85 insertions, 0 deletions
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index bbed68913ba..8014124ddcc 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -486,6 +486,7 @@ tr1_headers = \ ${tr1_srcdir}/boost_shared_ptr.h \ ${tr1_srcdir}/cctype \ ${tr1_srcdir}/cfenv \ + ${tr1_srcdir}/cinttypes \ ${tr1_srcdir}/common.h \ ${tr1_srcdir}/complex \ ${tr1_srcdir}/cstdint \ diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 703df7cfe97..08f2dce33fb 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -703,6 +703,7 @@ tr1_headers = \ ${tr1_srcdir}/boost_shared_ptr.h \ ${tr1_srcdir}/cctype \ ${tr1_srcdir}/cfenv \ + ${tr1_srcdir}/cinttypes \ ${tr1_srcdir}/common.h \ ${tr1_srcdir}/complex \ ${tr1_srcdir}/cstdint \ diff --git a/libstdc++-v3/include/tr1/cinttypes b/libstdc++-v3/include/tr1/cinttypes new file mode 100644 index 00000000000..2e0e9d83a4b --- /dev/null +++ b/libstdc++-v3/include/tr1/cinttypes @@ -0,0 +1,83 @@ +// TR1 cinttypes -*- C++ -*- + +// Copyright (C) 2006 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. + +/** @file + * This is a TR1 C++ Library header. + */ + +#ifndef _TR1_CINTTYPES +#define _TR1_CINTTYPES 1 + +#include <bits/c++config.h> + +#include <tr1/cstdint> + +#if _GLIBCXX_HAVE_INTTYPES_H +// For 8.11.1/1 (see C99, Note 184) +#define __STDC_FORMAT_MACROS +#include <inttypes.h> +#endif + +#if _GLIBCXX_USE_C99_INTTYPES_TR1 + +// namespace std::tr1 +namespace std +{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + + // types + using ::imaxdiv_t; + + // functions + using ::imaxabs; + + inline intmax_t + abs(intmax_t __i) + { return imaxabs(__i); } + + using ::imaxdiv; + + inline imaxdiv_t + div(intmax_t __numer, intmax_t __denom) + { return imaxdiv(__numer, __denom); } + + using ::strtoimax; + using ::strtoumax; + +#ifdef _GLIBCXX_USE_WCHAR_T + using ::wcstoimax; + using ::wcstoumax; +#endif + +_GLIBCXX_END_NAMESPACE +} + +#endif + +#endif |