r237754 - in /trunk/gcc: ChangeLog c-family/Cha...

jakub@gcc.gnu.org jakub@gcc.gnu.org
Fri Jun 24 11:03:00 GMT 2016


Author: jakub
Date: Fri Jun 24 11:03:27 2016
New Revision: 237754

URL: https://gcc.gnu.org/viewcvs?rev=237754&root=gcc&view=rev
Log:
	* internal-fn.c (expand_arith_set_overflow): New function.
	(expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow):
	Use it.
	(expand_arith_overflow_result_store): Likewise.  Handle precision
	smaller than mode precision.
	* tree-vrp.c (extract_range_basic): For imag part, handle
	properly signed 1-bit precision result.
	* doc/extend.texi (__builtin_add_overflow): Document that last
	argument can't be pointer to enumerated or boolean type.
	(__builtin_add_overflow_p): Document that last argument can't
	have enumerated or boolean type.

	* c-common.c (check_builtin_function_arguments): Require last
	argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
	Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
	if the last argument is pointer to enumerated or boolean type.

	* c-c++-common/builtin-arith-overflow-1.c (generic_wrong_type, f3,
	f4): Adjust expected diagnostics.
	* c-c++-common/torture/builtin-arith-overflow.h (TP): New macro.
	(T): If OVFP is defined, redefine to TP.
	* c-c++-common/torture/builtin-arith-overflow-12.c: Adjust comment.
	* c-c++-common/torture/builtin-arith-overflow-p-1.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-2.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-3.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-4.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-5.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-6.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-7.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-8.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-9.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-10.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-11.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-12.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-13.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-14.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-15.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-16.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-17.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-18.c: New test.
	* c-c++-common/torture/builtin-arith-overflow-p-19.c: New test.
	* g++.dg/ext/builtin-arith-overflow-1.C: Pass 0 instead of C
	as last argument to __builtin_add_overflow_p.

Added:
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-1.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-10.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-11.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-12.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-13.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-14.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-15.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-16.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-17.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-18.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-19.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-2.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-3.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-4.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-5.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-6.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-7.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-8.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-p-9.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/doc/extend.texi
    trunk/gcc/internal-fn.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/builtin-arith-overflow-1.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow-12.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-arith-overflow.h
    trunk/gcc/testsuite/g++.dg/ext/builtin-arith-overflow-1.C
    trunk/gcc/tree-vrp.c



More information about the Gcc-cvs mailing list