Annotation of GNUtools/cc/objc/README, revision 1.1

1.1     ! root        1: 
        !             2: [ This is probably out of date -- ask Kresten for details if needed ]
        !             3: 
        !             4: GNU Objective C release notes for gcc 2.4
        !             5: *****************************************
        !             6: 
        !             7: Since gcc 2.3.3 the Objective C as part of gcc has changed a lot.
        !             8: This document is to explain what has been done, and a little about
        !             9: how specific features differ from other implementations.  The runtime
        !            10: has been completely rewritten.  The earlier runtime had several
        !            11: severe bugs and was rather incomplete.  The compiler has had several
        !            12: new features added as well.
        !            13: 
        !            14: This is not documentation for Objective C, it is usable to someone
        !            15: who knows Objective C from somewhere else.
        !            16: 
        !            17: 
        !            18: Runtime API functions
        !            19: =====================
        !            20: 
        !            21: The runtime is moddeled after the NeXT Objective C runtime.  That is,
        !            22: most functions have semanthics as it is known from the NeXT.  The
        !            23: names, however, have changed.  All runtime API functions have names
        !            24: of lowercase letters and and underscores as opposed to the
        !            25: `traditional' mixed case names.  
        !            26:        The runtime api functions are not documented as of now.
        !            27: Someone offered to write it, and did it, but we were not allowed to
        !            28: use it by his university (Very sad story).  We have started writing
        !            29: the documentation over again.  This will be announced appropriate
        !            30: places when it becomes avilable.
        !            31: 
        !            32: 
        !            33: Protocols
        !            34: =========
        !            35: 
        !            36: Protocols are now fully supported. The semanthics is exactly as on the
        !            37: NeXT.  There is a flag to specify how protocols should be typechecked
        !            38: when adopted to classes.  The normal typechecker requires that all
        !            39: methods in a given protocol must be implemented in the class that
        !            40: adopts it -- it is not enough to inherit them.  The flag
        !            41: `-Wno-protocol' causes it to allow inherited methods, while
        !            42: `-Wprotocols' is the default which requires them defined.
        !            43: 
        !            44: 
        !            45: +initialize 
        !            46: ===========
        !            47: 
        !            48: This method, if defined, is called before any other instance or class
        !            49: methods of that particular class.  This method is not inherited, and
        !            50: is thus not called as initializer for a subclass that doesn't define
        !            51: it itself.  Thus, each +initialize method is called exactly once (or
        !            52: never if no methods of that particular class is never called).
        !            53: Besides this, it is allowed to have several +initialize methods, one
        !            54: for each category.  The order in which these (multiple methods) are
        !            55: called is not well defined.  I am not completely certain what the
        !            56: semathics of this method is for other implementations, but this is
        !            57: how it works for GNU Objective C.
        !            58: 
        !            59: 
        !            60: Passivation/Activation/Typedstreams
        !            61: ===================================
        !            62: 
        !            63: This is supported in the style of NeXT TypedStream's.  Consult the
        !            64: headerfile Typedstreams.h for api functions.  I (Kresten) have
        !            65: rewritten it in Objective C, but this implementation is not part of
        !            66: 2.4, it is available from the GNU Objective C prerelease archive. 
        !            67:    There is one semathic difference worth noting concerning objects
        !            68: stored with objc_write_object_reference (aka NXWriteObjectReference).
        !            69: When these are read back in, their object is not guaranteed to be
        !            70: available until the `-awake' method is called in the object that
        !            71: requests that object.  To objc_read_object you must pass a pointer to
        !            72: an id, which is valid after exit from the function calling it (like
        !            73: e.g. an instance variable).  In general, you should not use objects
        !            74: read in until the -awake method is called.
        !            75: 
        !            76: 
        !            77: Acknowledgements
        !            78: ================
        !            79: 
        !            80: The GNU Objective C team: Geoffrey Knauth <[email protected]> (manager),
        !            81: Tom Wood <[email protected]> (compiler) and Kresten Krab Thorup
        !            82: <[email protected]> (runtime) would like to thank a some people for
        !            83: participating in the development of the present GNU Objective C.
        !            84: 
        !            85: Paul Burchard <[email protected]> and Andrew McCallum
        !            86: <[email protected]> has been very helpful debugging the
        !            87: runtime.   Eric Herring <[email protected]> has been very helpful
        !            88: cleaning up after the documentation-copyright disaster and is now
        !            89: helping with the new documentation.
        !            90: 
        !            91: Steve Naroff <[email protected]> and Richard Stallman
        !            92: <[email protected]> has been very helpful with implementation details
        !            93: in the compiler.
        !            94: 
        !            95: 
        !            96: Prerelease Archive
        !            97: ==================
        !            98: 
        !            99: Intermediate releases, bugfixes and additional other information of
        !           100: the GNU Objective C will be available from iesd.auc.dk in the
        !           101: directory /pub/ObjC.
        !           102: 
        !           103: 
        !           104: Bug Reports
        !           105: ===========
        !           106: 
        !           107: Please read the section `Submitting Bugreports' of the gcc manual
        !           108: before you submit any bugs.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.