gcc/gcc ChangeLog.tree-ssa Makefile.in bitmap. ...

rth@gcc.gnu.org rth@gcc.gnu.org
Fri Nov 21 07:26:00 GMT 2003


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-ssa-20020619-branch
Changes by:	rth@gcc.gnu.org	2003-11-21 07:26:09

Modified files:
	gcc            : ChangeLog.tree-ssa Makefile.in bitmap.c 
	                 combine.c 

Log message:
	Curious to see what warnings were left, if any, I removed all of the
	tree-ssa added werror suppressors.  Turns out there were three left.
	
	(1) reload1.c: Loops with constant trip counts still aren't translated
	properly.  Hopefully Jeff's jump threading will be up to this task
	shortly.
	
	Re-instated the werror suppressor.
	
	(2) bitmap.c: Also a loop trip count problem.
	
	I adjusted the source to validate that we *must* find a non-zero
	word.  If we don't, then we have a bug elsewhere in the file.
	
	(3) combine.c: This was an inlined function noticing that an output
	argument wasn't always set thing.  An exceptionally good jump
	threader would be able to figure this out and not warn, since we
	return -1 in such cases and check that < 0 before checking the
	out argument.
	
	I did what we've done twice now and adjusted the source to always
	init the output variable.
	
	Bootstrapped on i686, amd64, and alphaev67 linux.
	
	r~
	
	* Makefile.in (bitmap.o-warn, caller-save.o-warn, combine.o-warn,
	cgraphunit.o-warn, c-semantics.o-warn, emit-rtl.o-warn, expr.o-warn,
	fold-const.o-warn, genattrtab.o-warn, regmove.o-warn, tree.o-warn,
	varasm.o-warn, f/expr.o-warn, profile.o-warn): Remove.
	* bitmap.c (bitmap_first_set_bit): Abort if no non-zero word found.
	(bitmap_last_set_bit): Likewise.
	* combine.c (get_pos_from_mask): Always set *plen.
	
	Index: Makefile.in
	===================================================================
	RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
	retrieving revision 1.903.2.136
	diff -c -p -d -r1.903.2.136 Makefile.in
	*** Makefile.in	20 Nov 2003 20:54:37 -0000	1.903.2.136
	--- Makefile.in	21 Nov 2003 07:02:37 -0000
	*************** gengtype-yacc.o-warn = -Wno-error
	*** 187,218 ****
	c-parse.o-warn = -Wno-error
	# flex output may yield harmless "no previous prototype" warnings
	gengtype-lex.o-warn = -Wno-error
	# These files need -Wno-error because the gimplifier triggers hard to fix
	# warnings when converting to GIMPLE form.  The warnings are triggered because
	# moving the condition into the loop prevents the loop optimizer from
	# recognizing that the loop will always be executed at least once.  We need
	# a new loop optimizer.
	- bitmap.o-warn = -Wno-error
	- caller-save.o-warn = -Wno-error
	- combine.o-warn = -Wno-error
	- cgraphunit.o-warn = -Wno-error
	- c-semantics.o-warn = -Wno-error
	- emit-rtl.o-warn = -Wno-error
	- expr.o-warn = -Wno-error
	- fold-const.o-warn = -Wno-error
	- genattrtab.o-warn = -Wno-error
	- regmove.o-warn = -Wno-error
	reload1.o-warn = -Wno-error
	- tree.o-warn = -Wno-error
	- varasm.o-warn = -Wno-error
	- f/expr.o-warn = -Wno-error
	- # The warning for 'prev_file_name' in profile.c is odd.  The variable *is*
	- # initialized before being used.
	- profile.o-warn = -Wno-error
	# These warnings are due to libbanshee.
	tree-alias-ander.o-warn = -Wno-error
	- # SYSCALLS.c misses prototypes
	- SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
	
	# All warnings have to be shut off in stage1 if the compiler used then
	# isn't gcc; configure determines that.  WARN_CFLAGS will be either
	--- 187,202 ----
	c-parse.o-warn = -Wno-error
	# flex output may yield harmless "no previous prototype" warnings
	gengtype-lex.o-warn = -Wno-error
	+ # SYSCALLS.c misses prototypes
	+ SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
	# These files need -Wno-error because the gimplifier triggers hard to fix
	# warnings when converting to GIMPLE form.  The warnings are triggered because
	# moving the condition into the loop prevents the loop optimizer from
	# recognizing that the loop will always be executed at least once.  We need
	# a new loop optimizer.
	reload1.o-warn = -Wno-error
	# These warnings are due to libbanshee.
	tree-alias-ander.o-warn = -Wno-error
	
	# All warnings have to be shut off in stage1 if the compiler used then
	# isn't gcc; configure determines that.  WARN_CFLAGS will be either
	Index: bitmap.c
	===================================================================
	RCS file: /cvs/gcc/gcc/gcc/bitmap.c,v
	retrieving revision 1.36.2.8
	diff -c -p -d -r1.36.2.8 bitmap.c
	*** bitmap.c	23 Jul 2003 16:59:28 -0000	1.36.2.8
	--- bitmap.c	21 Nov 2003 07:02:41 -0000
	*************** bitmap_first_set_bit (bitmap a)
	*** 414,420 ****
	#else
	for (word_num = 0; word_num < BITMAP_ELEMENT_WORDS; ++word_num)
	if ((word = ptr->bits[word_num]) != 0)
	!       break;
	#endif
	
	/* Binary search for the first set bit.  */
	--- 414,422 ----
	#else
	for (word_num = 0; word_num < BITMAP_ELEMENT_WORDS; ++word_num)
	if ((word = ptr->bits[word_num]) != 0)
	!       goto word_found;
	!   abort ();
	!  word_found:
	#endif
	
	/* Binary search for the first set bit.  */
	*************** bitmap_last_set_bit (bitmap a)
	*** 469,475 ****
	#else
	for (word_num = BITMAP_ELEMENT_WORDS; word_num-- > 0; )
	if ((word = ptr->bits[word_num]) != 0)
	!       break;
	#endif
	
	/* Binary search for the last set bit.  */
	--- 471,479 ----
	#else
	for (word_num = BITMAP_ELEMENT_WORDS; word_num-- > 0; )
	if ((word = ptr->bits[word_num]) != 0)
	!       goto word_found;
	!   abort ();
	!  word_found:
	#endif
	
	/* Binary search for the last set bit.  */
	Index: combine.c
	===================================================================
	RCS file: /cvs/gcc/gcc/gcc/combine.c,v
	retrieving revision 1.299.2.29
	diff -c -p -d -r1.299.2.29 combine.c
	*** combine.c	18 Oct 2003 23:59:37 -0000	1.299.2.29
	--- combine.c	21 Nov 2003 07:02:48 -0000
	*************** get_pos_from_mask (unsigned HOST_WIDE_IN
	*** 6696,6712 ****
	{
	/* Get the bit number of the first 1 bit from the right, -1 if none.  */
	int pos = exact_log2 (m & -m);
	!   int len;
	!
	!   if (pos < 0)
	!     return -1;
	
	!   /* Now shift off the low-order zero bits and see if we have a power of
	!      two minus 1.  */
	!   len = exact_log2 ((m >> pos) + 1);
	
	if (len <= 0)
	!     return -1;
	
	*plen = len;
	return pos;
	--- 6696,6710 ----
	{
	/* Get the bit number of the first 1 bit from the right, -1 if none.  */
	int pos = exact_log2 (m & -m);
	!   int len = 0;
	
	!   if (pos >= 0)
	!     /* Now shift off the low-order zero bits and see if we have a
	!        power of two minus 1.  */
	!     len = exact_log2 ((m >> pos) + 1);
	
	if (len <= 0)
	!     pos = -1;
	
	*plen = len;
	return pos;
	Index: tree-dfa.c
	===================================================================
	RCS file: /cvs/gcc/gcc/gcc/Attic/tree-dfa.c,v
	retrieving revision 1.1.4.181
	diff -c -p -d -r1.1.4.181 tree-dfa.c
	*** tree-dfa.c	19 Nov 2003 20:10:00 -0000	1.1.4.181
	--- tree-dfa.c	21 Nov 2003 07:02:54 -0000
	*************** get_expr_operands (tree stmt, tree *expr
	*** 393,411 ****
	return;
	}
	
	-       /* This single case might not have been folded to an array reference
	- 	 if the immediate doesn't exactly divide the referenced type.  This
	- 	 case is likely to be undefined in C, but perhaps not others.  */
	-       else if (TREE_CODE (ptr) == PLUS_EXPR)
	- 	{
	- 	  if (TREE_CODE (TREE_OPERAND (ptr, 1)) != INTEGER_CST)
	- 	    abort ();
	- 	  ptr = TREE_OPERAND (ptr, 0);
	- 	  if (TREE_CODE (ptr) != ADDR_EXPR)
	- 	    abort ();
	- 	  pptr = &TREE_OPERAND (ptr, 0);
	- 	}
	-
	/* Everything else should have been folded elsewhere.  */
	else
	abort ();
	--- 393,398 ----

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.tree-ssa.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.901&r2=1.1.2.902
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.903.2.136&r2=1.903.2.137
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/bitmap.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.36.2.8&r2=1.36.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.299.2.29&r2=1.299.2.30



More information about the Gcc-cvs mailing list