llvm-project/clang/lib
Alex Lorenz a8c44ba2c0 [Objective-C] Add objc_subclassing_restricted attribute
This patch adds an objc_subclassing_restricted attribute into clang. This
attribute acts similarly to 'final' - Objective-C classes with this attribute
can't be subclassed. However, @interface declarations that have
objc_subclassing_restricted but don't have @implementation are allowed to
inherit other @interface declarations with objc_subclassing_restricted. This is
needed to describe the Swift class hierarchy in clang while making sure that
the Objective-C classes cannot subclass the Swift classes.

This attribute is already implemented in a fork of clang that's used for Swift
(https://github.com/apple/swift-clang) and this patch moves that code to the
upstream clang repository.

rdar://28937548

Differential Revision: https://reviews.llvm.org/D25993

llvm-svn: 285391
2016-10-28 10:25:10 +00:00
..
ARCMigrate [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
AST Refactor call emission to package the function pointer together with 2016-10-26 23:46:34 +00:00
ASTMatchers [AST] Convert Marshallers to use unique_ptr. 2016-10-10 16:26:40 +00:00
Analysis Fix handling of %% format specifier in os_log builtins. 2016-10-25 00:48:48 +00:00
Basic Do not print include_next/pragma once warnings when input is a header. 2016-10-27 14:17:10 +00:00
CodeGen [CodeGen] Provide an appropriate alignment for dynamic allocas 2016-10-27 17:18:24 +00:00
Driver Fix MSVC "not all control paths return a value" warning 2016-10-28 10:09:35 +00:00
Edit [OpenCL] Generate opaque type for sampler_t and function call for the initializer 2016-07-28 19:26:30 +00:00
Format Bug 28065 - clang-format incorrectly aligns backslash. 2016-10-26 07:44:51 +00:00
Frontend Do not print include_next/pragma once warnings when input is a header. 2016-10-27 14:17:10 +00:00
FrontendTool C++ Modules TS: add frontend support for building pcm files from module 2016-08-26 00:14:38 +00:00
Headers [PPC] add vector byte reverse functions to altivec.h 2016-10-27 06:23:57 +00:00
Index [index] Fixes for locations and relations in Objective C categories and getters/setters 2016-10-25 21:11:22 +00:00
Lex Do not print include_next/pragma once warnings when input is a header. 2016-10-27 14:17:10 +00:00
Parse Re-apply patch r279045. 2016-10-25 12:50:55 +00:00
Rewrite [analyzer] Re-apply r283092, attempt no.4, chunk no.4 (last) 2016-10-07 19:25:10 +00:00
Sema [Objective-C] Add objc_subclassing_restricted attribute 2016-10-28 10:25:10 +00:00
Serialization [modules] Fix assert if multiple update records provide a definition for a 2016-10-26 02:31:56 +00:00
StaticAnalyzer [analyzer] Report CFNumberGetValue API misuse 2016-10-26 22:51:47 +00:00
Tooling Deduplicate sets of replacements by file names. 2016-10-14 09:32:06 +00:00
CMakeLists.txt