xref: /llvm-project/clang/test/CXX/over/over.built/p26.cpp (revision d3dc7d077f1d9c9478813a34ed38abbcb4fc1ef5)
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 Courbet Color foo(bool cond, ConvertsToColorA ca, ConvertsToColorB cb) {
15*d3dc7d07SClement Courbet   return cond? ca : cb;
16*d3dc7d07SClement Courbet }
17