Re: telling GCC that a pointer cannot be NULL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Igor Bukanov <igor@xxxxxxxx> writes:

> is it possible to tell GCC that a pointer cannot be NULL at a
> particular point so the compiler can optimize the control flaw better
> and avoid redundant NULL checks on the fast paths?

As of gcc 4.5 you can do this using __builtin_unreachable.

In your example:

    if (n != a->end) {
        a->start += 16; /* size of the thing to allocate. */
	if (n == 0)
	  __builtin_unreachable();
        return n; /* n cannot be NULL here */
    }

Use this with care.  If you get it wrong, the results will be wholly
unpredictable.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux