From: Chris Lattner Date: Tue, 24 Feb 2009 21:52:14 +0000 (+0000) Subject: improve comments. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c4a09c189981b4561428e4b56fd250718e2717bb;p=clang improve comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65388 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h index cfd13b2fbb..9e19940506 100644 --- a/include/clang/AST/Expr.h +++ b/include/clang/AST/Expr.h @@ -479,11 +479,18 @@ public: /// or L"bar" (wide strings). The actual string is returned by getStrData() /// is NOT null-terminated, and the length of the string is determined by /// calling getByteLength(). The C type for a string is always a -/// ConstantArrayType. +/// ConstantArrayType. In C++, the char type is const qualified, in C it is +/// not. /// /// Note that strings in C can be formed by concatenation of multiple string /// literal pptokens in translation phase #6. This keeps track of the locations /// of each of these pieces. +/// +/// Strings in C can also be truncated and extended by assigning into arrays, +/// e.g. with constructs like: +/// char X[2] = "foobar"; +/// In this case, getByteLength() will return 6, but the string literal will +/// have type "char[2]". class StringLiteral : public Expr { const char *StrData; unsigned ByteLength;