diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2007-05-16 16:47:47 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2007-05-16 16:47:47 +0000 |
commit | 2c4b148c84a8a310d8dc36c2dce1950fa01ab240 (patch) | |
tree | c6883d3c3349acc7442dcd7e6e9bddbcfa12ee30 | |
parent | c74a03d23e9b1159e871f41552c1d2f73eb9812c (diff) | |
download | gcc-2c4b148c84a8a310d8dc36c2dce1950fa01ab240.zip gcc-2c4b148c84a8a310d8dc36c2dce1950fa01ab240.tar.gz gcc-2c4b148c84a8a310d8dc36c2dce1950fa01ab240.tar.bz2 |
acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Add a function to the test code compiled with -ffunction-sections -fdata-sections.
2007-05-11 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Add a function
to the test code compiled with -ffunction-sections -fdata-sections.
* configure: Regenerate.
* testsuite/22_locale/ctype/scan/wchar_t/1.cc: Remove
_GLIBCXX_USE_WCHAR_T guards as surpufulous.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Add
_GLIBCXX_USE_WCHAR_T guards.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Same.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Same.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Same.
* testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc:
Add.
* testsuite/21_strings/char_traits/typedefs/char/1.cc: Move...
* testsuite/21_strings/char_traits/requirements/char/typedefs.cc:
...here.
* testsuite/21_strings/char_traits/typedefs: Remove.
* testsuite/21_strings/char_traits/typedefs/char: Remove.
From-SVN: r124772
-rw-r--r-- | libstdc++-v3/ChangeLog | 23 | ||||
-rw-r--r-- | libstdc++-v3/acinclude.m4 | 2 | ||||
-rwxr-xr-x | libstdc++-v3/configure | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc (renamed from libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc) | 17 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc | 43 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc | 6 |
10 files changed, 91 insertions, 12 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5bbf202..161ea69 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,28 @@ 2007-05-11 Benjamin Kosnik <bkoz@redhat.com> + * acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Add a function + to the test code compiled with -ffunction-sections -fdata-sections. + * configure: Regenerate. + + * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Remove + _GLIBCXX_USE_WCHAR_T guards as surpufulous. + + * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Add + _GLIBCXX_USE_WCHAR_T guards. + * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Same. + * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Same. + * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Same. + + * testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc: + Add. + * testsuite/21_strings/char_traits/typedefs/char/1.cc: Move... + * testsuite/21_strings/char_traits/requirements/char/typedefs.cc: + ...here. + * testsuite/21_strings/char_traits/typedefs: Remove. + * testsuite/21_strings/char_traits/typedefs/char: Remove. + +2007-05-11 Benjamin Kosnik <bkoz@redhat.com> + * docs/html/abi.html: Update for gcc-4.1.2 and gcc-4.2.0. 2007-05-14 Kaz Kojima <kkojima@gcc.gnu.org> diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 18d1840..646c9107 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -171,7 +171,7 @@ AC_DEFUN([GLIBCXX_CHECK_COMPILER_FEATURES], [ # Check for -ffunction-sections -fdata-sections AC_MSG_CHECKING([for g++ that supports -ffunction-sections -fdata-sections]) CXXFLAGS='-Werror -ffunction-sections -fdata-sections' - AC_TRY_COMPILE(, [int foo;], [ac_fdsections=yes], [ac_fdsections=no]) + AC_TRY_COMPILE(, [int foo; void bar() { };], [ac_fdsections=yes], [ac_fdsections=no]) if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS="$ac_save_CXXFLAGS" else diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 6ca6b63..1dc4cc3 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -8283,7 +8283,7 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -int foo; +int foo; void bar() { }; ; return 0; } @@ -56578,7 +56578,7 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -int foo; +int foo; void bar() { }; ; return 0; } diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc index 43fc33a..0dea4ca 100644 --- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc +++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc @@ -47,8 +47,10 @@ void test01() typedef make_signed<const char>::type test22_type; VERIFY( (is_same<test22_type, const signed char>::value) ); +#ifdef _GLIBCXX_USE_WCHAR_T typedef make_signed<volatile wchar_t>::type test23_type; VERIFY( (is_same<test23_type, volatile signed wchar_t>::value) ); +#endif typedef make_signed<test_enum>::type test25_type; VERIFY( (is_same<test25_type, int>::value) ); diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc index 4dd9bb6..377d1d1 100644 --- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc +++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc @@ -47,8 +47,10 @@ void test01() typedef make_signed<const char>::type test22_type; VERIFY( (is_same<test22_type, const signed char>::value) ); +#ifdef _GLIBCXX_USE_WCHAR_T typedef make_signed<volatile wchar_t>::type test23_type; VERIFY( (is_same<test23_type, volatile signed wchar_t>::value) ); +#endif typedef make_signed<test_enum>::type test25_type; VERIFY( (is_same<test25_type, short>::value) ); diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc index e204c55..1270729 100644 --- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc +++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc @@ -47,8 +47,10 @@ void test01() typedef make_unsigned<const char>::type test22_type; VERIFY( (is_same<test22_type, const unsigned char>::value) ); +#ifdef _GLIBCXX_USE_WCHAR_T typedef make_unsigned<volatile wchar_t>::type test23_type; VERIFY( (is_same<test23_type, volatile unsigned wchar_t>::value) ); +#endif typedef make_unsigned<test_enum>::type test25_type; VERIFY( (is_same<test25_type, unsigned int>::value) ); diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc index 5038f81..1715d36 100644 --- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc +++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc @@ -47,8 +47,10 @@ void test01() typedef make_unsigned<const char>::type test22_type; VERIFY( (is_same<test22_type, const unsigned char>::value) ); +#ifdef _GLIBCXX_USE_WCHAR_T typedef make_unsigned<volatile wchar_t>::type test23_type; VERIFY( (is_same<test23_type, volatile unsigned wchar_t>::value) ); +#endif typedef make_unsigned<test_enum>::type test25_type; VERIFY( (is_same<test25_type, unsigned short>::value) ); diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc index 5373d6a..94b719e 100644 --- a/libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc +++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc @@ -1,7 +1,9 @@ +// dg-do compile +// dg-options -ansi -pedantic-err // 2001-02-11 gdr // Origin: Craig Rodrigues <rodrigc@mediaone.net> -// Copyright (C) 2001, 2003 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003, 2007 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 @@ -25,10 +27,17 @@ int main() { + // Check for required typedefs. + typedef std::char_traits<char> test_type; + typedef test_type::char_type char_type; + typedef test_type::int_type int_type; + typedef test_type::off_type off_type; + typedef test_type::pos_type pos_type; + typedef test_type::state_type state_type; + // 21.1.3: char_traits<char>::int_type == int - // dg-options -ansi -pedantic-err - std::char_traits<char>::int_type* p = 0; - int* q __attribute__((unused)) = p; // dg-do compile + test_type::int_type* p = 0; + int* q __attribute__((unused)) = p; return 0; } diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc new file mode 100644 index 0000000..e788daf --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc @@ -0,0 +1,43 @@ +// dg-do compile +// dg-options -ansi -pedantic-err +// 2001-02-11 gdr +// Origin: Craig Rodrigues <rodrigc@mediaone.net> + +// Copyright (C) 2001, 2003, 2007 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. + +// 21.1.2: char_traits typedefs + +#include <string> + +int main() +{ + // Check for required typedefs. + typedef std::char_traits<wchar_t> test_type; + typedef test_type::char_type char_type; + typedef test_type::int_type int_type; + typedef test_type::off_type off_type; + typedef test_type::pos_type pos_type; + typedef test_type::state_type state_type; + + // 21.1.3: char_traits<wchar_t>::int_type == wint_t + test_type::int_type* p = 0; + wint_t* q __attribute__((unused)) = p; + + return 0; +} diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc index a1e41d8..dce0d95 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc @@ -1,6 +1,6 @@ // 2002-05-10 ghazi -// Copyright (C) 2002 Free Software Foundation, Inc. +// Copyright (C) 2002, 2007 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 @@ -47,7 +47,6 @@ class gnu_ctype: public std::ctype<char_type> { }; VERIFY(gctype.scan_not((MASK), (STRING), \ (STRING) + traits_type::length(STRING)) == (EXPECTED)) -#ifdef _GLIBCXX_USE_WCHAR_T // Sanity check scan_is() and scan_not(). void test01() { @@ -341,12 +340,9 @@ void test01() VERIFY_SCAN_NOT (std::ctype_base::upper, p2, p2); VERIFY_SCAN_NOT (std::ctype_base::xdigit, p2, p2); } -#endif int main() { -#ifdef _GLIBCXX_USE_WCHAR_T test01(); -#endif return 0; } |