diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-03 04:32:25 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-03 04:32:25 +0000 |
commit | b26a4c3cd8086d42139d05da8ebc2620c7a7ad38 (patch) | |
tree | d062c274abad0eba2f5d8903db46d47e94935cf1 /libstdc++-v3 | |
parent | c3264d7ee05c9924a63fcf34bd95e5b3c98156ff (diff) | |
download | gcc-b26a4c3cd8086d42139d05da8ebc2620c7a7ad38.tar.gz |
* gcc/tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
* gcc/cp/Make-lang.in (cp/typeck2.o): Add dependency.
* libstdc++-v3/libsupc++/initializer_list: Uglify and wrap in
__GXX_EXPERIMENTAL_CXX0X__.
* libstdc++-v3/include/bits/stl_map.h (insert(initializer_list)): Wrap.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137406 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_map.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/initializer_list | 23 |
3 files changed, 23 insertions, 12 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4c3689e3421..6f0b4152c47 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2008-07-02 Jason Merrill <jason@redhat.com> + * libsupc++/initializer_list: Uglify and wrap in + __GXX_EXPERIMENTAL_CXX0X__. + * include/bits/stl_map.h (insert(initializer_list)): Wrap. + +2008-07-02 Jason Merrill <jason@redhat.com> + * libsupc++/initializer_list: New file. * include/bits/stl_map.h (insert(initializer_list)): New method. diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index cf0c16bc42d..cd85b9ab75d 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -469,6 +469,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) insert(const value_type& __x) { return _M_t._M_insert_unique(__x); } +#ifdef __GXX_EXPERIMENTAL_CXX0X__ /** * @brief Attempts to insert a list of std::pairs into the %map. * @param list A std::initializer_list<value_type> of pairs to be @@ -478,8 +479,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) * */ void - insert(std::initializer_list<value_type> list) - { insert (list.begin(), list.end()); } + insert(std::initializer_list<value_type> __list) + { insert (__list.begin(), __list.end()); } +#endif /** * @brief Attempts to insert a std::pair into the %map. diff --git a/libstdc++-v3/libsupc++/initializer_list b/libstdc++-v3/libsupc++/initializer_list index 1a3cba3dd02..3c81bb69c8b 100644 --- a/libstdc++-v3/libsupc++/initializer_list +++ b/libstdc++-v3/libsupc++/initializer_list @@ -31,34 +31,37 @@ #ifndef __CXX_INITIALIZER_LIST #define __CXX_INITIALIZER_LIST +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + #pragma GCC visibility push(default) #include <cstddef> namespace std { - template<class E> + template<class _E> class initializer_list { - const E* _array; - size_t _len; + const _E* __array; + size_t __len; // The compiler can call a private constructor. - initializer_list(const E* _a, size_t _l) - : _array(_a), _len(_l) { } + initializer_list(const _E* __a, size_t __l) + : __array(__a), __len(__l) { } public: initializer_list() - : _array(NULL), _len(0) {} + : __array(NULL), __len(0) {} size_t size() const // number of elements - { return _len; } - const E* begin() const // first element - { return _array; } - const E* end() const // one past the last element + { return __len; } + const _E* begin() const // first element + { return __array; } + const _E* end() const // one past the last element { return begin() + size(); } }; } #pragma GCC visibility pop +#endif // C++0x #endif // __CXX_INITIALIZER_LIST |