Geoff Keating [Thu, 4 May 2000 22:15:23 +0000 (22:15 +0000)]
rs6000-protos.h: Add output_cbranch.
* config/rs6000/rs6000-protos.h: Add output_cbranch.
* config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
(print_operand): Delete %t and %T codes.
(output_cbranch): New function. Support branch prediction.
* config/rs6000/rs6000.md: Use output_cbranch for
conditional branches and returns.
Jeffrey A Law [Thu, 4 May 2000 20:40:17 +0000 (20:40 +0000)]
predict.c (estimate_probability): If no prediction was found...
* predict.c (estimate_probability): If no prediction was found, then
predict the successor that is the next physical block (if such a
successor exists).
libiberty:
* cplus-dem.c (cplus_demangle_opname, demangle_function_name):
Cast the arguments to `islower' to `unsigned char'.
(print_demangler_list): Prototype.
Zack Weinberg [Thu, 4 May 2000 16:21:29 +0000 (16:21 +0000)]
cpphash.h: #define __extension__ away if GCC_VERSION < 2095 (overly conservative).
* cpphash.h: #define __extension__ away if GCC_VERSION < 2095
(overly conservative). Change extern inline wrappers to
static inline, define them always, use PARAMS properly.
* cpplex.c (_cpp_get_directive_token): Don't issue pedantic
whitespace warnings for \f and \v at the beginning of a line.
Mark Mitchell [Thu, 4 May 2000 14:54:18 +0000 (14:54 +0000)]
cp-tree.h (special_function_kind): Add various kinds of destructors.
* cp-tree.h (special_function_kind): Add various kinds of
destructors.
(special_function_p): New function.
* class.c (overrides): Don't let one kind of destructor override
another.
* decl2.c (mark_used): Use DECL_NON_THUNK_FUNCTION_P when deciding
whether or not to instantiate a template.
* tree.c (special_function_p): Define.
Zack Weinberg [Thu, 4 May 2000 04:38:01 +0000 (04:38 +0000)]
cpphash.h (U): New define, to correct type of string constants.
gcc:
* cpphash.h (U): New define, to correct type of string constants.
(ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper
routines, to do casts when passing unsigned strings to libc.
* cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them.
* cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *.
* cpphash.c (_cpp_quote_string): Make string an U_CHAR *.
* cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *.
* cpplex.c (parse_ifdef, parse_include, validate_else): Make
second argument an U_CHAR *.
* cppinit.c (builtin_array): Make name and value U_CHAR *, add
length field, clean up initializer.
(ISTABLE): Add __extension__ to designated-
initializers version.
* cpplex.c (CHARTAB): Likewise.
* mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS
case so the file won't be empty.
Jason Eckhardt [Thu, 4 May 2000 02:37:49 +0000 (02:37 +0000)]
bb-reorder.c (struct reorder_block_def): Member succ removed.
Wed May 3 21:01:46 2000 Jason Eckhardt <jle@cygnus.com>
* bb-reorder.c (struct reorder_block_def): Member succ removed.
(REORDER_BLOCK_SUCC): Removed.
(enum reorder_skip_type): Removed.
(skip_insns_between_block): Renamed to skip_insns_after_block.
Removed second argument. Removed dead code and cleaned up.
(make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
(reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
second parameter to skip_insns_after_block.
* Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
(LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
(GCC_CFLAGS): Use it.
(LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
* cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
objc/Make-lang.in: Use it.
Mark Mitchell [Wed, 3 May 2000 22:25:21 +0000 (22:25 +0000)]
cp-tree.def (THUNK_DECL): Remove.
* cp-tree.def (THUNK_DECL): Remove.
* cp-tree.h (DECL_THUNK_P): New macro.
(DECL_NON_THUNK_FUNCTION_P): Likewise.
(DECL_EXTERN_C_FUNCTION_P): Likewise.
(SET_DECL_THUNK_P): Likewise.
(DELTA_FROM_VTABLE_ENTRY): Use DECL_THUNK_P.
(FNADDR_FROM_VTABLE_ENTRY): Likewise.
(DECL_MAIN_P): Use DECL_EXTERN_C_FUNCTION_P.
* decl.c (decls_match): Use DECL_EXTERN_C_P.
(duplicate_decls): Likewise.
(pushdecl): Likewise. Adjust thunk handling.
(grokfndecl): Use DECL_EXTERN_C_P.
* decl2.c (mark_vtable_entries): Use DECL_THUNK_P.
* dump.c (dequeue_and_dump): Remove THUNK_DECL handling.
* except.c (nothrow_libfn_p): Use DECL_EXTERN_C_P.
* expr.c (cplus_expand_expr): Remove THUNK_DECL handling.
* method.c (make_thunk): Use SET_DECL_THUNK_P. Set
DECL_NO_STATIC_CHAIN.
(emit_thunk): Don't play games with TREE_CODE on thunks. Don't
set DECL_DESTRUCTOR_P or DECL_CONSTRUCTOR_P on a thunk.
* search.c (covariant_return_p): Remove THUNK_DECL handling.
* ir.texi: Update.
Denis Chertykov [Wed, 3 May 2000 19:20:09 +0000 (19:20 +0000)]
avr-protos.h (test_hard_reg_class): Declared.
* config/avr/avr-protos.h (test_hard_reg_class): Declared.
* config/avr/avr.c (ashrhi3_out): optimized shift by 15.
(lshrhi3_out): Likewise.
(ashrsi3_out): bugfix in shift by 8.
(test_hard_reg_class): New function.
* config/avr/avr.md: Bugfix inside conditions in peepholes.
(ashlhi3): removed define_expand of this pattern.
(*ashlhi3_insn): renamed to ashlhi3.
(ashlsi3): removed define_expand of this pattern.
(*ashlsi3_insn): renamed to ashlsi3.
(ashrqi3): removed define_expand of this pattern.
(*ashrqi3_insn): renamed to ashrqi3.
(ashrhi3): removed define_expand of this pattern.
(*ashrhi3_insn): renamed to ashrhi3.
(ashrsi3): removed define_expand of this pattern.
(*ashrsi3_insn): renamed to ashrsi3.
(lshrhi3): removed define_expand of this pattern.
(*lshrhi3_insn): renamed to lshrhi3.
(lshrsi3): removed define_expand of this pattern.
(*lshrsi3_insn): renamed to lshrsi3.
Jim Wilson [Wed, 3 May 2000 18:46:05 +0000 (11:46 -0700)]
Patches from David Mosberger, and a patch to make bootstrap work.
* config/ia64/ia64.c (ia64_encode_section_info): Add check for
TREE_ASM_WRITTEN.
* config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
if -mauto-pic is on.
...
Jason Eckhardt [Wed, 3 May 2000 16:39:55 +0000 (16:39 +0000)]
flow.c (verify_flow_info): Added two more sanity checks.
Tue May 2 00:20:30 2000 Jason Eckhardt <jle@cygnus.com>
* flow.c (verify_flow_info): Added two more sanity checks. The
first checks that the blocks are numbered consecutively. The second
checks that n_basic_blocks is actually equal to the number of
basic blocks in the insn chain.
Phil Edwards [Wed, 3 May 2000 16:11:03 +0000 (16:11 +0000)]
footer.html: Update to see if it takes effect.
2000-05-03 Phil Edwards <pme@sourceware.cygnus.com>
Felix Natter <fnatter@gmx.net>
* docs/footer.html: Update to see if it takes effect.
* docs/thanks.html: More people.
* docs/17_intro/headers_cc.txt: Copy from testsuite, since that can't
be seen from the web pages. Rename for browser-friendliness...
* docs/17_intro/howto.html: ...and update here.
* docs/17_intro/porting-howto.html: Changes from Felix.
* docs/gccrebuild.html: Mention v3->egcs move.
* docs/faq/index.html: Ditto. Also misc tweaks and URL updates.
* docs/faq/index.txt: Regenerate.
Co-Authored-By: Felix Natter <fnatter@gmx.net>
From-SVN: r33631
Richard Kenner [Wed, 3 May 2000 13:20:48 +0000 (13:20 +0000)]
expr.c (expand_expr, [...]): Don't check for checking memory usage if not in a function.
* expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
memory usage if not in a function.
* varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
return address if static.
Jason Eckhardt [Wed, 3 May 2000 04:41:04 +0000 (04:41 +0000)]
bb-reorder (chain_reorder_blocks): Changed code to test for EDGE_FALLTHRU rather than making erroneous assumption...
Tue May 2 23:38:37 2000 Jason Eckhardt <jle@cygnus.com>
* bb-reorder (chain_reorder_blocks): Changed code to test for
EDGE_FALLTHRU rather than making erroneous assumption that the
first outgoing edge is the fall-through edge.
Tom Tromey [Tue, 2 May 2000 20:32:31 +0000 (20:32 +0000)]
class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE on native function.
* class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE
on native function.
* jcf-parse.c (parse_class_file): Call build_jni_stub for native
JNI methods.
* expr.c (build_jni_stub): New function.
* lang-specs.h: -fjni and -femit-class-file are incompatible.
* parse.c: Rebuilt.
* parse.y (java_complete_expand_methods): Expand a native method
and call build_jni_stub if -fjni given.
* lang-options.h: Document -fjni.
* lang.c (flag_jni): New global.
(lang_f_options): Added `jni' entry.
* java-tree.h (soft_lookupjnimethod_node,
soft_getjnienvnewframe_node, soft_jnipopsystemframe_node):
Declare.
(flag_jni): Declare.
(build_jni_stub): Declare.
(struct lang_decl): Added `native' flag.
(METHOD_NATIVE): Redefined to use `native' field of lang specific
structure.
* decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node,
soft_jnipopsystemframe_node): New globals.
(init_decl_processing): Set them. _Jv_InitClass only takes one
argument.
Zack Weinberg [Tue, 2 May 2000 19:09:24 +0000 (19:09 +0000)]
aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
* aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
* configure.in: Look for makeinfo in the unified tree, then
for a system makeinfo which is sufficiently new.
* Makefile.in: If configure says makeinfo is too old, don't
build or install Info documentation.
* cpplex.c (null_cleanup): Delete.
(cpp_pop_buffer): Do the work that was done in the cleanups
here. Call _cpp_unwind_if_stack from here.
(_cpp_expand_to_buffer, cpp_scan_buffer_nooutput,
cpp_scan_buffer): Run until we see CPP_EOF and the top of
stack is the buffer _below_ the one we stacked.
(cpp_get_token): Always pop an exhausted buffer. Return
CPP_EOF unless it's a macro buffer. Don't call _cpp_handle_eof.
* cpplib.c (skip_if_group): Don't call cpp_get_token to
increment the line number.
(_cpp_handle_eof): Rename to _cpp_unwind_if_stack.
* fix-header.c (read_scan_file) [parsing getchar()]: Run until
we see CPP_EOF and the top of stack is the buffer _below_ the
one we stacked.
* scan-decls.c: Likewise.
Andrew Haley [Tue, 2 May 2000 13:50:25 +0000 (13:50 +0000)]
ia64.c (ia64_encode_section_info): Handle the case where this function is called for the second time on a decl...
2000-05-02 Andrew Haley <aph@cygnus.com>
* config/ia64/ia64.c (ia64_encode_section_info): Handle the case
where this function is called for the second time on a decl that
has had its section info changed in such a way as to move it out
of small data/bss.
* config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
Jason Merrill [Mon, 1 May 2000 23:51:37 +0000 (23:51 +0000)]
tree.c (build_target_expr_with_type): If we already have a TARGET_EXPR, just return it.
* tree.c (build_target_expr_with_type): If we already have a
TARGET_EXPR, just return it.
* optimize.c (initialize_inlined_parameters): Don't generate an
EXPR_STMT if we can just use DECL_INITIAL.
* decl.c (emit_local_var): Only make the initialization a
full-expression if stmts_are_full_exprs_p.