Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-162

[x86_64] atomic operations disabled

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 4.1.3
    • Fix Version/s: 5.0.0
    • Component/s: Configuration
    • Labels:
      None
    • Environment:

      x86_64

    • Severity:
      Inefficiency

      Description

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                sebor Martin Sebor
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: