1*d3dc7d07SClement Courbet // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s 2*d3dc7d07SClement Courbet // expected-no-diagnostics 3*d3dc7d07SClement Courbet 4*d3dc7d07SClement Courbet enum class Color { Red, Green, Blue }; 5*d3dc7d07SClement Courbet 6*d3dc7d07SClement Courbet struct ConvertsToColorA { 7*d3dc7d07SClement Courbet operator Color(); 8*d3dc7d07SClement Courbet }; 9*d3dc7d07SClement Courbet 10*d3dc7d07SClement Courbet struct ConvertsToColorB { 11*d3dc7d07SClement Courbet operator Color(); 12*d3dc7d07SClement Courbet }; 13*d3dc7d07SClement Courbet foo(bool cond,ConvertsToColorA ca,ConvertsToColorB cb)14*d3dc7d07SClement CourbetColor foo(bool cond, ConvertsToColorA ca, ConvertsToColorB cb) { 15*d3dc7d07SClement Courbet return cond? ca : cb; 16*d3dc7d07SClement Courbet } 17