]> granicus.if.org Git - clang/commit
Unconditionally support block introspection data in a new field at the end
authorBlaine Garst <blaine@apple.com>
Tue, 23 Feb 2010 21:51:17 +0000 (21:51 +0000)
committerBlaine Garst <blaine@apple.com>
Tue, 23 Feb 2010 21:51:17 +0000 (21:51 +0000)
commit2a7eb28397148079cbc8e54e8a3871ef01c4f4bc
treea330c4ba8a3f6890aaf60e10057606c3799f80ea
parent5f1c45f7c8422bd80bdc76b743fd7516f2126d83
Unconditionally support block introspection data in a new field at the end
of the block descriptor field.  This field is the ObjC style @encode
signature of the implementation function, and was to this point
conditionally provided in the block literal data structure.  That
provisional support is removed.

Additionally, eliminate unused enumerations for the block literal flags field.
The first shipping ABI unconditionally set (1<<29) but this bit is unused
by the runtime, so the second ABI will unconditionally have (1<<30) set so
that the runtime can in fact distinguish whether the additional data is
present or not.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96989 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/LangOptions.h
include/clang/Driver/Options.td
lib/CodeGen/CGBlocks.cpp
lib/CodeGen/CGBlocks.h
lib/CodeGen/CodeGenFunction.h
lib/Driver/Tools.cpp
test/CodeGen/blocksignature.c [new file with mode: 0644]