diff --git a/clang/CodeGen/CGExprAgg.cpp b/clang/CodeGen/CGExprAgg.cpp index 969995c4f54d3f040bccb8bcb12a3262a45bc21e..b93d729a6120a13259c1250561c54e43bffc17da 100644 --- a/clang/CodeGen/CGExprAgg.cpp +++ b/clang/CodeGen/CGExprAgg.cpp @@ -62,6 +62,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 VisitArraySubscriptExpr(ArraySubscriptExpr *E) { EmitAggLoadOfLValue(E); diff --git a/clang/test/CodeGen/string-literal.c b/clang/test/CodeGen/string-literal.c new file mode 100644 index 0000000000000000000000000000000000000000..525779cea0cf31bf22fca8b436c73aab81406b06 --- /dev/null +++ b/clang/test/CodeGen/string-literal.c @@ -0,0 +1,5 @@ +// RUN: clang -emit-llvm -verify %s + +int main() { + char a[10] = "abc"; +}