mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-04 18:50:29 +08:00
Additional changes from Martin.
From-SVN: r20167
This commit is contained in:
parent
8e54705d55
commit
d146c305b2
@ -1,14 +1,14 @@
|
||||
// Compiles. Shouldn't.
|
||||
//Build don't link:
|
||||
class A {
|
||||
private:
|
||||
int i1_;
|
||||
public:
|
||||
void f(int const i1 = 1);
|
||||
void f(int const i1 = 1); // ERROR -
|
||||
};
|
||||
|
||||
void
|
||||
A::f(int const i1 = 1) // !!! SHOULD TRIGGER AN ERROR !!!
|
||||
{
|
||||
A::f(int const i1 = 1)
|
||||
{ // ERROR - duplicate default argument
|
||||
i1_ = i1;
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
//Build don't link:
|
||||
#include <vector.h>
|
||||
#include <algo.h>
|
||||
|
||||
|
@ -8,41 +8,26 @@ Expr(){};
|
||||
Expr(const T&){};
|
||||
};
|
||||
|
||||
#ifdef TEMPLATE
|
||||
template <class T >
|
||||
inline bool compare(const Expr<T> a, const Expr<T> b){ return true; };
|
||||
#else
|
||||
inline bool compare(const Expr<int> a, const Expr<int> b){ return true; };
|
||||
#endif
|
||||
|
||||
void main()
|
||||
{
|
||||
vector<int> a(3);
|
||||
#if TEMPLATE == 1
|
||||
sort( a.begin(), a.end(),
|
||||
static_cast<bool (*)(const Expr<int>,const Expr<int>)>(compare) );
|
||||
#elif TEMPLATE == 2
|
||||
sort( a.begin(), a.end(), compare<int> );
|
||||
#elif TEMPLATE == 3
|
||||
sort<vector<int>::iterator,
|
||||
pointer_to_binary_function<const Expr<int>, const Expr<int>, bool> >
|
||||
( a.begin(), a.end(), compare );
|
||||
#elif TEMPLATE == 4
|
||||
sort( a.begin(), a.end(),
|
||||
ptr_fun<const Expr<int>, const Expr<int>, bool> (compare) );
|
||||
#elif TEMPLATE == 5
|
||||
sort( a.begin(), a.end(),
|
||||
ptr_fun(compare<int>) );
|
||||
#elif TEMPLATE == 6
|
||||
sort( a.begin(), a.end(),
|
||||
pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare) );
|
||||
#elif TEMPLATE == 7
|
||||
sort( a.begin(), a.end(),
|
||||
pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare<int>) );
|
||||
#elif TEMPLATE == 8
|
||||
sort( a.begin(), a.end(),
|
||||
pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare<>) );
|
||||
#else
|
||||
sort( a.begin(), a.end(), compare );
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user