diff options
-rw-r--r-- | lib/CodeGen/CGExprAgg.cpp | 1 | ||||
-rw-r--r-- | test/Coverage/c-language-features.inc | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/CodeGen/CGExprAgg.cpp b/lib/CodeGen/CGExprAgg.cpp index 341c7aaba3..b95fd79901 100644 --- a/lib/CodeGen/CGExprAgg.cpp +++ b/lib/CodeGen/CGExprAgg.cpp @@ -72,6 +72,7 @@ public: void VisitDeclRefExpr(DeclRefExpr *DRE) { EmitAggLoadOfLValue(DRE); } void VisitMemberExpr(MemberExpr *ME) { EmitAggLoadOfLValue(ME); } void VisitUnaryDeref(UnaryOperator *E) { EmitAggLoadOfLValue(E); } + void VisitStringLiteral(StringLiteral *E) { EmitAggLoadOfLValue(E); } void VisitCompoundLiteralExpr(CompoundLiteralExpr *E) { EmitAggLoadOfLValue(E); } diff --git a/test/Coverage/c-language-features.inc b/test/Coverage/c-language-features.inc index bcf4127299..3548132500 100644 --- a/test/Coverage/c-language-features.inc +++ b/test/Coverage/c-language-features.inc @@ -179,3 +179,12 @@ void f8(x) // Function which inputs an array void f9(int x[]) { } + +// Object literals. +void f10() { + struct f10_s0 { + char iv0[10]; + } x; + + x = (struct f10_s0) { .iv0 = "name" }; +} |