| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206289 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195098 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170436 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
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
|