llvm-project/clang/test/Misc
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
..
Inputs Fixed dia file 2019-11-09 18:31:17 +01:00
amdgcn.languageOptsOpenCL.cl
attr-source-range.cpp
backend-optimization-failure-nodbg.cpp [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
backend-optimization-failure.cpp [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
backend-resource-limit-diagnostics.cl Revert "Mark test as unsupported until r315808 is fixed" 2017-10-14 22:24:31 +00:00
backend-stack-frame-diagnostics-fallback.cpp Ensure there is stack usage in stack size warning test 2019-05-03 19:04:14 +00:00
backend-stack-frame-diagnostics.cpp Recommit r335063: [Darwin] Add a warning for missing include path for libstdc++ 2018-06-19 22:47:53 +00:00
caret-diags-macros.c
caret-diags-multiline.cpp PR33902: Invalidate line number cache when adding more text to existing buffer. 2017-07-30 06:31:29 +00:00
caret-diags-scratch-buffer.c
cc1as-asm-debug.s [DWARF] Make -g with empty assembler source work better. 2019-03-01 20:58:04 +00:00
cc1as-asm.s
cc1as-compress.s Revert "Revert r305164/5/7." 2017-06-23 15:34:16 +00:00
cc1as-split-dwarf.s [Clang] Rename -split-dwarf-file to -split-dwarf-output 2019-06-15 14:07:43 +00:00
dev-fd-fs.c Restrict a test using named file descriptors to using the system shell 2018-04-03 18:22:14 +00:00
diag-aka-types.cpp [AST] Print a<b<c>> without extra spaces in C++11 or later. 2020-03-26 09:53:54 +01:00
diag-format.c Remove extraneous space in MSVC-style diagnostic output 2019-02-19 16:58:25 +00:00
diag-greatergreater.cpp PR37189 Fix incorrect end source location and spelling for a split '>>' token. 2018-04-30 05:25:48 +00:00
diag-line-wrapping.cpp [Driver] Don't pass -fmessage-length=0 to CC1 2020-03-31 17:12:08 -07:00
diag-macro-backtrace.c
diag-macro-backtrace2.c [test] Use %clang_cc1 instead of %clang -cc1 2019-09-27 05:37:06 +00:00
diag-mapping.c
diag-mapping2.c
diag-null-bytes-in-line.cpp
diag-presumed.c
diag-special-chars.c
diag-template-diffing-color.cpp
diag-template-diffing-cxx98.cpp
diag-template-diffing.cpp [Sema] Improved diagnostic for qualifiers in reference binding 2019-06-21 10:50:02 +00:00
diag-trailing-null-bytes.cpp
diag-verify.cpp
diagnostic-crash.cpp
driver-verify.c [test] Use %clang_cc1 instead of %clang -cc1 2019-09-27 05:37:06 +00:00
emit-html-insert.c
emit-html.c
error-limit-multiple-notes.cpp
error-limit.c
explicit.cpp [clang]: Remove assertion which checks explicit declaration 2020-08-20 18:15:43 -07:00
find-diagnostic-id.c [diagtool] Add ability to pass in the id and return the name for a 2017-08-03 16:13:13 +00:00
freebsd-arm-size_t.c
include-stack-for-note-flag.cpp
integer-literal-printing.cpp
interpreter.c
languageOptsOpenCL.cl
loop-opt-setup.c Fix full unrolling with new pass manager. 2020-05-29 20:08:21 -07:00
macro-backtrace.c
message-length.c [Driver] Don't pass -fmessage-length=0 to CC1 2020-03-31 17:12:08 -07:00
no-warn-in-system-macro.c Fix isInSystemMacro in presence of macro and pasted token 2019-05-16 12:40:00 +00:00
no-warn-in-system-macro.c.inc Fix isInSystemMacro to handle pasted macros 2019-02-01 06:11:44 +00:00
nvptx.languageOptsOpenCL.cl
pr32207.c [clang][NewPM] Add -fno-experimental-new-pass-manager to tests 2019-06-21 16:03:06 +00:00
pragma-attribute-cxx.cpp [c++20] P1143R2: Add support for the C++20 'constinit' keyword. 2019-09-04 20:30:37 +00:00
pragma-attribute-objc.m
pragma-attribute-strict-subjects.c
pragma-attribute-supported-attributes-list.test [clang] Implement objc_non_runtime_protocol to remove protocol metadata 2020-10-02 17:35:50 -04:00
predefines.c
printer.c [NewPM][PassInstrumentation] IR printing support from clang driver 2019-08-14 07:11:09 +00:00
r600.languageOptsOpenCL.cl
reduced-diags-macros-backtrace.cpp
reduced-diags-macros.cpp
remap-file.c
serialized-diags-bcanalyzer.c Add tests for llvm-bcanalyzer stream types 2018-04-22 00:04:35 +00:00
serialized-diags-driver.c
serialized-diags-frontend.c
serialized-diags-no-category.c
serialized-diags-no-issue.c
serialized-diags-really-long-text.cpp
serialized-diags-single-issue.c
serialized-diags-stable.c Fixed dia file 2019-11-09 18:31:17 +01:00
serialized-diags.c Use getLocation() in "too few/too many arguments" diagnostic 2020-02-18 11:23:17 -05:00
serialized-diags.h
serialized-diags.m
show-diag-options.c [Driver] Flip the CC1 default of -fdiagnostics-show-option 2020-03-31 21:59:27 -07:00
tabstop.c
target-invalid-cpu-note.c [RISCV] Update driver tests 2020-09-25 18:36:53 -05:00
target-parser.c
unnecessary-elipses.cpp [Driver] Don't pass -fmessage-length=0 to CC1 2020-03-31 17:12:08 -07:00
unprintable.c [Driver] Don't pass -fmessage-length=0 to CC1 2020-03-31 17:12:08 -07:00
verify.c
warn-in-system-header.c
warn-in-system-header.h
warn-in-system-macro-def.c Fix some tests I broke in r354190 2019-02-16 01:51:19 +00:00
warn-in-system-macro-def.c.inc Fix isInSystemMacro to handle pasted macros 2019-02-01 06:11:44 +00:00
warn-sysheader.cpp
warning-flags-enabled.c
warning-flags-tree.c [diagtool] Change default tree behavior to print only flags 2017-09-05 18:04:40 +00:00
warning-flags.c [Driver] Add disabled-by-default -Wuse-ld-path for the deprecation warning for -fuse-ld=/abs/path 2020-09-19 15:49:44 -07:00
warning-wall.c [clang] Update warning-wall.c test 2020-09-28 17:19:51 -07:00
win32-macho.c [Driver] Set the default win32-macho debug format to DWARF 2019-07-22 21:46:45 +00:00
working-directory.c
wrong-encoding.c
wrong-encoding2.c [Driver] Don't pass -fmessage-length=0 to CC1 2020-03-31 17:12:08 -07:00