reassign 301983 gcc-3.3
thanks

Hi,

this is actually a gcc bug. Test case:

void test() {
    volatile int t = 1, x;
    struct {
        short a, b;
        int c;
    } s;
    x = *(t ? &s.b : 0);    
}
int main() {
#if defined(__alpha__) && defined(__linux__)
    // Deliver SIGBUS on unaligned traps instead of fixing them up.
    #include <asm/sysinfo.h>
    #include <asm/unistd.h>
    unsigned int _buf[2] = { SSIN_UACPROC, UAC_SIGBUS | UAC_NOPRINT };
    syscall(__NR_osf_setsysinfo, SSI_NVPAIRS, _buf, 1, 0, 0, 0);
#endif
    test();
    return 0;
}

The test fails only at -O0 and -O1. (Your package compiles at -O0,
violating policy, BTW. Oh, and you should also add -g while at
it). The problem is also present in 3.4, but not 4.0 or 4.1.

-- 
        Falk


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to