>Submitter-Id: net >Originator: [EMAIL PROTECTED] >Organization: The Debian Project >Confidential: no >Synopsis: >Severity: non-critical >Priority: low >Category: optimization >Class: change-request >Release: 3.2.2 (Debian) (Debian unstable) >Environment: System: Debian GNU/Linux (unstable) Architecture: i686
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==============-============================================ ii gcc-3.2 3.2.3-0pre1 The GNU C compiler ii g++-3.2 3.2.3-0pre1 The GNU C++ compiler ii libstdc++5 3.2.3-0pre1 The GNU Standard C++ Library v3 ii libstdc++5-dev 3.2.3-0pre1 The GNU Standard C++ Library v3 (development ii binutils 2.13.90.0.18-1 The GNU assembler, linker and binary utiliti ii libc6 2.3.1-13 GNU C Library: Shared libraries and Timezone host: i386-linux >Description: [ Reported to the Debian BTS as report #181096. Please CC [EMAIL PROTECTED] on replies. Log of report can be found at http://bugs.debian.org/181096 ] Checked with current 3.2 and 3.3 branches (20030221) The following function doesn't get optimised away as a noop: int k(int l) { if (l & 2) l |= 2; return l; } $ gcc-3.2 -O2 -S b.c $ cat b.s .file "b.c" .text .p2align 2,,3 .globl k .type k,@function k: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax testl $2, %eax je .L2 orl $2, %eax .L2: leave ret .Lfe1: .size k,.Lfe1-k .ident "GCC: (GNU) 3.2.3 20030210 (Debian prerelease)" >How-To-Repeat: >Fix: