diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5a20902efbe..75cea57a65b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2007-01-14 Paolo Carlini + + * include/bits/stl_algobase.h (fill_n(char*, _Size, + const signed char&)): Fix signature. + * testsuite/25_algorithms/fill/3.cc: New. + 2007-01-13 John David Anglin * config/cpu/hppa/atomicity.h (__exchange_and_add): Don't use ordered diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h index 4623c615f8e..b5a0039f393 100644 --- a/libstdc++-v3/include/bits/stl_algobase.h +++ b/libstdc++-v3/include/bits/stl_algobase.h @@ -675,7 +675,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template inline signed char* - fill_n(char* __first, _Size __n, const signed char& __c) + fill_n(signed char* __first, _Size __n, const signed char& __c) { std::fill(__first, __first + __n, __c); return __first + __n; diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/3.cc b/libstdc++-v3/testsuite/25_algorithms/fill/3.cc new file mode 100644 index 00000000000..3fbd5b5189e --- /dev/null +++ b/libstdc++-v3/testsuite/25_algorithms/fill/3.cc @@ -0,0 +1,42 @@ +// 2007-01-13 Paolo Carlini + +// Copyright (C) 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. + +// 25.2.5 [lib.alg.fill] Fill + +#include +#include + +void test01() +{ + bool test __attribute__((unused)) = true; + + char ca[1] = { '\0' }; + signed char sc = 1; + + std::fill_n(ca, 1, sc); + VERIFY( ca[0] == 1 ); +} + +int +main() +{ + test01(); + return 0; +}