summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog50
-rw-r--r--gcc/combine.c177
-rw-r--r--gcc/config.gcc3
-rw-r--r--gcc/config.in3
-rw-r--r--gcc/config/a29k/xm-a29k.h7
-rw-r--r--gcc/config/a29k/xm-unix.h6
-rw-r--r--gcc/config/alpha/xm-alpha.h5
-rw-r--r--gcc/config/arc/xm-arc.h6
-rw-r--r--gcc/config/arm/xm-arm.h6
-rw-r--r--gcc/config/c4x/xm-c4x.h5
-rw-r--r--gcc/config/clipper/xm-clix.h4
-rw-r--r--gcc/config/convex/xm-convex.h4
-rw-r--r--gcc/config/d30v/xm-d30v.h4
-rw-r--r--gcc/config/dsp16xx/xm-dsp16xx.h6
-rw-r--r--gcc/config/elxsi/xm-elxsi.h7
-rw-r--r--gcc/config/fr30/xm-fr30.h4
-rw-r--r--gcc/config/h8300/xm-h8300.h7
-rw-r--r--gcc/config/i370/xm-i370.h5
-rw-r--r--gcc/config/i370/xm-linux.h7
-rw-r--r--gcc/config/i370/xm-mvs.h5
-rw-r--r--gcc/config/i370/xm-oe.h5
-rw-r--r--gcc/config/i386/xm-aix.h2
-rw-r--r--gcc/config/i386/xm-i386.h6
-rw-r--r--gcc/config/i386/xm-osf.h2
-rw-r--r--gcc/config/i860/xm-i860.h4
-rw-r--r--gcc/config/i960/xm-i960.h6
-rw-r--r--gcc/config/ia64/xm-ia64.h6
-rw-r--r--gcc/config/m32r/xm-m32r.h6
-rw-r--r--gcc/config/m68k/xm-m68k.h7
-rw-r--r--gcc/config/m88k/xm-m88k.h7
-rw-r--r--gcc/config/mcore/mcore.c12
-rw-r--r--gcc/config/mcore/xm-mcore.h7
-rw-r--r--gcc/config/mips/xm-mips.h5
-rw-r--r--gcc/config/mn10200/xm-mn10200.h6
-rw-r--r--gcc/config/mn10300/xm-mn10300.h6
-rw-r--r--gcc/config/ns32k/xm-ns32k.h6
-rw-r--r--gcc/config/pa/xm-linux.h6
-rw-r--r--gcc/config/pa/xm-pa.h6
-rw-r--r--gcc/config/pa/xm-pa64hpux.h7
-rw-r--r--gcc/config/pa/xm-pahpux.h8
-rw-r--r--gcc/config/pa/xm-papro.h6
-rw-r--r--gcc/config/pj/xm-pj.h6
-rw-r--r--gcc/config/romp/xm-romp.h7
-rw-r--r--gcc/config/rs6000/xm-beos.h7
-rw-r--r--gcc/config/rs6000/xm-rs6000.h7
-rw-r--r--gcc/config/rs6000/xm-sysv4.h7
-rw-r--r--gcc/config/sh/xm-sh.h6
-rw-r--r--gcc/config/sparc/xm-sparc.h7
-rw-r--r--gcc/config/sparc/xm-sysv4.h7
-rw-r--r--gcc/config/v850/xm-v850.h6
-rw-r--r--gcc/config/vax/xm-vax.h7
-rw-r--r--gcc/config/vax/xm-vms.h4
-rw-r--r--gcc/config/we32k/xm-we32k.h7
-rw-r--r--gcc/config/xm-lynx.h4
-rw-r--r--gcc/config/xm-std32.h6
-rwxr-xr-xgcc/configure2
-rw-r--r--gcc/configure.in2
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/decl.c4
-rw-r--r--gcc/cse.c32
-rw-r--r--gcc/expr.c26
-rw-r--r--gcc/f/ChangeLog6
-rw-r--r--gcc/f/com.c16
-rw-r--r--gcc/f/intdoc.c13
-rw-r--r--gcc/f/proj.h23
-rw-r--r--gcc/fold-const.c8
-rw-r--r--gcc/function.c10
-rw-r--r--gcc/gensupport.c22
-rw-r--r--gcc/ggc-common.c4
-rw-r--r--gcc/hash.c10
-rw-r--r--gcc/hash.h18
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/class.c2
-rw-r--r--gcc/java/config-lang.in4
-rw-r--r--gcc/java/decl.c4
-rw-r--r--gcc/java/java-tree.h2
-rw-r--r--gcc/system.h37
-rw-r--r--gcc/tlink.c10
78 files changed, 321 insertions, 478 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3b5ad656bcc..7a7d1a93281 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,49 @@
+2001-03-01 Zack Weinberg <zackw@stanford.edu>
+
+ * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
+ config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
+ config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
+ config/clipper/xm-clix.h, config/convex/xm-convex.h,
+ config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
+ config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
+ config/h8300/xm-h8300.h, config/i370/xm-i370.h,
+ config/i370/xm-linux.h, config/i370/xm-mvs.h,
+ config/i370/xm-oe.h, config/i386/xm-aix.h,
+ config/i386/xm-i386.h, config/i386/xm-osf.h,
+ config/i860/xm-i860.h, config/i960/xm-i960.h,
+ config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
+ config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
+ config/mcore/xm-mcore.h, config/mips/xm-mips.h,
+ config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
+ config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
+ config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
+ config/pa/xm-pahpux.h, config/pa/xm-papro.h,
+ config/pj/xm-pj.h, config/romp/xm-romp.h,
+ config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
+ config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
+ config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
+ config/v850/xm-v850.h, config/vax/xm-vax.h,
+ config/vax/xm-vms.h, config/we32k/xm-we32k.h:
+ Do not define TRUE or FALSE.
+
+ * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
+ empty by above change.
+ * config.gcc: Remove references to these files.
+
+ * configure.in: Detect stdbool.h.
+ * configure, config.in: Regenerate.
+ * system.h: Include stddef.h here if available.
+ Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
+ Then set up a sensible boolean type at the very end.
+
+ * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
+ config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
+
+ * hash.h: Delete 'boolean' typedef and related #undefs.
+
+ * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
+ all uses of 'boolean' with 'bool'.
+
2001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
@@ -221,7 +267,7 @@ Tue Feb 27 16:01:13 CET 2001 Jan Hubicka <jh@suse.cz>
Fergus Henderson
* md.texi (min, max): Document
-
+
Tue Feb 27 15:51:35 CET 2001 Jan Hubicka <jh@suse.cz>
* i386.md (movsf, movdf): Use movaps for reg-reg moves if
@@ -239,7 +285,7 @@ Tue Feb 27 15:36:48 CET 2001 Jan Hubicka <jh@suse.cz>
2001-02-26 Jason Eckhardt <jle@redhat.com>
* combine.c (known_cond): Do not reverse the condition when
- SMAX/UMAX is being considered and the condition is for equality
+ SMAX/UMAX is being considered and the condition is for equality
or inequality.
* testsuite/gcc.c-torture/execute/20010221-1.c: New test.
diff --git a/gcc/combine.c b/gcc/combine.c
index 5dc26a8975d..a3b96400f7a 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3609,15 +3609,15 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
&& (GET_RTX_CLASS (GET_CODE (SUBREG_REG (XEXP (x, 0))))
== 'o'))))))
{
- rtx cond, true, false;
+ rtx cond, true_rtx, false_rtx;
- cond = if_then_else_cond (x, &true, &false);
+ cond = if_then_else_cond (x, &true_rtx, &false_rtx);
if (cond != 0
/* If everything is a comparison, what we have is highly unlikely
to be simpler, so don't use it. */
&& ! (GET_RTX_CLASS (code) == '<'
- && (GET_RTX_CLASS (GET_CODE (true)) == '<'
- || GET_RTX_CLASS (GET_CODE (false)) == '<')))
+ && (GET_RTX_CLASS (GET_CODE (true_rtx)) == '<'
+ || GET_RTX_CLASS (GET_CODE (false_rtx)) == '<')))
{
rtx cop1 = const0_rtx;
enum rtx_code cond_code = simplify_comparison (NE, &cond, &cop1);
@@ -3627,35 +3627,35 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
/* Simplify the alternative arms; this may collapse the true and
false arms to store-flag values. */
- true = subst (true, pc_rtx, pc_rtx, 0, 0);
- false = subst (false, pc_rtx, pc_rtx, 0, 0);
+ true_rtx = subst (true_rtx, pc_rtx, pc_rtx, 0, 0);
+ false_rtx = subst (false_rtx, pc_rtx, pc_rtx, 0, 0);
- /* If true and false are not general_operands, an if_then_else
+ /* If true_rtx and false_rtx are not general_operands, an if_then_else
is unlikely to be simpler. */
- if (general_operand (true, VOIDmode)
- && general_operand (false, VOIDmode))
+ if (general_operand (true_rtx, VOIDmode)
+ && general_operand (false_rtx, VOIDmode))
{
/* Restarting if we generate a store-flag expression will cause
us to loop. Just drop through in this case. */
/* If the result values are STORE_FLAG_VALUE and zero, we can
just make the comparison operation. */
- if (true == const_true_rtx && false == const0_rtx)
+ if (true_rtx == const_true_rtx && false_rtx == const0_rtx)
x = gen_binary (cond_code, mode, cond, cop1);
- else if (true == const0_rtx && false == const_true_rtx)
+ else if (true_rtx == const0_rtx && false_rtx == const_true_rtx)
x = gen_binary (reverse_condition (cond_code),
mode, cond, cop1);
/* Likewise, we can make the negate of a comparison operation
if the result values are - STORE_FLAG_VALUE and zero. */
- else if (GET_CODE (true) == CONST_INT
- && INTVAL (true) == - STORE_FLAG_VALUE
- && false == const0_rtx)
+ else if (GET_CODE (true_rtx) == CONST_INT
+ && INTVAL (true_rtx) == - STORE_FLAG_VALUE
+ && false_rtx == const0_rtx)
x = gen_unary (NEG, mode, mode,
gen_binary (cond_code, mode, cond, cop1));
- else if (GET_CODE (false) == CONST_INT
- && INTVAL (false) == - STORE_FLAG_VALUE
- && true == const0_rtx)
+ else if (GET_CODE (false_rtx) == CONST_INT
+ && INTVAL (false_rtx) == - STORE_FLAG_VALUE
+ && true_rtx == const0_rtx)
x = gen_unary (NEG, mode, mode,
gen_binary (reverse_condition (cond_code),
mode, cond, cop1));
@@ -3663,7 +3663,7 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
return gen_rtx_IF_THEN_ELSE (mode,
gen_binary (cond_code, VOIDmode,
cond, cop1),
- true, false);
+ true_rtx, false_rtx);
code = GET_CODE (x);
op0_mode = VOIDmode;
@@ -4649,8 +4649,8 @@ simplify_if_then_else (x)
{
enum machine_mode mode = GET_MODE (x);
rtx cond = XEXP (x, 0);
- rtx true = XEXP (x, 1);
- rtx false = XEXP (x, 2);
+ rtx true_rtx = XEXP (x, 1);
+ rtx false_rtx = XEXP (x, 2);
enum rtx_code true_code = GET_CODE (cond);
int comparison_p = GET_RTX_CLASS (true_code) == '<';
rtx temp;
@@ -4659,12 +4659,12 @@ simplify_if_then_else (x)
rtx reversed;
/* Simplify storing of the truth value. */
- if (comparison_p && true == const_true_rtx && false == const0_rtx)
+ if (comparison_p && true_rtx == const_true_rtx && false_rtx == const0_rtx)
return gen_binary (true_code, mode, XEXP (cond, 0), XEXP (cond, 1));
/* Also when the truth value has to be reversed. */
if (comparison_p
- && true == const0_rtx && false == const_true_rtx
+ && true_rtx == const0_rtx && false_rtx == const_true_rtx
&& (reversed = reversed_comparison (cond, mode, XEXP (cond, 0),
XEXP (cond, 1))))
return reversed;
@@ -4689,7 +4689,7 @@ simplify_if_then_else (x)
if (false_code == EQ)
{
swapped = 1, true_code = EQ, false_code = NE;
- temp = true, true = false, false = temp;
+ temp = true_rtx, true_rtx = false_rtx, false_rtx = temp;
}
/* If we are comparing against zero and the expression being tested has
@@ -4708,18 +4708,21 @@ simplify_if_then_else (x)
branch and it is used in the arm. Be careful due to the potential
of locally-shared RTL. */
- if (reg_mentioned_p (from, true))
- true = subst (known_cond (copy_rtx (true), true_code, from, true_val),
+ if (reg_mentioned_p (from, true_rtx))
+ true_rtx = subst (known_cond (copy_rtx (true_rtx), true_code,
+ from, true_val),
pc_rtx, pc_rtx, 0, 0);
- if (reg_mentioned_p (from, false))
- false = subst (known_cond (copy_rtx (false), false_code,
+ if (reg_mentioned_p (from, false_rtx))
+ false_rtx = subst (known_cond (copy_rtx (false_rtx), false_code,
from, false_val),
pc_rtx, pc_rtx, 0, 0);
- SUBST (XEXP (x, 1), swapped ? false : true);
- SUBST (XEXP (x, 2), swapped ? true : false);
+ SUBST (XEXP (x, 1), swapped ? false_rtx : true_rtx);
+ SUBST (XEXP (x, 2), swapped ? true_rtx : false_rtx);
- true = XEXP (x, 1), false = XEXP (x, 2), true_code = GET_CODE (cond);
+ true_rtx = XEXP (x, 1);
+ false_rtx = XEXP (x, 2);
+ true_code = GET_CODE (cond);
}
/* If we have (if_then_else FOO (pc) (label_ref BAR)) and FOO can be
@@ -4730,27 +4733,28 @@ simplify_if_then_else (x)
if (comparison_p
&& combine_reversed_comparison_code (cond) != UNKNOWN
- && (true == pc_rtx
- || (CONSTANT_P (true)
- && GET_CODE (false) != CONST_INT && false != pc_rtx)
- || true == const0_rtx
- || (GET_RTX_CLASS (GET_CODE (true)) == 'o'
- && GET_RTX_CLASS (GET_CODE (false)) != 'o')
- || (GET_CODE (true) == SUBREG
- && GET_RTX_CLASS (GET_CODE (SUBREG_REG (true))) == 'o'
- && GET_RTX_CLASS (GET_CODE (false)) != 'o')
- || reg_mentioned_p (true, false)
- || rtx_equal_p (false, XEXP (cond, 0))))
+ && (true_rtx == pc_rtx
+ || (CONSTANT_P (true_rtx)
+ && GET_CODE (false_rtx) != CONST_INT && false_rtx != pc_rtx)
+ || true_rtx == const0_rtx
+ || (GET_RTX_CLASS (GET_CODE (true_rtx)) == 'o'
+ && GET_RTX_CLASS (GET_CODE (false_rtx)) != 'o')
+ || (GET_CODE (true_rtx) == SUBREG
+ && GET_RTX_CLASS (GET_CODE (SUBREG_REG (true_rtx))) == 'o'
+ && GET_RTX_CLASS (GET_CODE (false_rtx)) != 'o')
+ || reg_mentioned_p (true_rtx, false_rtx)
+ || rtx_equal_p (false_rtx, XEXP (cond, 0))))
{
true_code = reversed_comparison_code (cond, NULL);
SUBST (XEXP (x, 0),
reversed_comparison (cond, GET_MODE (cond), XEXP (cond, 0),
XEXP (cond, 1)));
- SUBST (XEXP (x, 1), false);
- SUBST (XEXP (x, 2), true);
+ SUBST (XEXP (x, 1), false_rtx);
+ SUBST (XEXP (x, 2), true_rtx);
- temp = true, true = false, false = temp, cond = XEXP (x, 0);
+ temp = true_rtx, true_rtx = false_rtx, false_rtx = temp;
+ cond = XEXP (x, 0);
/* It is possible that the conditional has been simplified out. */
true_code = GET_CODE (cond);
@@ -4759,37 +4763,38 @@ simplify_if_then_else (x)
/* If the two arms are identical, we don't need the comparison. */
- if (rtx_equal_p (true, false) && ! side_effects_p (cond))
- return true;
+ if (rtx_equal_p (true_rtx, false_rtx) && ! side_effects_p (cond))
+ return true_rtx;
/* Convert a == b ? b : a to "a". */
if (true_code == EQ && ! side_effects_p (cond)
&& (! FLOAT_MODE_P (mode) || flag_fast_math)
- && rtx_equal_p (XEXP (cond, 0), false)
- && rtx_equal_p (XEXP (cond, 1), true))
- return false;
+ && rtx_equal_p (XEXP (cond, 0), false_rtx)
+ && rtx_equal_p (XEXP (cond, 1), true_rtx))
+ return false_rtx;
else if (true_code == NE && ! side_effects_p (cond)
&& (! FLOAT_MODE_P (mode) || flag_fast_math)
- && rtx_equal_p (XEXP (cond, 0), true)
- && rtx_equal_p (XEXP (cond, 1), false))
- return true;
+ && rtx_equal_p (XEXP (cond, 0), true_rtx)
+ && rtx_equal_p (XEXP (cond, 1), false_rtx))
+ return true_rtx;
/* Look for cases where we have (abs x) or (neg (abs X)). */
if (GET_MODE_CLASS (mode) == MODE_INT
- && GET_CODE (false) == NEG
- && rtx_equal_p (true, XEXP (false, 0))
+ && GET_CODE (false_rtx) == NEG
+ && rtx_equal_p (true_rtx, XEXP (false_rtx, 0))
&& comparison_p
- && rtx_equal_p (true, XEXP (cond, 0))
- && ! side_effects_p (true))
+ && rtx_equal_p (true_rtx, XEXP (cond, 0))
+ && ! side_effects_p (true_rtx))
switch (true_code)
{
case GT:
case GE:
- return gen_unary (ABS, mode, mode, true);
+ return gen_unary (ABS, mode, mode, true_rtx);
case LT:
case LE:
- return gen_unary (NEG, mode, mode, gen_unary (ABS, mode, mode, true));
+ return gen_unary (NEG, mode, mode,
+ gen_unary (ABS, mode, mode, true_rtx));
default:
break;
}
@@ -4798,23 +4803,23 @@ simplify_if_then_else (x)
if ((! FLOAT_MODE_P (mode) || flag_fast_math)
&& comparison_p
- && rtx_equal_p (XEXP (cond, 0), true)
- && rtx_equal_p (XEXP (cond, 1), false)
+ && rtx_equal_p (XEXP (cond, 0), true_rtx)
+ && rtx_equal_p (XEXP (cond, 1), false_rtx)
&& ! side_effects_p (cond))
switch (true_code)
{
case GE:
case GT:
- return gen_binary (SMAX, mode, true, false);
+ return gen_binary (SMAX, mode, true_rtx, false_rtx);
case LE:
case LT:
- return gen_binary (SMIN, mode, true, false);
+ return gen_binary (SMIN, mode, true_rtx, false_rtx);
case GEU:
case GTU:
- return gen_binary (UMAX, mode, true, false);
+ return gen_binary (UMAX, mode, true_rtx, false_rtx);
case LEU:
case LTU:
- return gen_binary (UMIN, mode, true, false);
+ return gen_binary (UMIN, mode, true_rtx, false_rtx);
default:
break;
}
@@ -4829,8 +4834,8 @@ simplify_if_then_else (x)
if ((STORE_FLAG_VALUE == 1 || STORE_FLAG_VALUE == -1)
&& comparison_p && mode != VOIDmode && ! side_effects_p (x))
{
- rtx t = make_compound_operation (true, SET);
- rtx f = make_compound_operation (false, SET);
+ rtx t = make_compound_operation (true_rtx, SET);
+ rtx f = make_compound_operation (false_rtx, SET);
rtx cond_op0 = XEXP (cond, 0);
rtx cond_op1 = XEXP (cond, 1);
enum rtx_code op = NIL, extend_op = NIL;
@@ -4943,12 +4948,12 @@ simplify_if_then_else (x)
can actually do this more generally, but it doesn't seem worth it. */
if (true_code == NE && XEXP (cond, 1) == const0_rtx
- && false == const0_rtx && GET_CODE (true) == CONST_INT
+ && false_rtx == const0_rtx && GET_CODE (true_rtx) == CONST_INT
&& ((1 == nonzero_bits (XEXP (cond, 0), mode)
- && (i = exact_log2 (INTVAL (true))) >= 0)
+ && (i = exact_log2 (INTVAL (true_rtx))) >= 0)
|| ((num_sign_bit_copies (XEXP (cond, 0), mode)
== GET_MODE_BITSIZE (mode))
- && (i = exact_log2 (-INTVAL (true))) >= 0)))
+ && (i = exact_log2 (-INTVAL (true_rtx))) >= 0)))
return
simplify_shift_const (NULL_RTX, ASHIFT, mode,
gen_lowpart_for_combine (mode, XEXP (cond, 0)), i);
@@ -5197,29 +5202,31 @@ simplify_set (x)
== GET_MODE_BITSIZE (GET_MODE (XEXP (XEXP (src, 0), 0))))
&& ! side_effects_p (src))
{
- rtx true = (GET_CODE (XEXP (src, 0)) == NE
+ rtx true_rtx = (GET_CODE (XEXP (src, 0)) == NE
? XEXP (src, 1) : XEXP (src, 2));
- rtx false = (GET_CODE (XEXP (src, 0)) == NE
+ rtx false_rtx = (GET_CODE (XEXP (src, 0)) == NE
? XEXP (src, 2) : XEXP (src, 1));
rtx term1 = const0_rtx, term2, term3;
- if (GET_CODE (true) == IOR && rtx_equal_p (XEXP (true, 0), false))
- term1 = false, true = XEXP (true, 1), false = const0_rtx;
- else if (GET_CODE (true) == IOR
- && rtx_equal_p (XEXP (true, 1), false))
- term1 = false, true = XEXP (true, 0), false = const0_rtx;
- else if (GET_CODE (false) == IOR
- && rtx_equal_p (XEXP (false, 0), true))
- term1 = true, false = XEXP (false, 1), true = const0_rtx;
- else if (GET_CODE (false) == IOR
- && rtx_equal_p (XEXP (false, 1), true))
- term1 = true, false = XEXP (false, 0), true = const0_rtx;
-
- term2 = gen_binary (AND, GET_MODE (src), XEXP (XEXP (src, 0), 0), true);
+ if (GET_CODE (true_rtx) == IOR
+ && rtx_equal_p (XEXP (true_rtx, 0), false_rtx))
+ term1 = false_rtx, true_rtx = XEXP(true_rtx, 1), false_rtx = const0_rtx;
+ else if (GET_CODE (true_rtx) == IOR
+ && rtx_equal_p (XEXP (true_rtx, 1), false_rtx))
+ term1 = false_rtx, true_rtx = XEXP(true_rtx, 0), false_rtx = const0_rtx;
+ else if (GET_CODE (false_rtx) == IOR
+ && rtx_equal_p (XEXP (false_rtx, 0), true_rtx))
+ term1 = true_rtx, false_rtx = XEXP(false_rtx, 1), true_rtx = const0_rtx;
+ else if (GET_CODE (false_rtx) == IOR
+ && rtx_equal_p (XEXP (false_rtx, 1), true_rtx))
+ term1 = true_rtx, false_rtx = XEXP(false_rtx, 0), true_rtx = const0_rtx;
+
+ term2 = gen_binary (AND, GET_MODE (src),
+ XEXP (XEXP (src, 0), 0), true_rtx);
term3 = gen_binary (AND, GET_MODE (src),
gen_unary (NOT, GET_MODE (src), GET_MODE (src),
XEXP (XEXP (src, 0), 0)),
- false);
+ false_rtx);
SUBST (SET_SRC (x),
gen_binary (IOR, GET_MODE (src),
diff --git a/gcc/config.gcc b/gcc/config.gcc
index e5f30dea045..a1282572c85 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -971,7 +971,7 @@ i[34567]86-ibm-aix*) # IBM PS/2 running AIX
tm_file=i386/aix386ng.h
use_collect2=yes
fi
- xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
+ xm_file="xm-alloca.h ${xm_file}"
xm_defines=USG
xmake_file=i386/x-aix
;;
@@ -1220,7 +1220,6 @@ i[34567]86-*-osfrose*) # 386 using OSF/rose
tm_file=i386/osfrose.h
use_collect2=yes
fi
- xm_file="i386/xm-osf.h ${xm_file}"
xmake_file=i386/x-osfrose
tmake_file=i386/t-osf
extra_objs=halfpic.o
diff --git a/gcc/config.in b/gcc/config.in
index 82e534752da..6ada859a234 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -240,6 +240,9 @@
/* Define if you have the <stab.h> header file. */
#undef HAVE_STAB_H
+/* Define if you have the <stdbool.h> header file. */
+#undef HAVE_STDBOOL_H
+
/* Define if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
diff --git a/gcc/config/a29k/xm-a29k.h b/gcc/config/a29k/xm-a29k.h
index 774e34b38a8..63b9acc128a 100644
--- a/gcc/config/a29k/xm-a29k.h
+++ b/gcc/config/a29k/xm-a29k.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for AMD Am29000 processor.
- Copyright (C) 1987, 1988, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,11 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/a29k/xm-unix.h b/gcc/config/a29k/xm-unix.h
index 206d8fdc41d..4dd6c325125 100644
--- a/gcc/config/a29k/xm-unix.h
+++ b/gcc/config/a29k/xm-unix.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for AMD Am29000 processor.
- Copyright (C) 1987, 1988, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/alpha/xm-alpha.h b/gcc/config/alpha/xm-alpha.h
index 9e38cfc45f3..25a9d0f59d8 100644
--- a/gcc/config/alpha/xm-alpha.h
+++ b/gcc/config/alpha/xm-alpha.h
@@ -20,11 +20,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/arc/xm-arc.h b/gcc/config/arc/xm-arc.h
index ba011e94be6..f0fadbacf5e 100644
--- a/gcc/config/arc/xm-arc.h
+++ b/gcc/config/arc/xm-arc.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for the ARC processor.
- Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1997, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/arm/xm-arm.h b/gcc/config/arm/xm-arm.h
index 544fe45e33e..2a1686286d7 100644
--- a/gcc/config/arm/xm-arm.h
+++ b/gcc/config/arm/xm-arm.h
@@ -21,10 +21,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
@@ -60,5 +56,3 @@ Boston, MA 02111-1307, USA. */
#endif
/* EOF xm-arm.h */
-
-
diff --git a/gcc/config/c4x/xm-c4x.h b/gcc/config/c4x/xm-c4x.h
index dc329ebc9ba..491032477d1 100644
--- a/gcc/config/c4x/xm-c4x.h
+++ b/gcc/config/c4x/xm-c4x.h
@@ -1,7 +1,3 @@
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 32
#define HOST_BITS_PER_SHORT 32
@@ -18,4 +14,3 @@
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 33
-
diff --git a/gcc/config/clipper/xm-clix.h b/gcc/config/clipper/xm-clix.h
index 519ddf589ea..adb84117c3a 100644
--- a/gcc/config/clipper/xm-clix.h
+++ b/gcc/config/clipper/xm-clix.h
@@ -1,9 +1,5 @@
/* Config file for Clipper running Clix, system V. 3.2 clone */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
diff --git a/gcc/config/convex/xm-convex.h b/gcc/config/convex/xm-convex.h
index c3e0fe2c1e7..8a905df4251 100644
--- a/gcc/config/convex/xm-convex.h
+++ b/gcc/config/convex/xm-convex.h
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
#include "tm.h"
diff --git a/gcc/config/d30v/xm-d30v.h b/gcc/config/d30v/xm-d30v.h
index aa8c40ef738..549ecbe0236 100644
--- a/gcc/config/d30v/xm-d30v.h
+++ b/gcc/config/d30v/xm-d30v.h
@@ -19,10 +19,6 @@
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* A C expression for the status code to be returned when the compiler exits
after serious errors. */
#define FATAL_EXIT_CODE 33
diff --git a/gcc/config/dsp16xx/xm-dsp16xx.h b/gcc/config/dsp16xx/xm-dsp16xx.h
index 11e1fe912d7..ac40dac6678 100644
--- a/gcc/config/dsp16xx/xm-dsp16xx.h
+++ b/gcc/config/dsp16xx/xm-dsp16xx.h
@@ -1,5 +1,5 @@
/* Configuration file for GNU CC for AT&T DSP1600.
- Copyright (C) 1993 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001 Free Software Foundation, Inc.
Contributed by Michael Collison (collison@world.std.com).
This file is part of GNU CC.
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/elxsi/xm-elxsi.h b/gcc/config/elxsi/xm-elxsi.h
index 8264becd898..ed47bdeb0a0 100644
--- a/gcc/config/elxsi/xm-elxsi.h
+++ b/gcc/config/elxsi/xm-elxsi.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Elxsi.
- Copyright (C) 1987, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
#include "tm.h"
@@ -35,4 +31,3 @@ Boston, MA 02111-1307, USA. */
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 33
-
diff --git a/gcc/config/fr30/xm-fr30.h b/gcc/config/fr30/xm-fr30.h
index 54b1e5354fc..82030f5c0b1 100644
--- a/gcc/config/fr30/xm-fr30.h
+++ b/gcc/config/fr30/xm-fr30.h
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* A C expression for the status code to be returned when the compiler exits
after serious errors. */
#define FATAL_EXIT_CODE 33
diff --git a/gcc/config/h8300/xm-h8300.h b/gcc/config/h8300/xm-h8300.h
index 7fde9e6cd87..88592098ae2 100644
--- a/gcc/config/h8300/xm-h8300.h
+++ b/gcc/config/h8300/xm-h8300.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for H8/300.
- Copyright (C) 1993 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
@@ -43,4 +39,3 @@ Boston, MA 02111-1307, USA. */
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
#include "tm.h"
-
diff --git a/gcc/config/i370/xm-i370.h b/gcc/config/i370/xm-i370.h
index 939dc891752..bb663428798 100644
--- a/gcc/config/i370/xm-i370.h
+++ b/gcc/config/i370/xm-i370.h
@@ -20,11 +20,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
diff --git a/gcc/config/i370/xm-linux.h b/gcc/config/i370/xm-linux.h
index 08ab6983c11..ccdf64f3cf4 100644
--- a/gcc/config/i370/xm-linux.h
+++ b/gcc/config/i370/xm-linux.h
@@ -21,13 +21,7 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
-
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
#define HOST_BITS_PER_INT 32
@@ -54,6 +48,5 @@ extern char *alloca ();
#include "tm.h"
/* Arguments to use with `exit'. */
-
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 12
diff --git a/gcc/config/i370/xm-mvs.h b/gcc/config/i370/xm-mvs.h
index b070acda4f7..0535662c041 100644
--- a/gcc/config/i370/xm-mvs.h
+++ b/gcc/config/i370/xm-mvs.h
@@ -20,11 +20,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
diff --git a/gcc/config/i370/xm-oe.h b/gcc/config/i370/xm-oe.h
index 52dd2831613..baacdf2b1ea 100644
--- a/gcc/config/i370/xm-oe.h
+++ b/gcc/config/i370/xm-oe.h
@@ -20,11 +20,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
diff --git a/gcc/config/i386/xm-aix.h b/gcc/config/i386/xm-aix.h
deleted file mode 100644
index 4cbd36ef518..00000000000
--- a/gcc/config/i386/xm-aix.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#undef TRUE
-#undef FALSE
diff --git a/gcc/config/i386/xm-i386.h b/gcc/config/i386/xm-i386.h
index d115e6eff0d..5eaf8e431a0 100644
--- a/gcc/config/i386/xm-i386.h
+++ b/gcc/config/i386/xm-i386.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Intel 80386.
- Copyright (C) 1988, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -22,10 +22,6 @@ Boston, MA 02111-1307, USA. */
#define __i386__ 1
#endif
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/i386/xm-osf.h b/gcc/config/i386/xm-osf.h
deleted file mode 100644
index 4cbd36ef518..00000000000
--- a/gcc/config/i386/xm-osf.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#undef TRUE
-#undef FALSE
diff --git a/gcc/config/i860/xm-i860.h b/gcc/config/i860/xm-i860.h
index 9b8c0a30fc2..ad5f0ed6b5c 100644
--- a/gcc/config/i860/xm-i860.h
+++ b/gcc/config/i860/xm-i860.h
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/i960/xm-i960.h b/gcc/config/i960/xm-i960.h
index 09dcadff460..06df5b19e16 100644
--- a/gcc/config/i960/xm-i960.h
+++ b/gcc/config/i960/xm-i960.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Intel 960 family
- Copyright (C) 1987, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/ia64/xm-ia64.h b/gcc/config/ia64/xm-ia64.h
index 481de923085..f3ca011dffc 100644
--- a/gcc/config/ia64/xm-ia64.h
+++ b/gcc/config/ia64/xm-ia64.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for IA-64.
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* A C expression for the status code to be returned when the compiler exits
after serious errors. */
#define FATAL_EXIT_CODE 33
diff --git a/gcc/config/m32r/xm-m32r.h b/gcc/config/m32r/xm-m32r.h
index 57100c875cd..82c2b842046 100644
--- a/gcc/config/m32r/xm-m32r.h
+++ b/gcc/config/m32r/xm-m32r.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for the M32R processor.
- Copyright (C) 1996 Free Software Foundation, Inc.
+ Copyright (C) 1996, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/m68k/xm-m68k.h b/gcc/config/m68k/xm-m68k.h
index 757c9af67a1..f3b337b6e73 100644
--- a/gcc/config/m68k/xm-m68k.h
+++ b/gcc/config/m68k/xm-m68k.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Motorola 68000 family.
- Copyright (C) 1987, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,11 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/m88k/xm-m88k.h b/gcc/config/m88k/xm-m88k.h
index 4568fd5f989..1ddcca93af8 100644
--- a/gcc/config/m88k/xm-m88k.h
+++ b/gcc/config/m88k/xm-m88k.h
@@ -1,6 +1,6 @@
/* Configuration for GNU compiler.
Motorola m88100 in an 88open OCS/BCS environment.
- Copyright (C) 1988, 1989, 1990, 1991, 1993, 1997
+ Copyright (C) 1988, 1989, 1990, 1991, 1993, 1997, 2001
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -20,11 +20,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c
index c4650232fa5..42cb5784836 100644
--- a/gcc/config/mcore/mcore.c
+++ b/gcc/config/mcore/mcore.c
@@ -1,5 +1,5 @@
/* Output routines for Motorola MCore processor
- Copyright (C) 1993, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2634,8 +2634,8 @@ mcore_dependent_simplify_rtx (x, int_op0_mode, last, in_dest, general_simplify)
{
int i;
rtx cond = XEXP(x, 0);
- rtx true = XEXP(x, 1);
- rtx false = XEXP(x, 2);
+ rtx true_rtx = XEXP(x, 1);
+ rtx false_rtx = XEXP(x, 2);
enum rtx_code true_code = GET_CODE (cond);
/* On the mcore, when doing -mcmov-one, we don't want to simplify:
@@ -2648,12 +2648,12 @@ mcore_dependent_simplify_rtx (x, int_op0_mode, last, in_dest, general_simplify)
not typically help. see combine.c, line 4217. BRC */
if (true_code == NE && XEXP (cond, 1) == const0_rtx
- && false == const0_rtx && GET_CODE (true) == CONST_INT
+ && false_rtx == const0_rtx && GET_CODE (true_rtx) == CONST_INT
&& ((1 == nonzero_bits (XEXP (cond, 0), mode)
- && (i = exact_log2 (INTVAL (true))) >= 0)
+ && (i = exact_log2 (INTVAL (true_rtx))) >= 0)
|| ((num_sign_bit_copies (XEXP (cond, 0), mode)
== GET_MODE_BITSIZE (mode))
- && (i = exact_log2 (- INTVAL (true))) >= 0)))
+ && (i = exact_log2 (- INTVAL (true_rtx))) >= 0)))
{
*general_simplify = 0;
return x;
diff --git a/gcc/config/mcore/xm-mcore.h b/gcc/config/mcore/xm-mcore.h
index 46b4eff5fd0..ac729159fad 100644
--- a/gcc/config/mcore/xm-mcore.h
+++ b/gcc/config/mcore/xm-mcore.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for the Motorola M*Core.
- Copyright (C) 1993, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -17,10 +17,6 @@ You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
@@ -39,4 +35,3 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 33
-
diff --git a/gcc/config/mips/xm-mips.h b/gcc/config/mips/xm-mips.h
index fee5bd384cc..3c52ac0fec8 100644
--- a/gcc/config/mips/xm-mips.h
+++ b/gcc/config/mips/xm-mips.h
@@ -19,11 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/mn10200/xm-mn10200.h b/gcc/config/mn10200/xm-mn10200.h
index 5e291d0991a..c8b3130ef13 100644
--- a/gcc/config/mn10200/xm-mn10200.h
+++ b/gcc/config/mn10200/xm-mn10200.h
@@ -1,5 +1,5 @@
/* Configuration for Matsushita MN10200.
- Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GNU CC.
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/mn10300/xm-mn10300.h b/gcc/config/mn10300/xm-mn10300.h
index 84f888be488..59b625b4b26 100644
--- a/gcc/config/mn10300/xm-mn10300.h
+++ b/gcc/config/mn10300/xm-mn10300.h
@@ -1,5 +1,5 @@
/* Configuration for Matsushita MN10300.
- Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1998, 1999, 2001 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GNU CC.
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/ns32k/xm-ns32k.h b/gcc/config/ns32k/xm-ns32k.h
index 3d1d7ac8fc1..46d373fdcde 100644
--- a/gcc/config/ns32k/xm-ns32k.h
+++ b/gcc/config/ns32k/xm-ns32k.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Vax.
- Copyright (C) 1987, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
#include "tm.h"
diff --git a/gcc/config/pa/xm-linux.h b/gcc/config/pa/xm-linux.h
index 4bc19ee67d7..d5cb80bb550 100644
--- a/gcc/config/pa/xm-linux.h
+++ b/gcc/config/pa/xm-linux.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for PA-RISC.
- Copyright (C) 1999 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/pa/xm-pa.h b/gcc/config/pa/xm-pa.h
index b0d0c037e49..7c992ff7d27 100644
--- a/gcc/config/pa/xm-pa.h
+++ b/gcc/config/pa/xm-pa.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for PA-RISC.
- Copyright (C) 1988, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1995, 2001 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
This file is part of GNU CC.
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/pa/xm-pa64hpux.h b/gcc/config/pa/xm-pa64hpux.h
index fc1ad27506c..157abe0d4fb 100644
--- a/gcc/config/pa/xm-pa64hpux.h
+++ b/gcc/config/pa/xm-pa64hpux.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for PA-RISC.
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -22,11 +22,6 @@ Boston, MA 02111-1307, USA. */
/* HP-UX is a flavor of System V */
#define USG
-/* Use System V memory functions. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/pa/xm-pahpux.h b/gcc/config/pa/xm-pahpux.h
index d62210a4ab0..e7a4f75c33c 100644
--- a/gcc/config/pa/xm-pahpux.h
+++ b/gcc/config/pa/xm-pahpux.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for PA-RISC.
- Copyright (C) 1988, 1995, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1995, 1997, 2001 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
This file is part of GNU CC.
@@ -19,15 +19,9 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
/* HP-UX is a flavor of System V */
#define USG
-/* Use System V memory functions. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/pa/xm-papro.h b/gcc/config/pa/xm-papro.h
index e5dad4259d9..f987a56a140 100644
--- a/gcc/config/pa/xm-papro.h
+++ b/gcc/config/pa/xm-papro.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for PA-RISC.
- Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1995, 2001 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
This file is part of GNU CC.
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/pj/xm-pj.h b/gcc/config/pj/xm-pj.h
index e635cce87c9..694ef3ac17a 100644
--- a/gcc/config/pj/xm-pj.h
+++ b/gcc/config/pj/xm-pj.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for picoJava.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/romp/xm-romp.h b/gcc/config/romp/xm-romp.h
index acb5b8cecb1..237982517b0 100644
--- a/gcc/config/romp/xm-romp.h
+++ b/gcc/config/romp/xm-romp.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for IBM RT PC.
- Copyright (C) 1989, 1991, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1991, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,11 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/rs6000/xm-beos.h b/gcc/config/rs6000/xm-beos.h
index cadbbe37885..c5ee876560c 100644
--- a/gcc/config/rs6000/xm-beos.h
+++ b/gcc/config/rs6000/xm-beos.h
@@ -21,12 +21,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
@@ -81,4 +75,3 @@ extern void *alloca ();
/* SYSTEM_INCLUDE_DIR is the location for system specific, non-POSIX headers. */
#define SYSTEM_INCLUDE_DIR "/boot/develop/headers/be"
-
diff --git a/gcc/config/rs6000/xm-rs6000.h b/gcc/config/rs6000/xm-rs6000.h
index 1ad9da9a6ee..d68965b3bcd 100644
--- a/gcc/config/rs6000/xm-rs6000.h
+++ b/gcc/config/rs6000/xm-rs6000.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for IBM RS/6000 running AIX in 32-bit mode.
- Copyright (C) 1990, 1993, 1995, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1993, 1995, 1998, 2001 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu).
This file is part of GNU CC.
@@ -19,11 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/rs6000/xm-sysv4.h b/gcc/config/rs6000/xm-sysv4.h
index 46d1ddd8e54..6e7b1270f5d 100644
--- a/gcc/config/rs6000/xm-sysv4.h
+++ b/gcc/config/rs6000/xm-sysv4.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for PowerPC running System V.4.
- Copyright (C) 1995, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1998, 1999, 2001 Free Software Foundation, Inc.
Cloned from sparc/xm-sysv4.h by Michael Meissner (meissner@cygnus.com).
This file is part of GNU CC.
@@ -19,11 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/sh/xm-sh.h b/gcc/config/sh/xm-sh.h
index f51b787f6df..e6e183b3ca4 100644
--- a/gcc/config/sh/xm-sh.h
+++ b/gcc/config/sh/xm-sh.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Hitachi SH.
- Copyright (C) 1993, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1997, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/sparc/xm-sparc.h b/gcc/config/sparc/xm-sparc.h
index e553a0df0b2..096fad6797c 100644
--- a/gcc/config/sparc/xm-sparc.h
+++ b/gcc/config/sparc/xm-sparc.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Sun Sparc.
- Copyright (C) 1988, 1993, 1995, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1993, 1995, 1997, 2001 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
This file is part of GNU CC.
@@ -19,11 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/sparc/xm-sysv4.h b/gcc/config/sparc/xm-sysv4.h
index 6e663d12cfa..5e0d15d2dc7 100644
--- a/gcc/config/sparc/xm-sysv4.h
+++ b/gcc/config/sparc/xm-sysv4.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Sun Sparc running System V.4.
- Copyright (C) 1992, 1993, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1998, 2001 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@netcom.com).
This file is part of GNU CC.
@@ -19,11 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/v850/xm-v850.h b/gcc/config/v850/xm-v850.h
index 7e2da6749a3..e7257e4c363 100644
--- a/gcc/config/v850/xm-v850.h
+++ b/gcc/config/v850/xm-v850.h
@@ -1,5 +1,5 @@
/* Configuration for NEC V850.
- Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1998, 1999, 2001 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GNU CC.
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/vax/xm-vax.h b/gcc/config/vax/xm-vax.h
index d7ef168f3cd..d19157fb552 100644
--- a/gcc/config/vax/xm-vax.h
+++ b/gcc/config/vax/xm-vax.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Vax.
- Copyright (C) 1987, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1993, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
#include "tm.h"
@@ -42,4 +38,3 @@ Boston, MA 02111-1307, USA. */
/* isinf isn't there, but finite is. */
#define isinf(x) (!finite(x))
-
diff --git a/gcc/config/vax/xm-vms.h b/gcc/config/vax/xm-vms.h
index 35115a0884e..2fc644746f2 100644
--- a/gcc/config/vax/xm-vms.h
+++ b/gcc/config/vax/xm-vms.h
@@ -19,10 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* Other configurations get these via autoconfig. */
#define STDC_HEADERS 1
#define HAVE_STDLIB_H 1
diff --git a/gcc/config/we32k/xm-we32k.h b/gcc/config/we32k/xm-we32k.h
index be617d37317..0bc5514d6ef 100644
--- a/gcc/config/we32k/xm-we32k.h
+++ b/gcc/config/we32k/xm-we32k.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for AT&T we32000 Family.
- Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1993, 1996, 2001 Free Software Foundation, Inc.
Contributed by John Wehle (john@feith1.uucp)
This file is part of GNU CC.
@@ -19,11 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/config/xm-lynx.h b/gcc/config/xm-lynx.h
index 72ee3423d5b..edc5ca96a8d 100644
--- a/gcc/config/xm-lynx.h
+++ b/gcc/config/xm-lynx.h
@@ -22,10 +22,6 @@ Boston, MA 02111-1307, USA. */
running Lynx. This file should not be specified as $xm_file itself;
instead $xm_file should be CPU/xm-lynx.h, which should include this one. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 33
diff --git a/gcc/config/xm-std32.h b/gcc/config/xm-std32.h
index c52782e9741..cad11efc0bd 100644
--- a/gcc/config/xm-std32.h
+++ b/gcc/config/xm-std32.h
@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for standard 32-bit host machine.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -18,10 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #defines that need visibility everywhere. */
-#define FALSE 0
-#define TRUE 1
-
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
diff --git a/gcc/configure b/gcc/configure
index c3701444c31..f3fc8b65cb0 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -2091,7 +2091,7 @@ fi
for ac_hdr in limits.h stddef.h string.h strings.h stdlib.h time.h \
fcntl.h unistd.h stab.h sys/file.h sys/time.h \
sys/resource.h sys/param.h sys/times.h sys/stat.h \
- direct.h malloc.h langinfo.h iconv.h
+ direct.h malloc.h langinfo.h iconv.h stdbool.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
diff --git a/gcc/configure.in b/gcc/configure.in
index 26d9e1e4317..3a9b5dee388 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -426,7 +426,7 @@ AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
fcntl.h unistd.h stab.h sys/file.h sys/time.h \
sys/resource.h sys/param.h sys/times.h sys/stat.h \
- direct.h malloc.h langinfo.h iconv.h)
+ direct.h malloc.h langinfo.h iconv.h stdbool.h)
# Check for thread headers.
AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index fb100a7ca90..41a7a0681ef 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2001-03-01 Zack Weinberg <zackw@stanford.edu>
+ * decl.c: Replace all uses of 'boolean' with 'bool'.
+
+2001-03-01 Zack Weinberg <zackw@stanford.edu>
+
* lang-specs.h: Add zero initializer for cpp_spec field to
all array elements that need one. Don't put an #ifdef inside
the initializer list; set a default for CPLUSPLUS_CPP_SPEC and
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 941f95a81b1..d3cb6a48f44 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -93,7 +93,7 @@ static void bad_specifiers PARAMS ((tree, const char *, int, int, int, int,
static tree maybe_process_template_type_declaration PARAMS ((tree, int, struct binding_level*));
static void check_for_uninitialized_const_var PARAMS ((tree));
static unsigned long typename_hash PARAMS ((hash_table_key));
-static boolean typename_compare PARAMS ((hash_table_key, hash_table_key));
+static bool typename_compare PARAMS ((hash_table_key, hash_table_key));
static void push_binding PARAMS ((tree, tree, struct binding_level*));
static int add_binding PARAMS ((tree, tree));
static void pop_binding PARAMS ((tree, tree));
@@ -5495,7 +5495,7 @@ typename_hash (k)
/* Compare two TYPENAME_TYPEs. K1 and K2 are really of type `tree'. */
-static boolean
+static bool
typename_compare (k1, k2)
hash_table_key k1;
hash_table_key k2;
diff --git a/gcc/cse.c b/gcc/cse.c
index 17a597e104a..bf6d5752926 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3913,15 +3913,15 @@ fold_rtx (x, insn)
if (const_arg0 == 0 || const_arg1 == 0)
{
struct table_elt *p0, *p1;
- rtx true = const_true_rtx, false = const0_rtx;
+ rtx true_rtx = const_true_rtx, false_rtx = const0_rtx;
enum machine_mode mode_arg1;
#ifdef FLOAT_STORE_FLAG_VALUE
if (GET_MODE_CLASS (mode) == MODE_FLOAT)
{
- true = (CONST_DOUBLE_FROM_REAL_VALUE
+ true_rtx = (CONST_DOUBLE_FROM_REAL_VALUE
(FLOAT_STORE_FLAG_VALUE (mode), mode));
- false = CONST0_RTX (mode);
+ false_rtx = CONST0_RTX (mode);
}
#endif
@@ -3955,9 +3955,9 @@ fold_rtx (x, insn)
|| GET_CODE (folded_arg0) == CONST))
{
if (code == EQ)
- return false;
+ return false_rtx;
else if (code == NE)
- return true;
+ return true_rtx;
}
/* See if the two operands are the same. */
@@ -3981,12 +3981,12 @@ fold_rtx (x, insn)
return ((code == EQ || code == LE || code == GE
|| code == LEU || code == GEU || code == UNEQ
|| code == UNLE || code == UNGE || code == ORDERED)
- ? true : false);
+ ? true_rtx : false_rtx);
/* Take care for the FP compares we can resolve. */
if (code == UNEQ || code == UNLE || code == UNGE)
- return true;
+ return true_rtx;
if (code == LTGT || code == LT || code == GT)
- return false;
+ return false_rtx;
}
/* If FOLDED_ARG0 is a register, see if the comparison we are
@@ -4011,7 +4011,7 @@ fold_rtx (x, insn)
|| (GET_CODE (folded_arg1) == REG
&& (REG_QTY (REGNO (folded_arg1)) == ent->comparison_qty))))
return (comparison_dominates_p (ent->comparison_code, code)
- ? true : false);
+ ? true_rtx : false_rtx);
}
}
}
@@ -4035,30 +4035,30 @@ fold_rtx (x, insn)
int has_sign = (HOST_BITS_PER_WIDE_INT >= sign_bitnum
&& (INTVAL (inner_const)
& ((HOST_WIDE_INT) 1 << sign_bitnum)));
- rtx true = const_true_rtx, false = const0_rtx;
+ rtx true_rtx = const_true_rtx, false_rtx = const0_rtx;
#ifdef FLOAT_STORE_FLAG_VALUE
if (GET_MODE_CLASS (mode) == MODE_FLOAT)
{
- true = (CONST_DOUBLE_FROM_REAL_VALUE
+ true_rtx = (CONST_DOUBLE_FROM_REAL_VALUE
(FLOAT_STORE_FLAG_VALUE (mode), mode));
- false = CONST0_RTX (mode);
+ false_rtx = CONST0_RTX (mode);
}
#endif
switch (code)
{
case EQ:
- return false;
+ return false_rtx;
case NE:
- return true;
+ return true_rtx;
case LT: case LE:
if (has_sign)
- return true;
+ return true_rtx;
break;
case GT: case GE:
if (has_sign)
- return false;
+ return false_rtx;
break;
default:
break;
diff --git a/gcc/expr.c b/gcc/expr.c
index f4ff9b2d743..2446d19621d 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -7956,21 +7956,21 @@ expand_expr (exp, target, tmode, modifier)
&& (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (exp, 1), 0))
== TREE_TYPE (TREE_OPERAND (TREE_OPERAND (exp, 2), 0))))
{
- tree true = TREE_OPERAND (TREE_OPERAND (exp, 1), 0);
- tree false = TREE_OPERAND (TREE_OPERAND (exp, 2), 0);
-
- if ((TREE_CODE_CLASS (TREE_CODE (true)) == '2'
- && operand_equal_p (false, TREE_OPERAND (true, 0), 0))
- || (TREE_CODE_CLASS (TREE_CODE (false)) == '2'
- && operand_equal_p (true, TREE_OPERAND (false, 0), 0))
- || (TREE_CODE_CLASS (TREE_CODE (true)) == '1'
- && operand_equal_p (false, TREE_OPERAND (true, 0), 0))
- || (TREE_CODE_CLASS (TREE_CODE (false)) == '1'
- && operand_equal_p (true, TREE_OPERAND (false, 0), 0)))
+ tree iftrue = TREE_OPERAND (TREE_OPERAND (exp, 1), 0);
+ tree iffalse = TREE_OPERAND (TREE_OPERAND (exp, 2), 0);
+
+ if ((TREE_CODE_CLASS (TREE_CODE (iftrue)) == '2'
+ && operand_equal_p (iffalse, TREE_OPERAND (iftrue, 0), 0))
+ || (TREE_CODE_CLASS (TREE_CODE (iffalse)) == '2'
+ && operand_equal_p (iftrue, TREE_OPERAND (iffalse, 0), 0))
+ || (TREE_CODE_CLASS (TREE_CODE (iftrue)) == '1'
+ && operand_equal_p (iffalse, TREE_OPERAND (iftrue, 0), 0))
+ || (TREE_CODE_CLASS (TREE_CODE (iffalse)) == '1'
+ && operand_equal_p (iftrue, TREE_OPERAND (iffalse, 0), 0)))
return expand_expr (build1 (NOP_EXPR, type,
- build (COND_EXPR, TREE_TYPE (true),
+ build (COND_EXPR, TREE_TYPE (iftrue),
TREE_OPERAND (exp, 0),
- true, false)),
+ iftrue, iffalse)),
target, tmode, modifier);
}
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index eed6076263b..5da49e52e56 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,5 +1,11 @@
2001-03-01 Zack Weinberg <zackw@stanford.edu>
+ * f/proj.h: Delete 'bool' type. Don't include stddef.h here.
+ * f/com.c: Rename variables named 'true' and/or 'false'.
+ * f/intdoc.c: Delete 'bool' type.
+
+2001-03-01 Zack Weinberg <zackw@stanford.edu>
+
* lang-specs.h: Add zero initializer for cpp_spec field to all
array elements.
diff --git a/gcc/f/com.c b/gcc/f/com.c
index b4a188609c1..88baa180eb3 100644
--- a/gcc/f/com.c
+++ b/gcc/f/com.c
@@ -4515,21 +4515,21 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
case FFEINTRIN_impBTEST:
{
- ffetargetLogical1 true;
- ffetargetLogical1 false;
+ ffetargetLogical1 target_true;
+ ffetargetLogical1 target_false;
tree true_tree;
tree false_tree;
- ffetarget_logical1 (&true, TRUE);
- ffetarget_logical1 (&false, FALSE);
- if (true == 1)
+ ffetarget_logical1 (&target_true, TRUE);
+ ffetarget_logical1 (&target_false, FALSE);
+ if (target_true == 1)
true_tree = convert (tree_type, integer_one_node);
else
- true_tree = convert (tree_type, build_int_2 (true, 0));
- if (false == 0)
+ true_tree = convert (tree_type, build_int_2 (target_true, 0));
+ if (target_false == 0)
false_tree = convert (tree_type, integer_zero_node);
else
- false_tree = convert (tree_type, build_int_2 (false, 0));
+ false_tree = convert (tree_type, build_int_2 (target_false, 0));
return
ffecom_3 (COND_EXPR, tree_type,
diff --git a/gcc/f/intdoc.c b/gcc/f/intdoc.c
index cc18f03cdb4..63cfbadcec0 100644
--- a/gcc/f/intdoc.c
+++ b/gcc/f/intdoc.c
@@ -1,5 +1,5 @@
/* intdoc.c
- Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2000, 2001 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -26,17 +26,6 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "system.h"
#include "assert.h"
-typedef enum
- {
-#if !defined(false) || !defined(true)
- false = 0, true = 1,
-#endif
-#if !defined(FALSE) || !defined(TRUE)
- FALSE = 0, TRUE = 1,
-#endif
- Doggone_Trailing_Comma_Dont_Work = 1
- } bool;
-
/* Pull in the intrinsics info, but only the doc parts. */
#define FFEINTRIN_DOC 1
#include "intrin.h"
diff --git a/gcc/f/proj.h b/gcc/f/proj.h
index 0a180d39933..4e6a06e5592 100644
--- a/gcc/f/proj.h
+++ b/gcc/f/proj.h
@@ -1,5 +1,5 @@
/* proj.h file for Gnu Fortran
- Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2000, 2001 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -35,29 +35,10 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#error "You have to use gcc 2.x to build g77 (might be fixed in g77-0.6)."
#endif
-/* Include files everyone gets. <assert.h> is needed for assert().
- <stddef.h> is needed for offsetof, but technically also NULL,
- size_t, ptrdiff_t, and so on. */
+/* Include files everyone gets. <assert.h> is needed for assert(). */
#include "assert.h"
-#if HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-/* Generally useful definitions. */
-
-typedef enum
- {
-#if !defined(false) || !defined(true)
- false = 0, true = 1,
-#endif
-#if !defined(FALSE) || !defined(TRUE)
- FALSE = 0, TRUE = 1,
-#endif
- Doggone_Trailing_Comma_Dont_Work = 1
- } bool;
-
#ifndef UNUSED /* Compile with -DUNUSED= if cc doesn't support this. */
#define UNUSED ATTRIBUTE_UNUSED
#endif /* !defined (UNUSED) */
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 69b99206802..e7cee978bfe 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -4695,16 +4695,16 @@ count_cond (expr, lim)
tree expr;
int lim;
{
- int true, false;
+ int ctrue, cfalse;
if (TREE_CODE (expr) != COND_EXPR)
return 0;
else if (lim <= 0)
return 0;
- true = count_cond (TREE_OPERAND (expr, 1), lim - 1);
- false = count_cond (TREE_OPERAND (expr, 2), lim - 1 - true);
- return MIN (lim, 1 + true + false);
+ ctrue = count_cond (TREE_OPERAND (expr, 1), lim - 1);
+ cfalse = count_cond (TREE_OPERAND (expr, 2), lim - 1 - ctrue);
+ return MIN (lim, 1 + ctrue + cfalse);
}
/* Transform `a + (b ? x : y)' into `x ? (a + b) : (a + y)'.
diff --git a/gcc/function.c b/gcc/function.c
index 58f3f6d374d..63aa5b5ee7f 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -294,7 +294,7 @@ static int contains PARAMS ((rtx, varray_type));
static void emit_return_into_block PARAMS ((basic_block, rtx));
#endif
static void put_addressof_into_stack PARAMS ((rtx, struct hash_table *));
-static boolean purge_addressof_1 PARAMS ((rtx *, rtx, int, int,
+static bool purge_addressof_1 PARAMS ((rtx *, rtx, int, int,
struct hash_table *));
static void purge_single_hard_subreg_set PARAMS ((rtx));
#ifdef HAVE_epilogue
@@ -305,7 +305,7 @@ static struct hash_entry *insns_for_mem_newfunc PARAMS ((struct hash_entry *,
struct hash_table *,
hash_table_key));
static unsigned long insns_for_mem_hash PARAMS ((hash_table_key));
-static boolean insns_for_mem_comp PARAMS ((hash_table_key, hash_table_key));
+static bool insns_for_mem_comp PARAMS ((hash_table_key, hash_table_key));
static int insns_for_mem_walk PARAMS ((rtx *, void *));
static void compute_insns_for_mem PARAMS ((rtx, rtx, struct hash_table *));
static void mark_temp_slot PARAMS ((struct temp_slot *));
@@ -2969,7 +2969,7 @@ static rtx purge_addressof_replacements;
the stack. If the function returns FALSE then the replacement could not
be made. */
-static boolean
+static bool
purge_addressof_1 (loc, insn, force, store, ht)
rtx *loc;
rtx insn;
@@ -2980,7 +2980,7 @@ purge_addressof_1 (loc, insn, force, store, ht)
RTX_CODE code;
int i, j;
const char *fmt;
- boolean result = true;
+ bool result = true;
/* Re-start here to avoid recursion in common cases. */
restart:
@@ -3280,7 +3280,7 @@ insns_for_mem_hash (k)
/* Return non-zero if K1 and K2 (two REGs) are the same. */
-static boolean
+static bool
insns_for_mem_comp (k1, k2)
hash_table_key k1;
hash_table_key k2;
diff --git a/gcc/gensupport.c b/gcc/gensupport.c
index cde2a220b4e..4d7c25870e8 100644
--- a/gcc/gensupport.c
+++ b/gcc/gensupport.c
@@ -1,5 +1,5 @@
/* Support routines for the various generation passes.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -321,7 +321,7 @@ static void
identify_predicable_attribute ()
{
struct queue_elem *elem;
- char *true, *false;
+ char *p_true, *p_false;
const char *value;
size_t len;
@@ -338,21 +338,21 @@ identify_predicable_attribute ()
found:
value = XSTR (elem->data, 1);
len = strlen (value);
- false = (char *) xmalloc (len + 1);
- memcpy (false, value, len + 1);
+ p_false = (char *) xmalloc (len + 1);
+ memcpy (p_false, value, len + 1);
- true = strchr (false, ',');
- if (true == NULL || strchr (++true, ',') != NULL)
+ p_true = strchr (p_false, ',');
+ if (p_true == NULL || strchr (++p_true, ',') != NULL)
{
message_with_line (elem->lineno,
"Attribute `predicable' is not a boolean");
errors = 1;
return;
}
- true[-1] = '\0';
+ p_true[-1] = '\0';
- predicable_true = true;
- predicable_false = false;
+ predicable_true = p_true;
+ predicable_false = p_false;
switch (GET_CODE (XEXP (elem->data, 2)))
{
@@ -373,9 +373,9 @@ identify_predicable_attribute ()
return;
}
- if (strcmp (value, true) == 0)
+ if (strcmp (value, p_true) == 0)
predicable_default = 1;
- else if (strcmp (value, false) == 0)
+ else if (strcmp (value, p_false) == 0)
predicable_default = 0;
else
{
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index cb75a75f4be..fff5614b94c 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -48,7 +48,7 @@ static void ggc_mark_rtx_varray_ptr PARAMS ((void *));
static void ggc_mark_tree_varray_ptr PARAMS ((void *));
static void ggc_mark_tree_hash_table_ptr PARAMS ((void *));
static void ggc_mark_trees PARAMS ((void));
-static boolean ggc_mark_tree_hash_table_entry PARAMS ((struct hash_entry *,
+static bool ggc_mark_tree_hash_table_entry PARAMS ((struct hash_entry *,
hash_table_key));
/* Maintain global roots that are preserved during GC. */
@@ -462,7 +462,7 @@ ggc_mark_tree_varray (v)
/* Mark the hash table-entry HE. It's key field is really a tree. */
-static boolean
+static bool
ggc_mark_tree_hash_table_entry (he, k)
struct hash_entry *he;
hash_table_key k ATTRIBUTE_UNUSED;
diff --git a/gcc/hash.c b/gcc/hash.c
index 1f7e49e4085..1b2cc7c78cf 100644
--- a/gcc/hash.c
+++ b/gcc/hash.c
@@ -41,7 +41,7 @@ hash_table_init_n (table, newfunc, hash, comp, size)
struct hash_table *,
hash_table_key));
unsigned long (*hash) PARAMS ((hash_table_key));
- boolean (*comp) PARAMS ((hash_table_key, hash_table_key));
+ bool (*comp) PARAMS ((hash_table_key, hash_table_key));
unsigned int size;
{
unsigned int alloc;
@@ -66,7 +66,7 @@ hash_table_init (table, newfunc, hash, comp)
struct hash_table *,
hash_table_key));
unsigned long (*hash) PARAMS ((hash_table_key));
- boolean (*comp) PARAMS ((hash_table_key, hash_table_key));
+ bool (*comp) PARAMS ((hash_table_key, hash_table_key));
{
hash_table_init_n (table, newfunc, hash, comp, DEFAULT_SIZE);
}
@@ -87,7 +87,7 @@ struct hash_entry *
hash_lookup (table, key, create, copy)
struct hash_table *table;
hash_table_key key;
- boolean create;
+ bool create;
hash_table_key (*copy) PARAMS ((struct obstack* memory,
hash_table_key key));
{
@@ -150,7 +150,7 @@ hash_allocate (table, size)
void
hash_traverse (table, func, info)
struct hash_table *table;
- boolean (*func) PARAMS ((struct hash_entry *, hash_table_key));
+ bool (*func) PARAMS ((struct hash_entry *, hash_table_key));
PTR info;
{
unsigned int i;
@@ -193,7 +193,7 @@ string_hash (k)
/* Compare two strings. Return non-zero iff the two strings are
the same. */
-boolean
+bool
string_compare (k1, k2)
hash_table_key k1;
hash_table_key k2;
diff --git a/gcc/hash.h b/gcc/hash.h
index d79bc08dee1..52bee12f2af 100644
--- a/gcc/hash.h
+++ b/gcc/hash.h
@@ -25,12 +25,6 @@ Boston, MA 02111-1307, USA. */
#include "obstack.h"
-#undef false
-#undef true
-#undef boolean
-
-typedef enum {false, true} boolean;
-
typedef PTR hash_table_key;
/* Hash table routines. There is no way to free up a hash table. */
@@ -70,7 +64,7 @@ struct hash_table
/* A function to compute the hash code for a key in the hash table. */
unsigned long (*hash) PARAMS ((hash_table_key));
/* A function to compare two keys. */
- boolean (*comp) PARAMS ((hash_table_key, hash_table_key));
+ bool (*comp) PARAMS ((hash_table_key, hash_table_key));
/* An obstack for this hash table. */
struct obstack memory;
};
@@ -82,7 +76,7 @@ extern void hash_table_init
struct hash_table *,
hash_table_key),
unsigned long (*hash) (hash_table_key),
- boolean (*comp) (hash_table_key, hash_table_key)));
+ bool (*comp) (hash_table_key, hash_table_key)));
/* Initialize a hash table specifying a size. */
extern void hash_table_init_n
@@ -91,7 +85,7 @@ extern void hash_table_init_n
struct hash_table *,
hash_table_key),
unsigned long (*hash) (hash_table_key),
- boolean (*comp) (hash_table_key, hash_table_key),
+ bool (*comp) (hash_table_key, hash_table_key),
unsigned int size));
/* Free up a hash table. */
@@ -102,7 +96,7 @@ extern void hash_table_free PARAMS ((struct hash_table *));
COPY is non-NULL, it is used to copy the KEY before storing it in
the hash table. */
extern struct hash_entry *hash_lookup
- PARAMS ((struct hash_table *, hash_table_key key, boolean create,
+ PARAMS ((struct hash_table *, hash_table_key key, bool create,
hash_table_key (*copy)(struct obstack*, hash_table_key)));
/* Base method for creating a hash table entry. */
@@ -118,7 +112,7 @@ extern PTR hash_allocate PARAMS ((struct hash_table *,
element. If the function returns false, the traversal stops. The
INFO argument is passed to the function. */
extern void hash_traverse PARAMS ((struct hash_table *,
- boolean (*) (struct hash_entry *,
+ bool (*) (struct hash_entry *,
hash_table_key),
hash_table_key info));
@@ -126,7 +120,7 @@ extern void hash_traverse PARAMS ((struct hash_table *,
extern unsigned long string_hash PARAMS ((hash_table_key k));
/* Compare two strings K1, K2 which are really of type `char*'. */
-extern boolean string_compare PARAMS ((hash_table_key k1,
+extern bool string_compare PARAMS ((hash_table_key k1,
hash_table_key k2));
/* Copy a string K, which is really of type `char*'. */
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index eefb8955572..48ce7154756 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,10 @@
2001-03-01 Zack Weinberg <zackw@stanford.edu>
+ * java/class.c, java/decl.c, java/java-tree.h: Replace all
+ uses of 'boolean' with 'bool'.
+
+2001-03-01 Zack Weinberg <zackw@stanford.edu>
+
* lang-specs.h: Add zero initializer for cpp_spec field to all
array elements.
diff --git a/gcc/java/class.c b/gcc/java/class.c
index 615c0754e60..be2e5a4c23e 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -627,7 +627,7 @@ java_hash_hash_tree_node (k)
return (long) k;
}
-boolean
+bool
java_hash_compare_tree_node (k1, k2)
hash_table_key k1;
hash_table_key k2;
diff --git a/gcc/java/config-lang.in b/gcc/java/config-lang.in
index 3a1d19585d3..afb6bacc3a0 100644
--- a/gcc/java/config-lang.in
+++ b/gcc/java/config-lang.in
@@ -1,6 +1,6 @@
# Top level configure fragment for the GNU compiler for the Java(TM)
# language.
-# Copyright (C) 1994, 1995, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995, 2000, 2001 Free Software Foundation, Inc.
#This file is part of GNU CC.
@@ -39,4 +39,4 @@ stagestuff="jc1\$(exeext) gcj\$(exeext) jvgenmain\$(exeext) gcjh\$(exeext) jv-sc
target_libs=${libgcj}
lang_dirs=fastjar
-build_by_default=no
+#build_by_default=no
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 18b1ec54ecd..739ddee285d 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -47,7 +47,7 @@ static tree push_jvm_slot PARAMS ((int, tree));
static tree lookup_name_current_level PARAMS ((tree));
static tree push_promoted_type PARAMS ((const char *, tree));
static struct binding_level *make_binding_level PARAMS ((void));
-static boolean emit_init_test_initialization PARAMS ((struct hash_entry *,
+static bool emit_init_test_initialization PARAMS ((struct hash_entry *,
hash_table_key));
static tree create_primitive_vtable PARAMS ((const char *));
static tree check_local_named_variable PARAMS ((tree, tree, int, int *));
@@ -1690,7 +1690,7 @@ build_result_decl (fndecl)
/* Called for every element in DECL_FUNCTION_INIT_TEST_TABLE in order
to emit initialization code for each test flag. */
-static boolean
+static bool
emit_init_test_initialization (entry, key)
struct hash_entry *entry;
hash_table_key key ATTRIBUTE_UNUSED;
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index cadd5523a07..9273ca4ec6f 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -1109,7 +1109,7 @@ extern void safe_layout_class PARAMS ((tree));
extern tree get_boehm_type_descriptor PARAMS ((tree));
extern unsigned long java_hash_hash_tree_node PARAMS ((hash_table_key));
-extern boolean java_hash_compare_tree_node PARAMS ((hash_table_key,
+extern bool java_hash_compare_tree_node PARAMS ((hash_table_key,
hash_table_key));
extern void java_check_methods PARAMS ((tree));
extern void init_jcf_parse PARAMS((void));
diff --git a/gcc/system.h b/gcc/system.h
index ace7177047b..e73524e56da 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -1,6 +1,6 @@
/* Get common system includes and various definitions and declarations based
on autoconf macros.
- Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -43,6 +43,10 @@ Boston, MA 02111-1307, USA. */
# endif
#endif
+#ifdef HAVE_STDDEF_H
+# include <stddef.h>
+#endif
+
#include <stdio.h>
/* Define a generic NULL if one hasn't already been defined. */
@@ -355,6 +359,14 @@ extern void abort PARAMS ((void));
((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L))
#endif
+/* 1 if we have _Bool. */
+#ifndef HAVE__BOOL
+# define HAVE__BOOL \
+ ((GCC_VERSION >= 3000) || (__STDC_VERSION__ >= 199901L))
+#endif
+
+
+
/* Define a STRINGIFY macro that's right for ANSI or traditional C.
Note: if the argument passed to STRINGIFY is itself a macro, eg
#define foo bar, STRINGIFY(foo) will produce "foo", not "bar".
@@ -533,4 +545,27 @@ extern void *alloca (__SIZE_TYPE__);
#endif /* ! __FUNCTION__ */
#endif
+/* Provide some sort of boolean type. We use stdbool.h if it's
+ available. This is dead last because various system headers might
+ mess us up. */
+#undef bool
+#undef true
+#undef false
+#undef TRUE
+#undef FALSE
+
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# if !HAVE__BOOL
+typedef char _Bool;
+# endif
+# define bool _Bool
+# define true 1
+# define false 0
+#endif
+
+#define TRUE true
+#define FALSE false
+
#endif /* __GCC_SYSTEM_H__ */
diff --git a/gcc/tlink.c b/gcc/tlink.c
index 8758556c14c..1b797e104a4 100644
--- a/gcc/tlink.c
+++ b/gcc/tlink.c
@@ -1,7 +1,7 @@
/* Scan linker error messages for missing template instantiations and provide
them.
- Copyright (C) 1995, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by Jason Merrill (jason@cygnus.com).
This file is part of GNU CC.
@@ -72,7 +72,7 @@ static struct hash_entry * symbol_hash_newfunc PARAMS ((struct hash_entry *,
struct hash_table *,
hash_table_key));
static struct symbol_hash_entry * symbol_hash_lookup PARAMS ((const char *,
- boolean));
+ bool));
static struct hash_entry * file_hash_newfunc PARAMS ((struct hash_entry *,
struct hash_table *,
hash_table_key));
@@ -81,7 +81,7 @@ static struct hash_entry * demangled_hash_newfunc PARAMS ((struct hash_entry *,
struct hash_table *,
hash_table_key));
static struct demangled_hash_entry *
- demangled_hash_lookup PARAMS ((const char *, boolean));
+ demangled_hash_lookup PARAMS ((const char *, bool));
static void symbol_push PARAMS ((symbol *));
static symbol * symbol_pop PARAMS ((void));
static void file_push PARAMS ((file *));
@@ -129,7 +129,7 @@ symbol_hash_newfunc (entry, table, string)
static struct symbol_hash_entry *
symbol_hash_lookup (string, create)
const char *string;
- boolean create;
+ bool create;
{
return ((struct symbol_hash_entry *)
hash_lookup (&symbol_table, (const hash_table_key) string,
@@ -201,7 +201,7 @@ demangled_hash_newfunc (entry, table, string)
static struct demangled_hash_entry *
demangled_hash_lookup (string, create)
const char *string;
- boolean create;
+ bool create;
{
return ((struct demangled_hash_entry *)
hash_lookup (&demangled_table, (const hash_table_key) string,