]> git.pld-linux.org Git - packages/gcc4.git/blame - gcc4-pr25626.patch
- added from gcc/
[packages/gcc4.git] / gcc4-pr25626.patch
CommitLineData
4ada39a3
AM
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.17756 seconds and 4 git commands to generate.