Ziemowit Laski [Tue, 2 Jul 2002 21:59:34 +0000 (21:59 +0000)]
c-parse.in (designator): Enable designated initializers if ObjC.
2002-07-02 Ziemowit Laski <zlaski@apple.com>
* c-parse.in (designator): Enable designated initializers if ObjC.
(objcmessageexpr): Remove references to objc_receiver_context.
* objc/objc-act.h (objc_receiver_context): Remove decl.
* objc/objc-act.c (objc_receiver_context): Remove.
(lookup_objc_ivar): Test objc_method_context instead of
objc_receiver_context.
2002-07-02 Ziemowit Laski <zlaski@apple.com>
* objc.dg/desig-init-1.m: New test.
From-SVN: r55192
Tom Tromey [Tue, 2 Jul 2002 19:43:06 +0000 (19:43 +0000)]
2002-07-02 Tom Tromey <tromey@redhat.com>
David Hovemeyer <daveho@cs.umd.edu>
* java/text/ChoiceFormat.java
(format(double,StringBuffer,FieldPosition)): Fix fencepost error
in check loop.
* java/text/MessageFormat.java
(format(Object[],StringBuffer,FieldPosition): Pass all arguments
to MessageFormat.
Co-Authored-By: David Hovemeyer <daveho@cs.umd.edu>
From-SVN: r55191
Rodney Brown [Tue, 2 Jul 2002 19:43:03 +0000 (19:43 +0000)]
encoding.h: Fix formatting.
2002-07-02 Rodney Brown <rbrown64@csc.com.au>
* objc/encoding.h: Fix formatting.
* objc/hash.h: Likewise.
* objc/objc-api.h: Likewise.
* objc/runtime.h: Likewise.
* objc/thr.h: Likewise.
* archive.c: Likewise.
* class.c: Likewise.
* encoding.c: Likewise.
* gc.c: Likewise.
* hash.c: Likewise.
* init.c: Likewise.
* misc.c: Likewise.
* nil_method.c: Likewise.
* objects.c: Likewise.
* sarray.c: Likewise.
* selector.c: Likewise.
* sendmsg.c: Likewise.
* thr-mach.c: Likewise.
* thr.c: Likewise.
From-SVN: r55190
J"orn Rennecke [Tue, 2 Jul 2002 18:45:49 +0000 (18:45 +0000)]
sh.c (print_operand, case 'N'): Allow zero vector.
Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (print_operand, case 'N'): Allow zero vector.
(arith_reg_or_0_operand): Likewise.
(zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
* sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
IOR, XOR, PLUS and SET and take their respective constant
ranges into account.
(PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
* sh.md (subdi3, subdi3_media): Allow zero operand.
(movv8qi_i+3): Only vector that is not split is the zero vector.
Fix operand 3 to simplify_subreg.
(movv2si_i): Split alternative 1.
(mshfhi_l_di_rev+1): New splitter.
Index: config/sh/sh.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.c,v
retrieving revision 1.155
diff -p -r1.155 sh.c
*** config/sh/sh.c 2 Jul 2002 04:01:04 -0000 1.155
--- config/sh/sh.c 2 Jul 2002 17:45:37 -0000
*************** print_operand (stream, x, code)
*** 434,440 ****
break;
case 'N':
! if (x == const0_rtx)
{
fprintf ((stream), "r63");
break;
--- 434,441 ----
break;
case 'N':
! if (x == const0_rtx
! || (GET_CODE (x) == CONST_VECTOR && zero_vec_operand (x, VOIDmode)))
{
fprintf ((stream), "r63");
break;
*************** arith_reg_or_0_operand (op, mode)
*** 5940,5946 ****
if (arith_reg_operand (op, mode))
return 1;
! if (GET_CODE (op) == CONST_INT && CONST_OK_FOR_N (INTVAL (op)))
return 1;
return 0;
--- 5941,5947 ----
if (arith_reg_operand (op, mode))
return 1;
! if (EXTRA_CONSTRAINT_U (op))
return 1;
return 0;
*************** zero_vec_operand (v, mode)
*** 6222,6228 ****
{
int i;
! if (GET_CODE (v) != PARALLEL
|| (GET_MODE (v) != mode && mode != VOIDmode))
return 0;
for (i = XVECLEN (v, 0) - 1; i >= 0; i--)
--- 6223,6229 ----
{
int i;
! if (GET_CODE (v) != CONST_VECTOR
|| (GET_MODE (v) != mode && mode != VOIDmode))
return 0;
for (i = XVECLEN (v, 0) - 1; i >= 0; i--)
Index: config/sh/sh.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.h,v
retrieving revision 1.154
diff -p -r1.154 sh.h
*** config/sh/sh.h 1 Jul 2002 19:41:53 -0000 1.154
--- config/sh/sh.h 2 Jul 2002 17:45:37 -0000
*************** while (0)
*** 2689,2698 ****
case CONST_INT: \
if (TARGET_SHMEDIA) \
{ \
if ((OUTER_CODE) == AND && and_operand ((RTX), DImode)) \
return 0; \
if (CONST_OK_FOR_J (INTVAL (RTX))) \
! return COSTS_N_INSNS (1); \
else if (CONST_OK_FOR_J (INTVAL (RTX) >> 16)) \
return COSTS_N_INSNS (2); \
else if (CONST_OK_FOR_J ((INTVAL (RTX) >> 16) >> 16)) \
--- 2689,2704 ----
case CONST_INT: \
if (TARGET_SHMEDIA) \
{ \
+ if (INTVAL (RTX) == 0) \
+ return 0; \
if ((OUTER_CODE) == AND && and_operand ((RTX), DImode)) \
return 0; \
+ if (((OUTER_CODE) == IOR || (OUTER_CODE) == XOR \
+ || (OUTER_CODE) == PLUS) \
+ && CONST_OK_FOR_P (INTVAL (RTX))) \
+ return 0; \
if (CONST_OK_FOR_J (INTVAL (RTX))) \
! return COSTS_N_INSNS ((OUTER_CODE) != SET); \
else if (CONST_OK_FOR_J (INTVAL (RTX) >> 16)) \
return COSTS_N_INSNS (2); \
else if (CONST_OK_FOR_J ((INTVAL (RTX) >> 16) >> 16)) \
*************** extern int rtx_equal_function_value_matt
*** 3225,3231 ****
{"arith_operand", {SUBREG, REG, CONST_INT}}, \
{"arith_reg_dest", {SUBREG, REG}}, \
{"arith_reg_operand", {SUBREG, REG}}, \
! {"arith_reg_or_0_operand", {SUBREG, REG, CONST_INT}}, \
{"binary_float_operator", {PLUS, MULT}}, \
{"commutative_float_operator", {PLUS, MULT}}, \
{"extend_reg_operand", {SUBREG, REG, TRUNCATE}}, \
--- 3231,3237 ----
{"arith_operand", {SUBREG, REG, CONST_INT}}, \
{"arith_reg_dest", {SUBREG, REG}}, \
{"arith_reg_operand", {SUBREG, REG}}, \
! {"arith_reg_or_0_operand", {SUBREG, REG, CONST_INT, CONST_VECTOR}}, \
{"binary_float_operator", {PLUS, MULT}}, \
{"commutative_float_operator", {PLUS, MULT}}, \
{"extend_reg_operand", {SUBREG, REG, TRUNCATE}}, \
Index: config/sh/sh.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.md,v
retrieving revision 1.107
diff -p -r1.107 sh.md
*** config/sh/sh.md 1 Jul 2002 19:41:54 -0000 1.107
--- config/sh/sh.md 2 Jul 2002 17:45:38 -0000
***************
*** 546,552 ****
;; There is no way to model this with gcc's function units. This problem is
;; actually mentioned in md.texi. Tackling this problem requires first that
;; it is possible to speak about the target in an open discussion.
! ;;
;; However, simple double-precision operations always conflict.
(define_function_unit "fp" 1 0
--- 546,552 ----
;; There is no way to model this with gcc's function units. This problem is
;; actually mentioned in md.texi. Tackling this problem requires first that
;; it is possible to speak about the target in an open discussion.
! ;;
;; However, simple double-precision operations always conflict.
(define_function_unit "fp" 1 0
***************
*** 1048,1054 ****
"@
addz.l %1, %2, %0
addz.l %1, r63, %0")
!
(define_insn "adddi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(plus:DI (match_operand:DI 1 "arith_reg_operand" "%0")
--- 1048,1054 ----
"@
addz.l %1, %2, %0
addz.l %1, r63, %0")
!
(define_insn "adddi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(plus:DI (match_operand:DI 1 "arith_reg_operand" "%0")
***************
*** 1122,1128 ****
"@
add.l %1, %2, %0
addi.l %1, %2, %0")
!
(define_insn "*addsi3_compact"
[(set (match_operand:SI 0 "arith_reg_operand" "=r")
(plus:SI (match_operand:SI 1 "arith_operand" "%0")
--- 1122,1128 ----
"@
add.l %1, %2, %0
addi.l %1, %2, %0")
!
(define_insn "*addsi3_compact"
[(set (match_operand:SI 0 "arith_reg_operand" "=r")
(plus:SI (match_operand:SI 1 "arith_operand" "%0")
***************
*** 1138,1162 ****
(define_expand "subdi3"
[(set (match_operand:DI 0 "arith_reg_operand" "")
! (minus:DI (match_operand:DI 1 "arith_reg_operand" "")
(match_operand:DI 2 "arith_reg_operand" "")))]
""
"
{
if (TARGET_SH1)
{
emit_insn (gen_subdi3_compact (operands[0], operands[1], operands[2]));
DONE;
}
}")
!
(define_insn "*subdi3_media"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
! (minus:DI (match_operand:DI 1 "arith_reg_operand" "r")
(match_operand:DI 2 "arith_reg_operand" "r")))]
"TARGET_SHMEDIA"
! "sub %1, %2, %0")
!
(define_insn "subdi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(minus:DI (match_operand:DI 1 "arith_reg_operand" "0")
--- 1138,1163 ----
(define_expand "subdi3"
[(set (match_operand:DI 0 "arith_reg_operand" "")
! (minus:DI (match_operand:DI 1 "arith_reg_or_0_operand" "")
(match_operand:DI 2 "arith_reg_operand" "")))]
""
"
{
if (TARGET_SH1)
{
+ operands[1] = force_reg (DImode, operands[1]);
emit_insn (gen_subdi3_compact (operands[0], operands[1], operands[2]));
DONE;
}
}")
!
(define_insn "*subdi3_media"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
! (minus:DI (match_operand:DI 1 "arith_reg_or_0_operand" "rN")
(match_operand:DI 2 "arith_reg_operand" "r")))]
"TARGET_SHMEDIA"
! "sub %N1, %2, %0")
!
(define_insn "subdi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(minus:DI (match_operand:DI 1 "arith_reg_operand" "0")
***************
*** 1558,1564 ****
: \"__sdivsi3\")));
if (TARGET_SHMEDIA)
! last = gen_divsi3_i1_media (operands[0],
Pmode == DImode
? operands[3]
: gen_rtx_SUBREG (DImode, operands[3],
--- 1559,1565 ----
: \"__sdivsi3\")));
if (TARGET_SHMEDIA)
! last = gen_divsi3_i1_media (operands[0],
Pmode == DImode
? operands[3]
: gen_rtx_SUBREG (DImode, operands[3],
***************
*** 1771,1777 ****
(sign_extend:DI (match_operand:SI 2 "arith_reg_operand" "r"))))]
"TARGET_SHMEDIA"
"muls.l %1, %2, %0")
!
(define_insn "mulsidi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(mult:DI
--- 1772,1778 ----
(sign_extend:DI (match_operand:SI 2 "arith_reg_operand" "r"))))]
"TARGET_SHMEDIA"
"muls.l %1, %2, %0")
!
(define_insn "mulsidi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(mult:DI
***************
*** 1841,1847 ****
(zero_extend:DI (match_operand:SI 2 "arith_reg_operand" "r"))))]
"TARGET_SHMEDIA"
"mulu.l %1, %2, %0")
!
(define_insn "umulsidi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(mult:DI
--- 1842,1848 ----
(zero_extend:DI (match_operand:SI 2 "arith_reg_operand" "r"))))]
"TARGET_SHMEDIA"
"mulu.l %1, %2, %0")
!
(define_insn "umulsidi3_compact"
[(set (match_operand:DI 0 "arith_reg_operand" "=r")
(mult:DI
***************
*** 3440,3446 ****
(set_attr "type" "pcload,move,load,store,move,pcload,move,move")])
;; If the output is a register and the input is memory or a register, we have
! ;; to be careful and see which word needs to be loaded first.
(define_split
[(set (match_operand:DI 0 "general_movdst_operand" "")
--- 3441,3447 ----
(set_attr "type" "pcload,move,load,store,move,pcload,move,move")])
;; If the output is a register and the input is memory or a register, we have
! ;; to be careful and see which word needs to be loaded first.
(define_split
[(set (match_operand:DI 0 "general_movdst_operand" "")
***************
*** 4195,4201 ****
}")
;; If the output is a register and the input is memory or a register, we have
! ;; to be careful and see which word needs to be loaded first.
(define_split
[(set (match_operand:DF 0 "general_movdst_operand" "")
--- 4196,4202 ----
}")
;; If the output is a register and the input is memory or a register, we have
! ;; to be careful and see which word needs to be loaded first.
(define_split
[(set (match_operand:DF 0 "general_movdst_operand" "")
***************
*** 4392,4398 ****
DONE;
}"
[(set_attr "length" "8")])
!
(define_expand "movv4sf"
[(set (match_operand:V4SF 0 "nonimmediate_operand" "=f,f,m")
(match_operand:V4SF 1 "nonimmediate_operand" "f,m,f"))]
--- 4393,4399 ----
DONE;
}"
[(set_attr "length" "8")])
!
(define_expand "movv4sf"
[(set (match_operand:V4SF 0 "nonimmediate_operand" "=f,f,m")
(match_operand:V4SF 1 "nonimmediate_operand" "f,m,f"))]
***************
*** 4444,4450 ****
DONE;
}"
[(set_attr "length" "32")])
!
(define_expand "movv16sf"
[(set (match_operand:V16SF 0 "nonimmediate_operand" "=f,f,m")
(match_operand:V16SF 1 "nonimmediate_operand" "f,m,f"))]
--- 4445,4451 ----
DONE;
}"
[(set_attr "length" "32")])
!
(define_expand "movv16sf"
[(set (match_operand:V16SF 0 "nonimmediate_operand" "=f,f,m")
(match_operand:V16SF 1 "nonimmediate_operand" "f,m,f"))]
***************
*** 4499,4505 ****
REAL_VALUE_FROM_CONST_DOUBLE (value, operands[1]);
REAL_VALUE_TO_TARGET_SINGLE (value, values);
operands[2] = GEN_INT (values);
!
operands[3] = gen_rtx_REG (DImode, true_regnum (operands[0]));
}")
--- 4500,4506 ----
REAL_VALUE_FROM_CONST_DOUBLE (value, operands[1]);
REAL_VALUE_TO_TARGET_SINGLE (value, values);
operands[2] = GEN_INT (values);
!
operands[3] = gen_rtx_REG (DImode, true_regnum (operands[0]));
}")
***************
*** 5410,5416 ****
if (! SYMBOL_REF_FLAG (operands[0]))
{
rtx reg = gen_reg_rtx (Pmode);
!
emit_insn (gen_symGOTPLT2reg (reg, operands[0]));
operands[0] = reg;
}
--- 5411,5417 ----
if (! SYMBOL_REF_FLAG (operands[0]))
{
rtx reg = gen_reg_rtx (Pmode);
!
emit_insn (gen_symGOTPLT2reg (reg, operands[0]));
operands[0] = reg;
}
***************
*** 5634,5640 ****
if (! SYMBOL_REF_FLAG (operands[1]))
{
rtx reg = gen_reg_rtx (Pmode);
!
emit_insn (gen_symGOTPLT2reg (reg, operands[1]));
operands[1] = reg;
}
--- 5635,5641 ----
if (! SYMBOL_REF_FLAG (operands[1]))
{
rtx reg = gen_reg_rtx (Pmode);
!
emit_insn (gen_symGOTPLT2reg (reg, operands[1]));
operands[1] = reg;
}
***************
*** 5841,5847 ****
if (! SYMBOL_REF_FLAG (operands[0]))
{
rtx reg = gen_reg_rtx (Pmode);
!
/* We must not use GOTPLT for sibcalls, because PIC_REG
must be restored before the PLT code gets to run. */
emit_insn (gen_symGOT2reg (reg, operands[0]));
--- 5842,5848 ----
if (! SYMBOL_REF_FLAG (operands[0]))
{
rtx reg = gen_reg_rtx (Pmode);
!
/* We must not use GOTPLT for sibcalls, because PIC_REG
must be restored before the PLT code gets to run. */
emit_insn (gen_symGOT2reg (reg, operands[0]));
***************
*** 6167,6173 ****
(use (label_ref (match_operand 1 "" "")))]
"TARGET_SHMEDIA"
"blink %0, r63")
!
;; Call subroutine returning any type.
;; ??? This probably doesn't work.
--- 6168,6174 ----
(use (label_ref (match_operand 1 "" "")))]
"TARGET_SHMEDIA"
"blink %0, r63")
!
;; Call subroutine returning any type.
;; ??? This probably doesn't work.
***************
*** 6284,6290 ****
tr = gen_rtx_SUBREG (GET_MODE (operands[0]), tr, 0);
insn = emit_move_insn (operands[0], tr);
!
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, equiv,
REG_NOTES (insn));
--- 6285,6291 ----
tr = gen_rtx_SUBREG (GET_MODE (operands[0]), tr, 0);
insn = emit_move_insn (operands[0], tr);
!
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, equiv,
REG_NOTES (insn));
***************
*** 6370,6379 ****
if (TARGET_SHMEDIA)
{
rtx reg = operands[2];
!
if (GET_MODE (reg) != DImode)
reg = gen_rtx_SUBREG (DImode, reg, 0);
!
if (flag_pic > 1)
emit_insn (gen_movdi_const_32bit (reg, operands[1]));
else
--- 6371,6380 ----
if (TARGET_SHMEDIA)
{
rtx reg = operands[2];
!
if (GET_MODE (reg) != DImode)
reg = gen_rtx_SUBREG (DImode, reg, 0);
!
if (flag_pic > 1)
emit_insn (gen_movdi_const_32bit (reg, operands[1]));
else
***************
*** 6391,6397 ****
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, XVECEXP (XEXP (operands[1],
0), 0, 0),
REG_NOTES (insn));
!
DONE;
}")
--- 6392,6398 ----
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, XVECEXP (XEXP (operands[1],
0), 0, 0),
REG_NOTES (insn));
!
DONE;
}")
***************
*** 7231,7237 ****
(match_dup 2))))
(set (reg:SI T_REG)
(ne:SI (ior:SI (match_dup 1) (match_dup 2))
! (const_int 0)))])]
""
"
{
--- 7232,7238 ----
(match_dup 2))))
(set (reg:SI T_REG)
(ne:SI (ior:SI (match_dup 1) (match_dup 2))
! (const_int 0)))])]
""
"
{
***************
*** 7282,7288 ****
(match_dup 2))))
(set (reg:SI T_REG)
(ne:SI (ior:SI (match_operand 1 "" "") (match_dup 2))
! (const_int 0)))])]
"TARGET_SH1"
"operands[2] = gen_reg_rtx (SImode);")
--- 7283,7289 ----
(match_dup 2))))
(set (reg:SI T_REG)
(ne:SI (ior:SI (match_operand 1 "" "") (match_dup 2))
! (const_int 0)))])]
"TARGET_SH1"
"operands[2] = gen_reg_rtx (SImode);")
***************
*** 8279,8285 ****
;; "#"
;; [(set_attr "length" "4")
;; (set_attr "fp_mode" "double")])
! ;;
;; (define_split
;; [(set (match_operand:SI 0 "arith_reg_operand" "=r")
;; (fix:SI (match_operand:DF 1 "arith_reg_operand" "f")))
--- 8280,8286 ----
;; "#"
;; [(set_attr "length" "4")
;; (set_attr "fp_mode" "double")])
! ;;
;; (define_split
;; [(set (match_operand:SI 0 "arith_reg_operand" "=r")
;; (fix:SI (match_operand:DF 1 "arith_reg_operand" "f")))
***************
*** 8320,8326 ****
"* return output_ieee_ccmpeq (insn, operands);"
[(set_attr "length" "4")
(set_attr "fp_mode" "double")])
!
(define_insn "cmpeqdf_media"
[(set (match_operand:DI 0 "register_operand" "=r")
(eq:DI (match_operand:DF 1 "fp_arith_reg_operand" "f")
--- 8321,8327 ----
"* return output_ieee_ccmpeq (insn, operands);"
[(set_attr "length" "4")
(set_attr "fp_mode" "double")])
!
(define_insn "cmpeqdf_media"
[(set (match_operand:DI 0 "register_operand" "=r")
(eq:DI (match_operand:DF 1 "fp_arith_reg_operand" "f")
***************
*** 8806,8815 ****
"TARGET_SHMEDIA && reload_completed
&& GET_MODE (operands[0]) == GET_MODE (operands[1])
&& VECTOR_MODE_SUPPORTED_P (GET_MODE (operands[0]))
! && XVECEXP (operands[1], 0, 0) != const0_rtx
! && (HOST_BITS_PER_WIDE_INT >= 64
! || HOST_BITS_PER_WIDE_INT >= GET_MODE_BITSIZE (GET_MODE (operands[0]))
! || sh_1el_vec (operands[1], VOIDmode))"
[(set (match_dup 0) (match_dup 1))]
"
{
--- 8807,8813 ----
"TARGET_SHMEDIA && reload_completed
&& GET_MODE (operands[0]) == GET_MODE (operands[1])
&& VECTOR_MODE_SUPPORTED_P (GET_MODE (operands[0]))
! && ! zero_vec_operand (operands[1], VOIDmode)"
[(set (match_dup 0) (match_dup 1))]
"
{
***************
*** 8819,8825 ****
operands[0] = gen_rtx_REG (new_mode, true_regnum (operands[0]));
operands[1]
! = simplify_subreg (new_mode, operands[1], GET_MODE (operands[0]), 0);
}")
(define_expand "movv2hi"
--- 8817,8823 ----
operands[0] = gen_rtx_REG (new_mode, true_regnum (operands[0]));
operands[1]
! = simplify_subreg (new_mode, operands[1], GET_MODE (operands[1]), 0);
}")
(define_expand "movv2hi"
***************
*** 8878,8884 ****
|| register_operand (operands[1], V2SImode))"
"@
add %1, r63, %0
! movi %1, %0
#
ld%M1.q %m1, %0
st%M0.q %m0, %1"
--- 8876,8882 ----
|| register_operand (operands[1], V2SImode))"
"@
add %1, r63, %0
! #
#
ld%M1.q %m1, %0
st%M0.q %m0, %1"
***************
*** 9641,9647 ****
/* These are useful to expand ANDs and as combiner patterns. */
(define_insn "mshfhi_l_di"
[(set (match_operand:DI 0 "arith_reg_dest" "=r")
! (ior:DI (lshiftrt:DI (match_operand:DI 1 "arith_reg_or_0_operand" "rU")
(const_int 32))
(and:DI (match_operand:DI 2 "arith_reg_or_0_operand" "rU")
(const_int -
4294967296))))]
--- 9639,9645 ----
/* These are useful to expand ANDs and as combiner patterns. */
(define_insn "mshfhi_l_di"
[(set (match_operand:DI 0 "arith_reg_dest" "=r")
! (ior:DI (lshiftrt:DI (match_operand:DI 1 "arith_reg_or_0_operand" "rU")
(const_int 32))
(and:DI (match_operand:DI 2 "arith_reg_or_0_operand" "rU")
(const_int -
4294967296))))]
***************
*** 9653,9663 ****
[(set (match_operand:DI 0 "arith_reg_dest" "=r")
(ior:DI (and:DI (match_operand:DI 1 "arith_reg_or_0_operand" "rU")
(const_int -
4294967296))
! (lshiftrt:DI (match_operand:DI 2 "arith_reg_or_0_operand" "rU")
(const_int 32))))]
"TARGET_SHMEDIA"
"mshfhi.l %N2, %N1, %0"
[(set_attr "type" "arith_media")])
(define_insn "mshflo_l_di"
[(set (match_operand:DI 0 "arith_reg_dest" "=r")
--- 9651,9680 ----
[(set (match_operand:DI 0 "arith_reg_dest" "=r")
(ior:DI (and:DI (match_operand:DI 1 "arith_reg_or_0_operand" "rU")
(const_int -
4294967296))
! (lshiftrt:DI (match_operand:DI 2 "arith_reg_or_0_operand" "rU")
(const_int 32))))]
"TARGET_SHMEDIA"
"mshfhi.l %N2, %N1, %0"
[(set_attr "type" "arith_media")])
+
+ (define_split
+ [(set (match_operand:DI 0 "arith_reg_dest" "")
+ (ior:DI (zero_extend:DI (match_operand:SI 1
+ "extend_reg_or_0_operand" ""))
+ (and:DI (match_operand:DI 2 "arith_reg_or_0_operand" "")
+ (const_int -
4294967296))))
+ (clobber (match_operand:DI 3 "arith_reg_dest" ""))]
+ "TARGET_SHMEDIA"
+ [(const_int 0)]
+ "
+ {
+ emit_insn (gen_ashldi3_media (operands[3],
+ simplify_gen_subreg (DImode, operands[1],
+ SImode, 0),
+ GEN_INT (32)));
+ emit_insn (gen_mshfhi_l_di (operands[0], operands[3], operands[2]));
+ DONE;
+ }")
(define_insn "mshflo_l_di"
[(set (match_operand:DI 0 "arith_reg_dest" "=r")
From-SVN: r55189
Paolo Carlini [Tue, 2 Jul 2002 18:42:58 +0000 (20:42 +0200)]
re PR libstdc++/6642 (Constness prevents substraction of iterators)
2002-07-02 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/6642
* include/bits/stl_iterator.h
(__normal_iterator::operator-(const __normal_iterator&)):
Make non-member, as already happens for the comparison
operators in accord with DR179 (Ready).
* testsuite/24_iterators/iterator.cc: Add test from the PR.
From-SVN: r55188
Nathanael Nerode [Tue, 2 Jul 2002 18:01:37 +0000 (18:01 +0000)]
Makefile.in: Don't try to build gdbtest, tgas, ispell, inet, or cvs[src].
* Makefile.in: Don't try to build gdbtest, tgas, ispell, inet, or
cvs[src].
* configure.in: Ditto.
(also fix obvious typo in ChangeLog)
From-SVN: r55187
Andrew Haley [Tue, 2 Jul 2002 17:21:10 +0000 (17:21 +0000)]
inline.java: New file.
2002-07-02 Andrew Haley <aph@redhat.com>
* libjava.lang/inline.java: New file.
* libjava.lang/inline.out: Likewise.
* libjava.lang/Array_3.java: Add another case.
From-SVN: r55186
Neil Booth [Tue, 2 Jul 2002 17:06:03 +0000 (17:06 +0000)]
cppinit.c (cpp_handle_option): Suppress warnings with an implicit "-w" for "-M" and "-MM".
* cppinit.c (cpp_handle_option): Suppress warnings with an
implicit "-w" for "-M" and "-MM".
doc:
* cppopts.texi: Update.
testsuite:
* gcc.dg/cpp/cmdlne-M.c: New test.
From-SVN: r55185
Kriang Lerdsuwanakij [Tue, 2 Jul 2002 16:10:00 +0000 (16:10 +0000)]
Correct changed function name.
From-SVN: r55184
Kriang Lerdsuwanakij [Tue, 2 Jul 2002 16:06:49 +0000 (16:06 +0000)]
typeck2.c (incomplete_type_error): Fix typo caused by CVS conflict in my last patch.
* typeck2.c (incomplete_type_error): Fix typo caused by
CVS conflict in my last patch.
From-SVN: r55183
Kriang Lerdsuwanakij [Tue, 2 Jul 2002 15:56:01 +0000 (15:56 +0000)]
re PR c++/6716 (loop and fill ram during compiling)
PR c++/6716
* pt.c (can_complete_type_without_circularity): New function.
(instantiate_class_template): Use it.
* typeck2.c (incomplete_type_error): Improve error message
due to incomplete fields.
* g++.dg/template/instantiate1.C: New test.
From-SVN: r55182
GCC Administrator [Tue, 2 Jul 2002 07:19:51 +0000 (07:19 +0000)]
Daily bump.
From-SVN: r55179
Phil Edwards [Tue, 2 Jul 2002 06:39:04 +0000 (06:39 +0000)]
re PR libstdc++/7173 (_GLIBCPP_VERSION ="" on the 3.1 branch)
2002-07-02 Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/7173
* acinclude.m4: Simplify determination of gcc_version, and move
up to GLIBCPP_CONFIGURE.
* configure.in (release_VERSION): Really remove.
(AM_INIT_AUTOMAKE, AM_CONFIG_HEADER): Move after GLIBCPP_CONFIGURE.
* aclocal.m4, configure: Regenerate.
From-SVN: r55174
Phil Edwards [Tue, 2 Jul 2002 06:17:36 +0000 (06:17 +0000)]
configopts.html, [...]: Tweaks.
2002-07-02 Phil Edwards <pme@gcc.gnu.org>
* docs/html/configopts.html, docs/html/install.html: Tweaks.
* include/ext/algorithm, include/ext/hash_map, include/ext/hash_set,
include/ext/iterator, include/ext/numeric, include/ext/rb_tree,
include/ext/slist, include/ext/stl_rope.h: Add doxygen hooks.
From-SVN: r55172
Roger Sayle [Tue, 2 Jul 2002 04:01:04 +0000 (04:01 +0000)]
sh.c (sh_media_init_builtins): Change use of poisoned identifier "bzero" to "memset".
* config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
identifier "bzero" to "memset". Pass extra NULL_TREE argument to
builtin_function.
From-SVN: r55171
Mark Mitchell [Tue, 2 Jul 2002 03:19:37 +0000 (03:19 +0000)]
* g++.dg/template/sizeof2.C: New test.
From-SVN: r55170
Mark Mitchell [Tue, 2 Jul 2002 03:19:22 +0000 (03:19 +0000)]
re PR c++/7112 (Regression: ICE on C++ code involving templates and sizeof)
PR c++/7112
* g++.dg/template/sizeof2.C: New test.
PR c++/7112
* mangle.c (write_expression): Add mangling for sizeof when
applied to a type.
* operators.def: Remove stale comment.
* cp-demangle.c (demangle_operator_name): Add type_arg parameter.
Set it for the "st" operator.
(demangle_expression): Handle expressions with types as arguments.
From-SVN: r55169
Tom Tromey [Tue, 2 Jul 2002 02:56:11 +0000 (02:56 +0000)]
For PR libgcj/7073:
* parse.y (patch_incomplete_class_ref): Handle VOID_TYPE
specially.
From-SVN: r55167
Tom Tromey [Tue, 2 Jul 2002 02:46:27 +0000 (02:46 +0000)]
re PR libgcj/7180 (possible bug in javax.naming.spi.NamingManager.getPlusPath())
* javax/naming/spi/NamingManager.java (getPlusPath): Don't create
StringTokenizer on null string. For PR libgcj/7180.
From daveho@cs.umd.edu.
From-SVN: r55166
Devang Patel [Tue, 2 Jul 2002 01:38:58 +0000 (18:38 -0700)]
MAINTAINERS (Write After Approval): Add self.
From-SVN: r55165
Alan Modra [Tue, 2 Jul 2002 00:15:42 +0000 (00:15 +0000)]
* README.Portability: Fix typos.
From-SVN: r55164
Hans-Peter Nilsson [Mon, 1 Jul 2002 23:18:33 +0000 (23:18 +0000)]
re PR target/7177 (cris-axis-elf: ICE at -O2, unrecognized insn, sign-extend mem)
PR target/7177
* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
of indirections for register inside sign-extended mem part.
From-SVN: r55163
DJ Delorie [Mon, 1 Jul 2002 23:16:30 +0000 (19:16 -0400)]
Formatting change
From-SVN: r55162
Roger Sayle [Mon, 1 Jul 2002 23:07:19 +0000 (23:07 +0000)]
tree.h: Modify builtin_function interface to take an extra argument ATTRS...
* tree.h: Modify builtin_function interface to take an extra
argument ATTRS, which is a tree representing an attribute list.
* c-decl.c (builtin_function): Accept additional parameter.
* objc/objc-act.c (builtin_function): Likewise.
* f/com.c (builtin_function): Likewise.
* java/decl.c (builtin_function): Likewise.
* ada/utils.c (builtin_function): Likewise.
* cp/decl.c (builtin_function): Likewise.
(builtin_function_1): Likewise.
* c-common.c (c_common_nodes_and_builtins): Pass an additional
NULL_TREE argument to builtin_function. (builtin_function_2):
Likewise.
* cp/call.c (build_java_interface_fn_ref): Likewise.
* objc/objc-act.c (synth_module_prologue): Likewise.
* java/decl.c (java_init_decl_processing): Likewise.
* f/com.c (ffe_com_init_0): Likewise.
* config/alpha/alpha.c (alpha_init_builtins): Pass an additional
NULL_TREE argument builtin_function.
* config/arm/arm.c (def_builtin): Likewise.
* config/c4x/c4x.c (c4x_init_builtins): Likewise.
* config/i386/i386.c (def_builtin): Likewise.
* config/ia64/ia64.c (def_builtin): Likewise.
* config/rs6000/rs6000.c (def_builtin): Likewise.
From-SVN: r55161
Matt Kraai [Mon, 1 Jul 2002 22:51:10 +0000 (22:51 +0000)]
* MAINTAINERS (Write After Approval): Update my e-mail address.
From-SVN: r55160
Nathanael Nerode [Mon, 1 Jul 2002 22:40:12 +0000 (22:40 +0000)]
Wipe out apache.
Wipe out apache. Don't configure cgen from the top level; that part is
simply pulled over from src.
From-SVN: r55159
Zack Weinberg [Mon, 1 Jul 2002 21:21:37 +0000 (21:21 +0000)]
t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
* config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
* config/mips/t-isa3264: Likewise.
* config/mmix/t-mmix: Likewise.
From-SVN: r55156
John David Anglin [Mon, 1 Jul 2002 21:13:00 +0000 (21:13 +0000)]
* emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
From-SVN: r55155
Nathanael Nerode [Mon, 1 Jul 2002 21:01:48 +0000 (21:01 +0000)]
Reorganize, remove now-redundant tests.
From-SVN: r55154
Roger Sayle [Mon, 1 Jul 2002 20:59:00 +0000 (20:59 +0000)]
re PR rtl-optimization/4046 (redundant conditional branch)
PR opt/4046
* fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
B are truth values.
From-SVN: r55153
Nathanael Nerode [Mon, 1 Jul 2002 20:51:20 +0000 (20:51 +0000)]
Kill last references to LIBGCC1_TEST, which is never tested and never set to anything but "".
Kill last references to LIBGCC1_TEST, which is never tested and never
set to anything but "". Oy.
From-SVN: r55152
Matt Kraai [Mon, 1 Jul 2002 20:24:41 +0000 (20:24 +0000)]
README.Portability (Function prototypes): Give an example of declaring and defining a function with no arguments.
* README.Portability (Function prototypes): Give an example of
declaring and defining a function with no arguments.
From-SVN: r55151
Matt Kraai [Mon, 1 Jul 2002 20:09:52 +0000 (20:09 +0000)]
README.Portability (Function prototypes): Document new variable-argument function macros.
* README.Portability (Function prototypes): Document new
variable-argument function macros.
From-SVN: r55150
Nathanael Nerode [Mon, 1 Jul 2002 19:59:22 +0000 (19:59 +0000)]
config-ml.in doesn't need to worry about cygnus configure
From-SVN: r55149
Benjamin Kosnik [Mon, 1 Jul 2002 19:58:42 +0000 (19:58 +0000)]
strstream: Remove namespace std.
2002-07-01 Benjamin Kosnik <bkoz@redhat.com>
* include/backward/strstream: Remove namespace std. Transfer to...
* include/backward/strstream.h: ...here. Qualify std names.
* src/strstream.cc: Remove namespace std.
* include/Makefile.am (backward_headers): Remove strstream.h.
* include/Makefile.in: Regenerate.
* config/linker-map.gnu: Export strstream bits.
* src/fstream-inst.cc: Tweak.
* src/io-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/ostream-inst.cc: Same.
* src/sstream-inst.cc: Same.
* src/valarray-inst.cc: Same.
* src/misc-inst.cc: Remove unused instantiations.
From-SVN: r55148
J"orn Rennecke [Mon, 1 Jul 2002 19:41:54 +0000 (19:41 +0000)]
sh.c (langhooks.h): Include.
* sh.c (langhooks.h): Include.
(sh_init_builtins, sh_media_init_builtins): New functions.
(sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
(mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
(sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
(builtin_description): New struct tag.
(signature_args, bdesc): New arrays.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
(print_operand): Add 'N' modifier.
* sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
(EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
(EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
(CONST_COSTS): Add special case for SHmedia AND.
(PREDICATE_CODES): Add and_operand, arith_reg_dest,
extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
target_operand can also be const or unspec.
* sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
(UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
(attribute type): Add new types.
(anddi3): Add splitter.
(movdi_const_16bit+1): Add code to handle vector constants and
bitmasks efficiently.
(shori_media): Have generator function made.
(movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
(movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
(movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
(ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
(negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
(negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
(mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
(mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
(mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
(mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
(mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
(mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
(mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
(mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
(mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
(mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
(mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
(lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
(ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
(ftrv): Likewise.
(fpu_switch+1, fpu_switch+2): Remove constraint.
From-SVN: r55147
Neil Booth [Mon, 1 Jul 2002 19:41:52 +0000 (19:41 +0000)]
cmdlne-dD.c, [...]: New tests.
* gcc.dg/cpp/trad/cmdlne-dD.c, gcc.dg/cpp/trad/cmdlne-dM.c,
gcc.dg/cpp/trad/include.c: New tests.
From-SVN: r55146
Hans-Peter Nilsson [Mon, 1 Jul 2002 19:39:44 +0000 (19:39 +0000)]
re PR target/7177 (cris-axis-elf: ICE at -O2, unrecognized insn, sign-extend mem)
PR target/7177
* gcc.c-torture/compile/
20020701-1.c: New test.
From-SVN: r55143
Stan Shebs [Mon, 1 Jul 2002 18:54:39 +0000 (18:54 +0000)]
objc.exp (objc_target_compile): Add the -I path to ObjC header here...
* lib/objc.exp (objc_target_compile): Add the -I path to ObjC
header here...
* lib/objc-torture.exp (objc-torture-compile): ...instead of here
(objc-torture-execute): or here.
From-SVN: r55142
Aldy Hernandez [Mon, 1 Jul 2002 18:40:24 +0000 (18:40 +0000)]
tree.c (build_function_type_list): Update function comment.
2002-07-01 Aldy Hernandez <aldyh@redhat.com>
* tree.c (build_function_type_list): Update function comment.
Rename first argument to return_type.
From-SVN: r55141
Benjamin Kosnik [Mon, 1 Jul 2002 18:08:25 +0000 (18:08 +0000)]
configure.in (libtool_VERSION): Bump to 5:0:0.
2002-07-01 Benjamin Kosnik <bkoz@redhat.com>
* configure.in (libtool_VERSION): Bump to 5:0:0.
* configure: Regenerate.
From-SVN: r55140
Neil Booth [Mon, 1 Jul 2002 16:13:01 +0000 (16:13 +0000)]
Makefile.in: Remove all trace of tradcpp.c, tradcpp.h, tradcif.y and related files.
* Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
tradcif.y and related files.
From-SVN: r55139
Nathanael Nerode [Mon, 1 Jul 2002 15:59:58 +0000 (15:59 +0000)]
Remove references to building emacs from top level Makefile.in.
From-SVN: r55138
J"orn Rennecke [Mon, 1 Jul 2002 15:12:49 +0000 (15:12 +0000)]
* gcc.c-torture/execute/arith-rand-ll.c: New test.
From-SVN: r55136
Neil Booth [Mon, 1 Jul 2002 12:51:10 +0000 (12:51 +0000)]
cpptrad.c (skip_whitespace): Pass pointer to prior char.
* cpptrad.c (skip_whitespace): Pass pointer to prior char.
testsuite:
* gcc.dg/cpp/trad/escaped-nl.c: New test.
From-SVN: r55135
Neil Booth [Mon, 1 Jul 2002 12:47:54 +0000 (12:47 +0000)]
* cppmacro.c: Forgotten commit.
From-SVN: r55134
Kaveh R. Ghazi [Mon, 1 Jul 2002 12:13:03 +0000 (12:13 +0000)]
* mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
From-SVN: r55133
GCC Administrator [Mon, 1 Jul 2002 07:17:09 +0000 (07:17 +0000)]
Daily bump.
From-SVN: r55132
Douglas B Rupp [Mon, 1 Jul 2002 05:38:50 +0000 (05:38 +0000)]
configure.in (OUTPUT_OPTION,NO_MINUS_C_MINUS_O): Configure.
2002-06-30 Douglas Rupp <rupp@gnat.com>
* configure.in (OUTPUT_OPTION,NO_MINUS_C_MINUS_O): Configure.
* Makefile.in (OUTPUT_OPTION): Use.
From-SVN: r55127
T.J. Mather [Mon, 1 Jul 2002 03:48:39 +0000 (03:48 +0000)]
gcj.texi: Fixed gcj invocation example so that it compiles.
2002-06-29 T.J. Mather <tjmather@maxmind.com>
* gcj.texi: Fixed gcj invocation example so that it compiles.
From-SVN: r55126
Devang Patel [Mon, 1 Jul 2002 00:43:41 +0000 (17:43 -0700)]
objc-act.c (finish_file): Avoid finish_objc() if -fsyntax-only.
2002-06-30 Devang Patel <dpatel@apple.com>
* objc/objc-act.c (finish_file): Avoid finish_objc() if
-fsyntax-only.
2002-06-30 Devang Patel <dpatel@apple.com>
* objc.dg/fsyntax-only.m: New test.
From-SVN: r55125
Nathan Sidwell [Sun, 30 Jun 2002 20:41:38 +0000 (20:41 +0000)]
cp-tree.h (CPTI_TINFO_DECL_TYPE): Replace with ...
* cp-tree.h (CPTI_TINFO_DECL_TYPE): Replace with ...
(CPTI_TYPE_INFO_PTR_TYPE): ... this.
(tinfo_decl_type): Replace with ...
(type_info_ptr_type): ... this.
(import_export_tinfo): Declare.
(tinfo_decl_p): Rename to ...
(unemitted_tinfo_decl_p): ... this.
* decl2.c (import_export_decl): Break out tinfo handling into ...
(import_export_tinfo): ... here. New function.
(finish_file): Adjust.
* rtti.c (TINFO_REAL_NAME): New macro.
(init_rtti_processing): Create the tinfo types.
(get_tinfo_decl_dynamic): Use type_info_ptr_type, get_tinfo_ptr.
(get_tinfo_decl): Adjust.
(get_tinfo_ptr): New function.
(get_type_id): Use it.
(tinfo_base_init): Create vtable decl here, if it doesn't exist.
(ptr_initializer): Use get_tinfo_ptr.
(ptm_initializer): Likewise.
(synthesize_tinfo_var): Break into ...
(get_pseudo_ti_init): ... this. Just create the initializer.
(get_pseudo_ti_desc): .. and this.
(create_real_tinfo_var): Remove.
(create_pseudo_type_info): Don't create the vtable decl here.
(get_vmi_pseudo_type_info): Remove.
(create_tinfo_types): Adjust.
(tinfo_decl_p): Rename to ...
(unemitted_tinfo_decl_p): ... here. Adjust.
(emit_tinfo_decl): Adjust. Create the initializer.
From-SVN: r55124
Denis Chertykov [Sun, 30 Jun 2002 19:27:48 +0000 (19:27 +0000)]
extend.texi: Add ip2k port to description of attribute naked.
* doc/extend.texi: Add ip2k port to description of attribute
naked.
* doc/install.texi (Specific): Add ip2k description.
* doc/install-old.texi (Configurations): Add ip2k to possible
cpu types.
* doc/md.texi: Document ip2k constraints.
* config/ip2k/crt0.S: New file.
* config/ip2k/ip2k-protos.h: New file.
* config/ip2k/ip2k.c: New file.
* config/ip2k/ip2k.h: New file.
* config/ip2k/ip2k.md: New file.
* config/ip2k/libgcc.S: New file.
* config/ip2k/t-ip2k: New file.
Co-Authored-By: Alan Lehotsky <apl@alum.mit.edu>
Co-Authored-By: Bernd Schmidt <bernds@redhat.com>
Co-Authored-By: Dave Hudson <dave.hudson@ubicom.com>
Co-Authored-By: Frank Ch. Eigler <fche@redhat.com>
Co-Authored-By: Graham Stott <grahams@redhat.com>
Co-Authored-By: Jeff Johnston <jjohnstn@redhat.com>
Co-Authored-By: Matthew Green <mrg@redhat.com>
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r55122
Hans-Peter Nilsson [Sun, 30 Jun 2002 18:53:53 +0000 (18:53 +0000)]
mmix.md ("return"): New pattern.
* config/mmix/mmix.md ("return"): New pattern.
* config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
(TARGET_USE_RETURN_INSN): New macros.
(TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
(TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
* config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
(MMIX_POP_ARGUMENT): New macro.
(mmix_target_asm_function_prologue): When no epilogue is executed,
just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
(mmix_print_operand) <case '.'>: New case.
(mmix_print_operand_punct_valid_p): Match '.'.
(mmix_use_simple_return): New function.
* config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
* doc/invoke.texi (Option Summary) <MMIX Summary>: Add
-msingle-exit, -mno-single-exit.
(MMIX Options): Ditto.
From-SVN: r55121
Aldy Hernandez [Sun, 30 Jun 2002 17:01:39 +0000 (17:01 +0000)]
i386.c (ix86_init_mmx_sse_builtins): Fix typos.
2002-06-30 Aldy Hernandez <aldyh@redhat.com>
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
From-SVN: r55120
Kaveh R. Ghazi [Sun, 30 Jun 2002 12:14:15 +0000 (12:14 +0000)]
* gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
From-SVN: r55119
GCC Administrator [Sun, 30 Jun 2002 07:18:09 +0000 (07:18 +0000)]
Daily bump.
From-SVN: r55117
Alan Modra [Sun, 30 Jun 2002 05:06:01 +0000 (05:06 +0000)]
* unroll.c (loop_iterations): Handle EQ loops.
From-SVN: r55111
David Edelsohn [Sun, 30 Jun 2002 01:44:43 +0000 (01:44 +0000)]
rs6000.md (ctrdi): Allocate pseudo for FPR constraint in define_expand, not splitter.
* config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
constraint in define_expand, not splitter.
Formatting.
From-SVN: r55110
Aldy Hernandez [Sun, 30 Jun 2002 01:19:58 +0000 (01:19 +0000)]
i386.c (ix86_init_mmx_sse_builtins): Use build_function_type_list instead of build_function_type.
2002-06-29 Aldy Hernandez <aldyh@redhat.com>
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
build_function_type_list instead of build_function_type.
* config/ia64/ia64.c (ia64_init_builtins): Same.
* config/alpha/alpha.c (alpha_init_builtins): Same.
* config/rs6000/rs6000.c (altivec_init_builtins): Same.
* config/arm/arm.c (arm_init_builtins): Same.
* tree.h: Add build_function_type_list prototype.
* tree.c (build_function_type_list): New.
From-SVN: r55109
Kaveh R. Ghazi [Sat, 29 Jun 2002 22:51:11 +0000 (22:51 +0000)]
* collect2.c (scan_prog_file): Fix typo in message.
From-SVN: r55107
Aaron Lehmann [Sat, 29 Jun 2002 21:14:21 +0000 (21:14 +0000)]
fold-cont.c: Remove unused CHARMASK.
2002-06-28 Aaron Lehmann <aaronl@vitelus.com>
* fold-cont.c: Remove unused CHARMASK.
From-SVN: r55106
Hans Boehm [Sat, 29 Jun 2002 17:34:06 +0000 (17:34 +0000)]
* win32_threads.c (GC_push_all_stacks): Tolerate bad sp.
From-SVN: r55104
Neil Booth [Sat, 29 Jun 2002 15:49:24 +0000 (15:49 +0000)]
re PR preprocessor/7150 (gcc -dM -E ... SegFault)
PR preprocessor/7150
* cppmain.c (scan_translation_unit_trad): Simplify.
* cpplib.c (cpp_scan_nooutput): Handle traditional case.
From-SVN: r55102
Neil Booth [Sat, 29 Jun 2002 09:10:04 +0000 (09:10 +0000)]
crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
* config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
Don't use CPP_PREDEFINES.
* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
* config/i386/djgpp.h, config/i386/i386-coff.h,
config/i386/i386-interix.h, config/i386/i386-interix3.h,
config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
config/i386/uwin.h: Similarly.
From-SVN: r55101
GCC Administrator [Sat, 29 Jun 2002 07:17:41 +0000 (07:17 +0000)]
Daily bump.
From-SVN: r55100
Herman A.J. ten Brugge [Sat, 29 Jun 2002 03:05:50 +0000 (05:05 +0200)]
c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and flag_inline_trees to...
* c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
flag_inline_trees to enable inlining.
From-SVN: r55091
Phil Edwards [Sat, 29 Jun 2002 01:10:51 +0000 (01:10 +0000)]
PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161
2002-06-28 Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161
* include/std/std_queue.h: Include deque.tcc, vector.tcc.
* include/std/std_stack.h: Include deque.tcc.
* testsuite/23_containers/adaptors.cc: New file.
From-SVN: r55090
Phil Edwards [Sat, 29 Jun 2002 00:19:00 +0000 (00:19 +0000)]
configure.in (gcc_gxx_include_dir): Change to match versioned C++ headers if --enable-version-specific-runtime-libs...
2002-06-28 Phil Edwards <pme@gcc.gnu.org>
* configure.in (gcc_gxx_include_dir): Change to match versioned
C++ headers if --enable-version-specific-runtime-libs is used.
* configure: Regenerate.
From-SVN: r55088
Jan Hubicka [Fri, 28 Jun 2002 23:41:19 +0000 (01:41 +0200)]
* gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
From-SVN: r55087
Stephen Clarke [Fri, 28 Jun 2002 21:34:47 +0000 (21:34 +0000)]
combine.c (combine_simplify_rtx): Pass the mode of the shift count...
* combine.c (combine_simplify_rtx): Pass the mode of the
shift count, not the shift operation when trying to simplify
a shift on a SHIFT_COUNT_TRUNCATED target.
From-SVN: r55085
Stephane Carrez [Fri, 28 Jun 2002 21:16:58 +0000 (23:16 +0200)]
m68hc11.md ("*addsi3"): Use 'o' constraint to avoid the auto increment addressing modes.
* config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
avoid the auto increment addressing modes.
("*subsi3"): Likewise.
(split for add/sub on address): For 68HC12 push the value on
the stack and do the operation with a pop.
From-SVN: r55083
Graham Stott [Fri, 28 Jun 2002 21:07:30 +0000 (21:07 +0000)]
MAINTAINERS: Update my email address.
2002-06-28 Graham Stott <graham.stott@btinternet.com>
* MAINTAINERS: Update my email address.
From-SVN: r55082
Graham Stott [Fri, 28 Jun 2002 21:00:15 +0000 (21:00 +0000)]
* Update email address.
From-SVN: r55081
Stephane Carrez [Fri, 28 Jun 2002 20:49:36 +0000 (22:49 +0200)]
m68hc11.h (OPTIMIZATION_OPTIONS): Define.
* config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
* config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
Declare.
* config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
do not reorder basic blocks at the end when optimizing for size.
From-SVN: r55079
Neil Booth [Fri, 28 Jun 2002 20:27:14 +0000 (20:27 +0000)]
cpplib.c (_cpp_handle_directive): Move #define-specific code to the #define handler...
* cpplib.c (_cpp_handle_directive): Move #define-specific
code to the #define handler...
(do_define): ...here.
(lex_macro_node): No longer a need to check for comments here.
From-SVN: r55077
Stephane Carrez [Fri, 28 Jun 2002 20:26:16 +0000 (22:26 +0200)]
m68hc11.c (autoinc_mode): New function.
* config/m68hc11/m68hc11.c (autoinc_mode): New function.
(m68hc11_make_autoinc_notes): New function.
(m68hc11_split_move): Be very cautious when spliting a move with
auto increment/decrement modes because this may result in incompatible
directions; add REG_INC notes to the resulting insn for CSE reg.
From-SVN: r55076
Toon Moene [Fri, 28 Jun 2002 19:58:32 +0000 (21:58 +0200)]
news.texi: Mention 2 Gbyte limit on 32-bit targets for arrays explicitly in news on g77-3.1.
2002-06-28 Toon Moene <toon@moene.indiv.nluug.nl>
* news.texi: Mention 2 Gbyte limit on 32-bit targets
for arrays explicitly in news on g77-3.1.
From-SVN: r55075
Stephane Carrez [Fri, 28 Jun 2002 19:52:17 +0000 (21:52 +0200)]
m68hc11.c (register_indirect_p): For 68HC12 a constant can be a valid address.
* config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
can be a valid address.
From-SVN: r55073
Aldy Hernandez [Fri, 28 Jun 2002 19:13:15 +0000 (19:13 +0000)]
ok, this is the right version ;-)
From-SVN: r55071
Aldy Hernandez [Fri, 28 Jun 2002 19:11:22 +0000 (19:11 +0000)]
fix stupidity of committing the wrong version of the file
From-SVN: r55070
Aldy Hernandez [Fri, 28 Jun 2002 19:06:08 +0000 (19:06 +0000)]
rs6000.c: Remove unusued variables from last patch.
2002-06-28 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c: Remove unusued variables from last
patch.
From-SVN: r55069
Aldy Hernandez [Fri, 28 Jun 2002 18:07:41 +0000 (18:07 +0000)]
revert: rs6000.c (rs6000_override_options): Move *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
2002-06-27 Aldy Hernandez <aldyh@redhat.com>
Revert:
* config/rs6000/rs6000.c (rs6000_override_options): Move
*SUBTARGET_OVERRIDE_OPTIONS before the -m options.
From-SVN: r55068
Aldy Hernandez [Fri, 28 Jun 2002 17:32:12 +0000 (17:32 +0000)]
rs6000.c (altivec_expand_builtin): Move lvx/stv/dst builtins...
2002-06-27 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (altivec_expand_builtin): Move
lvx/stv/dst builtins...
(altivec_expand_ld_builtin): ...to here.
(altivec_expand_st_builtin): ...here.
(altivec_expand_dst_builtin): ...and here (respectively).
From-SVN: r55067
Bob Wilson [Fri, 28 Jun 2002 17:24:34 +0000 (17:24 +0000)]
* config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
From-SVN: r55066
Bernd Schmidt [Fri, 28 Jun 2002 15:43:54 +0000 (15:43 +0000)]
Prevent creation of paradoxical FLOAT_MODE subregs
From-SVN: r55064
GCC Administrator [Fri, 28 Jun 2002 07:18:09 +0000 (07:18 +0000)]
Daily bump.
From-SVN: r55061
Andreas Jaeger [Fri, 28 Jun 2002 06:35:14 +0000 (08:35 +0200)]
re PR ada/7144 (Typo in Makefile-comment)
PR ada/7144
* Makefile.in: Fix typo in comment, patch by Adrian Knoth
<adi@thur.de>.
From-SVN: r55056
Neil Booth [Fri, 28 Jun 2002 06:26:54 +0000 (06:26 +0000)]
re PR preprocessor/7138 (gcc-3.2 failed to compile kernel)
PR preprocessor/7138
* cpplib.c (_cpp_handle_directive): Do traditional
preparation after setting state.angled_headers.
* cpptrad.c (scan_out_logical_line): Fix potential
quote bug.
From-SVN: r55055
Aldy Hernandez [Fri, 28 Jun 2002 04:21:17 +0000 (04:21 +0000)]
Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_override_options): Move
*SUBTARGET_OVERRIDE_OPTIONS before the -m options.
From-SVN: r55053
Bob Wilson [Thu, 27 Jun 2002 23:17:46 +0000 (23:17 +0000)]
xtensa.md: Give "*xxx" names to all unnamed insn's.
* config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
(*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
zero_cost_loop_end): Remove unnecessary "parallel" from insns.
From-SVN: r55046
Phil Edwards [Thu, 27 Jun 2002 22:09:02 +0000 (22:09 +0000)]
stl_alloc.h: Deprecate all 'reallocate' memfns.
2002-06-27 Phil Edwards <pme@gcc.gnu.org>
* include/bits/stl_alloc.h: Deprecate all 'reallocate' memfns.
* docs/html/ext/howto.html: Update allocator notes.
From-SVN: r55044
Mark Mitchell [Thu, 27 Jun 2002 21:45:56 +0000 (21:45 +0000)]
re PR c++/6695 (Regression: template friend declaration doesn't work)
PR c++/6695
* pt.c (tsubst_friend_class): Substitute into the context of the
friend before using it.
PR c++/6695
* g++.dg/template/friend7.C: New file.
From-SVN: r55041
Roger Sayle [Thu, 27 Jun 2002 20:15:57 +0000 (20:15 +0000)]
d30v.h: Remove commented out STACK_REGS #defines.
* config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
* config/stormy16/stormy16.h: Likewise.
* config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
with #define.
From-SVN: r55039
Gerald Pfeifer [Thu, 27 Jun 2002 19:08:52 +0000 (21:08 +0200)]
install.texi (Binaries): Add Sinix/Reliant Unix.
* doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
Hitachi entry. Make punctuation more consistent.
From-SVN: r55037
Aldy Hernandez [Thu, 27 Jun 2002 18:23:33 +0000 (18:23 +0000)]
string-opt-8.c (strncmp): Fix typo in return type.
2002-06-27 Aldy Hernandez <aldyh@redhat.com>
* gcc.c-torture/execute/string-opt-8.c (strncmp): Fix typo in
return type.
From-SVN: r55035
Matt Kraai [Thu, 27 Jun 2002 17:19:06 +0000 (17:19 +0000)]
install.texi: Change ` bit' to `-bit'.
* doc/install.texi: Change ` bit' to `-bit'.
* doc/md.texi: Change `-bits' to `-bit'.
* doc/tm.texi: Change `-bits' to ` bits'.
From-SVN: r55033
Daniel Berlin [Thu, 27 Jun 2002 15:56:40 +0000 (15:56 +0000)]
gcse.c (hoist_code): Rewrite to only get list of dominated blocks once per BB.
* gcse.c (hoist_code): Rewrite to only get list of dominated
blocks once per BB. Also fix reversed test (by removing need for
the test at all).
From-SVN: r55031
J"orn Rennecke [Thu, 27 Jun 2002 14:24:30 +0000 (14:24 +0000)]
simd-2.c (i, j): Add initializer elements to avoid division by zero.
* gcc.c-torture/execute/simd-2.c (i, j): Add initializer elements to
avoid division by zero.
From-SVN: r55030
Benjamin Kosnik [Thu, 27 Jun 2002 10:19:53 +0000 (10:19 +0000)]
config.if (libstdcxx_incdir): Version C++ headers.
2002-06-26 Benjamin Kosnik <bkoz@redhat.com>
* config.if (libstdcxx_incdir): Version C++ headers.
(cxx_incdir): Remove.
From-SVN: r55029