]> granicus.if.org Git - clang/commit
[ObjC] Add NSValue support for objc_boxed_expressions
authorAlex Denisov <1101.debian@gmail.com>
Fri, 26 Jun 2015 05:28:36 +0000 (05:28 +0000)
committerAlex Denisov <1101.debian@gmail.com>
Fri, 26 Jun 2015 05:28:36 +0000 (05:28 +0000)
commit3849076ca69f4277bfac55479c2fc0929f5bbd9d
tree875afa6435e12b75a70d5d2cf7b929859ce94c0e
parentb839522da5dbe5253c9258c49ece2024960a1358
[ObjC] Add NSValue support for objc_boxed_expressions

Patch extends ObjCBoxedExpr to accept records (structs and unions):

typedef struct __attribute__((objc_boxable)) _Color {
  int r, g, b;
} Color;

Color color;
NSValue *boxedColor = @(color); // [NSValue valueWithBytes:&color objCType:@encode(Color)];

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240761 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
docs/ObjectiveCLiterals.rst
include/clang/AST/ASTMutationListener.h
include/clang/AST/ExprObjC.h
include/clang/AST/NSAPI.h
include/clang/AST/Type.h
include/clang/Basic/Attr.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/Sema.h
include/clang/Serialization/ASTWriter.h
lib/AST/NSAPI.cpp
lib/AST/Type.cpp
lib/CodeGen/CGObjC.cpp
lib/Frontend/MultiplexConsumer.cpp
lib/Lex/PPMacroExpansion.cpp
lib/Sema/Sema.cpp
lib/Sema/SemaDeclAttr.cpp
lib/Sema/SemaExprObjC.cpp
lib/Serialization/ASTCommon.h
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriter.cpp
test/Index/annotate-literals.m
test/PCH/subscripting-literals.m