llvm-project/clang/test/SemaObjC
Akira Hatanaka cc4bfd7f59 [Sema][ObjC] Allow conversions between pointers to ObjC pointers and
pointers to structs

clang was just being conservative and trying to prevent users from
messing up the qualifier on the inner pointer type. Lifting this
restriction enables using some of the libc++ templates with ObjC pointer
arguments, which clang currently rejects.

rdar://79018677

Differential Revision: https://reviews.llvm.org/D107021
2021-08-25 10:22:29 -07: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
alias-test-2.m
arc-bridged-cast.m
arc-cf.m
arc-decls.m [Sema] Diagnose default-initialization, destruction, and copying of 2019-09-07 00:34:43 +00:00
arc-dict-bridged-cast.m
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
arc-objc-lifetime.m
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 [Sema] Fix a -Warc-repeated-use-of-weak false-positive by only calling CheckPlaceholderExpr once 2020-09-03 16:56:35 -04:00
arc-setter-property-match.m
arc-system-header.m
arc-type-conversion.m [Sema][ObjC] Allow conversions between pointers to ObjC pointers and 2021-08-25 10:22:29 -07:00
arc-unavailable-for-weakref.m
arc-unavailable-system-function.m
arc-unbridged-cast.m
arc-unsafe-assigns.m
arc-unsafe_unretained.m
arc.m [Sema] Fix a miscompile by retaining array qualifiers when folding VLAs to constant arrays 2020-12-16 10:01:24 -05:00
argument-checking.m
assign-rvalue-message.m
at-defs.m
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
attr-availability.m [clang][ObjC] Allow different availability annotation on a method 2021-05-19 12:13:57 -07:00
attr-called-once.m [-Wcalled-once-parameter] Introduce 'called_once' attribute 2021-01-05 18:26:44 +03:00
attr-cf_returns.m
attr-cleanup.m
attr-deprecated-pch.m
attr-deprecated-replacement-fixit.m
attr-deprecated.m
attr-designated-init.m
attr-malloc.m
attr-nodebug.m
attr-ns_returns_retained.m
attr-objc-exception.m
attr-objc-gc.m
attr-objc-non-lazy.m Support objc_nonlazy_class attribute on Objective-C implementations 2019-04-11 17:55:34 +00:00
attr-objc-runtime-visible.m
attr-print.m
attr-root-class.m
attr-swift-async-error.m [clang] Add support for attribute 'swift_async_error' 2021-02-10 13:18:13 -05:00
attr-swift-async.m [clang] Add support for attribute 'swift_async' 2020-12-07 17:19:26 -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 [clang] add a `swift_async_name` attribute 2020-12-04 15:55:29 -08: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
avoid-unavailable-implementation-warning-in-app-extension.m
bad-property-synthesis-crash.m
bad-receiver-1.m
block-as-object.m
block-attr.m
block-compare.mm
block-explicit-return-type.m
block-id-as-block-argtype.m
block-ivar.m
block-literal-with-attribute.m
block-omitted-return-type.m
block-on-method-param.m
block-return.m
block-type-safety.m [ObjC] Add compatibility mode for type checking of qualified id block parameters. 2020-05-14 12:08:19 -07:00
blocks.m
boxing-illegal.m Use {{.*}} in test case to match the type of wide string literals. 2019-03-08 15:20:12 +00:00
builtin_objc_assign_ivar.m
builtin_objc_lib_functions.m
builtin_objc_msgSend.m
builtin_objc_nslog.m
call-super-2.m
call-unavailable-init-in-self.m
catch-invalid.m
catch-stmt.m
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
check-dup-decl-methods-1.m
check-dup-objc-decls-1.m
check-objcbridge-related-attribute-lookup.m
circular-container.m
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
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
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 Add the `objc_class_stub` attribute. 2019-05-30 04:09:01 +00:00
class-unavail-warning.m
cocoa-api-usage.m
cocoa-api-usage.m.fixed
compare-qualified-class.m
compare-qualified-id.m
compatible-protocol-qualified-types.m
compound-init.m
comptypes-1.m [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object 2019-10-17 15:27:04 +00:00
comptypes-2.m
comptypes-3.m
comptypes-4.m
comptypes-5.m
comptypes-6.m
comptypes-7.m [ObjC] Add some additional test cases around pointer conversions. 2019-10-17 15:18:59 +00:00
comptypes-8.m
comptypes-9.m
comptypes-10.m
comptypes-a.m
comptypes-legal.m [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00: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
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
debugger-support.m [test] Add {{.*}} to make tests immune to dso_local/dso_preemptable/(none) differences 2020-12-30 20:52:01 -08: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
deprecate_function_containers.m
deprecated-objc-introspection.m
deref-interface.m
diagnose_if.m
dictionary-literal-duplicates.m [SemaObjC] Add a warning for dictionary literals with duplicate keys 2020-05-05 15:30:39 -04: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
dllimport.m
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
enhanced-proto-2.m
enum-fixed-type.m Properly implement 'enum class' parsing. 2020-05-10 13:21:04 -07:00
err-ivar-access-in-class-method.m
error-implicit-property.m
error-missing-getter.m
error-outof-scope-property-use.m
error-property-gc-attr.m
exprs.m
externally-retained-no-arc.m
externally-retained.m [Sema] Fix an assert when objc_externally_retained was applied to an unprototyped function 2020-02-28 15:49:16 -08:00
flexible-array-arc.m
flexible-array.m
foreach.m [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable 2021-06-01 15:38:48 -07:00
format-arg-attribute.m [clang][ObjC] allow the use of NSAttributedString * return type with format_arg attribute 2021-03-09 13:36:57 -08:00
format-cstrings-warning.m
format-ostrace-warning.m
format-size-spec-nsinteger.m
format-strings-objc.m [clang][ObjC] allow the use of NSAttributedString * argument type with format attribute 2021-06-11 13:24:32 -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 Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00: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 Redeclare Objective-C property accessors inside the ObjCImplDecl in which they are synthesized. 2019-11-08 08:23:22 -08:00
iboutletcollection-attr.m
id.m
id_builtin.m
idiomatic-parentheses.m
ignore-qualifier-on-qualified-id.m
ignore-weakimport-method.m
illegal-nonarc-bridged-cast.m
incompatible-protocol-qualified-types.m
incomplete-implementation.m
infer-availability-from-init.m
inst-method-lookup-in-root.m
instancetype.m
integer-overflow.m
interface-1.m
interface-layout-2.m
interface-layout.m
interface-scope-2.m
interface-scope.m
interface-tu-variable.m
invalid-code.m
invalid-objc-decls-1.m
invalid-receiver.m
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
ivar-lookup.m
ivar-ref-misuse.m
ivar-sem-check-1.m
ivar-sem-check-2.m
kindof.m
legacy-implementation-1.m
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
method-arg-qualifier-warning.m
method-attributes.m Detect section type conflicts between functions and variables 2020-12-17 11:43:47 -05:00
method-bad-param.m
method-conflict-1.m
method-conflict-2.m
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
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
method-typecheck-1.m
method-typecheck-2.m
method-typecheck-3.m
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 Fix for the greendragon bots. 2019-05-08 05:59:25 +00: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
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 [Sema] Fix a use-after-free of a _Nonnull ParsedAttr 2019-03-14 18:38:02 +00:00
nowarn-superclass-method-mismatch.m
ns-consumed-error-not-warning.m
ns_returns_retained_block_return.m
nsobject-attribute-1.m
nsobject-attribute.m
nullability-arc.m
nullability.m [clang] Add a new nullability annotation for swift async: _Nullable_result 2020-12-07 17:19:20 -05:00
nullability_macro.m Remove unicode character from test 2019-05-21 20:12:00 +00:00
nullable-result.m [clang] Add a new nullability annotation for swift async: _Nullable_result 2020-12-07 17:19:20 -05:00
nullable-weak-property.m
objc-array-literal.m
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
objc-buffered-methods.m
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
objc-container-subscripting-1.m
objc-container-subscripting-2.m
objc-container-subscripting-3.m
objc-container-subscripting-attr.m
objc-container-subscripting.m
objc-cstyle-args-in-methods.m
objc-dictionary-literal.m
objc-independent-class-attribute.m
objc-literal-comparison.m
objc-literal-fixit.m [SemaObjC] Forbid storing an unboxed integer literal in an NSNumber 2020-04-20 15:22:51 -04:00
objc-literal-nsnumber.m
objc-literal-sig.m
objc-mixed-bridge-attribute.m
objc-qualified-property-lookup.m
objc-string-constant.m
objc2-merge-gc-attribue-decl.m
objc2-warn-weak-decl.m
objcbridge-attribute-arc.m
objcbridge-attribute.m
objcbridge-related-attribute.m
objcbridgemutable-attribute.m
opaque-is-access-warn.m
opaque-is-access.m
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
parameterized_classes.m
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 [SemaObjC] Add a warning for @selector expressions that potentially refer to objc_direct methods 2020-07-07 13:29:54 -04: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
property-11.m
property-12.m
property-13.m
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
property-dot-receiver.m
property-error-readonly-assign.m
property-expression-error.m
property-impl-misuse.m
property-implement-readonly-with-custom-setter.m
property-in-class-extension-1.m
property-in-class-extension.m
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
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
props-on-prots.m
protocol-archane.m [Sema] Adds the pointer-to-int-cast diagnostic 2020-02-16 15:38:25 +01:00
protocol-attribute.m
protocol-expr-1.m
protocol-expr-neg-1.m
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
protocol-warn.m
protocols-suppress-conformance.m
protocols.m
provisional-ivar-lookup.m
qualified-protocol-method-conflicts.m
rdar6248119.m
rdr-6211479-array-property.m
receiver-forward-class.m
related-result-type-inference.m
resolve-method-in-global-pool.m
restrict-id-type.m
return.m
scope-check.m
selector-1.m
selector-2.m
selector-3.m
selector-4.m
selector-error.m
selector-overload.m
self-assign.m
self-comparison.m
self-declared-in-block.m
self-in-function.m
setter-dotsyntax.m
severe-syntax-error.m
sign-conversion.m
signed-char-bool-conversion.m [SemaObjC] Fix a -Wobjc-signed-char-bool false-positive with binary conditional operator 2020-07-07 13:29:54 -04:00
sizeof-interface.m
special-dep-unavail-warning.m
stand-alone-implementation.m
static-ivar-ref-1.m
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
super.m
suspicious-pragma-pack.m
synchronized.m
synth-provisional-ivars-1.m
synth-provisional-ivars.m
synthesize-setter-contclass.m
synthesized-ivar.m
tentative-property-decl.m
transfer-boxed-string-nullability.m
transparent-union.m
try-catch.m
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
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 [clang][darwin] add support for Mac Catalyst availability 2021-07-20 12:51:57 -07:00
unguarded-availability-new.m
unguarded-availability.m [Sema] Always search the full function scope context if a potential availability violation is encountered 2021-05-24 21:13:30 -07:00
unimplemented-protocol-prop.m
uninit-variables.m
unknown-anytype.m
unqualified-to-qualified-class-warn.m
unsafe-perform-selector.m
unused-backing-ivar-warning.m
unused.m [Sema][ObjC] Disable -Wunused-parameter for ObjC methods 2019-05-03 07:19:46 +00: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
warn-category-method-deprecated.m
warn-deprecated-implementations.m
warn-direct-ivar-access.m
warn-explicit-call-initialize.m
warn-forward-class-attr-deprecated.m
warn-implicit-atomic-property.m
warn-incompatible-builtin-types.m
warn-loop-analysis.m
warn-messaging-id.mm
warn-missing-super.m
warn-nontrivial-struct-memaccess.m
warn-protocol-method-deprecated.m
warn-retain-block-property.m
warn-retain-cycle.m
warn-selector-selection.m
warn-strict-selector-match.m
warn-superclass-method-mismatch.m
warn-thread-safety-analysis.m
warn-unreachable.m
warn-unused-exception-param.m
warn-weak-field.m
warn-write-strings.m
warning-missing-selector-name.m
weak-attr-ivar.m
weak-property.m
writable-property-in-superclass.m
x86-method-vector-values.m