llvm-project/clang/test/SemaObjC
Martin Boehme 8c7b64b5ae [clang] Reject non-declaration C++11 attributes on declarations
For backwards compatiblity, we emit only a warning instead of an error if the
attribute is one of the existing type attributes that we have historically
allowed to "slide" to the `DeclSpec` just as if it had been specified in GNU
syntax. (We will call these "legacy type attributes" below.)

The high-level changes that achieve this are:

- We introduce a new field `Declarator::DeclarationAttrs` (with appropriate
  accessors) to store C++11 attributes occurring in the attribute-specifier-seq
  at the beginning of a simple-declaration (and other similar declarations).
  Previously, these attributes were placed on the `DeclSpec`, which made it
  impossible to reconstruct later on whether the attributes had in fact been
  placed on the decl-specifier-seq or ahead of the declaration.

- In the parser, we propgate declaration attributes and decl-specifier-seq
  attributes separately until we can place them in
  `Declarator::DeclarationAttrs` or `DeclSpec::Attrs`, respectively.

- In `ProcessDeclAttributes()`, in addition to processing declarator attributes,
  we now also process the attributes from `Declarator::DeclarationAttrs` (except
  if they are legacy type attributes).

- In `ConvertDeclSpecToType()`, in addition to processing `DeclSpec` attributes,
  we also process any legacy type attributes that occur in
  `Declarator::DeclarationAttrs` (and emit a warning).

- We make `ProcessDeclAttribute` emit an error if it sees any non-declaration
  attributes in C++11 syntax, except in the following cases:
  - If it is being called for attributes on a `DeclSpec` or `DeclaratorChunk`
  - If the attribute is a legacy type attribute (in which case we only emit
    a warning)

The standard justifies treating attributes at the beginning of a
simple-declaration and attributes after a declarator-id the same. Here are some
relevant parts of the standard:

- The attribute-specifier-seq at the beginning of a simple-declaration
  "appertains to each of the entities declared by the declarators of the
  init-declarator-list" (https://eel.is/c++draft/dcl.dcl#dcl.pre-3)

- "In the declaration for an entity, attributes appertaining to that entity can
  appear at the start of the declaration and after the declarator-id for that
  declaration." (https://eel.is/c++draft/dcl.dcl#dcl.pre-note-2)

- "The optional attribute-specifier-seq following a declarator-id appertains to
  the entity that is declared."
  (https://eel.is/c++draft/dcl.dcl#dcl.meaning.general-1)

The standard contains similar wording to that for a simple-declaration in other
similar types of declarations, for example:

- "The optional attribute-specifier-seq in a parameter-declaration appertains to
  the parameter." (https://eel.is/c++draft/dcl.fct#3)

- "The optional attribute-specifier-seq in an exception-declaration appertains
  to the parameter of the catch clause" (https://eel.is/c++draft/except.pre#1)

The new behavior is tested both on the newly added type attribute
`annotate_type`, for which we emit errors, and for the legacy type attribute
`address_space` (chosen somewhat randomly from the various legacy type
attributes), for which we emit warnings.

Depends On D111548

Reviewed By: aaron.ballman, rsmith

Differential Revision: https://reviews.llvm.org/D126061
2022-06-15 11:58:26 +02:00
..
Inputs [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership 2019-09-07 00:34:47 +00:00
ClassPropertyNotObject.m
ContClassPropertyLookup.m
DoubleMethod.m
NSString-type.m
aarch64-sve-types.m [AArch64][SVE] clang: Add missing svbfloat16_t tests 2020-06-29 16:48:53 +00:00
access-property-getter.m
alias-test-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
alias-test-2.m
arc-bridged-cast.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-cf.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-decls.m Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
arc-dict-bridged-cast.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-invalid.m
arc-jump-block.m
arc-no-runtime.m
arc-non-pod-memaccess.m
arc-nsconsumed-errors.m
arc-objc-lifetime-conflict.m [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC) 2022-04-07 12:09:47 +02:00
arc-objc-lifetime.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-objcbridge-related-attribute.m
arc-peformselector.m
arc-property-decl-attrs.m [Sema] Fix a use-after-deallocate of a ParsedAttr 2019-04-02 19:48:11 +00:00
arc-property-lifetime.m
arc-property.m
arc-readonly-property-ivar-1.m
arc-readonly-property-ivar.m
arc-repeated-weak.mm [NFC][Clang][test] Inclusive language: Remove and rephrase uses of sanity test/check in clang/test 2021-11-24 14:03:49 -05:00
arc-setter-property-match.m
arc-system-header.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-type-conversion.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-unavailable-for-weakref.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-unavailable-system-function.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
arc-unbridged-cast.m
arc-unsafe-assigns.m
arc-unsafe_unretained.m
arc.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
argument-checking.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
assign-rvalue-message.m
at-defs.m [C11/C2x] Change the behavior of the implicit function declaration warning 2022-04-20 11:30:12 -04:00
atomic-property-synthesis-rules.m Fix two typos in one test name, three days before its 10th birthday! (NFC) 2019-11-08 09:03:46 -08:00
attr-availability-1.m
attr-availability-priority.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-availability.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-called-once.m Use functions with prototypes when appropriate; NFC 2022-02-24 15:30:13 -05:00
attr-cf_returns.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-cleanup.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-deprecated-pch.m
attr-deprecated-replacement-fixit.m
attr-deprecated.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-designated-init.m [Sema][ObjC] Allow silencing -Wobjc-designated-initializers warnings by 2019-03-01 06:43:20 +00:00
attr-malloc.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-nodebug.m
attr-noinstrument.m Add no_instrument_function attribute to Objective C methods as well 2021-10-08 17:54:44 -07:00
attr-ns_returns_retained.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-objc-exception.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-objc-gc.m [clang] Reject non-declaration C++11 attributes on declarations 2022-06-15 11:58:26 +02:00
attr-objc-non-lazy.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-objc-runtime-visible.m
attr-print.m
attr-root-class.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-swift-async-error.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-swift-async.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
attr-swift-error.m Sema: add support for `__attribute__((__swift_error__))` 2020-09-11 21:20:38 +00:00
attr-swift_bridge.m Correct swift_bridge duplicate attribute warning logic 2021-02-11 07:11:27 -05:00
attr-swift_bridged_typedef.m Sema: add support for `__attribute__((__swift_bridged_typedef__))` 2020-09-15 20:15:34 +00:00
attr-swift_name.m Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
attr-swift_newtype.m Sema: add support for `__attribute__((__swift_newtype__))` 2020-09-24 15:17:35 +00:00
attr-swift_objc_members.m Sema: add support for `__attribute__((__swift_objc_members__))` 2020-09-14 15:24:41 +00:00
attr-swift_private.m Sema: add support for `__attribute__((__swift_private__))` 2020-09-25 22:33:53 +00:00
autoreleasepool.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
avoid-unavailable-implementation-warning-in-app-extension.m
bad-property-synthesis-crash.m
bad-receiver-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
block-as-object.m
block-attr.m
block-capture-unused-variable.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
block-compare.mm
block-explicit-return-type.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
block-id-as-block-argtype.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
block-ivar.m
block-literal-with-attribute.m
block-omitted-return-type.m Revert "Drop qualifiers from return types in C (DR423)" 2022-06-02 08:28:43 -04:00
block-on-method-param.m
block-return.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
block-type-safety.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
blocks.m Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
boxing-illegal.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
builtin_objc_assign_ivar.m
builtin_objc_lib_functions.m [C11/C2x] Change the behavior of the implicit function declaration warning 2022-04-20 11:30:12 -04:00
builtin_objc_msgSend.m
builtin_objc_nslog.m [C11/C2x] Change the behavior of the implicit function declaration warning 2022-04-20 11:30:12 -04:00
call-super-2.m
call-unavailable-init-in-self.m Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
catch-invalid.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
catch-stmt.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
category-1.m
category-direct-members-protocol-conformance.m [objc] diagnose protocol conformance in categories with direct members 2020-12-04 15:55:34 -08:00
category-direct-properties.m [objc_direct] Small updates to help with adoption. 2020-02-16 16:32:41 -08:00
category-method-lookup-2.m
category-method-lookup.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
check-dup-decl-methods-1.m
check-dup-decls-inside-objc.m [modules] Merge ObjC interface ivars with anonymous types. 2022-04-04 18:48:30 -07:00
check-dup-objc-decls-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
check-objcbridge-related-attribute-lookup.m
circular-container.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
class-bitfield.m Combine two diagnostics into one and correct grammar 2021-07-14 11:43:28 -04:00
class-conforming-protocol-1.m
class-conforming-protocol-2.m
class-def-test-1.m
class-extension-after-implementation.m
class-extension-dup-methods.m
class-getter-using-dotsyntax.m
class-impl-1.m
class-message-protocol-lookup.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
class-method-lookup.m
class-method-self.m [ObjC] Add some additional test cases around pointer conversions. 2019-10-17 15:18:59 +00:00
class-property-access.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
class-property-inheritance.m [Clang][Sema] Fix attribute mismatch warning for ObjC class properties 2022-01-11 12:10:18 +00:00
class-proto-1.m
class-protocol-method-match.m
class-protocol.m
class-stub-attr-unsupported.m Add the `objc_class_stub` attribute. 2019-05-30 04:09:01 +00:00
class-stub-attr.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
class-unavail-warning.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
cocoa-api-usage.m Use functions with prototypes when appropriate; NFC 2022-02-24 15:30:13 -05:00
cocoa-api-usage.m.fixed Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
compare-qualified-class.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
compare-qualified-id.m
compatible-protocol-qualified-types.m
compound-init.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-2.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-3.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-4.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-5.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-6.m
comptypes-7.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-8.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
comptypes-9.m
comptypes-10.m
comptypes-a.m
comptypes-legal.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
conditional-expr-2.m
conditional-expr-3.m
conditional-expr-4.m
conditional-expr-5.m
conditional-expr-6.m
conditional-expr-7.m
conditional-expr-8.m
conditional-expr.m
conflict-atomic-property.m
conflict-nonfragile-abi2.m
conflicting-ivar-test-1.m
continuation-class-err.m
continuation-class-property.m
conversion.m [NFC][Clang][test] Inclusive language: Remove and rephrase uses of sanity test/check in clang/test 2021-11-24 14:03:49 -05:00
crash-label.m
crash-on-objc-bool-literal.m
crash-on-type-args-protocols.m Improve error recovery from missing '>' in template argument list. 2020-03-27 18:59:01 -07:00
custom-atomic-property.m
dealloc.m
debugger-cast-result-to-id.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
debugger-support.m [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC) 2022-04-07 12:09:47 +02:00
default-synthesize-1.m
default-synthesize-2.m
default-synthesize-3.m
default-synthesize-sourceloc.m Set a source location for Objective-C accessor stubs 2019-12-05 12:45:10 -08:00
default-synthesize.m
delay-parsing-cfunctions.m Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
deprecate_function_containers.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
deprecated-objc-introspection.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
deref-interface.m
diagnose_if.m
dictionary-literal-duplicates.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
direct-synthesized-ivar-access.m
disable-direct-method.m [ObjC] Add a command line flag that disables recognition of objc_direct for testability 2021-04-06 11:17:01 -04:00
dist-object-modifiers.m
dllexport.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
dllimport.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
duplicate-ivar-check.m
duplicate-ivar-in-class-extension.m
duplicate-property-class-extension.m
duplicate-property.m
dynamic-direct-properties.m [objc_direct] Small updates to help with adoption. 2020-02-16 16:32:41 -08:00
encode-typeof-test.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
enhanced-proto-2.m
enum-fixed-type.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
err-ivar-access-in-class-method.m
error-implicit-property.m
error-missing-getter.m
error-outof-scope-property-use.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
error-property-gc-attr.m
exprs.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
externally-retained-no-arc.m
externally-retained.m Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
flexible-array-arc.m
flexible-array.m Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
foreach.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
format-arg-attribute.m format_arg attribute does not support nullable instancetype return type 2021-11-12 13:35:43 -08:00
format-cstrings-warning.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
format-ostrace-warning.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
format-size-spec-nsinteger.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
format-strings-objc.m [clang] Allow all string types for all attribute(format) styles 2022-05-12 11:12:38 -07:00
format-strings-oslog.m
format-strings-system.h
format-strings-utf8.m
forward-class-1.m
forward-class-receiver.m
forward-class-redeclare.m
forward-protocol-incomplete-impl-warn.m
gc-attributes.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
gcc-cast-ext.m PR44406: Follow behavior of array bound constant folding in more recent versions of GCC. 2020-10-16 14:34:35 -07:00
generic-selection.m
getter-setter-defined-in-category-of-parent.m
ibaction.m
iboutlet.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
iboutletcollection-attr.m
id.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
id_builtin.m
idiomatic-parentheses.m
ignore-qualifier-on-qualified-id.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
ignore-weakimport-method.m
illegal-nonarc-bridged-cast.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
incompatible-protocol-qualified-types.m
incomplete-implementation.m
infer-availability-from-init.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
inst-method-lookup-in-root.m
instancetype.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
integer-overflow.m
interface-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
interface-layout-2.m
interface-layout.m
interface-scope-2.m
interface-scope.m
interface-tu-variable.m
invalid-code.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
invalid-objc-decls-1.m
invalid-receiver.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
invalid-typename.m [ObjC] Improve error message for a malformed objc-type-name 2019-06-26 23:39:23 +00:00
ivar-access-package.m
ivar-access-tests.m
ivar-in-class-extension-error.m
ivar-in-class-extension.m
ivar-in-implementations.m
ivar-lookup-resolution-builtin.m [C11/C2x] Change the behavior of the implicit function declaration warning 2022-04-20 11:30:12 -04:00
ivar-lookup.m
ivar-ref-misuse.m
ivar-sem-check-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
ivar-sem-check-2.m
kindof.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
legacy-implementation-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
matrix-type-builtins.m [Matrix] Use 1st/2nd instead of first/second in matrix diags. 2020-06-25 11:55:03 +01:00
matrix-type-operators.m [Matrix] Implement matrix index expressions ([][]). 2020-06-01 20:08:49 +01:00
message.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
method-arg-qualifier-warning.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
method-attributes.m Detect section type conflicts between functions and variables 2020-12-17 11:43:47 -05:00
method-bad-param.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
method-conflict-1.m [clang] [Objective C] Inclusive language: use objcmt-allowlist-dir-path=<arg> instead of objcmt-white-list-dir-path=<arg> 2021-11-05 12:27:05 -04:00
method-conflict-2.m [clang] [Objective C] Inclusive language: use objcmt-allowlist-dir-path=<arg> instead of objcmt-white-list-dir-path=<arg> 2021-11-05 12:27:05 -04:00
method-conflict.m
method-def-1.m
method-def-2.m
method-direct-arc.m [objc_direct] Allow for direct messages be sent to `self` when it is a Class 2020-01-23 22:39:28 -08:00
method-direct-one-definition.m [objc_direct] also go through implementations when looking for clashes 2020-03-23 20:49:09 -07:00
method-direct-properties.m Implement __attribute__((objc_direct)), __attribute__((objc_direct_members)) 2019-11-18 11:48:40 -08:00
method-direct.m [objc_direct] also go through implementations when looking for clashes 2020-03-23 20:49:09 -07:00
method-encoding-2.m
method-in-class-extension-impl.m
method-lookup-2.m
method-lookup-3.m
method-lookup-4.m
method-lookup-5.m
method-lookup.m
method-no-context.m
method-not-defined.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
method-prototype-scope.m
method-redecls-invalid-interface.m
method-return-void.m [clang][NFC] Tests showing the problems with some uses of NamedDecl::getDeclName in diagnostics, SemaOverload.cpp+SemaStmt.cpp part 2020-07-18 20:44:06 +01:00
method-sentinel-attr.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
method-typecheck-1.m
method-typecheck-2.m
method-typecheck-3.m [clang] [Objective C] Inclusive language: use objcmt-allowlist-dir-path=<arg> instead of objcmt-white-list-dir-path=<arg> 2021-11-05 12:27:05 -04:00
method-undef-category-warn-1.m
method-undef-extension-warn-1.m
method-undefined-warn-1.m
method-unused-attribute.m [Sema][ObjC] Disable -Wunused-parameter for ObjC methods 2019-05-03 07:19:46 +00:00
method-warn-unused-attribute.m
mismatched-undefined-method.m
missing-atend-metadata.m
missing-method-context.m
missing-method-return-type.m
mrc-no-weak.m
mrc-weak.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
multiple-method-names-in-class-self.m
multiple-method-names.m
multiple-property-deprecated-decl.m
narrow-property-type-in-cont-class.m
nested-typedef-decl.m
newproperty-class-method-1.m
no-gc-weak-test.m
no-ivar-access-control.m
no-ivar-in-interface-block.m
no-objc-exceptions.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
no-protocol-option-tests.m
no-warn-qual-mismatch.m
no-warn-synth-protocol-meth.m
no-warn-unimpl-method.m
no-warning-unavail-unimp.m
non-trivial-c-union.m [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership 2019-09-07 00:34:47 +00:00
nonnull.h
nonnull.m Fix failing test case with strict prototype changes 2022-05-26 08:46:11 -04:00
nowarn-superclass-method-mismatch.m
ns-consumed-error-not-warning.m
ns_returns_retained_block_return.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
nsobject-attribute-1.m
nsobject-attribute.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
nullability-arc.m
nullability.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
nullability_macro.m Remove unicode character from test 2019-05-21 20:12:00 +00:00
nullable-result.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
nullable-weak-property.m
objc-array-literal.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-asm-attribute-neg-test.m Add support for attributes on @implementations in Objective-C 2019-04-11 17:55:30 +00:00
objc-boxed-expressions-nsvalue.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-buffered-methods.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-cf-audited-warning.m [clang] Fix message text for `-Wpointer-sign` to account for plain char 2021-01-11 18:41:14 -05:00
objc-class-property.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-container-subscripting-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-container-subscripting-2.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-container-subscripting-3.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-container-subscripting-attr.m
objc-container-subscripting.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-cstyle-args-in-methods.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-dictionary-literal.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-independent-class-attribute.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-literal-comparison.m
objc-literal-fixit.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-literal-nsnumber.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-literal-sig.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc-mixed-bridge-attribute.m
objc-precise-lifetime-unused-variable.m Clang `unused-but-set-variable` warnings should not apply to `__attribute__((objc_precise_lifetime))` Objective-C pointers 2022-02-24 14:26:05 -08:00
objc-qualified-property-lookup.m
objc-string-constant.m
objc2-merge-gc-attribue-decl.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objc2-warn-weak-decl.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objcbridge-attribute-arc.m
objcbridge-attribute.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
objcbridge-related-attribute.m
objcbridgemutable-attribute.m
opaque-is-access-warn.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
opaque-is-access.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
override-nullability.m
override-opt-prop-availability.m [clang][ObjC] Allow different availability annotation on a method 2021-05-19 12:13:57 -07:00
overriding-property-in-class-extension.m
ovl-check.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
parameterized_classes.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
parameterized_classes_arc.m
parameterized_classes_collection_literal.m [ObjC generics] Fix not inheriting type bounds in categories/extensions. 2020-04-24 16:32:28 -07:00
parameterized_classes_subst.m [ObjC generics] Fix not inheriting type bounds in categories/extensions. 2020-04-24 16:32:28 -07:00
pedantic-dynamic-test.m
potentially-direct-selector.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
pragma-pack.m
property-2.m
property-3.m
property-4.m
property-5.m
property-6.m
property-7.m
property-8.m
property-9-impl-method.m
property-9.m
property-10.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
property-11.m
property-12.m
property-13.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
property-ambiguous-synthesis.m
property-and-class-extension.m
property-and-ivar-use.m
property-assign-on-object-type.m
property-atomic-redecl.m
property-category-1.m
property-category-2.m
property-category-3.m
property-category-4.m
property-category-impl.m
property-choose-expr.m
property-deprecated-warning.m Revert "Revert "Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible."" 2021-12-07 23:15:21 +00:00
property-dot-receiver.m
property-error-readonly-assign.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
property-expression-error.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
property-impl-misuse.m
property-implement-readonly-with-custom-setter.m
property-in-class-extension-1.m
property-in-class-extension.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
property-inherited.m
property-ivar-mismatch.m
property-lookup-in-id.m
property-method-lookup-impl.m
property-missing.m
property-nonfragile-abi.m
property-noninherited-availability-attr.m
property-noprotocol-warning.m
property-not-lvalue.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
property-ns-returns-not-retained-attr.m
property-ownership-attr.m
property-redundant-decl-accessor.m
property-typecheck-1.m
property-user-setter.m
property-weak.m
property.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
props-on-prots.m
protocol-archane.m Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
protocol-attribute.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
protocol-expr-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
protocol-expr-neg-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
protocol-id-test-1.m
protocol-id-test-2.m
protocol-id-test-3.m
protocol-implementation-inherited.m
protocol-implementing-class-methods.m
protocol-lookup-2.m
protocol-lookup.m
protocol-qualified-class-unsupported.m
protocol-typecheck.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
protocol-warn.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
protocols-suppress-conformance.m
protocols.m Change the behavior of implicit int diagnostics 2022-05-04 08:35:47 -04:00
provisional-ivar-lookup.m
qualified-protocol-method-conflicts.m
rdar6248119.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
rdr-6211479-array-property.m Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
receiver-forward-class.m
related-result-type-inference.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
resolve-method-in-global-pool.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
restrict-id-type.m
return-noreturn.m [clang] Fix -Wreturn-type false positive in @try statements 2021-11-28 12:56:46 -05:00
return.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
scope-check.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
selector-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
selector-2.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
selector-3.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
selector-4.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
selector-error.m
selector-overload.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
self-assign.m
self-comparison.m
self-declared-in-block.m
self-in-function.m
setter-dotsyntax.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
severe-syntax-error.m
sign-conversion.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
signed-char-bool-conversion.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
sizeof-interface.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
special-dep-unavail-warning.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
stand-alone-implementation.m
static-ivar-ref-1.m Fix the declaration printer to properly handle prototypes in C 2022-02-17 13:54:09 -05:00
stmts.m
string.m
strong-in-c-struct.m [CodeGen] Emit destructor calls to destruct compound literals 2020-03-10 14:08:28 -07:00
subclassing-restricted-attr.m
super-cat-prot.m
super-class-protocol-conformance.m
super-dealloc-attribute.m
super-property-message-expr.m
super-property-notation.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
super.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
suspicious-pragma-pack.m
synchronized.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
synth-provisional-ivars-1.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
synth-provisional-ivars.m
synthesize-setter-contclass.m
synthesized-ivar.m
tentative-property-decl.m
transfer-boxed-string-nullability.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
transparent-union.m
try-catch.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
typedef-class.m
typo-correction-arc.m
typo-correction-subscript.m [Sema] Emit diagnostics for uncorrected delayed typos at the end of TU 2019-10-09 10:00:05 +00:00
typo-correction.m
ucn-objc-string.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
undeclared-selector.m
undef-arg-super-method-call.m
undef-class-messagin-error.m
undef-class-property-error.m
undef-protocol-methods-1.m
undef-superclass-1.m
undefined-protocol-type-1.m
unguarded-availability-category-protocol-use.m
unguarded-availability-maccatalyst.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
unguarded-availability-new.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
unguarded-availability.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
unimplemented-protocol-prop.m
uninit-variables.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
unknown-anytype.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
unqualified-to-qualified-class-warn.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
unsafe-perform-selector.m
unused-backing-ivar-warning.m
unused.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
va-method-1.m
validate-attr-swift_attr.m [clang] add a new `swift_attr` attribute 2020-12-04 15:53:24 -08:00
variable-size-ivar.m [Sema] Fold VLAs to constant arrays in a few more contexts 2020-12-04 10:03:23 -05:00
warn-assign-property-nscopying.m
warn-called-once.m [-Wcompletion-handler] Don't recognize init methods as conventional 2021-04-07 13:50:01 +03:00
warn-cast-of-sel-expr.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-category-method-deprecated.m
warn-deprecated-implementations.m
warn-direct-ivar-access.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-explicit-call-initialize.m
warn-forward-class-attr-deprecated.m
warn-implicit-atomic-property.m
warn-incompatible-builtin-types.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-loop-analysis.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-messaging-id.mm
warn-missing-super.m
warn-nontrivial-struct-memaccess.m
warn-protocol-method-deprecated.m
warn-retain-block-property.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-retain-cycle.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-selector-selection.m
warn-strict-selector-match.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-superclass-method-mismatch.m
warn-thread-safety-analysis.m
warn-unreachable.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-unused-exception-param.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-weak-field.m Use functions with prototypes when appropriate; NFC 2022-02-07 15:29:36 -05:00
warn-write-strings.m Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
warning-missing-selector-name.m
weak-attr-ivar.m
weak-property.m
writable-property-in-superclass.m
x86-method-vector-values.m