Annotation of gcc/NEWS, revision 1.1

1.1     ! root        1: Noteworthy GCC changes in version 2.4.4:
        !             2: 
        !             3:   A crash building g++ on various hosts (including m68k) has been
        !             4:   fixed.  Also the g++ compiler no longer reports incorrect
        !             5:   ambiguities in some situations where they do not exist, and
        !             6:   const template member functions are now being found properly.
        !             7: 
        !             8: Noteworthy GCC changes in version 2.4:
        !             9: 
        !            10: * On each target, the default is now to return short structures
        !            11: compatibly with the "usual" compiler on that target.
        !            12: 
        !            13: For most targets, this means the default is to return all structures
        !            14: in memory, like long structures, in whatever way is used on that
        !            15: target.  Use -freg-struct-return to enable returning short structures
        !            16: (and unions) in registers.
        !            17: 
        !            18: This change means that newly compiled binaries are incompatible with
        !            19: binaries compiled with previous versions of GCC.
        !            20: 
        !            21: On some targets, GCC is itself the usual compiler.  On these targets,
        !            22: the default way to return short structures is still in registers.
        !            23: Use -fpcc-struct-return to tell GCC to return them in memory.
        !            24: 
        !            25: * There is now a floating point emulator which can imitate the way all
        !            26: supported target machines do floating point arithmetic.
        !            27: 
        !            28: This makes it possible to have cross compilation to and from the VAX,
        !            29: and between machines of different endianness.  However, this works
        !            30: only when the target machine description is updated to use the new
        !            31: facilities, and not all have been updated.
        !            32: 
        !            33: This also makes possible support for longer floating point types.
        !            34: GCC 2.4 supports extended format on the 68K if you use `long double',
        !            35: for targets that have a 68881.  (When we have run time library
        !            36: routines for extended floating point, then `long double' will use
        !            37: extended format on all 68K targets.)
        !            38: 
        !            39: We expect to support extended floating point on the i386 and Sparc in
        !            40: future versions.
        !            41: 
        !            42: * Building GCC now automatically fixes the system's header files.
        !            43: This should require no attention.
        !            44: 
        !            45: * GCC now installs an unsigned data type as size_t when it fixes the
        !            46: header files (on all but a handful of old target machines).
        !            47: Therefore, the bug that size_t failed to be unsigned is fixed.
        !            48: 
        !            49: * Building and installation are now completely separate.
        !            50: All new files are constructed during the build process; 
        !            51: installation just copies them.
        !            52: 
        !            53: * New targets supported: Clipper, Hitachi SH, Hitachi 8300, and Sparc
        !            54: Lite.
        !            55: 
        !            56: * A totally new and much better Objective C run time system is included.
        !            57: 
        !            58: * Objective C supports many new features.  Alas, I can't describe them
        !            59: since I don't use that language; however, they are the same ones 
        !            60: supported in recent versions of the NeXT operating system.
        !            61: 
        !            62: * The builtin functions __builtin_apply_args, __builtin_apply and
        !            63: __builtin_return let you record the arguments and returned
        !            64: value of a function without knowing their number or type.
        !            65: 
        !            66: * The builtin string variables __FUNCTION__ and __PRETTY_FUNCTION__
        !            67: give the name of the function in the source, and a pretty-printed
        !            68: version of the name.  The two are the same in C, but differ in C++.
        !            69: 
        !            70: * Casts to union types do not yield lvalues.
        !            71: 
        !            72: * ## before an empty rest argument discards the preceding sequence
        !            73: of non-whitespace characters from the macro definition.
        !            74: (This feature is subject to change.)
        !            75: 
        !            76: 
        !            77: New features specific to C++:
        !            78: 
        !            79: * The manual contains a new section ``Common Misunderstandings with
        !            80: GNU C++'' that C++ users should read.
        !            81: 
        !            82: * #pragma interface and #pragma implementation let you use the same
        !            83: C++ source file for both interface and implementation.
        !            84: However, this mechanism is still in transition.
        !            85: 
        !            86: * Named returned values let you avoid an extra constructor call
        !            87: when a function result has a class type.
        !            88: 
        !            89: * The C++ operators <? and >? yield min and max, respectively.
        !            90: 
        !            91: * C++ gotos can exit a block safely even if the block has
        !            92: aggregates that require destructors.
        !            93: 
        !            94: * gcc defines the macro __GNUG__ when compiling C++ programs.
        !            95: 
        !            96: * GNU C++ now correctly distinguishes between the prefix and postfix
        !            97: forms of overloaded operator ++ and --.  To avoid breaking old
        !            98: code, if a class defines only the prefix form, the compiler
        !            99: accepts either ++obj or obj++, unless -pedantic is used.
        !           100: 
        !           101: * If you are using version 2.3 of libg++, you need to rebuild it with
        !           102: `make CC=gcc' to avoid mismatches in the definition of `size_t'.
        !           103: 
        !           104: 
        !           105: Newly documented compiler options:
        !           106: 
        !           107: -fnostartfiles
        !           108:        Omit the standard system startup files when linking.
        !           109: 
        !           110: -fvolatile-global
        !           111:        Consider memory references to extern and global data items to
        !           112:        be volatile.
        !           113: 
        !           114: -idirafter DIR
        !           115:        Add DIR to the second include path.
        !           116: 
        !           117: -iprefix PREFIX
        !           118:        Specify PREFIX for later -iwithprefix options.
        !           119: 
        !           120: -iwithprefix DIR
        !           121:        Add PREFIX/DIR to the second include path.
        !           122: 
        !           123: -mv8
        !           124:        Emit Sparc v8 code (with integer multiply and divide).
        !           125: -msparclite
        !           126:        Emit Sparclite code (roughly v7.5).
        !           127: 
        !           128: -print-libgcc-file-name
        !           129:        Search for the libgcc.a file, print its absolute file name, and exit.
        !           130: 
        !           131: -Woverloaded-virtual
        !           132:        Warn when a derived class function declaration may be an error
        !           133:        in defining a C++ virtual function. 
        !           134: 
        !           135: -Wtemplate-debugging
        !           136:        When using templates in a C++ program, warn if debugging is
        !           137:        not yet fully available.
        !           138: 
        !           139: +eN
        !           140:        Control how C++ virtual function definitions are used
        !           141:        (like cfront 1.x).

unix.superglobalmegacorp.com

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