Add missing code for compound literals of complex type. <rdar://problem/10938628>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151549 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eli Friedman 2012-02-27 20:26:13 +00:00
Родитель d411a4b230
Коммит fce4715bc3
2 изменённых файлов: 11 добавлений и 1 удалений

Просмотреть файл

@ -261,6 +261,10 @@ public:
ComplexPairTy VisitInitListExpr(InitListExpr *E);
ComplexPairTy VisitCompoundLiteralExpr(CompoundLiteralExpr *E) {
return EmitLoadOfLValue(E);
}
ComplexPairTy VisitVAArgExpr(VAArgExpr *E);
ComplexPairTy VisitAtomicExpr(AtomicExpr *E) {

Просмотреть файл

@ -9,4 +9,10 @@ _Complex float x = { 1.0f, 1.0f/0.0f };
_Complex float f(float x, float y) { _Complex float z = { x, y }; return z; }
// CHECK: define <2 x float> @f
// CHECK: alloca { float, float }
// CHECK: alloca { float, float }
// CHECK: alloca { float, float }
_Complex float f2(float x, float y) { return (_Complex float){ x, y }; }
// CHECK: define <2 x float> @f2
// CHECK: alloca { float, float }
// CHECK: alloca { float, float }