1 // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s 2 // expected-no-diagnostics 3 4 // This is specifically testing the bullet: 5 // "do not have the same parameter-type-list as any non-template 6 // non-member candidate." 7 // The rest is sort of hard to test separately. 8 9 enum E1 { one }; 10 enum E2 { two }; 11 12 struct A; 13 14 A operator >= (E1, E1); 15 A operator >= (E1, const E2); 16 17 E1 a; 18 E2 b; 19 20 extern A test1; 21 extern decltype(a >= a) test1; 22 extern decltype(a >= b) test1; 23 24 template <typename T> A operator <= (E1, T); 25 extern bool test2; 26 extern decltype(a <= a) test2; 27 28 extern A test3; 29 extern decltype(a <= b) test3;