]> git.pld-linux.org Git - packages/gcc4.git/blob - gcc4-pr25626.patch
- added from gcc/
[packages/gcc4.git] / gcc4-pr25626.patch
1 --- gcc/libstdc++-v3/include/bits/valarray_array.h      (revision 110087)
2 +++ gcc/libstdc++-v3/include/bits/valarray_array.h      (working copy)
3 @@ -428,8 +428,24 @@
4        _Tp* const __restrict__ _M_data;
5      };
6  
7 +
8 +  // Copy-construct plain array __b[<__n>] from indexed array __a[__i[<__n>]]
9    template<typename _Tp>
10      inline void
11 +    __valarray_copy_construct(_Array<_Tp> __a, _Array<size_t> __i,
12 +                             _Array<_Tp> __b, size_t __n)
13 +    { std::__valarray_copy_construct(__a._M_data, __i._M_data,
14 +                                    __b._M_data, __n); }
15 +
16 +  // Copy-construct plain array __b[<__n>] from strided array __a[<__n : __s>]
17 +  template<typename _Tp>
18 +    inline void
19 +    __valarray_copy_construct(_Array<_Tp> __a, size_t __n, size_t __s,
20 +                             _Array<_Tp> __b)
21 +    { std::__valarray_copy_construct(__a._M_data, __n, __s, __b._M_data); }
22 +
23 +  template<typename _Tp>
24 +    inline void
25      __valarray_fill (_Array<_Tp> __a, size_t __n, const _Tp& __t)
26      { std::__valarray_fill(__a._M_data, __n, __t); }
27  
28 --- gcc/libstdc++-v3/include/std/std_valarray.h (revision 110087)
29 +++ gcc/libstdc++-v3/include/std/std_valarray.h (working copy)
30 @@ -584,7 +584,7 @@
31      valarray<_Tp>::valarray(const slice_array<_Tp>& __sa)
32      : _M_size(__sa._M_sz), _M_data(__valarray_get_storage<_Tp>(__sa._M_sz))
33      {
34 -      std::__valarray_copy
35 +      std::__valarray_copy_construct
36         (__sa._M_array, __sa._M_sz, __sa._M_stride, _Array<_Tp>(_M_data));
37      }
38  
39 @@ -594,7 +594,7 @@
40      : _M_size(__ga._M_index.size()),
41        _M_data(__valarray_get_storage<_Tp>(_M_size))
42      {
43 -      std::__valarray_copy
44 +      std::__valarray_copy_construct
45         (__ga._M_array, _Array<size_t>(__ga._M_index),
46          _Array<_Tp>(_M_data), _M_size);
47      }
48 @@ -604,7 +604,7 @@
49      valarray<_Tp>::valarray(const mask_array<_Tp>& __ma)
50      : _M_size(__ma._M_sz), _M_data(__valarray_get_storage<_Tp>(__ma._M_sz))
51      {
52 -      std::__valarray_copy
53 +      std::__valarray_copy_construct
54         (__ma._M_array, __ma._M_mask, _Array<_Tp>(_M_data), _M_size);
55      }
56  
57 @@ -613,7 +613,7 @@
58      valarray<_Tp>::valarray(const indirect_array<_Tp>& __ia)
59      : _M_size(__ia._M_sz), _M_data(__valarray_get_storage<_Tp>(__ia._M_sz))
60      {
61 -      std::__valarray_copy
62 +      std::__valarray_copy_construct
63         (__ia._M_array, __ia._M_index, _Array<_Tp>(_M_data), _M_size);
64      }
65  
66 @@ -621,7 +621,7 @@
67      inline
68      valarray<_Tp>::valarray(const _Expr<_Dom, _Tp>& __e)
69      : _M_size(__e.size()), _M_data(__valarray_get_storage<_Tp>(_M_size))
70 -    { std::__valarray_copy(__e, _M_size, _Array<_Tp>(_M_data)); }
71 +    { std::__valarray_copy_construct(__e, _M_size, _Array<_Tp>(_M_data)); }
72  
73    template<typename _Tp>
74      inline
This page took 0.061653 seconds and 3 git commands to generate.