This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[tree-ssa] Bootstrap failure on alpha


Jan,

One of these two patches introduced a bootstrap regression in alpha. 
-Werror is triggered for the stage1 compiler when building cppcharset.c


-----------------------------------------------------------------------------
[ ... ]
stage1/xgcc -Bstage1/ -B/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/inst.dorothy/alphaev67-unknown-linux-gnu/bin/ -c   -g -O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Werror -fno-common   -DHAVE_CONFIG_H    -I. -I. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../include -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/libcompat -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/points-to  /home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppinit.c -o cppinit.o
stage1/xgcc -Bstage1/ -B/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/inst.dorothy/alphaev67-unknown-linux-gnu/bin/ -c   -g -O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Werror -fno-common   -DHAVE_CONFIG_H    -I. -I. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../include -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/libcompat -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/points-to  /home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppcharset.c -o cppcharset.o
/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppcharset.c: In function `one_utf8_to_utf32':

/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppcharset.c:283: warning: 's' might be used uninitialized in this function
make[2]: *** [cppcharset.o] Error 1
make[2]: Leaving directory `/dorothy/dnovillo/sbox/tree-ssa-branch/bld.dorothy/gcc'
make[1]: *** [stage2_build] Error 2
make[1]: Leaving directory `/dorothy/dnovillo/sbox/tree-ssa-branch/bld.dorothy/gcc'
make: *** [bootstrap] Error 2
-----------------------------------------------------------------------------

--- gcc.prev/gcc/ChangeLog.tree-ssa	Fri Oct 24 00:41:30 2003
+++ gcc/gcc/ChangeLog.tree-ssa	Fri Oct 24 16:45:36 2003
@@ -1,3 +1,15 @@
+2003-10-25  Jan Hubicka  <jh@suse.cz>
+
+	* fold-const.c (nondestructive_fold_binary_to_constant): Realize that
+	(plus (address) (const_int)) is a constant.
+
+2003-10-25  Jan Hubicka  <jh@suse.cz>
+
+	* opts.c (decode_options): Uncomment unit-at-a-time setting
+	* params.def: Syncrhonize with manline.
+	* tree-inline.c (initialize_inlined_parameters):  Set variable as
+	gimplified.
+
 2003-10-24  Steven Bosscher  <steven@gcc.gnu.org>
 
 	* gimplify.c (create_artificial_label): New function.
--- gcc.prev/gcc/fold-const.c	Sat Oct 18 16:59:45 2003
+++ gcc/gcc/fold-const.c	Fri Oct 24 16:45:35 2003
@@ -9025,6 +9025,15 @@ nondestructive_fold_binary_to_constant (
   switch (code)
     {
     case PLUS_EXPR:
+      /* (plus (address) (const_int)) is a constant.  */
+      if (TREE_CODE (op0) == PLUS_EXPR
+	  && TREE_CODE (op1) == INTEGER_CST
+	  && TREE_CODE (TREE_OPERAND (op0, 0)) == ADDR_EXPR
+	  && TREE_CODE (TREE_OPERAND (op0, 1)) == INTEGER_CST)
+	{
+          return build (PLUS_EXPR, type, TREE_OPERAND (op0, 0),
+			const_binop (PLUS_EXPR, op1, TREE_OPERAND (op0, 1), 0));
+	}
     case BIT_XOR_EXPR:
 
     binary:
diff -r -dupN -x *.1 -x *.7 -x *.info* -x .#* -x *.rej -x *.orig -x CVS -x autom4te.cache -x *-parse.c -x *-parse.y -x gengtype-*.c -x gengtype-*.h -x */java/parse-scan.c -x */java/parse.c -x */treelang/lex.c -x */treelang/parse.* gcc.prev/gcc/opts.c gcc/gcc/opts.c
--- gcc.prev/gcc/opts.c	Sat Oct 18 16:59:49 2003
+++ gcc/gcc/opts.c	Fri Oct 24 15:32:31 2003
@@ -562,7 +562,7 @@ decode_options (unsigned int argc, const
       flag_delete_null_pointer_checks = 1;
       flag_reorder_blocks = 1;
       flag_reorder_functions = 1;
-      /* flag_unit_at_a_time = 1; */
+      flag_unit_at_a_time = 1;
     }
 
   if (optimize >= 3)
diff -r -dupN -x *.1 -x *.7 -x *.info* -x .#* -x *.rej -x *.orig -x CVS -x autom4te.cache -x *-parse.c -x *-parse.y -x gengtype-*.c -x gengtype-*.h -x */java/parse-scan.c -x */java/parse.c -x */treelang/lex.c -x */treelang/parse.* gcc.prev/gcc/params.def gcc/gcc/params.def
--- gcc.prev/gcc/params.def	Wed Jul 23 09:59:51 2003
+++ gcc/gcc/params.def	Fri Oct 24 15:32:31 2003
@@ -51,7 +51,7 @@ Software Foundation, 59 Temple Place - S
 DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
 	  "max-inline-insns-single",
 	  "The maximum number of instructions in a single function eligible for inlining",
-	  100)
+	  500)
 
 /* The single function inlining limit for functions that are
    inlined by virtue of -finline-functions (-O3).
@@ -63,7 +63,7 @@ DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
 DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO,
 	  "max-inline-insns-auto",
 	  "The maximum number of instructions when automatically inlining",
-	  100)
+	  150)
 
 /* The repeated inlining limit.  After this number of instructions 
    (in the internal gcc representation, not real machine instructions)
diff -r -dupN -x *.1 -x *.7 -x *.info* -x .#* -x *.rej -x *.orig -x CVS -x autom4te.cache -x *-parse.c -x *-parse.y -x gengtype-*.c -x gengtype-*.h -x */java/parse-scan.c -x */java/parse.c -x */treelang/lex.c -x */treelang/parse.* gcc.prev/gcc/tree-inline.c gcc/gcc/tree-inline.c
--- gcc.prev/gcc/tree-inline.c	Fri Oct 24 00:41:31 2003
+++ gcc/gcc/tree-inline.c	Fri Oct 24 15:32:31 2003
@@ -723,6 +723,8 @@ initialize_inlined_parameters (inline_da
       /* Declare this new variable.  */
       TREE_CHAIN (var) = vars;
       vars = var;
+      /* Make gimplifier happy about this variable.  */
+      var->decl.seen_in_bind_expr = keep_function_tree_in_gimple_form (fn);
 
       /* Even if P was TREE_READONLY, the new VAR should not be.
 	 In the original code, we would have constructed a


Thanks.  Diego.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]