
| Key: |
STDCXX-512
|
| Type: |
Bug
|
| Status: |
Open
|
| Priority: |
Minor
|
| Assignee: |
Unassigned
|
| Reporter: |
Martin Sebor
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
Time Tracking:
|
|
Original Estimate:
|
4h
|
|
|
Remaining Estimate:
|
4h
|
|
|
Time Spent:
|
Not Specified
|
|
|
|
|
Issue Links:
|
Duplicate
|
|
|
|
This issue is duplicated by:
|
|
STDCXX-622
valarray operator requirements not consistent with standard
|
|
|
|
|
|
|
The program below fails to compile because the valarray computed assignment operators make use of operator@ (T, T) instead of the corresponding computed assignment operators defined by T (i.e., T::operator@(T)).
$ cat u.cpp && make u
#include <valarray>
struct Value {
Value& operator*= (const Value&) { return *this; }
Value& operator/= (const Value&) { return *this; }
Value& operator+= (const Value&) { return *this; }
Value& operator-= (const Value&) { return *this; }
Value& operator%= (const Value&) { return *this; }
Value& operator^= (const Value&) { return *this; }
Value& operator&= (const Value&) { return *this; }
Value& operator|= (const Value&) { return *this; }
Value& operator<<= (const Value&) { return *this; }
Value& operator>>= (const Value&) { return *this; }
};
int main ()
{
std::valarray<Value> val;
val *= val;
val /= val;
val += val;
val -= val;
val %= val;
val ^= val;
val &= val;
val |= val;
val <<= val;
val >>= val;
}
gcc -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG -pthread -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-gcc-3.4.3_6-15D/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/examples/include -pedantic -nostdinc++ -g -m64 -Wall -W -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align u.cpp
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::multiplies<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::multiplies<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:363: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator*=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:20: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:83: error: no match for 'operator*' in '__x * __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::divides<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::divides<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:376: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator/=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:21: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:96: error: no match for 'operator/' in '__x / __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::plus<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::plus<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:389: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator+=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:22: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:57: error: no match for 'operator+' in '__x + __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::minus<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::minus<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:402: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator-=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:23: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:70: error: no match for 'operator-' in '__x - __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::modulus<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::modulus<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:415: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator%=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:24: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:109: error: no match for 'operator%' in '__x % __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::exclusive_or<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::exclusive_or<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:428: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator^=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:25: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:732: error: no match for 'operator^' in '__x ^ __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::bitwise_and<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::bitwise_and<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:441: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator&=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:26: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:719: error: no match for 'operator&' in '__x & __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::bitwise_or<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::bitwise_or<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:454: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator|=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:27: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:706: error: no match for 'operator|' in '__x | __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::shift_left<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::shift_left<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:467: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator<<=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:28: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:745: error: no match for 'operator<<' in '__x << __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::shift_right<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::shift_right<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:480: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator>>=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:29: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:758: error: no match for 'operator>>' in '__x >> __y'
make: *** [u.o] Error 1
|
|
Description
|
The program below fails to compile because the valarray computed assignment operators make use of operator@ (T, T) instead of the corresponding computed assignment operators defined by T (i.e., T::operator@(T)).
$ cat u.cpp && make u
#include <valarray>
struct Value {
Value& operator*= (const Value&) { return *this; }
Value& operator/= (const Value&) { return *this; }
Value& operator+= (const Value&) { return *this; }
Value& operator-= (const Value&) { return *this; }
Value& operator%= (const Value&) { return *this; }
Value& operator^= (const Value&) { return *this; }
Value& operator&= (const Value&) { return *this; }
Value& operator|= (const Value&) { return *this; }
Value& operator<<= (const Value&) { return *this; }
Value& operator>>= (const Value&) { return *this; }
};
int main ()
{
std::valarray<Value> val;
val *= val;
val /= val;
val += val;
val -= val;
val %= val;
val ^= val;
val &= val;
val |= val;
val <<= val;
val >>= val;
}
gcc -c -I/amd/devco/sebor/stdcxx-4.1.3/include/ansi -D_RWSTDDEBUG -pthread -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx-4.1.3-gcc-3.4.3_6-15D/include -I/amd/devco/sebor/stdcxx-4.1.3/include -I/amd/devco/sebor/stdcxx-4.1.3/examples/include -pedantic -nostdinc++ -g -m64 -Wall -W -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align u.cpp
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::multiplies<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::multiplies<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:363: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator*=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:20: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:83: error: no match for 'operator*' in '__x * __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::divides<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::divides<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:376: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator/=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:21: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:96: error: no match for 'operator/' in '__x / __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::plus<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::plus<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:389: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator+=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:22: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:57: error: no match for 'operator+' in '__x + __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::minus<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::minus<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:402: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator-=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:23: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:70: error: no match for 'operator-' in '__x - __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type std::modulus<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = std::modulus<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:415: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator%=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:24: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:109: error: no match for 'operator%' in '__x % __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::exclusive_or<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::exclusive_or<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:428: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator^=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:25: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:732: error: no match for 'operator^' in '__x ^ __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::bitwise_and<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::bitwise_and<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:441: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator&=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:26: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:719: error: no match for 'operator&' in '__x & __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::bitwise_or<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::bitwise_or<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:454: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator|=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:27: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:706: error: no match for 'operator|' in '__x | __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::shift_left<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::shift_left<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:467: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator<<=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:28: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:745: error: no match for 'operator<<' in '__x << __y'
/amd/devco/sebor/stdcxx-4.1.3/include/functional: In member function `typename std::binary_function<_TypeT, _TypeT, _TypeT>::result_type __rw::shift_right<_TypeT>::operator()(const typename std::binary_function<_TypeT, _TypeT, _TypeT>::first_argument_type&, const typename std::binary_function<_TypeT, _TypeT, _TypeT>::second_argument_type&) const [with _TypeT = Value]':
/amd/devco/sebor/stdcxx-4.1.3/include/algorithm:353: instantiated from `_OutputIter std::transform(_InputIter1, _InputIter1, _InputIter2, _OutputIter, _BinaryOperation) [with _InputIter1 = Value*, _InputIter2 = const Value*, _OutputIter = Value*, _BinaryOperation = __rw::shift_right<Value>]'
/amd/devco/sebor/stdcxx-4.1.3/include/valarray:480: instantiated from `std::valarray<_TypeT>& std::valarray<_TypeT>::operator>>=(const std::valarray<_TypeT>&) [with _TypeT = Value]'
u.cpp:29: instantiated from here
/amd/devco/sebor/stdcxx-4.1.3/include/functional:758: error: no match for 'operator>>' in '__x >> __y'
make: *** [u.o] Error 1 |
Show » |
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#660567 |
Tue May 27 15:50:30 UTC 2008 |
sebor |
2008-05-27 Martin Sebor <sebor@roguewave.com>
Merged revisions 656686, 650706, 653284, 650748, 650698, 657220,
652585, 653294, 653285, 654156, 653965, 659601, 653966, 652922,
654664, 657235, 652954, 654286, 659189, 659187, and 656767 from
branches/4.2.x.
2008-05-15 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-871
* tests/src/printf.h: Remove documentation-only header.
* tests/include/rw_printf.h: Incorporate documentation comments
from deleted header.
2008-04-22 Martin Sebor <sebor@roguewave.com>
* test/numerics/26.valarray.cassign.cpp (run_test): Disabled tests
exercising valarray specializations on a user-defined type for 4.2.1
and prior since they are known to fail to compile due to STDCXX-512.
2008-05-04 Martin Sebor <sebor@roguewave.com>
STDCXX-910
* tests/src/locale.cpp (rw_localedef): Used __FILE__ to try to get
the value of TOPDIR when the environment variable is unset or empty.
(_rw_all_locales): Same.
2008-04-22 Martin Sebor <sebor@roguewave.com>
* tests/src/opt_diags.cpp (_rw_match_name): Asserted (obviously
holding) preconditions to shut up bogus HP aCC 6 warning 20200:
Potential null pointer dereference.
2008-04-22 Martin Sebor <sebor@roguewave.com>
STDCXX-754
* tests/src/cmdopt.cpp (rw_vsetopts): Handled malloc() failure.
Added an assertion to silence a bogus HP aCC 6/cadvise warning
#20200-D: Potential null pointer dereference. Unfortunately,
with the one gone another bogus one pops up...
2008-05-16 Travis Vitek <vitek@roguewave.com>
STDCXX-938
* tests/src/alarm.cpp [SIG_DFL]: Fix apparent typo in definition of
SIG_DFL which would have resulted in macro redefinition warnings if
both SIG_DFL and SIG_IGN were not defined in signal.h
(rw_sig_dfl): Change pointer constant to avoid crash when using
rw_alarm().
(rw_sig_ign): Ditto.
(rw_sig_hold): Ditto.
(rw_sig_restore): Ditto.
2008-05-01 Travis Vitek <vitek@roguewave.com>
STDCXX-842
* tests/localization/22.locale.codecvt.out.cpp: Reserve space
for null terminator.
2008-05-04 Martin Sebor <sebor@roguewave.com>
Merged rev 653293 (fixing STDCXX-695 of which STDCXX-788 is a dupe)
from trunk.
2008-05-04 Martin Sebor <sebor@roguewave.com>
STDCXX-788
* 22.locale.num.put.cpp (do_test): Cast narrow character to unsigned
char before converting it to the generic charT to avoid potential sign
extension and to silence HP aCC 6 remark #4271-D: type conversion may
lose sign.
(long_test): Cast macro argument to unsigned type before shifting it
left to avoid an arithmetic overflow and to silence HP aCC 6 remark
#4300-D: Overflow while computing constant in left shift operation.
2008-05-04 Martin Sebor <sebor@roguewave.com>
* tests/localization/22.locale.time.put.cpp (do_test): Used casts
to safely convert a plain char argument to the generic charT before
passing it to the tested function to silence HP aCC remark #4271-D:
type conversion may lose sign.
(make_LC_TIME): Handled fopen() failure to silence warning #20200-D:
Potential null pointer dereference is detected.
2008-05-07 Travis Vitek <vitek@roguewave.com>
* tests/localization/22.locale.num.get.cpp: Reapply r644435 accidentally
reverted in r653965.
2008-05-06 Travis Vitek <vitek@roguewave.com>
* tests/localization/22.locale.num.get.cpp: Revert r657262
and apply a simpler fix.
(test_flt_uflow): Make val static to avoid cadvise warning.
(test_dbl_uflow): Ditto.
(test_ldbl_uflow): Ditto.
2008-05-23 Farid Zaripov <farid_zaripov@epam.com>
Merged r648347 from trunk
2008-04-15 Eric Lemings <eric.lemings@roguewave.com>
* tests/strings/21.cwctype.cpp: Misplaced #endif directive.
2008-05-06 Travis Vitek <vitek@roguewave.com>
* tests/algorithms/25.random.shuffle.cpp (test_random_shuffle): Break
from loop on first assertion failure.
2008-05-02 Martin Sebor <sebor@roguewave.com>
* etc/config/src/WCTYPE_T.cpp [EDG eccp]: Suppressed EDG eccp error
#450-D: the type "long long" is nonstandard when #including libc
headers.
* etc/config/src/WCTRANS_T.cpp: Same.
* etc/config/src/MBSTATE_T.cpp: Same.
* etc/config/src/WINT_T.cpp: Same.
2008-05-08 Martin Sebor <sebor@roguewave.com>
STDCXX-929
* etc/config/gcc.config: Unconditionally checked code generated
by the compiler to see if it's ILP32 or LP64.
[HP-UX] (CXXFLAGS.wide, LDFLAGS.wide, LDSOFLAGS.wide): Removed
assumption that -milp64 is the default on IPF.
2008-05-16 Martin Sebor <sebor@roguewave.com>
* etc/config/vacpp.config (use_tempinc): Corrected a typo introduced
in rev 652954, and removed the object file produced by compiling the
temporary source.
2008-05-02 Martin Sebor <sebor@roguewave.com>
* etc/config/vacpp.config (use_tempinc): Cd to TMPDIR before
invoking the compiler to avoid trying to write into the CWD
which may be read only.
2008-05-07 Martin Sebor <sebor@roguewave.com>
* examples/manual/failure.cpp (main): Demonstrated the (optional)
extensions, classes std::ios::badbit_set, std::ios::eofbit_set,
and std::ios::failbit_set.
* examples/manual/in/failure.in: Added "interesting" input file.
* examples/manual/out/failure.out: Set expected output.
2008-05-22 Martin Sebor <sebor@roguewave.com>
* bin/genxviews (process_results): Removed debugging output.
2008-05-22 Martin Sebor <sebor@roguewave.com>
* bin/genxviews: Added a column with the timestamp of the oldest
log and the number of new logs since the last run of the script.
Optimized away call to xbuildgen when no new logs have been added
since the last run of the script.
2008-05-15 Martin Sebor <sebor@roguewave.com>
* bin/genxviews: Changed the svn:keywords property to expand
all three of HeadURL, Id, and Revision.
* bin/xbuildgen: Same.
* bin/duration: Same.
|
| Files Changed |
MODIFY
/stdcxx/branches/4.3.x/tests/localization/22.locale.num.get.cpp
MODIFY
/stdcxx/branches/4.3.x/etc/config/src/WCTYPE_T.cpp
MODIFY
/stdcxx/branches/4.3.x/tests/src/alarm.cpp
MODIFY
/stdcxx/branches/4.3.x/bin/buildntest
ADD
/stdcxx/branches/4.3.x/examples/manual/in/failure.in
(from /stdcxx/branches/4.2.x/examples/manual/in/failure.in)
MODIFY
/stdcxx/branches/4.3.x/tests/localization/22.locale.codecvt.out.cpp
MODIFY
/stdcxx/branches/4.3.x/tests/localization/22.locale.time.put.cpp
MODIFY
/stdcxx/branches/4.3.x/tests/numerics/26.valarray.cassign.cpp
MODIFY
/stdcxx/branches/4.3.x/tests/include/rw_printf.h
MODIFY
/stdcxx/branches/4.3.x/tests/src/opt_diags.cpp
MODIFY
/stdcxx/branches/4.3.x/etc/config/gcc.config
MODIFY
/stdcxx/branches/4.3.x/examples/manual/failure.cpp
MODIFY
/stdcxx/branches/4.3.x/tests/src/cmdopt.cpp
MODIFY
/stdcxx/branches/4.3.x/bin/genxviews
MODIFY
/stdcxx/branches/4.3.x/tests/src/locale.cpp
MODIFY
/stdcxx/branches/4.3.x/etc/config/src/WINT_T.cpp
MODIFY
/stdcxx/branches/4.3.x/etc/config/src/WCTRANS_T.cpp
MODIFY
/stdcxx/branches/4.3.x/etc/config/src/MBSTATE_T.cpp
MODIFY
/stdcxx/branches/4.3.x/tests/strings/21.cwctype.cpp
MODIFY
/stdcxx/branches/4.3.x/tests/localization/22.locale.num.put.cpp
MODIFY
/stdcxx/branches/4.3.x/examples/manual/out/failure.out
MODIFY
/stdcxx/branches/4.3.x/tests/algorithms/25.random.shuffle.cpp
MODIFY
/stdcxx/branches/4.3.x/etc/config/vacpp.config
|
|