summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/objc.dg/attributes
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years in gcc/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206289 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in gcc/rsandifo2013-01-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195098 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/testsuite/:nicola2011-06-065-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com> Updated all testcases in the ObjC/ObjC++ testsuites to use the Modern Objective-C runtime API. * objc/execute/next_mapping.h: Removed. * objc-obj-c++-shared/next-mapping.h: Removed. * objc-obj-c++-shared/Object1.h: Removed. * objc-obj-c++-shared/Object1.m: Removed. * objc-obj-c++-shared/Object1.mm: Removed. * objc-obj-c++-shared/Object1-implementation.h: Removed. * objc-obj-c++-shared/Protocol1.h: Removed. * objc-obj-c++-shared/objc-test-suite-types.h: Removed definition of ProtoBool, IVAR_T and METHOD. * objc-obj-c++-shared/runtime.h: New. * objc-obj-c++-shared/TestsuiteObject.h: New. * objc-obj-c++-shared/TestsuiteObject.m: New. * objc/compile/trivial.m: Use TestsuiteObject instead of Object. * objc/execute/IMP.m: Include ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C runtime API. ([TestClass -next:]): Made it a class method. * objc/execute/_cmd.m: Include ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C runtime API. ([TestClass +initialize]): Include this method also with the GNU runtime. * objc/execute/accessing_ivars.m: Use TestsuiteObject instead of Object. ([-setValue:]): Return void. * objc/execute/bf-common.h: Do not include objc/objc-encoding.h with the GNU runtime. Include ../../objc-obj-c++-shared/runtime.h. Do not define objc_get_class for the NeXT runtime. Use the existing print_ivars() and compare_structures() implementations for the old NeXT runtime. Added new implementations for the Modern GNU and NeXT runtimes. Enable the testcase (and hence all the bf-* ones) for __OBJC2__ as well. (main): Use objc_getClass(). Use return instead of exit. * objc/execute/bycopy-1.m: Include objc/objc.h instead of ../../objc-obj-c++-shared/Protocol1.h. (main): Use return instead of exit(). * objc/execute/bycopy-2.m: Include objc/objc.h instead of ../../objc-obj-c++-shared/Protocol1.h. Use TestsuiteObject instead of Object. (main): Use return instead of exit(). * objc/execute/bycopy-3.m: Updated includes. Use TestsuiteObject instead of Object. Removed prototype for exit(). (main): Use return instead of exit(). Use the Modern Objective-C runtime API. * objc/execute/cascading-1.m: Use TestsuiteObject instead of Object. * objc/execute/class-tests-1.h: Include ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C runtime API. (test_class_with_superclass): Do not call [Object class]. There is no need to with the current libobjc. * objc/execute/class-tests-2.h: Include ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C runtime API. * objc/execute/class-1.m: Do not include <objc/objc-api.h> and ../../objc-obj-c++-shared/next-mapping.h. * objc/execute/class-2.m: Likewise. * objc/execute/class-3.m: Likewise. * objc/execute/class-4.m: Do not include <objc/objc-api.h> and ../../objc-obj-c++-shared/next-mapping.h. ([RootClass +initialize]): Include this method also with the GNU runtime. (main): Use the Modern Objective-C runtime API. * objc/execute/class-5.m: Likewise. * objc/execute/class-6.m: Likewise. * objc/execute/class-7.m: Likewise. * objc/execute/class-8.m: Likewise. * objc/execute/class-9.m: Likewise. * objc/execute/class-10.m: Likewise. * objc/execute/class-11.m: Likewise. * objc/execute/class-12.m: Likewise. * objc/execute/class-13.m: Likewise. * objc/execute/class-14.m: Likewise. * objc/execute/class_self-1.m ([TestClass +initialize]): Include this method also with the GNU runtime. * objc/execute/class_self-2.m: ([TestClass +initialize], [ClassA +initialize]): Include this method also with the GNU runtime. * objc/execute/compatibility_alias.m: Use TestsuiteObject instead of Object. * objc/execute/encode-1.m: Likewise. * objc/execute/enumeration-1.m: Likewise. * objc/execute/enumeration-2.m: Likewise. * objc/execute/exceptions/catchall-1.m: Likewise. * objc/execute/exceptions/finally-1.m: Likewise. * objc/execute/exceptions/foward-1.m: Likewise. * objc/execute/exceptions/local-variables-1.m: Likewise. * objc/execute/exceptions/throw-nil.m: Likewise. * objc/execute/exceptions/trivial.m: Likewise. * objc/execute/exceptions/handler-1.m: Use TestsuiteObject instead of Object. Include objc/runtime.h instead of objc/objc-api.h. * objc/execute/exceptions/matcher-1.m: Likewise. * objc/execute/formal_protocol-1.m: Use TestsuiteObject instead of Object. * objc/execute/formal_protocol-2.m: Likewise. * objc/execute/formal_protocol-3.m: Likewise. * objc/execute/formal_protocol-4.m: Likewise. * objc/execute/formal_protocol-5.m: Include ../../objc-obj-c++-shared/runtime.h. (main): Always use protocol_getName(). * objc/execute/formal_protocol-6.m: Likewise. * objc/execute/formal_protocol-7.m: Use TestsuiteObject instead of Object. Include <objc/Protocol.h> instead of ../../objc-obj-c++-shared/Protocol1.h. * objc/execute/function-message-1.m: Use TestsuiteObject intead of Object. * objc/execute/informal_protocol.m: Likewise. * objc/execute/load-3.m: Likewise. * objc/execute/many_args_method.m ([TestClass +initialize]): Include this method with the GNU runtime as well. * objc/execute/nested-3.m ([Test +initialize]): Likewise. * objc/execute/nested-func-1.m: Use TestsuiteObject instead of Object. * objc/execute/nil_method-1.m: Likewise. * objc/execute/no_clash.m: Likewise. * objc/execute/np-1.m: Do not include ../../objc-obj-c++-shared/Protocol1.h. (main): Use return instead of exit(). * objc/execute/np-2.m: Do not include ../../objc-obj-c++-shared/Protocol1.h. ([MyObject +initialize]): Include this method also with the GNU runtime. (main): Use return instead of exit(). * objc/execute/object_is_class.m: Include ../../objc-obj-c++-shared/runtime.h. Use TestsuiteObject instead of Object. (main): Use the Modern Objective-C runtime API. * objc/execute/object_is_meta_class.m: Likewise. * objc/execute/private.m: Use TestsuiteObject instead of Object. * objc/execute/protocol-isEqual-1.m: Include objc/Protocol.h instead of ../objc-obj-c++-shared/Protocol1.h. Include ../../objc-obj-c++-shared/runtime.h. (main): Use the Modern Objective-C runtime API. * objc/execute/protocol-isEqual-2.m: Likewise. * objc/execute/protocol-isEqual-3.m: Likewise. * objc/execute/protocol-isEqual-4.m: Likewise. * objc/execute/redefining_self.m ([TestClass +initialize]): Include this method with the GNU runtime as well. * objc/execute/root_methods.m: Include ../../objc-obj-c++-shared/runtime.h. ([RootClass +initialize]): Include this method with the GNU runtime as well. (main): Use the Modern Objective-C runtime API. * objc/execute/selector-1.m: Include ../../objc-obj-c++-shared/runtime.h. Use TestsuiteObject instead of Object. (main): Use the Modern Objective-C runtime API. * objc/execute/static-1.m ([Test +initialize]): Include this method with the GNU runtime as well. * objc/execute/static-2.m: Likewise. * objc/execute/trivial.m: Use TestsuiteObject instead of Object. * objc/execute/va_method.m: Do not include objc/objc-api.h. ([MathClass +initialize]): Include this method with the GNU runtime as well. * objc.dg/attributes/categ-attribute-1.m: Use TestsuiteObject instead of Object. * obj-c++.dg/attributes/categ-attribute-1.mm: Likewise. * objc.dg/attributes/categ-attributes-2.m: Likewise. * obj-c++.dg/attributes/categ-attributes-2.mm: Likewise. * objc.dg/attributes/method-attribute-1.m: Likewise. * obj-c++.dg/attributes/method-attribute-1.mm: Likewise. * objc.dg/attributes/method-attribute-2.m: Likewise. * obj-c++.dg/attributes/method-attribute-2.mm: Likewise. * objc.dg/attributes/method-attribute-3.m: Likewise. * obj-c++.dg/attributes/method-attribute-3.mm: Likewise. * obj-c++.dg/basic.mm: Use TestsuiteObject instead of Object. * objc.dg/bitfield-1.m: Use TestsuiteObject instead of Object. * obj-c++.dg/bitfield-1.mm: Likewise. * obj-c++.dg/bitfield-2.mm: Likewise * objc.dg/bitfield-3.m: Likewise. * obj-c++.dg/bitfield-4.mm: Likewise. * objc.dg/bitfield-5.m: Likewise * objc.dg/call-super-1.m: Likewise. * objc.dg/call-super-2.m: Use TestsuiteObject instead of Object. Use objc_getClass() instead of objc_get_class(), but for the GNU runtime redefine objc_getClass as objc_get_class. Include ../objc-obj-c++-shared/runtime.h. * objc.dg/call-super-3.m: Use TestsuiteObject instead of Object. * objc.dg/category-1.m: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API. * objc.dg/class-protocol-1.m: Include ../objc-obj-c++-shared/runtime.h instead of objc/objc-api.h. * obj-c++.dg/class-protocol-1.mm: Likewise. * objc.dg/comp-types-8.m: Use TestsuiteObject instead of Object. * objc.dg/comp-types-10.m: Likewise. * objc.dg/comp-types-11.m: Likewise. * objc.dg/comp-types-12.m: Likewise. * obj-c++.dg/comp-types-9.mm: Likewise. * obj-c++.dg/comp-types-11.mm: Likewise. * obj-c++.dg/comp-types-12.mm: Likewise. * obj-c++.dg/comp-types-13.mm: Likewise. * obj-c++.dg/cxx-ivars-1.mm: Likewise. * obj-c++.dg/cxx-ivars-2.mm: Likewise. * obj-c++.dg/cxx-scope-1.mm: Likewise. * obj-c++.dg/cxx-scope-2.mm: Likewise. * objc.dg/defs.m: Use TestsuiteObject instead of Object. * objc.dg/desig-init-1.m: Likewise. * obj-c++.dg/defs.mm: Likewise. * objc.dg/exceptions-2.m: Likewise. * obj-c++.dg/except-1.mm: Likewise. * obj-c++.dg/exceptions-2.mm: Likewise. * objc.dg/encode-2.m: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API. * objc.dg/encode-3.m: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API. Do not include ../objc-obj-c++-shared/objc-test-suite-types.h. Define ProtoBool. * objc.dg/encode-4.m: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API except when using an older NeXT runtime. * objc.dg/encode-5.m: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API. * objc.dg/encode-7.m: Include objc/runtime.h instead of objc/encoding.h. * objc.dg/encode-7-next.m: Use TestsuiteObject instead of Object. * objc.dg/encode-7-next-64bit.m: Updated include. * objc.dg/encode-8.m: Include objc/runtime.h instead of objc/encoding.h. * obj-c++.dg/encode-4.mm: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API. * obj-c++.dg/encode-5.mm: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API. Include objc/Protocol.h instead of ../objc-obj-c++-shared/Protocol1.h. * obj-c++.dg/encode-6.mm: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API except when using an older NeXT runtime. * obj-c++.dg/encode-7.mm: Use TestsuiteObject instead of Object. Use the Modern Objective-C runtime API. * objc.dg/fix-and-continue-1.m: Use TestsuiteObject instead of Object. * obj-c++.dg/fix-and-continue-2.mm: Likewise. * objc.dg/fix-and-continue-2.m: Likewise. * objc.dg/foreach-1.m: Likewise. * objc.dg/foreach-2.m: Likewise. * objc.dg/foreach-3.m: Likewise. * objc.dg/foreach-4.m: Likewise. * objc.dg/foreach-5.m: Likewise. * objc.dg/foreach-6.m: Likewise. * objc.dg/foreach-7.m: Likewise. * objc.dg/func-ptr-1.m: Use TestsuiteObject instead of Object. * objc.dg/func-ptr-2.m: Likewise. * objc.dg/fsf-package-0.m: Use TestsuiteObject instead of Object. Do not include objc/objc-api.h. * obj-c++.dg/fsf-package-0.mm: Likewise. * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c (switchfiles): Include objc/runtime.h instead of objc/encoding.h. * objc.dg/gnu-runtime-1.m: Updated to use TestsuiteObject instead of Object. * obj-c++.dg/gnu-runtime-1.mm: Likewise. * objc.dg/gnu-runtime-3.m: Likewise. * obj-c++.dg/gnu-runtime-3.mm: Likewise. * objc.dg/headers.m: Include objc/runtime.h instead of objc/encoding.h for the GNU runtime. Include objc/objc-api.h only for the NeXT runtime. * objc.dg/isa-field-1.m: Use TestsuiteObject instead of Object. * obj-c++.dg/isa-field-1.mm: Likewise. * obj-c++.dg/ivar-list-semi.mm: Likewise. * objc.dg/layout-1.m: Likewise. * objc.dg/layout-2.m: Likewise. * objc.dg/local-decl-2.m: Likewise. * objc.dg/lookup-1.m: Use TestsuiteObject instead of Object. ([Container +elementForView:]): Use class_conformsToProtocol(). * obj-c++.dg/lookup-2.mm: Likewise. * obj-c++.dg/layout-1.mm: Use TestsuiteObject instead of Object. * obj-c++.dg/local-decl-1.mm: Likewise. * objc.dg/method-3.m: Likewise. * objc.dg/method-4.m: Likewise. * objc.dg/method-6.m: Include objc/Protocol.h instead of ../objc-obj-c++-shared/Protocol1.h. * objc.dg/method-7.m: Use TestsuiteObject instead of Object. * objc.dg/method-9.m: Likewise. * objc.dg/method-10.m: Likewise. * objc.dg/method-13.m ([Root +initialize]): Include this method also for the GNU runtime. (main): Use objc_getClass() also for the GNU runtime. * objc.dg/method-15.m: Use TestsuiteObject instead of Object. * objc.dg/method-17.m: Likewise. * objc.dg/method-19.m: Likewise. * objc.dg/method-20b.m: Likewise. * obj-c++.dg/method-2.mm: Likewise. * obj-c++.dg/method-6.mm: Likewise. * obj-c++.dg/method-10.mm: Likewise. * obj-c++.dg/method-11.mm: Likewise. * obj-c++.dg/method-12.mm: Include objc/Protocol.h instead of ../objc-obj-c++-shared/Protocol1.h. * obj-c++.dg/method-13.mm: Use TestsuiteObject instead of Object. * obj-c++.dg/method-15.mm: Likewise. * obj-c++.dg/method-17.mm: Likewise. * obj-c++.dg/method-19.mm: Updated includes. ([Root +initialize]): Include this method also for the GNU runtime. (main): Use objc_getClass() also for the GNU runtime. * obj-c++.dg/method-21.mm: Use TestsuiteObject instead of Object. * obj-c++.dg/method-22.mm: Likewise. * obj-c++.dg/method-23.mm: Likewise. * obj-c++.dg/no-extra-load.mm: Likewise. * objc.dg/objc-fast-4.m: Likewise. * objc.dg/objc-gc-4.m: Likewise. * obj-c++.dg/objc-gc-3.mm: Likewise. * objc.dg/pr18255.m: Include objc/runtime.h. (main): Use protocol_getMethodDescription() instead of [Protocol -descriptionForInstanceMethod]. * objc.dg/pr23214.m ([Object(TS_CAT) -class]): Renamed to test. Made it available with all runtimes. (main): Call -test instead of -class. * objc.dg/pr45878.m ([Object -isEqual:]): Renamed to testIsEqual, and put into a category. * objc.dg/proto-lossage-2.m: Use TestsuiteObject instead of Object. Include objc/objc.h. * obj-c++.dg/proto-lossage-2.mm: Likewise. * objc.dg/proto-lossage-3.m: Updated includes. (MyClass): New. (main): Use protocol_getMethodDescription() instead of [Protocol -descriptionForInstanceMethod] and [Protocol -descriptionForClassMethod]. * obj-c++.dg/proto-lossage-3.mm: Likewise. * objc.dg/proto-qual-1.m: Updated includes. Use the Modern Objective-C runtime API. * obj-c++.dg/proto-qual-1.mm: Likewise. * objc.dg/property/property-1.m: Use TestsuiteObject instead of Object. * obj-c++.dg/property/property-1.mm: Likewise. * obj-c++.dg/qual-types-1.mm: Likewise. * objc.dg/selector-2.m: Include objc/objc.h instead of ../objc-obj-c++-shared/Object1.h. * obj-c++.dg/selector-2.mm: Likewise. * obj-c++.dg/selector-5.mm: Likewise. * obj-c++.dg/selector-6.mm: Likewise. * objc.dg/set-not-used-1.m: Use TestsuiteObject instead of Object. Do not include objc/objc-api.h. * obj-c++.dg/set-not-used-1.mm: Likewise. * objc.dg/sizeof-1.m: Use TestsuiteObject instead of Object. * objc.dg/stret-1.m: Likewise. * objc.dg/stret-2.m: Likewise. * obj-c++.dg/super-class-2.mm: Likewise. * objc.dg/super-class-3.m: Likewise. * objc.dg/super-class-4.m: Likewise. * objc.dg/sync-2.m: Likewise. * obj-c++.dg/sync-2.mm: Likewise. * objc.dg/sync-1.m: Include objc/objc.h instead of ../objc-obj-c++-shared/Object1.h. * objc.dg/special/unclaimed-category-1.h (TestClass): Always use 'Class' as the type of 'isa'. * objc.dg/special/unclaimed-category-1.m: Use the Modern Objective-C runtime API. ([TestClass +initialize]): Include this method with the GNU runtime as well. * objc.dg/strings/strings-1.m: Updated includes. * obj-c++.dg/strings/strings-1.mm: Likewise. * obj-c++.dg/strings/const-str-12.mm: Updated to be identical to objc.dg/strings/const-str-12b.m. * obj-c++.dg/template-1.mm: Use TestsuiteObject intead of Object. * obj-c++.dg/template-3.mm: Likewise. * obj-c++.dg/template-4.mm: Likewise. * objc.dg/threedotthree-abi-1.m: Updated includes. Use Modern Objective-C runtime API. * obj-c++.dg/threedotthree-abi-1.mm: Likewise. * objc.dg/try-catch-1.m: Use TestsuiteObject instead of Object. * obj-c++.dg/try-catch-1.mm: Likewise. * obj-c++.dg/try-catch-2.mm: Likewise. * objc.dg/try-catch-3.m: Likewise. * obj-c++.dg/try-catch-3.mm: Likewise. * objc.dg/try-catch-6.m: Likewise. * objc.dg/try-catch-7.m: Likewise. * obj-c++.dg/try-catch-7.mm: Likewise. * obj-c++.dg/try-catch-8.mm: Likewise. * obj-c++.dg/try-catch-9.mm: Likewise. * objc.dg/try-catch-10.m: Likewise. * obj-c++.dg/try-catch-11.mm: Likewise. * objc.dg/typedef-alias-1.m: Use TestsuiteObject instead of Object. Include objc/objc.h. * obj-c++.dg/typedef-alias-1.mm: Likewise. * objc.dg/type-size-2.m: Use the Modern Objective-C runtime API. * objc.dg/torture/forward-1.m: Use TestsuiteObject intead of Object. Use Modern Objective-C runtime API. Do not use performv::. * objc.dg/torture/trivial.m: Use TestsuiteObject intead of Object. * obj-c++.dg/torture/trivial.mm: Likewise. * objc.dg/torture/strings/const-str-10.m: Include objc/Object.h instead of ../objc-obj-c++-shared/Object1.h. Include ../objc-obj-c++-shared/runtime.h. * obj-c++.dg/torture/strings/const-str-10.mm: Likewise. * objc.dg/torture/strings/const-str-11.m: Likewise. * obj-c++.dg/torture/strings/const-str-11.mm: Likewise. * objc.dg/torture/strings/const-str-9.m: Likewise. * obj-c++.dg/torture/strings/const-str-9.mm: Likewise. * objc.dg/torture/strings/const-str-7.m: Use TestsuiteObject instead of Object. Only add _FooClassReference if __NEXT_RUNTIME__. * obj-c++.dg/torture/strings/const-str-7.mm: Likewise. * objc.dg/torture/strings/const-str-8.m: Likewise. * obj-c++.dg/torture/strings/const-str-8.mm: Likewise. * obj-c++.dg/torture/strings/string1.mm: Updated includes and additional sources. * objc.dg/torture/tls/thr-init-3.m: Use TestsuiteObject instead of Object. * obj-c++.dg/torture/tls/thr-init-3.mm: Likewise. * objc.dg/va-meth-1.m: Use TestsuiteObject instead of Object. * obj-c++.dg/va-meth-1.mm: Likewise. * objc.dg/zero-link-1.m: Include objc/Object.h instead of ../objc-obj-c++-shared/Object1.h. * objc.dg/zero-link-3.m: Likewise. 2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com> * obj-c++.dg/try-catch-2.mm: Fixed unterminated comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174727 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/objc/:nicola2011-06-011-0/+46
| | | | | | | | | | | | | | | | 2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_decl_method_attributes): Implement nonnull attribute for Objective-C methods. In gcc/testsuite/: 2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/attributes/method-nonnull-1.m: New test. * obj-c++.dg/attributes/method-nonnull-1.mm: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174520 138bc75d-0d04-0410-961f-82ee72b054a4
* Removed conflict in usage of TYPE_LANG_SLOT_0 between Objective-C and Cnicola2011-02-231-0/+32
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170436 138bc75d-0d04-0410-961f-82ee72b054a4
* don't try to run Objective-C API=2 tests for Darwin < 9iains2011-02-104-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | testsuite: * objc.dg/special/load-category-1.m: Remove unused header. * objc.dg/special/load-category-1a.m: Likewise. * objc.dg/special/load-category-2.m: Likewise. * objc.dg/special/load-category-2a.m: Likewise. * objc.dg/special/load-category-3.m: Likewise. * objc.dg/special/load-category-3a.m: Likewise. * objc.dg/attributes/proto-attribute-2.m: Likewise. * objc.dg/attributes/proto-attribute-3.m: Likewise. * objc.dg/attributes/class-attribute-1.m: Likewise. * objc.dg/property/property.exp: Don't run for Darwin < 9. * obj-c++.dg/property/property.exp: Likewise. * objc.dg/attributes/method-sentinel-1.m: Update type header. * obj-c++.dg/attributes/method-sentinel-1.mm: Likewise. * obj-c++.dg/attributes/proto-attribute-2.mm: Skip for Darwin < 9. * obj-c++.dg/attributes/class-attribute-1.mm: Likewise. * obj-c++.dg/attributes/proto-attribute-3.mm: Likewise. * obj-c++.dg/template-8.mm: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170001 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>krebbel2011-02-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | PR middle-end/47646 * gcc.dg/pr39666-2.c (foo2): If the location of the statement using the variable is known the warning is emitted there. * gcc.dg/uninit-pr19430.c (foo): Likewise. * g++.dg/warn/Wuninitialized-5.C (foo): Likewise. * c-c++-common/pr20000.c (g): Both warnings occur at the return statement. (vg): Likewise. * gcc.dg/noreturn-1.c (foo5): Likewise. * objc.dg/attributes/method-noreturn-1.m (method1): Likewise. (method2): Likewise. * gfortran.dg/pr25923.f90 (baz): The warning will now be issued for the return statement using the uninitialized variable. * gfortran.dg/pr39666-2.f90 (f): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169927 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/:nicola2011-01-091-0/+6
| | | | | | | | | | | | | | | | | | 2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47232 * c-parser.c (c_parser_declaration_or_fndef): Improved error message. In gcc/testsuite/: 2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47232 * objc.dg/attributes/invalid-attribute-1.m: New. * obj-c++.dg/attributes/invalid-attribute-1.mm: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168619 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/objc/:nicola2010-12-302-0/+45
| | | | | | | | | | | | | | | | | | | | | 2010-12-30 Nicola Pero <nicola@nicola.brainstorm.co.uk> * objc-act.c (start_class): Warn when a class attribute is ignored. (objc_declare_protocols): Warn when a protocol attribute in a protocol forward-declaration is ignored. (start_protocol): Warn when a protocol attribute is ignored. In gcc/testsuite/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/attributes/class-attribute-3.m: New. * objc.dg/attributes/proto-attribute-4.m: New. * obj-c++.dg/attributes/class-attribute-3.mm: New. * obj-c++.dg/attributes/proto-attribute-4.mm: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168337 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/objc/:nicola2010-12-291-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47076 * objc-act.c (lookup_protocol): Added 'definition_required' argument. If 'definition_required', and the protocol is not defined, emit a warning. (objc_declare_protocols): Updated call to lookup_protocol. (start_protocol): Same change. (check_protocol_recursively): Same change. (objc_build_protocol_expr): Same change. (lookup_and_install_protocols): Added definition_required argument. Pass it to lookup_protocol. (objc_get_protocol_qualified_type): Updated call to lookup_and_install_protocols. (start_class): Updated calls to lookup_and_install_protocols; pass true to 'definition_required' to get the warnings. (start_protocol): Updated calls to lookup_and_install_protocols. In gcc/testsuite/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47076 * objc.dg/protocol-forward-1.m: New. * obj-c++.dg/protocol-forward-1.mm: New. * objc.dg/attributes/proto-attribute-2.m: Updated. * objc.dg/class-protocol-1.m: Updated. * obj-c++.dg/attributes/proto-attribute-2.mm: Updated. * obj-c++.dg/class-protocol-1.mm: Updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168307 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/objc/:nicola2010-11-192-36/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_start_class_interface): Do not warn that class attributes are unimplemented. Pass the attributes to start_class. (objc_start_category_interface): Updated call to start_class. (objc_start_class_implementation): Same change. (objc_start_category_implementation): Same change. (objc_build_class_component_ref): Warn if the class is deprecated. (build_private_template): Mark the template as deprecated if the class is deprecated. (start_class): Added 'attributes' argument. Emit a warning if using a deprecated class as superclass of a class, or original class of a category. Recognize the 'deprecated' attribute when starting and interface, and mark the interface with TREE_DEPRECATED if present. Store attributes in the interface. In gcc/testsuite/: 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/attributes/class-attribute-1.m: Rewritten. * objc.dg/attributes/class-attribute-2.m: Same change. * obj-c++.dg/attributes/class-attribute-1.mm: Same change. * obj-c++.dg/attributes/class-attribute-2.mm: Same change. * objc.dg/fobjc-std-1.m: Updated. * obj-c++.dg/fobjc-std-1.mm: Updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166963 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/:nicola2010-11-193-10/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> * c-parser.c (c_parser_objc_protocol_definition): Pass attributes to objc_declare_protocols. In gcc/c-family/: 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> * c-common.h (objc_declare_protocols): Added additional argument. * stub-objc.c (objc_declare_protocol): Same change. In gcc/cp/: 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> * parser.c (cp_parser_objc_protocol_declaration): Pass attributes to objc_declare_protocols. In gcc/objc/: 2010-11-19 Nicola Pero <nicola@nicola.brainstorm.co.uk> * objc-act.c (lookup_protocol): Added 'warn_if_deprecated' argument. If it is 'true' and the protocol is deprecated, emit a deprecation warning. (objc_start_protocol): Do not warn that protocol attributes are unimplemented. Pass the attributes to start_protocol. (start_protocol): Added attributes argument. Recognize the 'deprecated' attribute and mark the protocols with TREE_DEPRECATED if present. Store attributes in the protocol. (objc_declare_protocols): Added 'attributes' argument. Recognize the 'deprecated' attribute and mark the protocols with TREE_DEPRECATED if present. Store attributes in the protocol. Updated call to lookup_protocol. (objc_build_protocol_expr): Updated call to lookup_protocol. (check_protocol_recursively): Same change. (lookup_and_install_protocols): Same change. * objc-act.h: Updated comments. In gcc/testsuite/: 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/attributes/proto-attribute-1.m: Updated. * objc.dg/attributes/proto-attribute-2.m: New. * objc.dg/attributes/proto-attribute-3.m: New. * obj-c++.dg/attributes/proto-attribute-1.mm: Updated. * obj-c++.dg/attributes/proto-attribute-2.mm: New. * obj-c++.dg/attributes/proto-attribute-3.mm: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166938 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-11-13 Paolo Bonzini <bonzini@gnu.org>bonzini2010-11-131-4/+4
| | | | | | | | * objc.dg/attributes/method-format-1.m: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166707 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/c-family/:nicola2010-11-017-1/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> Implemented format and noreturn attributes for Objective-C methods. * c-common.c (handle_noreturn_attribute): Recognize 'noreturn' attribute for Objective-C methods. In gcc/objc/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> Implemented format and noreturn attributes for Objective-C methods. * objc-act.c (objc_start_method_definition): If method attributes are specified emit a warning and ignore them. (build_objc_method_call): Moved deprecation warnings from here ... (objc_finish_message_expr): to here. Do not emit deprecation warnings if the receiver is of type 'id'. (really_start_method): Install 'deprecation' and 'noreturn' attributes. (objc_decl_method_attributes): Carefully filter out the list of attributes, allowing only "noreturn", "format", "sentinel" and "deprecated". In the case of "format", adjust the arguments. Always process the attributes in the same way no matter if "sentinel" is in the list or not. In gcc/testsuite/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> Implemented format and noreturn attributes for Objective-C methods. * objc.dg/attributes/method-attribute-2.m: Updated warnings. * objc.dg/attributes/method-deprecated-1.m: New. * objc.dg/attributes/method-deprecated-2.m: New. * objc.dg/attributes/method-deprecated-3.m: New. * objc.dg/attributes/method-noreturn-1.m: New. * objc.dg/attributes/method-sentinel-1.m: New. * objc.dg/attributes/method-format-1.m: New. * obj-c++.dg/attributes/method-attribute-2.mm: Updated warnings. * obj-c++.dg/attributes/method-deprecated-1.mm: New. * obj-c++.dg/attributes/method-deprecated-2.mm: New. * obj-c++.dg/attributes/method-deprecated-3.mm: New. * obj-c++.dg/attributes/method-noreturn-1.mm: New. * obj-c++.dg/attributes/method-sentinel-1.mm: New. * obj-c++.dg/attributes/method-format-1.mm: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166153 138bc75d-0d04-0410-961f-82ee72b054a4
* In gcc/cp/:nicola2010-10-243-4/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com> Removed Objective-C++ specific replacement of cxx_printable_name. * cp-objcp-common.h: Added LANG_HOOKS_DECL_PRINTABLE_NAME, set to cxx_printable_name for both C++ and Objective-C++. * cp-lang.h: Removed LANG_HOOKS_DECL_PRINTABLE_NAME. * error.c (dump_decl): For Objective-C++, call objc_maybe_printable_name here ... * tree.c (cxx_printable_name_internal): ... instead of here. In gcc/objcp/: 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com> * objcp-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Do not define. In gcc/objc/: 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_build_keyword_decl): Updated comments. Do not emit a warning that method parameter attributes are unimplemented. Instead, store them into DECL_ATTRIBUTES of the KEYWORD_DECL. (start_method_def): Copy attributes from each KEYWORD_DECL into the corresponding PARM_DECL. (objc_warn_deprecated_use): Removed. (build_objc_method_call): Call warn_deprecated_use, not objc_warn_deprecated_use. (objc_maybe_printable_name): Do not try to get the identifier name of DECLs that we don't recognize. Immediately return NULL for them. (objc_printable_name): Removed C++-specific case, which is no longer used. Updated comments. In gcc/testsuite/: 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/attributes/method-attribute-2.m: Updated test. Method parameter attributes are now supported. * obj-c++.dg/attributes/method-attribute-2.m: Same change. * objc.dg/attributes/parameter-attribute-1.m: New test. * objc.dg/attributes/parameter-attribute-2.m: New test. * obj-c++.dg/attributes/parameter-attribute-1.m: New test. * obj-c++.dg/attributes/parameter-attribute-2.m: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165896 138bc75d-0d04-0410-961f-82ee72b054a4
* implement method attributes.iains2010-10-133-21/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/c-family: merge from FSF apple 'trunk' branch. 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> Radar 3803157 (method attributes) * c-common.c (handle_deprecated_attribute): Recognize objc methods as valid declarations. * c-common.h: Declare objc_method_decl (). * stub-objc.c (objc_method_decl): New stub. gcc/objc: merge from FSF apple 'trunk' branch. 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> Radar 3803157 (method attributes) * objc/objc-act.h (METHOD_TYPE_ATTRIBUTES): New macro. * objc/objc-act.c (objc_decl_method_attributes): New. (objc_add_method_declaration): Process method's attribute. (objc_start_method_definition): Ditto. (build_objc_method_call): Inject method attribute into built function type. (objc_method_decl): New. (objc_warn_deprecated)use): New. testsuite: * objc.dg/attributes/method-attribute-1.m: Update to respond to implemented method attributes.. * objc.dg/attributes/method-attribute-2.m: Likewise. * objc.dg/attributes/method-attribute-3.m: Likewise. * obj-c++.dg/attributes/method-attribute-1.mm: Likewise. * obj-c++.dg/attributes/method-attribute-2.mm: Likewise. * obj-c++.dg/attributes/method-attribute-3.mm: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165415 138bc75d-0d04-0410-961f-82ee72b054a4
* fix cut & paste error in cp/parser and add testscases in case of fture error.iains2010-10-071-0/+24
| | | | | | | | | | | | | | | | gcc/cp: parser.c (cp_parser_objc_method_tail_params_opt): Peek new token after finding ellipsis, before checking for attributes. testsuite: * objc.dg/attributes/method-attribute-3.m: New. * obj-c++.dg/attributes/method-attribute-3.mm: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165109 138bc75d-0d04-0410-961f-82ee72b054a4
* add parsing for ObjC* method & method parm attributesiains2010-09-282-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/cp: Partially merged from apple/trunk branch on FSF servers: 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> Radar 3803157 (method attributes) * parser.c (cp_parser_objc_method_keyword_params): Handle attributes. (cp_parser_objc_method_tail_params_opt): Likewise. (cp_parser_objc_method_signature): Likewise. (cp_parser_objc_method_maybe_bad_prefix_attributes): New. (cp_parser_objc_method_prototype_list): Handle attributes. (cp_parser_objc_method_definition_list): Likewise. gcc/objc: * objc-act.c (objc_add_method_declaration): Handle attributes. (objc_start_method_definition): Likewise. (objc_generate_cxx_ctor_or_dtor): Pass NULL attributes to ctor/dtor. (objc_build_keyword_decl): Handle attributes. gcc: * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix attributes on methods. (c_parser_objc_method_definition): Handle attributes. (c_parser_objc_methodproto): Likewise. (c_parser_objc_maybe_method_attributes): New. (c_parser_objc_method_decl): Handle attributes, add a similar diagnostic to ObjC++ for a missing definition. gcc/c-family: * c-common.h: Update declarations to include attributes. * stub-objc.c: Likewise. testsuite: * objc.dg/attributes/method-attribute-1.m: New. * objc.dg/attributes/method-attribute-2.m: New. * obj-c++.dg/attributes/method-attribute-1.m: New. * obj-c++.dg/attributes/method-attribute-2.m: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164702 138bc75d-0d04-0410-961f-82ee72b054a4
* add ObjC* class, category and protocol attribute parsersiains2010-09-286-0/+197
gcc/c-family: * c-common.h (objc_start_class_interface): Adjust prototype. (objc_start_category_interface): Likewise. (objc_start_protocol): Likewise. * stub-objc.c (objc_start_protocol): Adjust for extra argument. (objc_start_class_interface): Likewise. (objc_start_category_interface): Likewise. gcc/objc: * objc-act.c (objc_start_class_interface): Handle and ignore attributes. (objc_start_category_interface): Likewise. (objc_start_protocol): Likewise. gcc/cp: * parser.c (cp_parser_objc_valid_prefix_attributes): New. (cp_parser_declaration): Parse prefix attributes for ObjC++. (cp_parser_objc_protocol_declaration): Handle attributes. (cp_parser_objc_class_interface): Likewise. (cp_parser_objc_declaration): Likewise. gcc: * c-parser.c (c_parser_objc_class_definition): Adjust prototype. (c_parser_objc_protocol_definition): Likewise. (c_parser_external_declaration): Provide dummy attribute arguments. (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC. (c_parser_objc_class_definition): Handle attributes. (c_parser_objc_protocol_definition): Likewise. gcc/testsuite: * objc.dg/attributes: New. * objc.dg/attributes/attributes.exp: New. * objc.dg/attributes/class-attribute-1.m: New. * objc.dg/attributes/class-attribute-2.m: New * objc.dg/attributes/categ-attribute-1.m: New * objc.dg/attributes/categ-attribute-2.m: New * objc.dg/attributes/proto-attribute-1.m: New * obj-c++.dg/attributes: New. * obj-c++.dg/attributes/attributes.exp: New * obj-c++.dg/attributes/class-attribute-1.mm: New * obj-c++.dg/attributes/class-attribute-2.mm: New * obj-c++.dg/attributes/categ-attribute-1.mm: New * obj-c++.dg/attributes/categ-attribute-2.mm: New * obj-c++.dg/attributes/proto-attribute-1.mm: New git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164700 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud