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