From 16f92ce539d49dafeb0c4db4d2dfa2dca1d9c3a0 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Wed, 23 Mar 2011 19:50:54 +0000 Subject: Support for Transparent unions used as overloadable function parameter. // rdar:// 9129552 and PR9406. llvm-svn: 128159 --- clang/lib/Sema/SemaExprCXX.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'clang/lib/Sema/SemaExprCXX.cpp') diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index 0a8bd8fb526..36079c2ce7f 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -2277,6 +2277,15 @@ Sema::PerformImplicitConversion(Expr *&From, QualType ToType, break; } + case ICK_TransparentUnionConversion: { + Sema::AssignConvertType ConvTy = + CheckTransparentUnionArgumentConstraints(ToType, From); + assert ((ConvTy == Sema::Compatible) && + "Improper transparent union conversion"); + (void)ConvTy; + break; + } + case ICK_Lvalue_To_Rvalue: case ICK_Array_To_Pointer: case ICK_Function_To_Pointer: -- cgit v1.2.3