[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#575997: libstdc++6-4.5-dev: c++config.h doesn't seem to match reality



Package: libstdc++6-4.5-dev
Version: 4.5-20100103-1
Severity: normal



The file "/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h"
doesn't seem to actually reflect the available facilities of the system.

In particular (from that file):

   /* Defined if nanosleep is available. */
   /* #undef _GLIBCXX_USE_NANOSLEEP */

   /* Defined if sched_yield is available. */
   /* #undef _GLIBCXX_USE_SCHED_YIELD */

But both the nanosleep and sched_yield functions are actually available,
and seem to work fine.

These two are important because various libstdc++ interfaces are only
available if they are defined, in particular, in <thread>:

   #ifdef _GLIBCXX_USE_SCHED_YIELD
       /// yield
       inline void
       yield()
       { __gthread_yield(); }
   #endif

   #ifdef _GLIBCXX_USE_NANOSLEEP
       /// sleep_until
       template<typename _Clock, typename _Duration>
	 inline void
	 sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
	 { sleep_for(__atime - _Clock::now()); }

       /// sleep_for
       template<typename _Rep, typename _Period>
	 inline void
	 sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
	 {
...
	   ::nanosleep(&__ts, 0);
	 }
   #endif


Is there a good reason these features are disabled when they are
apparently available?

If not, could they please be enabled?

Thanks,

-Miles


-- System Information:
Debian Release: squeeze/sid
  APT prefers oldstable
  APT policy: (500, 'oldstable'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (50, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.33-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libstdc++6-4.5-dev depends on:
ii  g++-4.5                   4.5-20100103-1 The GNU C++ compiler
ii  gcc-4.5-base              4.5-20100103-1 The GNU Compiler Collection (base 
ii  libc6-dev                 2.10.2-6       Embedded GNU C Library: Developmen
ii  libstdc++6                4.5-20100103-1 The GNU Standard C++ Library v3

libstdc++6-4.5-dev recommends no packages.

Versions of packages libstdc++6-4.5-dev suggests:
pn  libstdc++6-4.5-doc            <none>     (no description available)

-- no debconf information



Reply to: