summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/method-bad-param.m
Commit message (Collapse)AuthorAgeFilesLines
* Fix errored return value in CheckFunctionReturnType and add a fixit hintErich Keane2017-05-101-0/+6
| | | | | | | | | | | As discovered by ChenWJ and listed on cfe-dev, the error for Objective C return type ended up being wrong. This fixes that. Additionally, as a "while we're there", the other usages of this error and the usage of the FP above both use a FixItHint, so I'll add it here. Differential Revision: https://reviews.llvm.org/D32759 llvm-svn: 302720
* [Sema] Call CheckParmForFunctionDef on ObjC method parametersReid Kleckner2013-06-241-0/+10
| | | | | | | CheckParmForFunctionDef performs standard checks for type completeness and other things like a destructor check for the MSVC++ ABI. llvm-svn: 184740
* Unify return type checking for functions and ObjC methods. Move all theEli Friedman2013-06-141-0/+4
| | | | | | | | random checks for ObjC object return types to SemaType.cpp. Fixes issue with ObjC method type checking reported on cfe-dev. llvm-svn: 184006
* For varargs, diagnose passing ObjC objects by value like other non-POD types.Jordan Rose2012-07-191-1/+1
| | | | | | | | | | | | | | While we still want to consider this a hard error (non-POD variadic args are normally a DefaultError warning), delaying the diagnostic allows us to give better error messages, which also match the usual non-POD errors more closely. In addition, this change improves the diagnostic messages for format string argument type mismatches by passing down the type of the callee, so we can say "variadic method" or "variadic function" appropriately. <rdar://problem/11825593> llvm-svn: 160517
* Added a new attribute, objc_root_class, which informs the compiler when a ↵Patrick Beard2012-04-061-1/+1
| | | | | | | | | root class is intentionally declared. The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698> llvm-svn: 154187
* Modify how the -verify flag works. Currently, the verification string andRichard Trieu2011-12-151-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | diagnostic message are compared. If either is a substring of the other, then no error is given. This gives rise to an unexpected case: // expect-error{{candidate function has different number of parameters}} will match the following error messages from Clang: candidate function has different number of parameters (expected 1 but has 2) candidate function has different number of parameters It will also match these other error messages: candidate function function has different number of parameters number of parameters This patch will change so that the verification string must be a substring of the diagnostic message before accepting. Also, all the failing tests from this change have been corrected. Some stats from this cleanup: 87 - removed extra spaces around verification strings 70 - wording updates to diagnostics 40 - extra leading or trailing characters (typos, unmatched parens or quotes) 35 - diagnostic level was included (error:, warning:, or note:) 18 - flag name put in the warning (-Wprotocol) llvm-svn: 146619
* Emit a -Wnull-dereference warning for "*null" not just "*null = something". ↵Argyrios Kyrtzidis2011-04-261-1/+1
| | | | | | Addresses rdar://9269271. llvm-svn: 130207
* Diagnose use of incomplete type on method argument type ofFariborz Jahanian2010-09-171-0/+14
| | | | | | | method definitions instead of crashing in code gen. Fixes radar 8421082. llvm-svn: 114223
* Improve on diagnostics when an objc class is used asFariborz Jahanian2010-04-071-6/+6
| | | | | | a stand-alone type declaration. llvm-svn: 100588
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Change tests to use clang -cc1...Fariborz Jahanian2009-12-141-1/+1
| | | | llvm-svn: 91297
* This patch does the following.Fariborz Jahanian2009-09-031-1/+1
| | | | | | | | | | | 1) Issue digsnostics in non-fragile ABI, when an expression evaluates to an interface type (except when it is used to access a non-fragile ivar). 2) Issue unsupported error in fragile ABI when an expression evaluates to an interface type (except when it is used to access a fragile ivar). llvm-svn: 80860
* Changed abi mode for these test which are dereferencing Fariborz Jahanian2009-09-021-1/+1
| | | | | | an interface pointer. llvm-svn: 80836
* implement rdar://6780761, making sema reject some code that otherwiseChris Lattner2009-04-121-0/+6
| | | | | | crashes codegen. llvm-svn: 68891
* diagnose attempts to return objc interfaces by-value from C functions.Chris Lattner2009-04-111-0/+1
| | | | llvm-svn: 68873
* Improve the 'cannot pass objc interface by value' diagnostic:Chris Lattner2009-04-111-4/+5
| | | | | | | | | | | | | | | | | | 1) improve localizability by not passing english strings in. 2) improve location for arguments. 3) print the objc type being passed. Before: method-bad-param.m:15:1: error: Objective-C type cannot be passed by value -(void) my_method:(foo) my_param ^ after: method-bad-param.m:15:25: error: Objective-C interface type 'foo' cannot be passed by value -(void) my_method:(foo) my_param ^ llvm-svn: 68872
* Rename clang to clang-cc.Daniel Dunbar2009-03-241-1/+1
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* Fix <rdar://problem/6500554> missing objc error message.Steve Naroff2009-02-201-2/+6
| | | | llvm-svn: 65198
* Diagnose when method parameter is an object.Fariborz Jahanian2009-01-171-0/+18
llvm-svn: 62431
OpenPOWER on IntegriCloud