]> granicus.if.org Git - clang/commitdiff
String literal in aggregate expression
authorSeo Sanghyeon <sanxiyn@gmail.com>
Sun, 23 Dec 2007 03:11:58 +0000 (03:11 +0000)
committerSeo Sanghyeon <sanxiyn@gmail.com>
Sun, 23 Dec 2007 03:11:58 +0000 (03:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45330 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CGExprAgg.cpp
test/CodeGen/string-literal.c [new file with mode: 0644]

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