llvm-project/clang/test
Nathan Lanza 14f6bfcb52 [clang] Implement objc_non_runtime_protocol to remove protocol metadata
Summary:
Motivated by the new objc_direct attribute, this change adds a new
attribute that remotes metadata from Protocols that the programmer knows
isn't going to be used at runtime. We simply have the frontend skip
generating any protocol metadata entries (e.g. OBJC_CLASS_NAME,
_OBJC_$_PROTOCOL_INSTANCE_METHDOS, _OBJC_PROTOCOL, etc) for a protocol
marked with `__attribute__((objc_non_runtime_protocol))`.

There are a few APIs used to retrieve a protocol at runtime.
`@protocol(SomeProtocol)` will now error out of the requested protocol
is marked with attribute. `objc_getProtocol` will return `NULL` which
is consistent with the behavior of a non-existing protocol.

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75574
2020-10-02 17:35:50 -04:00
..
ARCMT
AST Remove test AST/const-fpfeatures-diag.c 2020-09-30 11:07:55 +07:00
ASTMerge
Analysis [analyzer][StdLibraryFunctionsChecker] Fix getline/getdelim signatures 2020-09-23 10:48:14 +02:00
CXX Better diagnostics for anonymous bit-fields with attributes or an initializer. 2020-09-29 16:32:20 -04:00
ClangScanDeps
CodeCompletion [clang] Make signature help work with dependent args 2020-08-17 10:06:36 +02:00
CodeGen Reland [AlwaysInliner] Update BFI when inlining 2020-10-02 10:46:57 -07:00
CodeGenCUDA Recommit "[HIP] Change default --gpu-max-threads-per-block value to 1024" 2020-09-28 22:43:17 -04:00
CodeGenCXX [FE] Use preferred alignment instead of ABI alignment for complete object when applicable 2020-09-30 10:48:28 -04:00
CodeGenCoroutines Revert "OpaquePtr: Add type to sret attribute" 2020-09-29 10:31:04 +02:00
CodeGenHIP
CodeGenObjC [clang] Implement objc_non_runtime_protocol to remove protocol metadata 2020-10-02 17:35:50 -04:00
CodeGenObjCXX Revert "OpaquePtr: Add type to sret attribute" 2020-09-29 10:31:04 +02:00
CodeGenOpenCL [clang][opencl][codegen] Remove the insertion of `correctly-rounded-divide-sqrt-fp-math` fn-attr. 2020-10-01 11:07:39 -04:00
CodeGenOpenCLCXX Revert "OpaquePtr: Add type to sret attribute" 2020-09-29 10:31:04 +02:00
CodeGenSYCL [SYCL] Assume SYCL device functions are convergent 2020-09-29 15:23:50 +03:00
Coverage
CoverageMapping [Coverage] Add empty line regions to SkippedRegions 2020-09-21 12:42:53 -07:00
Driver Fix failure in test hip-macros.hip 2020-10-02 10:33:32 -04:00
FixIt
Format [clang-format] Add a test showing the current config file list parsing 2020-09-04 16:57:46 +01:00
Frontend Add REQUIRES to embed-bitcode-noopt.ll 2020-09-23 10:13:09 -07:00
Headers [ARM] Add missing target for Arm neon test case. 2020-10-01 00:32:33 +01:00
Import
Index [clang] Traverse init-captures while indexing 2020-09-22 02:32:09 -04:00
Integration
InterfaceStubs [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
Layout [AIX] Implement AIX special alignment rule about double/long double 2020-07-27 15:13:03 -04:00
Lexer [SystemZ][z/OS] Set default wchar_t type for zOS 2020-09-22 08:03:03 -04:00
Misc [clang] Implement objc_non_runtime_protocol to remove protocol metadata 2020-10-02 17:35:50 -04:00
Modules Revert "OpaquePtr: Add type to sret attribute" 2020-09-29 10:31:04 +02:00
OpenMP Revert "[OpenMP] Replace OpenMP RTL Functions With OMPIRBuilder and OMPKinds.def" 2020-09-30 15:12:21 -04:00
PCH Set InvalidDecl directly when deserializing a Decl 2020-09-05 14:26:43 +02:00
Parser Better diagnostics for anonymous bit-fields with attributes or an initializer. 2020-09-29 16:32:20 -04:00
ParserSYCL
Preprocessor [AArch64] Add CPU Cortex-R82 2020-10-02 12:47:23 +01:00
Profile [PGO] Include the mem ops into the function hash. 2020-07-30 09:26:20 -07:00
Refactor
Rewriter
Sema [Sema] Support Comma operator for fp16 vectors. 2020-09-30 18:23:09 +01:00
SemaCUDA Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"" 2020-09-24 11:16:54 -07:00
SemaCXX Handle unknown OSes in DarwinTargetInfo::getExnObjectAlignment 2020-09-30 16:05:17 -07:00
SemaObjC Sema: add support for `__attribute__((__swift_private__))` 2020-09-25 22:33:53 +00:00
SemaObjCXX [Sema] Handle objc_super special lookup when checking builtin compatibility 2020-09-18 20:51:55 +03:00
SemaOpenCL [OpenCL] Add global_device and global_host address spaces 2020-07-29 17:24:53 +03:00
SemaOpenCLCXX [OpenCL] Fixed missing address space for templated copy constructor. 2020-07-27 15:18:49 +01:00
SemaSYCL
SemaTemplate [clang][Sema] Fix PR47676: Handle dependent AltiVec C-style cast 2020-10-01 15:57:01 -04:00
TableGen Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"" 2020-09-24 11:16:54 -07:00
Templight
Tooling
Unit
VFS
clang-rename
utils/update_cc_test_checks [UpdateCCTestChecks] Include generated functions if asked 2020-09-18 06:34:59 -05:00
.clang-format [clang] Partially revert "Disable a few formatting options for test/" 2020-07-21 14:53:37 +01:00
CMakeLists.txt Revert "Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record" 2020-08-17 15:49:18 -04:00
TestRunner.sh
cxx-sections.data
lit.cfg.py [Coverage] Add empty line regions to SkippedRegions 2020-09-21 12:42:53 -07:00
lit.site.cfg.py.in [CMake] Simplify CMake handling for zlib 2020-08-11 20:22:11 -07:00
make_test_dirs.pl