[ http://issues.apache.org/jira/browse/STDCXX-162?page=all ]
Martin Sebor updated STDCXX-162:
--------------------------------
Fix Version: 4.2
(was: 4.1.4)
> [x86_64] atomic operations disabled
> -----------------------------------
>
> Key: STDCXX-162
> URL: http://issues.apache.org/jira/browse/STDCXX-162
> Project: C++ Standard Library
> Type: Improvement
> Components: Configuration
> Versions: 4.1.3
> Environment: x86_64
> Reporter: Martin Sebor
> Priority: Critical
> Fix For: 4.2
>
> Atomic operations are disabled on AMD64 and EM64T.
> $ uname -srp && cat t.cpp && make t &&
> LD_LIBRARY_PATH=../lib:$LD_LIBRARY_PATH ./t
> Linux 2.6.9-22.ELsmp x86_64
> #include <cassert>
> #include <string>
> #include <pthread.h>
> int main ()
> {
> typedef std::char_traits<char> Traits;
> typedef std::allocator<char> Allocator;
> typedef __rw::__string_ref<char, Traits, Allocator> strref;
> struct SmallRef {
> int ref_count;
> std::string::size_type capacity;
> std::string::size_type size;
> };
> struct LargeRef {
> pthread_mutex_t mutex;
> int ref_count;
> std::string::size_type capacity;
> std::string::size_type size;
> };
> assert (sizeof (strref) <= sizeof (SmallRef));
> assert (sizeof (strref) < sizeof (LargeRef));
> }
> gcc -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG -pthread
> -D_RWSTD_USE_CONFIG -I/build/sebor/gcc-3.4.4-15D/include
> -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/../rwtest
> -I/build/sebor/dev/stdlib/../rwtest/include
> -I/build/sebor/dev/stdlib/tests/include -pedantic -nostdinc++ -g -Wall -W
> -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align
> t.cpp
> gcc t.o -o t -L/build/sebor/gcc-3.4.4-15D/rwtest -lrwtest15d -pthread
> -L/build/sebor/gcc-3.4.4-15D/lib -lstd15d -lsupc++ -lm
> t: t.cpp:24: int main(): Assertion `sizeof (strref) <= sizeof (SmallRef)'
> failed.
> Aborted
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira