On Thu, May 17, 2001 at 03:49:36PM +0400, Sergey Krivulja wrote: > DVL> Это ошибка в g++, исправлена она в gcc-c++ >= 2.96-ipl9mdk > DVL> Текущая версия в Сизифе: 2.96-ipl11mdk > А что добавлось? По сравнению с gcc-2.96-ipl8mdk, в cpp/gcc/g++/.. добавилось множество патчей (в основном от jj): - fix typo in frame_state patch - fix __frame_state_for incompatibility between egcs 1.* and gcc-2.96-RH (#37933) - fix a tradcpp ICE with -Dfoo= (#38551) - fix a sibcall and eh related ICE (#38466) - fix a template argument mangling bug (#31168) - fix i386 if conversion optimization (#37054) - only warn about multi-line comments if -Wcomment or -Wall is given - fix a SUBREG_BYTE ICE with ia64 builtins - properly honour mode in cse lookups (Bernd Schmidt, #35122) - fix an ICE in dwarf-2 support (Jason Merrill) - fix an dwarf-2 output bug (Jason Merrill, #32801) - fix 2 bugs in ia64 exception handling - include ia64intrin.h header on ia64 - fix yet another alpha unaligned access (Richard Kenner, #37698) - fix gcc driver with -traditional -traditional-cpp (Neil Booth, Chris Demetriou, #35963) - fix tree checking bug on bad arguments to inlined functions (#36986) - support -G option on ia64 (#33354) - fix -MD -o name_without_dot (#37697) - fix ia64 ICE seen in xfig (nested CONST rtl) - add a patch for m68k requested by Jes Sorensen (Jeff Law) - sync with ia64-000717-branch new patches - fix functions using all local regs needing a frame pointer (Jim Wilson) - fix constant folding of pointer comparisons where one pointer is (void *)(-1UL >> 1) (#33690) - handle STRICT_LOW_PART in ifcvt (#33474) - throttle C++ inlining (Mark Mitchell, #29556) - define -D__EXCEPTIONS in g++ unless -fno-exceptions is passed - fix GCSE for function parameters whose addresses are taken (#34050) - fix null pointer check optimization (#23891) - fix dwarf-2 in presence of inline function redeclared locally as extern (Jason Merrill, #25253) - fix a SUBREG_BYTE related ICE (#32739) - update regrename.c to fix some -frename-registers bugs (but -frename-registers is not considered supported) - fix Fortran lexer, so that it does not eat one whole line after #line directive (#32230) - fix implicit operator= handling for classes with anonymous aggregates (#32162) - fix libstdc++'s bastring.cc so that it does not warn with -Wshadow - update documentation about -Wshadow (#32160) - optimize C++ frontend by killing -fnew-abi support (it is not ABI compatible with gcc 3.0 anyway) - store static variables from inline functions into linkonce sections (to save space e.g. in mozilla) - fix reg-stack return value handling (#20952, #21002, #31756) - fix glibc getdents64.c build on ia32 with --enable-kernel 2.4.1 (Bernd Schmidt, Jan Hubicka) - fix aspell miscompilation (#30297) - issue a clear error message about invalid ia32 floating point asm constraints (#27137) - remove libc5 kludge from ia32 crtendS.o - fix Alpha combiner patch - fix bogus cpp warning (Neil Booth) - macro expand I in Objective C @I (Zack Weinberg) - fix last cpp patch (so that -MD with -o works) - fix constant folding bug (#28864) - fix ADDRESSOF recognition (#29686) - avoid bogus -Wunused warnings in Fortran (Richard Henderson, #29559) - fix debugging of static local variables in stabs (Jason Merrill, #29548) - don't crash if fixup_var_refs_1 changed MEM into REG (Richard Kenner, - add explicit barriers to flushrs and mov x = ar.bsp on ia64 (Jim Wilson, - fix ia64 syscall_linkage security problems (David Mosberger) - Add Neil Booth fixes on cpp : * cpplex.c (_cpp_lex_token): Don't warn about directives in macro arguments when looking for the '('. * cppmacro.c (funlike_invocation_p): Set parsing_args to 2 when really parsing arguments; 1 when looking for '('. Always restore the lexer position. - don't build java subpackage on ia64 - libgcj does not work there - fix C++ lookup if aggregate contains field with the same name as itself (#21420) - clarify error message about taking address of an unqualified non-static member (#24329) - better trim C++ inlined function graph cycles (#28385) - fix C++ static aggregate initialization (#20267) - fix Objective C garbage collection bug (#18827) - fix Objective C testsuite so that it does not use system libobjc - put only basename into -M goal (Nathan Sidwell) - fix Alpha reload bug (Richard Henderson, #26749) - fix Alpha combiner bug (Richard Henderson, #28509) - fix i386 reload bug with long long (Bernd Schmidt, #28209) - integrate patch.057 from gnupro-1117 tree - ia64 support - fix ia64 B-step errata handling code - fix a crash caused by lexing #line directives in some cases (#25851) - workaround ICE in dwarf2out (#24741) - avoid unaligned accesses on alpha and ia64 (Richard Henderson) - handle -foperator-names in the new cpp (#26457) - add nice diagnostic message about #if defined(xor) with -foperator-names (Neil Booth) - fix paste avoidance after builtin (Neil Booth) - fix g++.jason/2371.C test so that new cpp does not complain about it (Alexandre Oliva) - fix ICE on nested function with variable size array argument (#24506) - change gcc -v output to include minor release - fix last cpp patch so that no whitespace is inserted at start of line if last macro expansion resulted in no tokens (Neil Booth) - fix ICE during printing warning about overloading decisions (#23584) - honor no implicit extern "C" on linux in cpp - fix layout of __attribute((packed)) enums in bitfields (showing up in Linux DAC960 driver) - fix ICE when both prototype and function definition declares variable size array argument (#24507) - change new cpp so that it does not insert whitespace where no macro expansion happens in C mode (Neil Booth, #25200) - don't ICE when inlining is replacing with constant a variable which is only modified by assigning to itself (#24641) - mask constant argument to testl or andl if the operation should be done in 8bit mode (#24921) - fix C++ anonymous union handling (#23682) - fix extract_bit_field so that it works even with XFmode (DJ Delorie) - prevent inlining C++ functions containing static variables (#24253) - include headers sourced from -include or -imacros in -M output (#24317) - mangle overloaded operators declared in "C" linkage (#24685) - optimize out comparisons of two constants if at least one comes from inline function arguments (visible e.g. on undefined __bad_udelay symbols from some linux 2.4.0 kernel modules) - put in updated preprocessor, it seems stable enough and has tons of bugs against both gcc 2.95.2 cccp and cpp used in 2.96-RH until now - fix DECL_NEEDED_P (Mark Mitchell, #23401) - fix i386 assembly output for calls to symbol+offset (#23429) - fix C++ parser to cure GC crashes (#23489, #24060) - fix miscompilation due to not copied MEM/f flag (Alexander Oliva, #23502) - fix CC flags handling after sar on i386 (Richard Henderson, #24062) - only check inmode after checking type of argument in fcmov_comparison_operator on i386 (#24115) - fix typos in i386 cmpqi_minus_1 (#24178) - fix thinko in alpha alpha_expand_block_move (#23816, #24092, #24167, #24315) - fix fixup_var_refs (#24031) - fix my last fix for cpplib dependency handling (Graham Stott) Regards, Dmitry +-------------------------------------------------------------------------+ Dmitry V. Levin mailto://ldv@alt-linux.org ALT Linux Team http://www.altlinux.ru/ Fandra Project http://www.fandra.org/ +-------------------------------------------------------------------------+ UNIX is user friendly. It's just very selective about who its friends are.