X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fdoc%2Fhtml%2Fmanual%2Fbugs.html;fp=libstdc%2B%2B-v3%2Fdoc%2Fhtml%2Fmanual%2Fbugs.html;h=9217b8a1e4ddf2a2237fce9b6923ddb24194fc44;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=0000000000000000000000000000000000000000;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/doc/html/manual/bugs.html b/libstdc++-v3/doc/html/manual/bugs.html new file mode 100644 index 00000000..9217b8a1 --- /dev/null +++ b/libstdc++-v3/doc/html/manual/bugs.html @@ -0,0 +1,330 @@ + + +
+ Information on known bugs, details on efforts to fix them, and
+ fixed bugs are all available as part of the GCC bug tracking
+ system, bugzilla, with the
+ category set to libstdc++
.
+
+ Everybody's got issues. Even the C++ Standard Library. +
+ The Library Working Group, or LWG, is the ISO subcommittee responsible + for making changes to the library. They periodically publish an + Issues List containing problems and possible solutions. As they reach + a consensus on proposed solutions, we often incorporate the solution. +
+ Here are the issues which have resulted in code changes to the library. + The links are to the specific defect reports from a partial + copy of the Issues List. You can read the full version online + at the ISO C++ + Committee homepage, linked to on the + GCC "Readings" + page. If + you spend a lot of time reading the issues, we recommend downloading + the ZIP file and reading them locally. +
+ (NB: partial copy means that not all + links within the lwg-*.html pages will work. Specifically, + links to defect reports that have not been accorded full DR + status will probably break. Rather than trying to mirror the + entire issues list on our overworked web server, we recommend + you go to the LWG homepage instead.) +
+ If a DR is not listed here, we may simply not have gotten to
+ it yet; feel free to submit a patch. Search the include/bits
+ and src directories for appearances of
+ _GLIBCXX_RESOLVE_LIB_DEFECTS
for examples
+ of style. Note that we usually do not make changes to the
+ code until an issue has reached DR status.
+
This should be two overloaded functions rather than a single function. +
Apparently extracting Boolean values was messed up... +
If codecvt::do_in
returns noconv
there are
+ no changes to the values in [to, to_limit)
.
+
Re-opening a file stream does not clear the state flags. +
Implement the proposed resolution. +
Padding issues. +
An instance of ios_base::failure
is constructed instead.
+
The return type is the previous state of synchronization. +
These members functions are declared private
and are
+ thus inaccessible. Specifying the correct semantics of
+ "copying stream state" was deemed too complicated.
+
This DR made many widespread changes to basic_istream
+ and basic_ostream
all of which have been implemented.
+
Make the policy consistent with that of formatted input, unformatted + input, and formatted output. +
And they do now. An editing glitch in the last item in the list of + [27.6.1.2.3]/7. +
The text of the standard was gibberish. Typos gone rampant. +
Change the first parameter to stateT&
and implement
+ the new effects paragraph.
+
Safety checks on the size of the string should test against
+ max_size()
rather than npos
.
+
The effect contain isspace(c,getloc())
which must be
+ replaced by isspace(c,is.getloc())
.
+
They behave as a formatted input function and as an unformatted
+ input function, respectively (except that getline
is
+ not required to set gcount
).
+
For associative containers where the value type is the same as
+ the key type, both iterator
and const_iterator
+
are constant iterators.
+
The binder1st
and binder2nd
didn't have an
+ operator()
taking a non-const parameter.
+
This was not a const member function. Note that the DR says to + replace the function with a const one; we have instead provided an + overloaded version with identical contents. +
num_put::put()
was overloaded on the wrong types.
+
Same as 117, but for num_get::get()
.
+
These functions set failbit
on error now.
+
seekp
should only set the output stream, and
+ seekg
should only set the input stream.
+
op<<
with a const char*
was
+ calculating an incorrect number of characters to write.
+
Grow efficiently the internal array object. +
Quite complex to summarize... +
This function used to take its arguments as reference-to-const, now + it copies them (pass by value). +
Yes, it can, specifically if EOF is reached while skipping whitespace. +
If nothing is extracted into the string, op>>
now
+ sets failbit
(which can cause an exception, etc., etc.).
+
Both set
and multiset
were missing
+ overloaded find, lower_bound, upper_bound, and equal_range functions
+ for const instances.
+
For conversion from a floating-point type, str.precision()
+ is specified in the conversion specification.
+
Implement N1780, first check before then check after, insert as close + to hint as possible. +
The declaration of reverse_iterator
lists a default constructor.
+ However, no specification is given what this constructor should do.
+
Add a helper for forward_iterator/output_iterator, fix the existing + one for input_iterator/output_iterator to not rely on Assignability. +
Store a null character only if the character array has a non-zero size. +
This nested typedef was originally not specified. +
Make the copy constructor and copy-assignment operator declarations + public in gslice_array, indirect_array, mask_array, slice_array; provide + definitions. +
The default ctor would build its members from copies of temporaries; + now it simply uses their respective default ctors. +
The bad_
* classes no longer have destructors (they
+ are trivial), since no description of them was ever given.
+
The typedefs it inherits from its base classes can't be used, since
+ (for example) basic_iostream<T>::traits_type
is ambiguous.
+
Similar to 118. +
Add global functions with two template parameters. + (NB: not added for now a templated assignment operator) +
If (this == &rhs)
do nothing.
+
If (this == &x)
do nothing.
+
Basically, compare the input character to
+ is.widen(0)
and is.widen(1)
.
+
Do not specify what codecvt<wchar_t, char,
+ mbstate_t>::do_length
must return.
+
Change the format string to "%.0Lf". +
Add const overloads of is_open
.
+
Add the real(T)
and imag(T)
+ members; in C++0x mode, also adjust the existing
+ real()
and imag()
members and
+ free functions.
+
Change it to return a const T&
.
+
Implement the proposed resolution. +
Replace "new" with "::new". +
Have open
clear the error flags.
+
Implement Option 3, as per N1599. +
Implement the resolution, beyond DR 169. +
Add three overloads, taking fewer template arguments. +
Implement the resolution, basically cast less. +
Don't fail if the next pointer is null and newoff is zero. +
Initialize cerr tied to cout and wcerr tied to wcout. +
Add data()
to std::vector
and
+ at(const key_type&)
to std::map
.
+
Fix the parameters. +
Construct a linear_congruential
engine and seed with it.
+
Use &value. +
In case of input_iterator/output_iterator rely on Assignability of + input_iterator' value_type. +
Add an auto_ptr<void> specialization. +
Follow the straightforward proposed resolution. +
In C++0x mode, remove the pow(float,int), etc., signatures. +
Change it to be a formatted output function (i.e. catch exceptions). +
Add the missing modes to fopen_mode. +
Add the missing operations. +
In C++0x mode add cbegin(size_type) and cend(size_type) + to the unordered containers. +
Add it, consistently with the discussion. +
Make the member functions table and classic_table public. +
In C++0x mode, add at() and at() const. +
Implement the int -> size_t replacements. +
In C++0x mode, remove assign, add fill. +
In C++0x mode, add std::proj. +
Add the overload. +
In C++0x mode, remove the pow(complex<T>, int) signature. +
Update / add the signatures. +