diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.robertl/eb43.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.robertl/eb43.C | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C deleted file mode 100644 index 7f8647226c8..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C +++ /dev/null @@ -1,38 +0,0 @@ -// All the pointer_to_binary_function cases used to fail because g++ -// couldn't handle converting an overloaded function to a class type. -// The first one should still fail because it requires an implicit conversion -// to pointer_to_binary_function, which has an `explicit' constructor. - -#include <vector.h> -#include <algo.h> - -template <class T> class Expr -{ -public : - Expr(){}; - Expr(const T&){}; -}; - -template <class T > -inline bool compare(const Expr<T> a, const Expr<T> b){ return true; }; - -int main() -{ - vector<int> a(3); - sort( a.begin(), a.end(), - static_cast<bool (*)(const Expr<int>,const Expr<int>)>(compare) ); - sort( a.begin(), a.end(), compare<int> ); - sort<vector<int>::iterator, - pointer_to_binary_function<const Expr<int>, const Expr<int>, bool> > - ( a.begin(), a.end(), compare ); // ERROR - constructor is explicit - sort( a.begin(), a.end(), - ptr_fun<const Expr<int>, const Expr<int>, bool> (compare) ); - sort( a.begin(), a.end(), - ptr_fun(compare<int>) ); - sort( a.begin(), a.end(), - pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare) ); - sort( a.begin(), a.end(), - pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare<int>) ); - sort( a.begin(), a.end(), - pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare<>) ); -} |