2016-06-28 Jakub Jelinek <jakub@redhat.com>
+ * 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
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,