summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/sizeof-interface.m
Commit message (Collapse)AuthorAgeFilesLines
* objective-c: yank any use of "non-fragile abi" phraseFariborz Jahanian2012-07-091-9/+9
| | | | | | from diagnostics. // rdar://9657485 llvm-svn: 159943
* 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
* Add clang support for new Objective-C literal syntax for NSDictionary, NSArray,Ted Kremenek2012-03-061-3/+3
| | | | | | | | | | | | | NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting. My apologies for the large patch. It was very difficult to break apart. The patch introduces changes to the driver as well to cause clang to link in additional runtime support when needed to support the new language features. Docs are forthcoming to document the implementation and behavior of these features. llvm-svn: 152137
* Use Sema::RequireCompleteType to check for the completeness ofDouglas Gregor2011-11-141-1/+1
| | | | | | | | | | Objective-C classes. This has two purposes: to consistently provide "forward declaration here" notes when we hit an incomplete type, and to give LLDB a chance to complete the type. RequireCompleteType bits from Sean Callanan! llvm-svn: 144573
* Make -fobjc-nonfragile-abi the -cc1 default, since it's theJohn McCall2011-10-021-1/+1
| | | | | | | | | | | | | | | | | | | increasingly prevailing case to the point that new features like ARC don't even support the fragile ABI anymore. This required a little bit of reshuffling with exceptions because a check was assuming that ObjCNonFragileABI was only being set in ObjC mode, and that's actually a bit obnoxious to do. Most, though, it involved a perl script to translate a ton of test cases. Mostly no functionality change for driver users, although there are corner cases with disabling language-specific exceptions that we should handle more correctly now. llvm-svn: 140957
* Factor out (some of) the checking for invalid forms of pointerChandler Carruth2011-06-271-1/+1
| | | | | | | | | | | | | | | | | | | arithmetic into a couple of common routines. Use these to make the messages more consistent in the various contexts, especially in terms of consistently diagnosing binary operators with invalid types on both the left- and right-hand side. Also, improve the grammar and wording of the messages some, handling both two pointers and two (different) types. The wording of function pointer arithmetic diagnostics still strikes me as poorly phrased, and I worry this makes them slightly more awkward if more consistent. I'm hoping to fix that with a follow-on patch and test case that will also make them more helpful when a typedef or template type parameter makes the type completely opaque. Suggestions on better wording are very welcome, thanks to Richard Smith for some initial help on that front. llvm-svn: 133906
* Fix tests to account for new warning "expected ';' at end of declaration ↵Carl Norum2011-03-071-1/+1
| | | | | | list". Sorry, folks! llvm-svn: 127188
* 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
* Use -fblocks and -fobjc-nonfragile-abi when that is what is being tested, ↵Daniel Dunbar2009-11-171-1/+1
| | | | | | instead of forcing the triple. llvm-svn: 89072
* Diagnose ++/-- op on objc pointers inFariborz Jahanian2009-07-161-0/+11
| | | | | | nonfragile abi, instead of crashing. llvm-svn: 76088
* reject explicit pointer arithmetic on interface pointers in 64-bit objc ABIChris Lattner2009-04-241-0/+6
| | | | llvm-svn: 70004
* Avoid issuing spurious errors as side-effect of diagnosingFariborz Jahanian2009-04-241-0/+19
| | | | | | application of sizeof on an interface. llvm-svn: 69980
* Fix rdar://6821047 - clang crashes on subscript of interface in 64-bit modeChris Lattner2009-04-241-3/+17
| | | | | | | | | | | | | | Several changes here: 1. We change Type::isIncompleteType to realize that forward declared interfaces are incomplete. This eliminate special case code for this from the sizeof path, and starts us rejecting P[4] when P is a pointer to an incomplete interface. 2. Explicitly reject P[4] when P points to an interface in non-fragile ABI mode. 3. Switch the sizeof(interface) diagnostic back to an error instead of a warning in non-fragile abi mode. llvm-svn: 69943
* temporarily downgrade to a warning.Chris Lattner2009-04-211-2/+2
| | | | llvm-svn: 69720
* Patch to diagnose use of objc's @defs in nonfragile abi.Fariborz Jahanian2009-04-211-0/+2
| | | | llvm-svn: 69710
* reject sizeof(itf) when itf is a forward declared interface, or whenChris Lattner2009-04-211-5/+8
| | | | | | in non-fragile abi mode. rdar://6811884 llvm-svn: 69701
* Fix test typo.Daniel Dunbar2009-04-211-1/+1
| | | | llvm-svn: 69676
* Use an ASTRecordLayout to compute the sizeof an interface, notDaniel Dunbar2009-04-211-0/+35
addRecordToClass. - Among other things, this fixes a crash when applying sizeof to an interface with synthesized ivars, although things still aren't "correct" here. llvm-svn: 69675
OpenPOWER on IntegriCloud