http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50450

             Bug #: 50450
           Summary: /usr/include/c++/4.6/bits/stl_set.h      ifdef
                    __GXX_EXPERIMENTAL_CXX0X__
    Classification: Unclassified
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: luc.casterm...@gmail.com


in file:  /usr/include/c++/4.6/bits/stl_set.h

The function insert() at line 407 will be included twice due to 
the same function at line 416.

The first insert() at line 407 should be made part
of the conditional compile as well. Below my suggestion to fix it.

    414 #ifndef __GXX_EXPERIMENTAL_CXX0X__
    406       std::pair<iterator, bool>
    407       insert(const value_type& __x)
    408       {
    409         std::pair<typename _Rep_type::iterator, bool> __p =
    410           _M_t._M_insert_unique(__x);
    411         return std::pair<iterator, bool>(__p.first, __p.second);
    412       }
    413 
    414 #else
    415       std::pair<iterator, bool>
    416       insert(value_type&& __x)
    417       {
    418         std::pair<typename _Rep_type::iterator, bool> __p =
    419           _M_t._M_insert_unique(std::move(__x));
    420         return std::pair<iterator, bool>(__p.first, __p.second);
    421       }
    422 #endif

Reply via email to