Issue Details (XML | Word | Printable)

Key: STDCXX-438
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Farid Zaripov
Reporter: Martin Sebor
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

std::string::append (InputIterator, InputIterator) appending self incorrect

Created: 06/Jun/07 07:18 PM   Updated: 26/Mar/08 05:40 PM
Return to search
Component/s: 21. Strings
Affects Version/s: 4.1.2, 4.1.3, 4.1.4, 4.2.0
Fix Version/s: 4.2.1

Time Tracking:
Original Estimate: 8h
Original Estimate - 8h
Remaining Estimate: 0h
Time Spent - 8h
Time Spent: 8h
Time Spent - 8h

Environment: all
Issue Links:
Dependants
 
dependent
 

Severity: Incorrect Behavior
Resolved: 22/Feb/08 05:41 PM
Resolution Date: 17/Mar/08 02:44 PM


 Description  « Hide
The 21.string.append.cpp test has been failing a number of assertions for self-referential test cases that exercise the ability to append a substring of a string into itself using the append(InputIterator, InputIterator) member template specialization for InputIterator being an actual Input Iterator. The program below reproduces the problem in a small isolated test case.
$ cat t.cpp && gmake t && ./t
#include <cassert>
#include <cstdlib>
#include <cstring>
#include <iterator>
#include <new>
#include <string>

void* operator new (std::size_t n) throw (std::bad_alloc)
{
    void* const ptr = std::malloc (n + sizeof n);
    std::memset (ptr, -1, n);
    *(std::size_t*)ptr = n;
    return (std::size_t*)ptr + 1;
}

void operator delete (void *ptr) throw ()
{
    std::memset (ptr, -1, *((std::size_t*)ptr - 1));
    std::free ((std::size_t*)ptr - 1);
    
}

struct InputIterator: std::iterator<std::input_iterator_tag, char>
{
    const char *p_;
    InputIterator (const char *p): p_ (p) { }

    char operator* () const { return *p_; }
    InputIterator& operator++ () { return ++p_, *this; }
    InputIterator operator++ (int) {
        return ++p_, InputIterator (p_ - 1);
    }

    bool operator== (const InputIterator &rhs) const { return p_ == rhs.p_; }
};


int main ()
{
    const char s[] = "abc";

    {
        std::string str (s);

        const char* p0 = s + 1;
        const char* p1 = p0 + 1;

        const InputIterator first (p0);
        const InputIterator last (p1);

        str.append (first, last);

        assert ("abcb" == str);
    }

    {
        std::string str (s);

        const char* p0 = str.data () + 1;
        const char* p1 = p0 + 1;

        const InputIterator first (p0);
        const InputIterator last (p1);

        str.append (first, last);

        assert ("abcb" == str);
    }
}

aCC -c -I/amd/devco/sebor/stdcxx/include/ansi -I/usr/include  -D_RWSTDDEBUG   -mt -D_RWSTD_USE_CONFIG -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-aCC-3.73-15D/include -I/amd/devco/sebor/stdcxx/tests/include  -Aa +nostl  -g +d  +DD64 +w +W392 +W655 +W684 +W818 +W819 +W849   t.cpp
aCC t.o -o t -L/build/sebor/stdcxx-aCC-3.73-15D/rwtest -lrwtest15D -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings   -mt +DD64 -L/build/sebor/stdcxx-aCC-3.73-15D/lib  -Wl,+b/build/sebor/stdcxx-aCC-3.73-15D/lib:/build/sebor/stdcxx-aCC-3.73-15D/rwtest -lstd15D  -lm 
Assertion failed: "abcb" == str, file t.cpp, line 67
ABORT instruction (core dumped)


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #635443 Mon Mar 10 06:02:55 UTC 2008 faridz 2008-03-10 Farid Zaripov <farid_zaripov@epam.com>

* tests/regress/21.string.append.STDCXX-438.cpp: Regression
test for STDCXX-438 issue.
Files Changed
ADD /stdcxx/trunk/tests/regress/21.string.append.stdcxx-438.cpp

Repository Revision Date User Message
ASF #641433 Wed Mar 26 17:39:28 UTC 2008 faridz 2008-03-26 Farid Zaripov <farid_zaripov@epam.com>

Merged r641324 from trunk.
* tests/regress/21.string.append.STDCXX-438.cpp: Regression
test for STDCXX-438 issue.
Files Changed
ADD /stdcxx/branches/4.2.x/tests/regress/21.string.append.stdcxx-438.cpp (from /stdcxx/trunk/tests/regress/21.string.append.stdcxx-438.cpp)

Repository Revision Date User Message
ASF #814409 Sun Sep 13 22:34:54 UTC 2009 sebor 2009-09-13 Martin Sebor <sebor@apache.org>

* tests/localization/22.locale.ctype.tolower.cpp (locale_list): Removed
unused global variable to silence gcc -Wshadow warnings.
* tests/localization/22.locale.messages.mt.cpp (run_test): Silenced
gcc's -Wunused warning, corrected a logic error in a preprocessor
conditional and fixed a typo.
* tests/localization/22.locale.statics.mt.cpp (test_global): Changed
type of a local variable to avoid gcc's -Wsign-compare warnings.
* tests/regress/22.locale.messages.STDCXX-542.cpp (run_test): Same.
* tests/containers/23.bitset.cpp (test_ctors, stress_ctors,
test_operators, test_other, stress_count, test_elem_access,
test_to_string): Corrected formatting directive for size_t argument.
* tests/regress/23.set.STDCXX-216.cpp (Value::Value(unsigned): Renamed
a function formal argument to avoid a gcc -Wshadow warning. Removed
commented out debugging code.
* tests/regress/21.string.append.STDCXX-438.cpp (operator new): Threw
std::bad_alloc on failure as required instead of returning null to
silence a gcc warning.
* tests/regress/21.string.replace.STDCXX-175.cpp (main): Removed
unused arguments to silence gcc -Wunused warnings.
* tests/regress/23.list.special.STDCXX-334.cpp (operator==, operator!=,
main): Same.
* tests/regress/23.list.insert.STDCXX-331.cpp (main): Same.
* tests/regress/21.string.STDCXX-466.cpp (main): Same.
* tests/regress/23.list.cons.STDCXX-268.cpp (main): Same.
* util/locale.cpp (write_coll_info): Removed an empty else branch
to silence a gcc -Wmissing-braces warning.
* util/exec.cpp (wait_for_child): Added braces to silence a gcc
-Wmissing-braces warning.
Files Changed
MODIFY /stdcxx/branches/4.2.x/util/locale.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/21.string.replace.stdcxx-175.cpp
MODIFY /stdcxx/branches/4.2.x/tests/containers/23.bitset.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/23.list.cons.stdcxx-268.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/22.locale.messages.stdcxx-542.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/21.string.append.stdcxx-438.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/23.list.special.stdcxx-334.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/23.set.stdcxx-216.cpp
MODIFY /stdcxx/branches/4.2.x/util/exec.cpp
MODIFY /stdcxx/branches/4.2.x/tests/localization/22.locale.statics.mt.cpp
MODIFY /stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.tolower.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/23.list.insert.stdcxx-331.cpp
MODIFY /stdcxx/branches/4.2.x/tests/regress/21.string.stdcxx-466.cpp
MODIFY /stdcxx/branches/4.2.x/tests/localization/22.locale.messages.mt.cpp

Repository Revision Date User Message
ASF #814418 Sun Sep 13 22:46:24 UTC 2009 sebor 2009-09-13 Martin Sebor <sebor@apache.org>

Merged revs 814395, 814400, 814401, 814405, and 814409 from
branches/4.2.x.

2009-09-13 Martin Sebor <sebor@apache.org>

* tests/regress/23.vector.STDCXX-1037.cpp (Alloc::Alloc(const Alloc&)):
Corrected syntax to prevent compiler errors. (Does a recent version of
any compiler actually allow this? Maybe Visual C++?)

2009-09-13 Martin Sebor <sebor@apache.org>

STDCXX-791
* include/deque.cc (deque::_C_push): Parenthesized logic
expression to silence gcc -Wparentheses warning.
* include/list.cc (list::splice): Same.
* valarray (valarray::valarray(const gslice_array&,
gslice_array::operator=, gslice_array::operator*=,
gslice_array::operator/=, gslice_array::operator+=,
gslice_array::operator-=, gslice_array::operator%=,
gslice_array::operator^=, gslice_array::operator&=,
gslice_array::operator|=, gslice_array::operator<<=,
gslice_array::operator>>=): Same.
* tests/iostream/27.filebuf.cpp (CodeCvt::do_in): Same.
* tests/numerics/26.c.math.cp (test_behavior): Same.
* tests/src/locale.cpp (rw_get_wchars): Same.
* (UserTraits::lt, UserTraits::compare, UserTraits::copy,
UserTraits::move): Same.
* tests/src/cmdopt.cpp (_rw_print_help, _rw_getbounds, rw_runopts):
Same.
* tests/src/23.containers.cpp (_rw_sigcat): Same.
* tests/src/opt_lines.cpp (_rw_enable_line): Same.
* tests/src/printf.cpp (_rw_fmtstrarray, _rw_vasnprintf_ext,
_rw_fmtstr): Same.
* tests/src/opt_trace.cpp (_rw_setopt_trace_mask): Same.
* tests/localization/22.locale.num.put.cpp (do_test): Same.
* tests/localization/22.locale.messages.cpp (open_catalog): Same.
* tests/localization/22.locale.numpunct.cpp (check_numpunct): Same.
* tests/localization/22.locale.time.get.cpp (do_test): Same.
* tests/localization/22.locale.money.get.cpp (do_test): Same.
* tests/localization/22.locale.num.get.cpp (do_test): Same.
* tests/self/0.fnmatch.cpp (test): Same.
* tests/strings/21.string.compare.cpp (test_compare): Same.
* tests/strings/21.string.io.cpp (test_io): Same.
* tests/containers/23.vector.cons.cpp (test_ctors): Same.
* tests/algorithms/25.equal.cpp (test_equal): Same.
* tests/algorithms/25.transform.cpp (gen_test): Same.
* tests/algorithms/25.replace.cpp (test_replace): Same.
* util/collate.cpp (Def::process_order_stmt): Same.
* examples/tutorial/icecream.cpp (irand): Same.
* tests/support/18.numeric.special.float.cpp (VERIFY_FUNCTION): Same.
* tests/iostream/27.filebuf.codecvt.cpp (cformat::do_in): Same.
(run_test): Changed the type of a local to silence gcc's
-Wsign-compare warnings.
* include/rw/_ioiter.h (istreambuf_iterator::equal): Simplified
expression to silence gcc -Wparentheses warning and to help gcc
generate more optimal code (see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38126).
* tests/iostream/27.istream.sentry.cpp (test_ok): Same.

2009-09-13 Martin Sebor <sebor@apache.org>

STDCXX-791
* include/valarray (valarray::valarray(const gslice_array&,
gslice_array::operator=, gslice_array::operator*=,
gslice_array::operator/=, gslice_array::operator+=,
gslice_array::operator-=, gslice_array::operator%=,
gslice_array::operator^=, gslice_array::operator&=,
gslice_array::operator|=, gslice_array::operator<<=,
gslice_array::operator>>=): Parenthesized logic expression
to silence gcc -Wparentheses warning. (Missed in r814400).

2009-09-13 Martin Sebor <sebor@apache.org>

STDCXX-791
* tests/src/char.cpp (UserTraits::lt, UserTraits::compare,
UserTraits::copy, UserTraits::move): Parenthesized logic expression
to silence gcc -Wparentheses warning. (Missed in r814400).

2009-09-13 Martin Sebor <sebor@apache.org>

* tests/localization/22.locale.ctype.tolower.cpp (locale_list): Removed
unused global variable to silence gcc -Wshadow warnings.
* tests/localization/22.locale.messages.mt.cpp (run_test): Silenced
gcc's -Wunused warning, corrected a logic error in a preprocessor
conditional and fixed a typo.
* tests/localization/22.locale.statics.mt.cpp (test_global): Changed
type of a local variable to avoid gcc's -Wsign-compare warnings.
* tests/regress/22.locale.messages.STDCXX-542.cpp (run_test): Same.
* tests/containers/23.bitset.cpp (test_ctors, stress_ctors,
test_operators, test_other, stress_count, test_elem_access,
test_to_string): Corrected formatting directive for size_t argument.
* tests/regress/23.set.STDCXX-216.cpp (Value::Value(unsigned): Renamed
a function formal argument to avoid a gcc -Wshadow warning. Removed
commented out debugging code.
* tests/regress/21.string.append.STDCXX-438.cpp (operator new): Threw
std::bad_alloc on failure as required instead of returning null to
silence a gcc warning.
* tests/regress/21.string.replace.STDCXX-175.cpp (main): Removed
unused arguments to silence gcc -Wunused warnings.
* tests/regress/23.list.special.STDCXX-334.cpp (operator==, operator!=,
main): Same.
* tests/regress/23.list.insert.STDCXX-331.cpp (main): Same.
* tests/regress/21.string.STDCXX-466.cpp (main): Same.
* tests/regress/23.list.cons.STDCXX-268.cpp (main): Same.
* util/locale.cpp (write_coll_info): Removed an empty else branch
to silence a gcc -Wmissing-braces warning.
* util/exec.cpp (wait_for_child): Added braces to silence a gcc
-Wmissing-braces warning.
Files Changed
MODIFY /stdcxx/branches/4.3.x/src/x86
MODIFY /stdcxx/branches/4.3.x/examples/tutorial/icecream.cpp
MODIFY /stdcxx/branches/4.3.x/tests/src/opt_lines.cpp
MODIFY /stdcxx/branches/4.3.x
MODIFY /stdcxx/branches/4.3.x/tests/regress/23.vector.stdcxx-1037.cpp
MODIFY /stdcxx/branches/4.3.x/tests/strings/21.string.compare.cpp
MODIFY /stdcxx/branches/4.3.x/tests/regress/21.string.append.stdcxx-438.cpp
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.ctype.tolower.cpp
MODIFY /stdcxx/branches/4.3.x/tests/algorithms/25.transform.cpp
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.statics.mt.cpp
MODIFY /stdcxx/branches/4.3.x/tests/self/0.fnmatch.cpp
MODIFY /stdcxx/branches/4.3.x/tests/src/opt_trace.cpp
MODIFY /stdcxx/branches/4.3.x/include/valarray
MODIFY /stdcxx/branches/4.3.x/tests/regress/23.list.insert.stdcxx-331.cpp
MODIFY /stdcxx/branches/4.3.x/tests/regress/21.string.stdcxx-466.cpp
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.numpunct.cpp
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.time.get.cpp
MODIFY /stdcxx/branches/4.3.x/tests/support/18.numeric.special.float.cpp
MODIFY /stdcxx/branches/4.3.x/tests/algorithms/25.equal.cpp
MODIFY /stdcxx/branches/4.3.x/tests/algorithms/25.replace.cpp
MODIFY /stdcxx/branches/4.3.x/tests/src/cmdopt.cpp
MODIFY /stdcxx/branches/4.3.x/tests/containers/23.bitset.cpp
MODIFY /stdcxx/branches/4.3.x/tests/iostream/27.filebuf.cpp
MODIFY /stdcxx/branches/4.3.x/tests/regress/23.list.special.stdcxx-334.cpp
MODIFY /stdcxx/branches/4.3.x/tests/regress/22.locale.messages.stdcxx-542.cpp
MODIFY /stdcxx/branches/4.3.x/doc/stdlibug/14-3.html
MODIFY /stdcxx/branches/4.3.x/tests/regress/23.set.stdcxx-216.cpp
MODIFY /stdcxx/branches/4.3.x/src
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.num.put.cpp
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.money.get.cpp
MODIFY /stdcxx/branches/4.3.x/src/atomic-cxx.S
MODIFY /stdcxx/branches/4.3.x/src/x86_64
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.num.get.cpp
MODIFY /stdcxx/branches/4.3.x/include/deque.cc
MODIFY /stdcxx/branches/4.3.x/tests/regress/21.string.replace.stdcxx-175.cpp
MODIFY /stdcxx/branches/4.3.x/tests/numerics/26.c.math.cpp
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.messages.cpp
MODIFY /stdcxx/branches/4.3.x/tests/containers/23.vector.cons.cpp
MODIFY /stdcxx/branches/4.3.x/util/exec.cpp
MODIFY /stdcxx/branches/4.3.x/tests/src/char.cpp
MODIFY /stdcxx/branches/4.3.x/tests/strings/21.string.io.cpp
MODIFY /stdcxx/branches/4.3.x/tests/src/23.containers.cpp
MODIFY /stdcxx/branches/4.3.x/util/locale.cpp
MODIFY /stdcxx/branches/4.3.x/tests/iostream/27.istream.sentry.cpp
MODIFY /stdcxx/branches/4.3.x/tests/src/printf.cpp
MODIFY /stdcxx/branches/4.3.x/tests/src/locale.cpp
MODIFY /stdcxx/branches/4.3.x/tests/regress/23.list.cons.stdcxx-268.cpp
MODIFY /stdcxx/branches/4.3.x/util/collate.cpp
MODIFY /stdcxx/branches/4.3.x/tests/iostream/27.filebuf.codecvt.cpp
MODIFY /stdcxx/branches/4.3.x/tests/localization/22.locale.messages.mt.cpp
MODIFY /stdcxx/branches/4.3.x/include/list.cc
MODIFY /stdcxx/branches/4.3.x/include/rw/_ioiter.h

Repository Revision Date User Message
ASF #814419 Sun Sep 13 22:46:50 UTC 2009 sebor 2009-09-13 Martin Sebor <sebor@apache.org>

Merged revs 814395, 814400, 814401, 814405, and 814409 from
branches/4.2.x.

2009-09-13 Martin Sebor <sebor@apache.org>

* tests/regress/23.vector.STDCXX-1037.cpp (Alloc::Alloc(const Alloc&)):
Corrected syntax to prevent compiler errors. (Does a recent version of
any compiler actually allow this? Maybe Visual C++?)

2009-09-13 Martin Sebor <sebor@apache.org>

STDCXX-791
* include/deque.cc (deque::_C_push): Parenthesized logic
expression to silence gcc -Wparentheses warning.
* include/list.cc (list::splice): Same.
* valarray (valarray::valarray(const gslice_array&,
gslice_array::operator=, gslice_array::operator*=,
gslice_array::operator/=, gslice_array::operator+=,
gslice_array::operator-=, gslice_array::operator%=,
gslice_array::operator^=, gslice_array::operator&=,
gslice_array::operator|=, gslice_array::operator<<=,
gslice_array::operator>>=): Same.
* tests/iostream/27.filebuf.cpp (CodeCvt::do_in): Same.
* tests/numerics/26.c.math.cp (test_behavior): Same.
* tests/src/locale.cpp (rw_get_wchars): Same.
* (UserTraits::lt, UserTraits::compare, UserTraits::copy,
UserTraits::move): Same.
* tests/src/cmdopt.cpp (_rw_print_help, _rw_getbounds, rw_runopts):
Same.
* tests/src/23.containers.cpp (_rw_sigcat): Same.
* tests/src/opt_lines.cpp (_rw_enable_line): Same.
* tests/src/printf.cpp (_rw_fmtstrarray, _rw_vasnprintf_ext,
_rw_fmtstr): Same.
* tests/src/opt_trace.cpp (_rw_setopt_trace_mask): Same.
* tests/localization/22.locale.num.put.cpp (do_test): Same.
* tests/localization/22.locale.messages.cpp (open_catalog): Same.
* tests/localization/22.locale.numpunct.cpp (check_numpunct): Same.
* tests/localization/22.locale.time.get.cpp (do_test): Same.
* tests/localization/22.locale.money.get.cpp (do_test): Same.
* tests/localization/22.locale.num.get.cpp (do_test): Same.
* tests/self/0.fnmatch.cpp (test): Same.
* tests/strings/21.string.compare.cpp (test_compare): Same.
* tests/strings/21.string.io.cpp (test_io): Same.
* tests/containers/23.vector.cons.cpp (test_ctors): Same.
* tests/algorithms/25.equal.cpp (test_equal): Same.
* tests/algorithms/25.transform.cpp (gen_test): Same.
* tests/algorithms/25.replace.cpp (test_replace): Same.
* util/collate.cpp (Def::process_order_stmt): Same.
* examples/tutorial/icecream.cpp (irand): Same.
* tests/support/18.numeric.special.float.cpp (VERIFY_FUNCTION): Same.
* tests/iostream/27.filebuf.codecvt.cpp (cformat::do_in): Same.
(run_test): Changed the type of a local to silence gcc's
-Wsign-compare warnings.
* include/rw/_ioiter.h (istreambuf_iterator::equal): Simplified
expression to silence gcc -Wparentheses warning and to help gcc
generate more optimal code (see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38126).
* tests/iostream/27.istream.sentry.cpp (test_ok): Same.

2009-09-13 Martin Sebor <sebor@apache.org>

STDCXX-791
* include/valarray (valarray::valarray(const gslice_array&,
gslice_array::operator=, gslice_array::operator*=,
gslice_array::operator/=, gslice_array::operator+=,
gslice_array::operator-=, gslice_array::operator%=,
gslice_array::operator^=, gslice_array::operator&=,
gslice_array::operator|=, gslice_array::operator<<=,
gslice_array::operator>>=): Parenthesized logic expression
to silence gcc -Wparentheses warning. (Missed in r814400).

2009-09-13 Martin Sebor <sebor@apache.org>

STDCXX-791
* tests/src/char.cpp (UserTraits::lt, UserTraits::compare,
UserTraits::copy, UserTraits::move): Parenthesized logic expression
to silence gcc -Wparentheses warning. (Missed in r814400).

2009-09-13 Martin Sebor <sebor@apache.org>

* tests/localization/22.locale.ctype.tolower.cpp (locale_list): Removed
unused global variable to silence gcc -Wshadow warnings.
* tests/localization/22.locale.messages.mt.cpp (run_test): Silenced
gcc's -Wunused warning, corrected a logic error in a preprocessor
conditional and fixed a typo.
* tests/localization/22.locale.statics.mt.cpp (test_global): Changed
type of a local variable to avoid gcc's -Wsign-compare warnings.
* tests/regress/22.locale.messages.STDCXX-542.cpp (run_test): Same.
* tests/containers/23.bitset.cpp (test_ctors, stress_ctors,
test_operators, test_other, stress_count, test_elem_access,
test_to_string): Corrected formatting directive for size_t argument.
* tests/regress/23.set.STDCXX-216.cpp (Value::Value(unsigned): Renamed
a function formal argument to avoid a gcc -Wshadow warning. Removed
commented out debugging code.
* tests/regress/21.string.append.STDCXX-438.cpp (operator new): Threw
std::bad_alloc on failure as required instead of returning null to
silence a gcc warning.
* tests/regress/21.string.replace.STDCXX-175.cpp (main): Removed
unused arguments to silence gcc -Wunused warnings.
* tests/regress/23.list.special.STDCXX-334.cpp (operator==, operator!=,
main): Same.
* tests/regress/23.list.insert.STDCXX-331.cpp (main): Same.
* tests/regress/21.string.STDCXX-466.cpp (main): Same.
* tests/regress/23.list.cons.STDCXX-268.cpp (main): Same.
* util/locale.cpp (write_coll_info): Removed an empty else branch
to silence a gcc -Wmissing-braces warning.
* util/exec.cpp (wait_for_child): Added braces to silence a gcc
-Wmissing-braces warning.
Files Changed
MODIFY /stdcxx/trunk/tests/algorithms/25.equal.cpp
MODIFY /stdcxx/trunk/tests/algorithms/25.replace.cpp
MODIFY /stdcxx/trunk/tests/iostream/27.istream.sentry.cpp
MODIFY /stdcxx/trunk/tests/src/printf.cpp
MODIFY /stdcxx/trunk/tests/iostream/27.filebuf.cpp
MODIFY /stdcxx/trunk/tests/src/locale.cpp
MODIFY /stdcxx/trunk/tests/regress/22.locale.messages.stdcxx-542.cpp
MODIFY /stdcxx/trunk/tests/regress/23.set.stdcxx-216.cpp
MODIFY /stdcxx/trunk/util/collate.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.messages.mt.cpp
MODIFY /stdcxx/trunk/include/rw/_ioiter.h
MODIFY /stdcxx/trunk/examples/tutorial/icecream.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.messages.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.ctype.tolower.cpp
MODIFY /stdcxx/trunk/util/exec.cpp
MODIFY /stdcxx/trunk/tests/containers/23.vector.cons.cpp
MODIFY /stdcxx/trunk/tests/self/0.fnmatch.cpp
MODIFY /stdcxx/trunk/include/valarray
MODIFY /stdcxx/trunk/tests/regress/21.string.stdcxx-466.cpp
MODIFY /stdcxx/trunk/tests/support/18.numeric.special.float.cpp
MODIFY /stdcxx/trunk/tests/src/23.containers.cpp
MODIFY /stdcxx/trunk/util/locale.cpp
MODIFY /stdcxx/trunk/tests/src/cmdopt.cpp
MODIFY /stdcxx/trunk/tests/containers/23.bitset.cpp
MODIFY /stdcxx/trunk/tests/regress/23.list.special.stdcxx-334.cpp
MODIFY /stdcxx/trunk/tests/regress/23.list.cons.stdcxx-268.cpp
MODIFY /stdcxx/trunk/doc/stdlibug/14-3.html
MODIFY /stdcxx/trunk/tests/iostream/27.filebuf.codecvt.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.num.put.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.money.get.cpp
MODIFY /stdcxx/trunk/src/atomic-cxx.S
MODIFY /stdcxx/trunk/src/x86_64
MODIFY /stdcxx/trunk/include/list.cc
MODIFY /stdcxx/trunk/tests/localization/22.locale.num.get.cpp
MODIFY /stdcxx/trunk/include/deque.cc
MODIFY /stdcxx/trunk/tests/regress/21.string.replace.stdcxx-175.cpp
MODIFY /stdcxx/trunk/src/x86
MODIFY /stdcxx/trunk/tests/numerics/26.c.math.cpp
MODIFY /stdcxx/trunk/tests/src/opt_lines.cpp
MODIFY /stdcxx/trunk
MODIFY /stdcxx/trunk/tests/regress/21.string.append.stdcxx-438.cpp
MODIFY /stdcxx/trunk/tests/regress/23.vector.stdcxx-1037.cpp
MODIFY /stdcxx/trunk/tests/strings/21.string.compare.cpp
MODIFY /stdcxx/trunk/tests/algorithms/25.transform.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.statics.mt.cpp
MODIFY /stdcxx/trunk/tests/src/opt_trace.cpp
MODIFY /stdcxx/trunk/tests/regress/23.list.insert.stdcxx-331.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.numpunct.cpp
MODIFY /stdcxx/trunk/tests/localization/22.locale.time.get.cpp
MODIFY /stdcxx/trunk/tests/src/char.cpp
MODIFY /stdcxx/trunk/tests/strings/21.string.io.cpp