2013-05-16  Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/57286
gcc/
	* fold-const.c (fold_ternary_loc) <VEC_COND_EXPR>: Disable some
	transformations to avoid an infinite loop.

gcc/testsuite/
	* gcc.dg/pr57286.c: New testcase.
	* gcc.dg/vector-shift-2.c: Don't assume int has size 4.
	* g++.dg/ext/vector22.C: Comment out transformations not
	performed anymore.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198964 138bc75d-0d04-0410-961f-82ee72b054a4
	gcc/
	* varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.

	gcc/testsuite/
	* gcc.dg/visibility-21.c: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198965 138bc75d-0d04-0410-961f-82ee72b054a4
	* omp-low.c (extract_omp_for_data): For collapsed loops,
	if at least one of the loops is known at compile time to
	iterate zero times, set count to 0.
	(expand_omp_regimplify_p): New function.
	(expand_omp_for_generic): For collapsed loops, if at least
	one of the loops isn't known to iterate at least once,
	add runtime check with setting count to 0.
	(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
	For unsigned types if it isn't known at compile time that
	the loop will iterate at least once, add runtime check to bypass
	the whole loop if initial condition isn't true.

	* testsuite/libgomp.c/loop-13.c: New test.
	* testsuite/libgomp.c/loop-14.c: New test.
	* testsuite/libgomp.c/loop-15.c: New test.
	* testsuite/libgomp.c++/loop-13.C: New test.
	* testsuite/libgomp.c++/loop-14.C: New test.
	* testsuite/libgomp.c++/loop-15.C: New test.


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