diff -Nrcpad gcc-3.4.5/libobjc/ChangeLog gcc-3.4.6/libobjc/ChangeLog *** gcc-3.4.5/libobjc/ChangeLog 2005-12-01 02:39:27.000000000 +0000 --- gcc-3.4.6/libobjc/ChangeLog 2006-03-06 03:48:51.000000000 +0000 *************** *** 1,3 **** --- 1,13 ---- + 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. diff -Nrcpad gcc-3.4.5/libobjc/README gcc-3.4.6/libobjc/README *** gcc-3.4.5/libobjc/README 1999-09-04 15:09:22.000000000 +0000 --- gcc-3.4.6/libobjc/README 2005-12-15 18:23:40.000000000 +0000 *************** adopts it -- it is not enough to inherit *** 39,57 **** `-Wprotocols' is the default which requires them defined. +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. Passivation/Activation/Typedstreams --- 39,64 ---- `-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. 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