llvm-project/clang/test/SemaObjCXX
John McCall ea0a39e7ad Accept and pass arguments to __unknown_anytype in argument
positions of Objective-C methods.

It is possible to recover a lot of type information about
Objective-C methods from the reflective metadata for their
implementations.  This information is not rich when it
comes to struct types, however, and it is not possible to
produce a type in the debugger's round-tripped AST which
will really do anything useful during type-checking.
Therefore we allow __unknown_anytype in these positions,
which essentially disables type-checking for that argument.
We infer the parameter type to be the unqualified type of
the argument expression unless that expression is an
explicit cast, in which case it becomes the type-as-written
of that cast.

rdar://problem/12565338

llvm-svn: 167896
2012-11-14 00:49:39 +00:00
..
Inputs Automatic Reference Counting. 2011-06-15 23:02:42 +00:00
NSString-type.mm objective-c++: Type of an objc string literal is NSString, not 'id'. 2012-02-23 22:51:36 +00:00
abstract-class-type-ivar.mm objective-C: remove use of 'ivar' in favor of 2012-09-24 22:00:36 +00:00
arc-0x.mm objective-c++11: c++11 does not change pod-ness when 2012-09-05 19:51:20 +00:00
arc-bool-conversion.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-bridged-cast.mm Make -fobjc-nonfragile-abi the -cc1 default, since it's the 2011-10-02 01:16:38 +00:00
arc-libstdcxx.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-memfunc.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-nsconsumed-errors.mm Make -fobjc-nonfragile-abi the -cc1 default, since it's the 2011-10-02 01:16:38 +00:00
arc-objc-lifetime.mm objective-C++ test for my previous patch. 2012-09-12 21:27:26 +00:00
arc-overloading.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
arc-ppe.mm Fix a couple issues where we didn't correctly delay diagnostics in PotentiallyPotentiallyEvaluated contexts. In preparation for making sizeof() PotentiallyPotentiallyEvaluated. 2012-01-18 01:05:54 +00:00
arc-system-header.mm Make -fobjc-nonfragile-abi the -cc1 default, since it's the 2011-10-02 01:16:38 +00:00
arc-templates.mm When performing the deduced/actual argument type check for C++ 2012-07-18 00:14:59 +00:00
arc-type-conversion.mm Teach the ARC compiler to not require __bridge casts when 2011-10-17 18:40:02 +00:00
arc-type-traits.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-unavailable-for-weakref.mm Improve text of a diagnostic. 2011-10-31 17:27:06 +00:00
arc-unbridged-cast.mm objective-c arc: When function calls with known CFCreate naming convention 2012-07-27 22:37:07 +00:00
argument-dependent-lookup.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
blocks.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
boxing-illegal-types.mm Allow objc @() syntax for enum types. 2012-05-15 19:17:44 +00:00
category-lookup.mm When disambiguating an expression-statement from a declaraton-statement, if the 2012-08-23 20:19:14 +00:00
composite-objc-pointertype.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
conditional-expr.mm
const-cast.mm
conversion-ranking.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
conversion-to-objc-pointer-2.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
conversion-to-objc-pointer.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
crash.mm HandleDeclarator() returns NULL for semantic disasters. Deal with it 2012-04-30 18:13:01 +00:00
cstyle-block-pointer-cast.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
cstyle-cast.mm Provide overload diagnostics when explicit casts involving class types fail. 2011-02-14 18:34:10 +00:00
cxxoperator-selector.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
debugger-cast-result-to-id.mm lldb support: under debugger support flag, when sending message 2012-03-09 18:47:16 +00:00
debugger-support.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
decltype.mm Add a simple test involving decltype on Objective-C properties and ivars 2012-10-24 14:13:21 +00:00
deduction.mm
delay-parsing-cfunctions.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
delay-parsing-cplusfuncs.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
delay-parsing-func-tryblock.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
exceptions-fragile.mm Restructure how the driver communicates information about the 2012-06-20 06:18:46 +00:00
expr-objcxx.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
foreach-block.mm ObjClang++: Allow declaration of block variable in a collection 2010-08-29 17:20:53 +00:00
foreach.mm objective-c++11: extend c++11 range-based loop to iterate 2012-07-06 19:04:04 +00:00
format-strings.mm -Wformat: Don't check format strings in uninstantiated templates. 2012-10-02 01:49:54 +00:00
fragile-abi-object-assign.m Restructure how the driver communicates information about the 2012-06-20 06:18:46 +00:00
function-pointer-void-star.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
gc-attributes.mm Rename objc_lifetime -> objc_ownership, and modify diagnostics to talk about 'ownership', not 'lifetime'. 2011-06-24 00:08:59 +00:00
goto.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
instantiate-expr.mm objc: deprecate direct usage of 'isa' of objc objects 2012-01-18 19:08:56 +00:00
instantiate-message.mm
instantiate-method-return.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
instantiate-stmt.mm objective-c: improve diagnostic when collection expression is 2012-06-22 15:37:00 +00:00
ivar-construct.mm Teach RequireCompleteType about multi-dimensional arrays. Fixes 2012-04-23 16:42:52 +00:00
ivar-lookup.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
ivar-reference-type.mm
ivar-struct.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
linkage-spec.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
literals.mm objective-c modern translator: buildit objc bool 2012-04-16 21:03:30 +00:00
message.mm Restructure how the driver communicates information about the 2012-06-20 06:18:46 +00:00
namespace-lookup.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
null_objc_pointer.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
nullptr.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
objc-container-subscripting.mm Capitalize "Objective-C" and "C++" in user-facing contexts. 2012-07-19 18:10:18 +00:00
objc-decls-inside-namespace.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc-extern-c.mm Don't crash when a duplicate interface/protocol is inside an extern "C" context. 2011-11-13 22:08:30 +00:00
objc-pointer-conv.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc2-merge-gc-attribue-decl.mm
overload-1.mm
overload-gc.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
overload.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
parameters.mm Diagnose C++ abstract parameters for Objective-C methods. 2011-04-23 02:46:06 +00:00
pointer-to-objc-pointer-conv.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
propert-dot-error.mm objective-C: remove use of 'ivar' in favor of 2012-09-24 22:00:36 +00:00
properties.mm Don't try to save the assigned value in a Objective-C property assignment 2012-11-13 23:16:33 +00:00
property-reference.mm super and class property reference expressions don't need to be 2012-04-13 15:53:08 +00:00
property-synthesis-error.mm Fix Objective-C implicit property synthesis for C++ classes so we use valid 2012-10-18 20:14:08 +00:00
property-type-mismatch.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
protocol-lookup.mm Improvements to vexing-parse warnings. Make the no-parameters case more 2012-07-30 21:30:52 +00:00
references.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
reinterpret-cast-objc-pointertype.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
related-result-type-inference.mm Eliminate the -f[no]objc-infer-related-result-type flags; there's no 2011-06-13 16:42:53 +00:00
reserved-keyword-methods.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
standard-conversion-to-bool.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
static-cast.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
unknown-anytype.mm Accept and pass arguments to __unknown_anytype in argument 2012-11-14 00:49:39 +00:00
vararg-non-pod.mm [frontend] Don't allow a mapping to a warning override an error/fatal mapping. 2012-02-03 01:49:51 +00:00
vla.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
void_to_obj.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
warn-missing-super.mm objective-C: Improving diagnostocs for missing call to 2012-09-10 16:51:09 +00:00
warn-strict-selector-match.mm Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00