On Dec 10, 2010, at 11:33 AM CST, Ben Pfaff wrote: > Paul Eggert <eggert@xxxxxxxxxxx> writes: > >> On 12/07/10 20:41, Mike Gibson wrote: >>> Does a test already exist that checks for if the >> operator in C does >>> arithmetic shift? >> >> Doesn't this suffice, without dragging Autoconf into it? >> >> #if -1 >> 1 == -1 > > Is it even necessary to drag the preprocessor into it? > > if (-1 >> 1 == 1) Careful, that expression will probably always evaluate to false. Although there is always the unlikely possibility of other cases, there are only two sensible values that (-1 >> 1) can evaluate to. The first is the result of an arithmetic shift, which means that it would be -1. The second would be the result of a logical shift, or (2**(CHAR_BITS*sizeof(int)-1)-1), probably 2147483647 for most platforms. -Dave _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf