1*67e74705SXin Li // RUN: %clang_cc1 -std=c++11 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li // PR9923 4*67e74705SXin Li enum class Color { red, blue, green }; 5*67e74705SXin Li 6*67e74705SXin Li void f(Color); g()7*67e74705SXin Livoid g() { 8*67e74705SXin Li f(Color::red); 9*67e74705SXin Li } 10*67e74705SXin Li 11*67e74705SXin Li // See that struct is handled equally. 12*67e74705SXin Li enum struct Colour { grey }; 13*67e74705SXin Li 14*67e74705SXin Li void h(Colour); i()15*67e74705SXin Livoid i() { 16*67e74705SXin Li h(Colour::grey); 17*67e74705SXin Li } 18*67e74705SXin Li 19*67e74705SXin Li enum struct PR17103 : int { a = -1, b = 1 }; cmp(PR17103 x,PR17103 y)20*67e74705SXin Libool cmp(PR17103 x, PR17103 y) { return x < y; } 21*67e74705SXin Li 22*67e74705SXin Li // CHECK-LABEL: @_Z3cmp7PR17103S_( 23*67e74705SXin Li // CHECK-NOT: } 24*67e74705SXin Li // CHECK: icmp slt 25