<[EMAIL PROTECTED]> writes:

> As you can see, the branch due to the family is unnecessary.  This bug
> exists in gcc272, gcc 2.95 and gcc 3.2

It is unlikely that this bug will ever get fixed, as gcc won't be able
to determine that the two __asm__ blocks really have the same effect.

So if you want to avoid this problem, you need to rewrite your code,
e.g. as

        uint16_t p = htons(port);
        if (family == AF_INET6)
                u->in6.sin6_port = p;
        else
                u->in.sin_port = p;

Regards,
Martin



Reply via email to