aboutsummaryrefslogtreecommitdiff
path: root/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3.cpp
blob: 35f8808fff88cb9b6cac6469c54e0928a314d644 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
// expected-no-diagnostics

// This is specifically testing the bullet:
// "do not have the same parameter-type-list as any non-template
// non-member candidate."
// The rest is sort of hard to test separately.

enum E1 { one };
enum E2 { two };

struct A;

A operator >= (E1, E1);
A operator >= (E1, const E2);

E1 a;
E2 b;

extern A test1;
extern decltype(a >= a) test1;
extern decltype(a >= b) test1;

template <typename T> A operator <= (E1, T);
extern bool test2;
extern decltype(a <= a) test2;

extern A test3;
extern decltype(a <= b) test3;