1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li// expected-no-diagnostics 3*67e74705SXin Li 4*67e74705SXin Liclass C {}; 5*67e74705SXin Libool operator == (C c1, C c2); 6*67e74705SXin Li 7*67e74705SXin Libool operator == (C c1, int i); 8*67e74705SXin Libool operator == (int i, C c2); 9*67e74705SXin Li 10*67e74705SXin LiC operator += (C c1, C c2); 11*67e74705SXin Li 12*67e74705SXin Lienum TextureType { TextureType3D }; 13*67e74705SXin Li 14*67e74705SXin Li@interface Texture 15*67e74705SXin Li@property int textureType; 16*67e74705SXin Li@property C c; 17*67e74705SXin Li@end 18*67e74705SXin Li 19*67e74705SXin Litemplate <typename> class Framebuffer { 20*67e74705SXin Lipublic: 21*67e74705SXin Li Texture **color_attachment; 22*67e74705SXin Li Framebuffer(); 23*67e74705SXin Li}; 24*67e74705SXin Li 25*67e74705SXin Litemplate <typename T> Framebuffer<T>::Framebuffer() { 26*67e74705SXin Li (void)(color_attachment[0].textureType == TextureType3D); 27*67e74705SXin Li color_attachment[0].textureType += 1; 28*67e74705SXin Li (void)(color_attachment[0].c == color_attachment[0].c); 29*67e74705SXin Li (void)(color_attachment[0].c == 1); 30*67e74705SXin Li (void)(1 == color_attachment[0].c); 31*67e74705SXin Li} 32*67e74705SXin Li 33*67e74705SXin Livoid foo() { 34*67e74705SXin Li Framebuffer<int>(); 35*67e74705SXin Li} 36