[Bug c/11370] [3.3 Regression] -Wunreachable-code gives false complaints
PLEASE REPLY TO [EMAIL PROTECTED] ONLY, *NOT* [EMAIL PROTECTED] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11370 pinskia at physics dot uc dot edu changed: What|Removed |Added Summary|[3.3/3.4 Regression] - |[3.3 Regression] - |Wunreachable-code gives |Wunreachable-code gives |false complaints|false complaints --- Additional Comments From pinskia at physics dot uc dot edu 2003-07-11 14:59 --- This is a 3.3 regression only now. It has been fixed on the mainline. --- You are receiving this mail because: --- You reported the bug, or are watching the reporter.
Bug#195264: libstdc++5-3.3-dev: forward template declarations in let inlining fail
On Sun, 2003-06-29 at 12:51, Matthias Klose wrote: > Please could you check, if the always_inline attribute (gcc-snapshot > package) works for you? I don't see why that'd help? (btw, it didn't work, tested with gcc version 3.4 20030706 (experimental)) the problem is the following: when compiling the following with -O2 template T foo(T); template inline T foo(T t) { return t; } // __attribute((always_inline)) long bar (long); inline long bar (long l) { return l; } void doo (long &l) { l = foo (l); l = bar (l); } Disassembly of section .text: : 0: 55 push %ebp 1: 89 e5 mov%esp,%ebp 3: 53 push %ebx 4: 83 ec 10sub$0x10,%esp 7: 8b 5d 08mov0x8(%ebp),%ebx a: ff 33 pushl (%ebx) c: e8 fc ff ff ff call d d: R_386_PC32 long foo(long) 11: 89 03 mov%eax,(%ebx) 13: 83 c4 10add$0x10,%esp 16: 8b 5d fcmov0xfffc(%ebp),%ebx 19: c9 leave 1a: c3 ret Disassembly of section .gnu.linkonce.t._Z3fooIlET_S0_: (long)>: 0: 55 push %ebp 1: 89 e5 mov%esp,%ebp 3: 8b 45 08mov0x8(%ebp),%eax 6: c9 leave 7: c3 ret i.e. bar get's inlined, but foo does not... why? btw, gcc-2.95 would optimize it into a NOP: : 0: 55 push %ebp 1: 89 e5 mov%esp,%ebp 3: c9 leave 4: c3 ret -- I'd say that's a regression... > > Herbert Valerio Riedel writes: > > Package: libstdc++5-3.3-dev > > Version: 1:3.3-2 > > Severity: minor > > > > > > I just noticed, that std::conj() doesn't get inlined, as one'd expect it > > to be; > > > > it seems that a forward declaration like > > > > template complex<_Tp> conj(const complex<_Tp>&); > > > > keeps > > > > template > > inline complex<_Tp> > > conj(const complex<_Tp>& __z) > > { return complex<_Tp>(__z.real(), -__z.imag()); } > > > > from honoring the 'inline' keyword at all; > > by either removing the forward declaration completely, or adding the > > inline keyword to it like: > > > > template inline complex<_Tp> conj(const complex<_Tp>&); > > > > g++ happily inlines the function again... > > > > I don't know whether this is a bug at all (after all inline'ing is > > optional... :-)... > > > > -- System Information: > > Debian Release: testing/unstable > > Architecture: i386 > > Kernel: Linux lfdux.ifs.tuwien.ac.at 2.4.20-1-k7 #1 Sat Mar 22 15:17:52 EST > > 2003 i686 > > Locale: LANG=C, LC_CTYPE=C > > > > Versions of packages libstdc++5-3.3-dev depends on: > > ii g++-3.3 1:3.3-2The GNU C++ compiler > > ii gcc-3.3-base 1:3.3-2The GNU Compiler Collection > > (base > > ii libc6-dev 2.3.1-17 GNU C Library: Development > > Librari > > ii libstdc++51:3.3-2The GNU Standard C++ Library v3 > > > > -- no debconf information > > > > > > > > -- > > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] -- Herbert Valerio Riedel /Phone: (EUROPE) +43-1-58801-18840 Email: [EMAIL PROTECTED] /Finger [EMAIL PROTECTED] for GnuPG Public Key GnuPG Key Fingerprint: 7BB9 2D6C D485 CE64 4748 5F65 4981 E064 883F 4142
GCC Alpha IEEE patch
Here's a patch that makes IEEE compliant math operations (support for denormalization, nan, inf, etc) the default on the Alpha unless it is specifically turned off with -mno-ieee. It arose out of a discusion on the Alpha port list about packages SIGFPEing on the Alpha (see the thread 'SIGFPE and -mieee'). Place the attached alpha-ieee.dpatch file in the debian/patches directory for gcc (unstable, version 3) add it to the debian/rules.patch file as follows: ifeq ($(DEB_TARGET_ARCH),alpha) debian_patches += alpha-ieee endif Later -T -- Tyson Whitehead ([EMAIL PROTECTED] -- WSC-) Computer EngineerDept. of Applied Mathematics, Graduate Student- Applied MathematicsUniversity of Western Ontario, GnuPG Key ID# 0x8A2AB5D8 London, Ontario, Canada alpha-ieee.dpatch Description: application/shellscript
Bug#177840: [Bug optimization/9812] [3.3/3.4 regression] [m68k] ICE in extract_insn, at recog.c:2148
PLEASE REPLY TO [EMAIL PROTECTED] ONLY, *NOT* [EMAIL PROTECTED] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9812 mmitchel at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|3.3.1 |3.3.2 --- Additional Comments From mmitchel at gcc dot gnu dot org 2003-07-11 22:58 --- Postponed until GCC 3.3.2; m68k is not a primary platform. --- You are receiving this mail because: --- You reported the bug, or are watching the reporter.
[Bug c/11370] [3.3 Regression] -Wunreachable-code gives false complaints
PLEASE REPLY TO [EMAIL PROTECTED] ONLY, *NOT* [EMAIL PROTECTED] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11370 mmitchel at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|3.3.1 |3.3.2 --- Additional Comments From mmitchel at gcc dot gnu dot org 2003-07-11 22:50 --- Postponed until GCC 3.3.2. --- You are receiving this mail because: --- You reported the bug, or are watching the reporter.
Bug#175478: [Bug target/9201] [3.3/3.4 regression] ICE in instantiate_virtual_regs_1 compiling octave-2.1 on m68k-linux
PLEASE REPLY TO [EMAIL PROTECTED] ONLY, *NOT* [EMAIL PROTECTED] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9201 mmitchel at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|3.3.1 |3.3.2 --- Additional Comments From mmitchel at gcc dot gnu dot org 2003-07-11 23:05 --- Postponed until GCC 3.3.2; m68k is not a primary platform. --- You are receiving this mail because: --- You reported the bug, or are watching the reporter.
[Bug c++/11437] ICE in lookup_name_real
PLEASE REPLY TO [EMAIL PROTECTED] ONLY, *NOT* [EMAIL PROTECTED] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11437 --- Additional Comments From cvs-commit at gcc dot gnu dot org 2003-07-11 23:01 --- Subject: Bug 11437 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2003-07-11 23:01:55 Modified files: gcc/cp : operators.def ChangeLog Log message: PR c++/11437 * operators.def: Add definitions for __imag__, __real__. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/operators.def.diff?cvsroot=gcc&r1=1.14&r2=1.15 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3512&r2=1.3513 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter.
[Bug c++/11437] ICE in lookup_name_real
PLEASE REPLY TO [EMAIL PROTECTED] ONLY, *NOT* [EMAIL PROTECTED] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11437 neroden at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From neroden at gcc dot gnu dot org 2003-07-12 03:47 --- Now gives: test.cxx:5: error: no match for 'operator__imag__' in '__imag__a' Which is reasonable. Closing as fixed (on mainline). --- You are receiving this mail because: --- You reported the bug, or are watching the reporter.