2002-04-28 David S. Miller <davem@redhat.com>
PR target/6500
* config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
64-bit TARGET_V9. Do not use prefetch page, use prefetch for
several {reads,writes} instead.
* config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
Define.
From-SVN: r52876
2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
* Makefile.am: Add Linux for S/390 support.
* Makefile.in: Regenerate.
* configure.in: Add Linux for S/390 support.
* configure: Regenerate.
* include/ffi.h.in: Add Linux for S/390 support.
* src/s390/ffi.c: New file from libffi CVS tree.
* src/s390/sysv.S: New file from libffi CVS tree.
From-SVN: r52873
2002-04-27 David S. Miller <davem@redhat.com>
PR target/6494
* config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
of the stack bias.
* config/sparc/linux.h, config/sparc/linux64.h: Don't bother
including signal.h and sys/ucontext.h, not needed.
From-SVN: r52872
2002-04-29 Adam King <aking@dreammechanics.com>
* java/io/natFileDescriptorWin32.cc (open): Move file pointer to end
of file in APPEND mode.
From-SVN: r52869
* cppexp.c (lex): Move some code to _cpp_parse_expr, but
keep most cases as function eval_token.
(eval_token): New function.
(_cpp_parse_expr): Read token here for improved diagnostics.
Don't use op_as_text. Detect bad ':' here.
(reduce): Don't detect bad ':' here.
(op_as_text): Remove.
* cpphash.h (_cpp_test_assertion): Change prototype.
* cpplib.c (_cpp_test_assertion): Change prototype.
testsuite:
* gcc.dg/cpp/if-cexp.c: Add a test.
From-SVN: r52866
2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
PR c/6497
* config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
result as temporary value.
From-SVN: r52860
PR optimization/6475
* reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
register of REGNO_DECL (i).
* Makefile.in (reload1.o): Add $(TREE_H).
* gcc.dg/20020426-2.c: New test.
From-SVN: r52855
2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
PR c/6343
* c-decl.c (duplicate_decls): Call merge_weak.
* c-pragma.c (apply_pragma_weak): Warn about misuse.
* output.h (merge_weak): Prototype merge_weak.
* varasm.c (merge_weak): New function.
(declare_weak): Make sure we don't give an error on VAR_DECLs.
Mark RTL with SYMBOL_REF_WEAK.
cp:
* decl.c (duplicate_decls): Call merge_weak.
testsuite:
* gcc.dg/weak-[2-7].c: New tests.
From-SVN: r52844
* tree-inline.c (inlinable_function_p): Improve heuristics
by using a smoother function to cut down allowable inlinable size.
* param.def: Add parameters max-inline-insns-single,
max-inline-slope, min-inline-insns that determine the exact
shape of the above function.
* param.h: Likewise.
From-SVN: r52832
PR bootstrap/6445
* config/i386/i386.md (untyped_call): Return the value in a float
register if TARGET_FLOAT_RETURNS_IN_80387, not just if
TARGET_80387.
From-SVN: r52824
2002-04-25 David S. Miller <davem@redhat.com>
PR target/6422
* reorg.c (optimize_skip): Do not allow exception causing
instructions to be considered for delay slots.
(fill_simply_delay_slots, fill_slots_from_thread): Likewise.
(relax_delay_slots): Do not try to consider exception causing
instructions as redundant.
From-SVN: r52822
2002-04-25 David S. Miller <davem@redhat.com>
PR target/6422
* include/dwarf2-signal.h (MAKE_THROW_FRAME for sparc*): Set
program counter to next program counter minus 8. Update
comments in this macro to explain why.
From-SVN: r52820
PR bootstrap/6445
* config/i386/i386.md (untyped_call): Return the value in a float
register if TARGET_FLOAT_RETURNS_IN_80387, not just if
TARGET_80387.
PR c++/6497
* method.c (do_build_assign_ref): Pass a derivation to
build_method_call when calling base class assignment operators.
PR c++/6497
* g++.dg/inherit/access2.C: New test.
PR bootstrap/6445
* gcc.dg/20020426-1.c: New test.
From-SVN: r52809
* config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
result as temporary value.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r52793
* c-common.c (fix_string_type): Split out of ...
(combine_strings): ... here. Take a varray, not a tree list.
(c_expand_builtin_printf): Use fix_string_type.
* c-common.h: Update decls.
* c-parse.in (string): Remove. Update all uses to use STRING
instead, and not call combine_strings.
(yylexstring): New.
(_yylex): Use it.
* c-typeck.c (simple_asm_stmt): Don't call combine_strings.
(build_asm_stmt): Likewise.
* objc/objc-act.c (my_build_string): Use fix_string_type.
(build_objc_string_object): Build varray for combine_strings.
* parse.y (string): Remove. Update all uses to use STRING
instead, and not call combine_strings.
* rtti.c (tinfo_name): Use fix_string_type.
* semantics.c (finish_asm_stmt): Don't call combine_strings.
* spew.c (yylexstring): New.
(read_token): Use it.
* g++.dg/parse/concat1.C: New.
* gcc.dg/concat2.c: New.
From-SVN: r52790
* cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
(HAVE_NO_R_OPERAND): Remove.
(HAVE_VALUE): Remove.
(op_to_prio): Update.
(UNARY): Don't alter flags.
(_cpp_parse_expr): want_value used to indicate whether
a number or unary operator is expected next. Distinguish
unary and binary +/-.
(op_as_text): Update for unary operators.
From-SVN: r52780