From 4791a80a30c01f7fb8faf027450cd86b82d6da4a Mon Sep 17 00:00:00 2001 From: Ben Langmuir Date: Thu, 25 Feb 2016 16:36:26 +0000 Subject: [PATCH] Add FieldNames to __NSConstantString_tag Since consumers of the AST may expect fields to be named. Patch by Brad King! llvm-svn: 261887 --- clang/lib/AST/ASTContext.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index eba35786e81c..c6f5374d5c05 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -4877,21 +4877,27 @@ TypedefDecl *ASTContext::getCFConstantStringDecl() const { CFConstantStringTagDecl->startDefinition(); QualType FieldTypes[4]; + const char *FieldNames[4]; // const int *isa; FieldTypes[0] = getPointerType(IntTy.withConst()); + FieldNames[0] = "isa"; // int flags; FieldTypes[1] = IntTy; + FieldNames[1] = "flags"; // const char *str; FieldTypes[2] = getPointerType(CharTy.withConst()); + FieldNames[2] = "str"; // long length; FieldTypes[3] = LongTy; + FieldNames[3] = "length"; // Create fields for (unsigned i = 0; i < 4; ++i) { FieldDecl *Field = FieldDecl::Create(*this, CFConstantStringTagDecl, SourceLocation(), - SourceLocation(), nullptr, + SourceLocation(), + &Idents.get(FieldNames[i]), FieldTypes[i], /*TInfo=*/nullptr, /*BitWidth=*/nullptr, /*Mutable=*/false,