Johannes Sixt wrote: > Am 3/16/2011 8:00, schrieb Jonathan Nieder: >> +static inline uint32_t git_bswap32(uint32_t x) >> +{ >> + uint32_t result; >> + if (__builtin_constant_p(x)) > > Can this predicate ever be true? Isn't it false even if the function is > inlined? It's true if x is a constant. $ cat test.c #if 0 gcc -Wall -W -O -o tryit "$0" exec ./tryit #else #include <stdio.h> #include <stdint.h> #ifdef __GNUC__ static inline int constant(uint32_t x) { return __builtin_constant_p(x); } #else static inline int constant(uint32_t x) { return 0; } #endif int main(void) { printf("%d\n", constant(3 + 5)); return 0; } #endif $ ./test.c 1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html