From: Anders Carlsson Date: Mon, 19 Nov 2007 00:25:30 +0000 (+0000) Subject: Put back the flags field in the constant CF string type. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f06273f8bbacb086a46bde456429c8d08f6d07ee;p=clang Put back the flags field in the constant CF string type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44222 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/AST/ASTContext.cpp b/AST/ASTContext.cpp index 9d597bcc43..740d6e56fa 100644 --- a/AST/ASTContext.cpp +++ b/AST/ASTContext.cpp @@ -870,18 +870,20 @@ QualType ASTContext::getCFConstantStringType() { CFConstantStringTypeDecl = new RecordDecl(Decl::Struct, SourceLocation(), &Idents.get("NSConstantString"), 0); - QualType FieldTypes[3]; + QualType FieldTypes[4]; // const int *isa; FieldTypes[0] = getPointerType(IntTy.getQualifiedType(QualType::Const)); + // int flags; + FieldTypes[1] = IntTy; // const char *str; - FieldTypes[1] = getPointerType(CharTy.getQualifiedType(QualType::Const)); + FieldTypes[2] = getPointerType(CharTy.getQualifiedType(QualType::Const)); // long length; - FieldTypes[2] = LongTy; + FieldTypes[3] = LongTy; // Create fields - FieldDecl *FieldDecls[3]; + FieldDecl *FieldDecls[4]; - for (unsigned i = 0; i < 3; ++i) + for (unsigned i = 0; i < 4; ++i) FieldDecls[i] = new FieldDecl(SourceLocation(), 0, FieldTypes[i]); CFConstantStringTypeDecl->defineBody(FieldDecls, 4); diff --git a/test/CodeGen/cfstring.c b/test/CodeGen/cfstring.c new file mode 100644 index 0000000000..c7df1b3033 --- /dev/null +++ b/test/CodeGen/cfstring.c @@ -0,0 +1,6 @@ +// RUN: clang -emit-llvm %s +#define CFSTR __builtin___CFStringMakeConstantString + +void f() { + CFSTR("Hello, World!"); +} \ No newline at end of file