diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 338c60331d0..4e833d478a6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2016-06-28 Jakub Jelinek + * doc/extend.texi (__builtin_add_overflow_p): Clarify behavior when + last argument is a bit-field. + PR rtl-optimization/71673 * internal-fn.c (expand_arith_overflow_result_store): Use OPTAB_LIB_WIDEN instead of OPTAB_DIRECT as last argument to diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 9c8ea837456..b5f6e12f8be 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -9888,6 +9888,9 @@ cast to the type of the third argument. If the cast result is equal to the infi precision result, the built-in functions return false, otherwise they return true. The value of the third argument is ignored, just the side-effects in the third argument are evaluated, and no integral argument promotions are performed on the last argument. +If the third argument is a bit-field, the type used for the result cast has the +precision and signedness of the given bit-field, rather than precision and signedness +of the underlying type. For example, the following macro can be used to portably check, at compile-time, whether or not adding two constant integers will overflow,