llvm-project/clang/lib
Alex Lorenz 50be48b0f3 [clang][ObjC] Allow different availability annotation on a method
when implementing an optional protocol requirement

When an Objective-C method implements an optional protocol requirement,
allow the method to use a newer introduced or older obsoleted
availability version than what's specified on the method in the protocol
itself. This allows SDK adopters to adopt an optional method from a
protocol later than when the method is introduced in the protocol. The users
that call an optional method on an object that conforms to this protocol
are supposed to check whether the object implements the method or not,
so a lack of appropriate `if (@available)` check for a new OS version
is not a cause of concern as there's already another runtime check that's required.

Differential Revision: https://reviews.llvm.org/D102459
2021-05-19 12:13:57 -07:00
..
Analysis Add type information to integral template argument if required. 2021-05-12 19:00:08 +00:00
APINotes [clang][APINotes] Fix -Wunused-function warning (NFC) 2021-04-01 09:52:43 +08:00
ARCMigrate [SystemZ][z/OS] Set files in FileRemapper.cpp are text 2021-04-19 07:59:42 -04:00
AST [ASTimporter] Remove decl from lookup only if it has decl context 2021-05-18 09:43:20 +02:00
ASTMatchers [ASTMatchers] Add forCallable(), a generalization of forFunction(). 2021-05-13 11:25:00 -07:00
Basic [clang][patch] Add support for option -fextend-arguments={32,64}: widen integer arguments to int64 in unprototyped function calls 2021-05-19 10:59:56 -04:00
CodeGen [NewPM] Add options to PrintPassInstrumentation 2021-05-18 20:59:35 -07:00
CrossTU [analyzer][CTU] API for CTU macro expansions 2021-02-22 11:12:22 +01:00
DirectoryWatcher
Driver [clang][patch] Add support for option -fextend-arguments={32,64}: widen integer arguments to int64 in unprototyped function calls 2021-05-19 10:59:56 -04:00
Edit [Matrix] Implement C-style explicit type conversions for matrix types. 2021-04-10 11:48:41 +01:00
Format [clang-format] PR50326 AlignAfterOpenBracket AlwaysBreak does not keep to the ColumnLimit 2021-05-15 11:29:56 +01:00
Frontend Introduce SYCL 2020 mode 2021-05-18 10:34:14 -04:00
FrontendTool
Headers [PowerPC] Add vec_vupkhpx and vec_vupklpx for XL compatibility 2021-05-14 08:02:00 -05:00
Index [Index] Ignore nullptr decls for indexing 2021-05-06 13:12:26 -07:00
IndexSerialization
Interpreter [clang-repl] Better match the underlying architecture. 2021-05-18 19:14:33 +00:00
Lex [clang][modules] Build inferred modules 2021-05-17 10:40:51 +02:00
Parse [OpenCL] Drop pragma handling for extension types/decls. 2021-05-17 12:09:43 +01:00
Rewrite [clang] DeltaTree::AddDelta - fix "initialization is never read" clang-tidy warning. NFCI. 2021-03-02 15:01:34 +00:00
Sema [clang][ObjC] Allow different availability annotation on a method 2021-05-19 12:13:57 -07:00
Serialization [Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 1 2021-05-17 22:42:17 -07:00
StaticAnalyzer [analyzer] Check the checker name, rather than the ProgramPointTag when silencing a checker 2021-05-19 12:40:09 +02:00
Testing
Tooling Revert "Reapply "[clang][deps] Support inferred modules"" 2021-05-19 19:19:37 +02:00
CMakeLists.txt [clang-repl] Recommit "Land initial infrastructure for incremental parsing" 2021-05-13 06:30:29 +00:00