* fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
	to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
	Add X - Y CMP 0 to X CMP Y transformation.
	(fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210979 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/56724
	* c-typeck.c (convert_arguments): Get location of a parameter.  Change
	error and warning calls to error_at and warning_at.  Pass location of
	a parameter to it.  Call warning_at with OPT_Wtraditional_conversion.
	(convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
	WARN_FOR_QUALIFIERS.  Pass expr_loc to those.

	* gcc.dg/pr56724-1.c: New test.
	* gcc.dg/pr56724-2.c: New test.
	* gcc.dg/wtr-conversion-1.c: Use -Wtraditional-conversion instead of
	-Wtraditional.
	* gcc.dg/dfp/wtr-conversion-1.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210980 138bc75d-0d04-0410-961f-82ee72b054a4
	* double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
	predicate to detect a negative quotient.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210981 138bc75d-0d04-0410-961f-82ee72b054a4
	* gnat.dg/aliasing1.adb (dg-final): Robustify pattern matching.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210982 138bc75d-0d04-0410-961f-82ee72b054a4