Programming Release Notes
5.2 C++ Run-Time Library
information, see the Apache tracker for the issue STDCXX-397 at
http://issues.apache.org/jira/browse/STDCXX-397
The problem has been fixed. However, for some input sequences, the fix
can change the behavior of
std::sort
with regard to the relative order in
which elements that have equivalent ordering are placed into the sorted
sequence. Though this change in behavior is permissible because,
unlike
std::stable_sort
,
std::sort
does not guarantee any particular relative
order of elements having equivalent ordering, to avoid breaking applications
that rely on existing behaviour of
std::sort
, the fix is conditionalized with
_ _RW_ FIX_APACHE_STDCXX_397 macro. The fix is in effect only when the
program is compiled with this macro defined.
• When compiled in standard GNU mode, the library now defines the _RWSTD_
NO_IMPLICIT_INCLUSION macro, which causes library headers to include
their respective template definition files. This is necessary because in
standard GNU mode, implicit inclusion is disabled.
Before this change, the program below would link with undefined symbol
when compiled in standard GNU mode:
#include <vector>
int main() {
std::vector<int> v;
v.push_back(0);
}
• According to section 27.6.1.3
[lib.istream.unformatted]
of the C++
Standard, the following
get member
functions of the
std::basic_istream
class should call
setstate(failbit)
if no characters have been stored, as
is the case for an empty line. While on Integrity servers the functions set
failbit, on Alpha systems they do not, for example:
istream_type& get(char_type *s, streamsize n, char_type delim);
istream_type& get(char_type *s, streamsize n);
5.3 Process/Application Hangs
The following restriction applies to the LIBRTL documentation for the
lib$find_image_symbol
run-time library routine:
If your application might dynamically activate shareable images that use
pthreads (or the older CMA thread interface), the main image must be linked
with the
pthread$rtl
image.
5.4 AST Delivery Clarification in Programs using POSIX Threads
V8.3-1H1
It is possible to utilize ASTs in threaded programs. Section B.12.5 in the Guide
to the POSIX Threads Library describes some general usage notes and cautions.
However, that section does not make clear how AST delivery behaves in programs
with upcalls disabled (which is the default configuration).
In a program with upcalls disabled, user-mode ASTs will interrupt whatever
thread happens to be executing at the moment that the AST is delivered.
Therefore the AST service routine cannot make any assumptions about the
context in which it executes (with respect to thread ID, stack space available, and
so on.)
Programming Release Notes 5–3