Bug 6250 - ошибка в определении deque
Summary: ошибка в определении deque
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: boost-devel (show other bugs)
Version: unstable
Hardware: all Linux
: P2 major
Assignee: Alexey Voinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-11 18:37 MSK by pal
Modified: 2008-04-22 14:54 MSD (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description pal 2005-03-11 18:37:49 MSK
[17:32:48 pal@underdark ~/tmp]$ g++ --version
i586-alt-linux-g++ (GCC) 3.4.3 20050221 (ALT Linux, build 3.4.3-alt5)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[17:26:52 pal@underdark ~/tmp]$ cat c.cpp 
#include <deque>
#include <boost/lambda/lambda.hpp>

[17:30:54 pal@underdark ~/tmp]$ g++ -c -D_GLIBCXX_DEBUG c.cpp 
In file included from /usr/include/boost/lambda/lambda.hpp:23,
                 from c.cpp:2:
/usr/include/boost/lambda/detail/operator_return_type_traits.hpp:908: error: use
of `deque' is ambiguous
/usr/include/boost/lambda/detail/operator_return_type_traits.hpp:871: error:  
first declared as `template<class T, class Allocator> struct std::deque' here
/usr/lib/gcc/i586-alt-linux/3.4.3/../../../../include/c++/3.4.3/debug/deque:42:
error:   also declared as `template<class _Tp, class _Allocator> class
__gnu_debug_def::deque' here
.....
а там

-------------------------
// The GCC 2.95.x uses a non-conformant deque
#if BOOST_WORKAROUND(__GNUC__, == 2) && __GNUC_MINOR__ <= 96
#include <deque>
#else

namespace std {
  template <class T, class Allocator> class deque;
}

#endif

#if BOOST_WORKAROUND(__GNUC__, == 3) && __GNUC_MINOR__ >=4
#include <vector>
#include <map>
#else

namespace std {
 template <class T, class Allocator> class vector;
 template <class Key, class T, class Cmp, class Allocator> class map;
 template <class Key, class T, class Cmp, class Allocator> class multimap;
}

#endif
--------------------

как видим, 3.4 при -D_GLIBCXX_DEBUG тоже не особо conformant
собственно, не только с deque

я пока руками поправлю, но надо бы в апстрим пробить
Comment 1 Igor Zubkov 2006-09-13 01:16:47 MSD
Ещё актуально?
Comment 2 pal 2006-09-13 19:41:56 MSD
нет