From daf06f0cae537c80153b5fc798d1fcd633a29330 Mon Sep 17 00:00:00 2001 From: Alexander Kabaev Date: Sat, 26 Aug 2006 21:30:26 +0000 Subject: [PATCH] Gcc 3.4.6 Objective C support bits (as of 2006/08/25 #116475). --- contrib/libobjc/ChangeLog | 14 ++++++++++++++ contrib/libobjc/README | 25 ++++++++++++++++--------- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/contrib/libobjc/ChangeLog b/contrib/libobjc/ChangeLog index 97167208d60..6d48e8a7914 100644 --- a/contrib/libobjc/ChangeLog +++ b/contrib/libobjc/ChangeLog @@ -1,3 +1,17 @@ +2006-03-05 Release Manager + + * GCC 3.4.6 released. + +2005-12-15 David Ayers + + PR libobjc/14382 + * README (+load,+initialize): Fix documentation to reflect + intended and implemented semantics for +load and +initialize. + +2005-11-30 Release Manager + + * GCC 3.4.5 released. + 2005-05-19 Release Manager * GCC 3.4.4 released. diff --git a/contrib/libobjc/README b/contrib/libobjc/README index f478d67dec8..093116fd594 100644 --- a/contrib/libobjc/README +++ b/contrib/libobjc/README @@ -39,19 +39,26 @@ adopts it -- it is not enough to inherit them. The flag `-Wprotocols' is the default which requires them defined. ++load +=========== +This method, if defined, is called for each class and category +implementation when the class is loaded into the runtime. This method +is not inherited, and is thus not called for a subclass that doesn't +define it itself. Thus, each +load method is called exactly once by +the runtime. The runtime invocation of this method is thread safe. + + +initialize =========== This method, if defined, is called before any other instance or class -methods of that particular class. This method is not inherited, and -is thus not called as initializer for a subclass that doesn't define -it itself. Thus, each +initialize method is called exactly once (or -never if no methods of that particular class is never called). -Besides this, it is allowed to have several +initialize methods, one -for each category. The order in which these (multiple methods) are -called is not well defined. I am not completely certain what the -semantics of this method is for other implementations, but this is -how it works for GNU Objective C. +methods of that particular class. For the GNU runtime, this method is +not inherited, and is thus not called as initializer for a subclass that +doesn't define it itself. Thus, each +initialize method is called exactly +once by the runtime (or never if no methods of that particular class is +never called). It is wise to guard against multiple invocations anyway +to remain portable with the NeXT runtime. The runtime invocation of +this method is thread safe. Passivation/Activation/Typedstreams