Anthony Green [Sun, 28 Nov 1999 20:45:34 +0000 (20:45 +0000)]
tree.h (struct tree_decl): Add malloc_flag.
* tree.h (struct tree_decl): Add malloc_flag.
(DECL_IS_MALLOC): Define.
* c-common.c (attrs): Add A_MALLOC attribute.
(init_attributes): Add this attribute to the table.
(decl_attributes): Handle malloc attribute.
* calls.c (special_function_p): Check for the malloc attribute.
* extend.texi (Function Attributes): Document malloc attribute.
From-SVN: r30689
Jeffrey A Law [Sun, 28 Nov 1999 20:24:48 +0000 (20:24 +0000)]
* pa.md (reload shift-add patterns): Remove.
From-SVN: r30688
Herman A.J. ten Brugge [Sun, 28 Nov 1999 20:05:50 +0000 (21:05 +0100)]
* reorg.c (dbr_schedule) Print more statistics. Corrected
problem when printing info when 3 delay slots are filled.
From-SVN: r30687
Jeff Law [Sun, 28 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30686
Jakub Jelinek [Sun, 28 Nov 1999 08:08:02 +0000 (09:08 +0100)]
combine.c (setup_incoming_promotions): Pass an outgoing regno to FUNCTION_ARG_REGNO_P which it expects.
* combine.c (setup_incoming_promotions): Pass an outgoing
regno to FUNCTION_ARG_REGNO_P which it expects.
From-SVN: r30685
Andreas Jaeger [Sun, 28 Nov 1999 08:03:00 +0000 (09:03 +0100)]
* mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
From-SVN: r30684
Philippe De Muyter [Sun, 28 Nov 1999 07:58:37 +0000 (08:58 +0100)]
* hashtab.c (sys/types.h): File included.
From-SVN: r30683
Philippe De Muyter [Sun, 28 Nov 1999 07:56:53 +0000 (08:56 +0100)]
* cccp.c (do_include): Avoid initialization of automatic variable.
From-SVN: r30682
Philippe De Muyter [Sun, 28 Nov 1999 07:47:57 +0000 (08:47 +0100)]
integrate.c (mark_stores): Function definition made void, to match previous declaration.
* integrate.c (mark_stores): Function definition made void, to match
previous declaration.
* regclass.c (dump_regclass): Ditto.
* Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
From-SVN: r30681
William Bader [Sun, 28 Nov 1999 07:41:09 +0000 (07:41 +0000)]
* gcc_update: Allow patches compressed by bzip2.
From-SVN: r30680
Mark Mitchell [Sat, 27 Nov 1999 18:04:50 +0000 (18:04 +0000)]
Fix typo
From-SVN: r30679
Mark Mitchell [Sat, 27 Nov 1999 18:01:48 +0000 (18:01 +0000)]
decl2.c (finish_file): Call expand_body for inline functions that will be written out but that do not...
* decl2.c (finish_file): Call expand_body for inline functions
that will be written out but that do not yet have RTL.
* semantics.c (expand_body): Do not generate RTL For inline
functions that do not yet need to be written out.
From-SVN: r30678
Richard Kenner [Sat, 27 Nov 1999 14:55:36 +0000 (14:55 +0000)]
expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is known to be multiple of divisor.
* expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
known to be multiple of divisor.
From-SVN: r30677
Richard Kenner [Sat, 27 Nov 1999 14:47:23 +0000 (14:47 +0000)]
* expr.c (store_constructor): Don't clobber TARGET if CLEARED.
From-SVN: r30676
Bernd Schmidt [Sat, 27 Nov 1999 14:08:36 +0000 (14:08 +0000)]
New test: compile/991127-1.c
From-SVN: r30675
Richard Kenner [Sat, 27 Nov 1999 13:59:20 +0000 (13:59 +0000)]
combine.c (try_combine): Add code to try to merge a set of a two-word pseudo to a constant with a...
* combine.c (try_combine): Add code to try to merge a set of a
two-word pseudo to a constant with a setting of one of those words
to a constant.
From-SVN: r30674
Richard Kenner [Sat, 27 Nov 1999 13:50:13 +0000 (13:50 +0000)]
fold-const.c (negate_expr, [...]): New.
* fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
(split_tree): Completely rework to make more general.
(make_range, fold): Call negate_expr.
(fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
(fold, associate): Call new split_tree and associate_trees.
(fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
From-SVN: r30673
Jeff Law [Sat, 27 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30672
Bernd Schmidt [Fri, 26 Nov 1999 11:44:37 +0000 (11:44 +0000)]
Avoid GNU C extension
From-SVN: r30671
Jeff Law [Fri, 26 Nov 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30670
Mark Mitchell [Thu, 25 Nov 1999 20:32:04 +0000 (20:32 +0000)]
Make-lang.in (CXX_SRCS): Add optimize.c.
1999-11-25 Mark Mitchell <mark@codesourcery.com>
* Make-lang.in (CXX_SRCS): Add optimize.c.
* Makefile.in (CXX_OBJS): Add optimize.o.
(CXX_TREE_H): Add splay-tree.h, system.h, and $(CONFIG_H).
(spew.o, lex.o, decl.o, decl2.o, typeck2.o, typeck.o): Adjust.
(class.o, call.o, friend.o, init.o, method.o, cvt.o): Likewise.
(search.o, tree.o, ptree.o, rtti.o, except.o, expr.o): Likewise.
(xref.o, pt.o, error.o, errfn.o, repo.o, semantics.o): Likewise.
(dump.o): Likewise.
(optimize.o): New target.
* class.c: Don't include splay-tree.h.
* cp-tree.def (CTOR_COMPLETE): Rename to CTOR_STMT.
* cp-tree.h: Include splay-tree.h.
(DECL_UNINLINABLE): New macro.
(CTOR_BEGIN_P, CTOR_END_P): New macros.
(flag_inline_trees): New variable.
(local_variable_p): New function.
(nonstatic_local_decl_p): Likewise.
(optimize_function): Likewise.
(cplus_unsave_expr_now): Remove.
(copy_tree_r): Declare.
(remap_save_expr): Likewise.
* decl.c (local_variable_p): Don't
make it static.
(local_variable_p_walkfn): New function.
(make_rtl_for_local_static): Remove code to try to avoid writing
out static constants.
(emit_local_var): Fix indentation.
(nonstatic_local_decl_p): New function.
(check_default_argument): Use local_variable_p_walkfn, not
local_variable_p, when walking the tree.
(start_function): Set the DECL_CONTEXT for automatically generated
labels.
(finish_constructor_body): Use CTOR_STMT to mark the end of a
constructor.
* decl2.c: Don't include splay-tree.h.
(flag_inline_trees): Define.
* dump.c: Don't include
splay-tree.h.
* except.c (expand_end_catch_block): Fix comment formatting.
(expand_end_eh_spec): Set DECL_CONTEXT on temporary variables.
(expand_throw): Tidy comment.
* init.c (build_vec_delete_1): Use create_temporary_var.
* lex.c (cplus_tree_code_type): Make it static.
(cplus_tree_code_length): Likewise.
(cplus_tree_code_name): Likewise.
* optimize.c: New file.
* semantics.c (finish_goto_stmt): Set DECL_UNLINABLE for functions
with computed gotos.
(setup_vtbl_ptr): Mark the beginnings of constructors with
CTOR_STMT.
(expand_stmt): Handle CTOR_STMT, not CTOR_COMPLETE.
(expand_body): Call optimize_function. Save bodies if we're doing
inlining on trees.
* tree.c: Don't include splay-tree.h. Include insn-config.h and
integrate.h.
(copy_tree_r): Make it public.
(statement_code_p): New function.
(mark_local_for_remap_r): Likewise.
(cp_usave_r): Likewise.
(cp_unsave): Likewise.
(build_cplus_new): Set DECL_CONTEXT for temporary variables.
(walk_tree): Walk into `s' class nodes. Walk statement chains.
(copy_tree_r): Handle 's' class nodes. Restore chains for
statements. Nullify scopes. Don't copy types.
(init_tree): Set lang_unsave to cp_unsave.
(remap_save_expr): Define.
* ir.texi: Document CTOR_STMT.
From-SVN: r30669
Mark Mitchell [Thu, 25 Nov 1999 20:06:25 +0000 (20:06 +0000)]
/gcc/../texinfo/makeinfo/Makefile ] ...
/gcc/../texinfo/makeinfo/Makefile ] ; then echo /home/mitchell/dev/egcs/objdir/gcc/../texinfo/makeinfo/makeinfo ; else echo makeinfo ; fi`" "MAKEINFOFLAGS=" "RANLIB_FOR_TARGET=` if [ -f /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ] ; then echo /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ; else if [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] ; then echo ranlib; else t='s,^,i686-pc-linux-gnu-,'; echo ranlib | sed -e $t ; fi; fi`" "RANLIB_TEST_FOR_TARGET=[ -f ` if [ -f /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ] ; then echo /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ; else if [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] ; then echo ranlib; else t='s,^,i686-pc-linux-gnu-,'; echo ranlib | sed -e $t ; fi; fi` ] || ( [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] )" "SHELL=/bin/sh" "STAGE_PREFIX=" "exeext=" "build_exeext=" "objext=.o" "exec_prefix=/usr/local" "prefix=/usr/local" "local_prefix=/usr/local" "gxx_include_dir=/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.96/../../../..`echo /usr/local | sed -e 's|^/usr/local||' -e 's|/[^/]*|/..|g'`/include/g++-3" "tooldir=" "gcc_tooldir=/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.96/../../../../i686-pc-linux-gnu" "bindir=/usr/local/bin" "libsubdir=/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.96" "datadir=/usr/local/share" "distdir=../tmp/\$(subdir)" "localedir=/usr/local/share/locale" "CC=gcc" "CXX_FOR_BUILD=" "CXXFLAGS=" "CXX_FOR_TARGET=" ../cc1plus
make[1]: Entering directory `/home/mitchell/dev/egcs/objdir/gcc/cp'
gcc -DIN_GCC -g -W -Wall -W -Wall -o ../cc1plus `cat ../stamp-objlist` ../c-common.o ../c-pragma.o call.o decl.o errfn.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parse.o ptree.o rtti.o spew.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o xref.o repo.o dump.o optimize.o ../../libiberty/libiberty.a
make[1]: Leaving directory `/home/mitchell/dev/egcs/objdir/gcc/cp'
bash$ cd ~/dev/egcs/gcc
bash$ cvs update ChangeLog
P ChangeLog
bash$ cd cp
* except.c (init_eh_for_function): But still zero
eh_return_context, eh_return_stack_adjust, and eh_return_handler.
From-SVN: r30668
Mark Mitchell [Thu, 25 Nov 1999 19:21:27 +0000 (19:21 +0000)]
except.h (eh_status): Adjust documentation for x_protect_list.
* except.h (eh_status): Adjust documentation for x_protect_list.
(begin_protect_partials): New function.
* except.c (enqueue_eh_entry): Fix formatting.
(get_first_handler): Add consistency check.
(add_partial_entry): Adjust usage of protect_list.
(emit_cleanup_handler): Save and restore ehqueue.
(expand_start_all_catch): Add comment.
(begin_protect_partials): New function.
(end_protect_partials): Adjust usage of protect_list.
(init_eh_for_function): Use xcalloc.
From-SVN: r30667
Kaveh R. Ghazi [Thu, 25 Nov 1999 16:58:32 +0000 (16:58 +0000)]
c-common.c (check_format_info): Don't call a variadic function with a non-literal format string.
* c-common.c (check_format_info): Don't call a variadic function
with a non-literal format string.
* c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
* c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
Likewise.
* cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
Likewise.
* collect2.c (collect_wait): Likewise.
* dbxout.c (dbxout_type): Likewise.
* gcc.c (do_spec_1): Likewise.
* genemit.c (gen_insn, gen_expand): Likewise.
* genrecog.c (write_switch, write_subroutine): Likewise.
* mips-tfile.c (catch_signal, botch): Likewise.
* print-rtl.c (print_rtx): Likewise.
* toplev.c (default_print_error_function, report_error_function,
_fatal_insn): Likewise.
From-SVN: r30666
Mark Mitchell [Thu, 25 Nov 1999 16:14:00 +0000 (16:14 +0000)]
* tree.c (unsave_expr_now): Handle NULL_TREE as input.
From-SVN: r30665
Jan Hubicka [Thu, 25 Nov 1999 12:53:44 +0000 (13:53 +0100)]
reg-stack.c (subst_stack_regs_pat): Swap operands in commutative operations when needed.
* reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
operations when needed.
* i386.md (fop_?f_comm): New.
(fop_?f_1): Do not accept commutative operands.
From-SVN: r30664
Andreas Jaeger [Thu, 25 Nov 1999 11:11:43 +0000 (12:11 +0100)]
mips.md (casesi_internal): Add missing brace.
1999-11-25 Andreas Jaeger <aj@suse.de>
* config/mips/mips.md (casesi_internal): Add missing brace.
From-SVN: r30663
Jason Merrill [Thu, 25 Nov 1999 09:31:49 +0000 (09:31 +0000)]
dwarf2out.c (pend_type, [...]): Lose.
* dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
(splice_child_die): Handle moving a child DIE from the declaration
DIE of a class to its specification.
(gen_struct_or_union_type_die): Use 'complete' consistently.
(gen_decl_die): Generate the virtual context DIE first.
Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
From-SVN: r30662
Jeff Law [Thu, 25 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30661
Gavin Romig-Koch [Thu, 25 Nov 1999 04:44:27 +0000 (04:44 +0000)]
* config/mips/mips.md (call_value_multiple_interanal1): New.
From-SVN: r30660
Jason Merrill [Thu, 25 Nov 1999 02:36:40 +0000 (02:36 +0000)]
dwarf2out.c (free_AT, free_die): New fns.
* dwarf2out.c (free_AT, free_die): New fns.
(remove_children): Call them.
(output_line_info): Disable removal of duplicate notes.
Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
* dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
means pretend the type isn't defined.
Don't defer emitting types.
(gen_type_die_for_member): New fn.
(gen_decl_die): Call it.
(splice_child_die): New fn.
(gen_member_die): Call it rather than generate duplicate dies.
Defer emitting information for the abstract instance of an inline
until we either inline it or emit an out-of-line copy.
* dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
from output_inline_function if DECL_ABSTRACT is also set.
(block_ultimate_origin): Likewise.
(gen_abstract_function): New fn.
(gen_decl_die, gen_inlined_subroutine_die): Call it.
(gen_subprogram_die): An abstract instance is not a declaration
just because it doesn't match current_function_decl. Don't abort
because DECL_DEFER_OUTPUT isn't set. Do abort if a declaration
has an abstract origin.
* toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
abstract instance here.
From-SVN: r30659
Jason Merrill [Thu, 25 Nov 1999 02:33:31 +0000 (02:33 +0000)]
search.c (note_debug_info_needed): Do perform this optimization for dwarf2.
* search.c (note_debug_info_needed): Do perform this optimization
for dwarf2.
(maybe_suppress_debug_info): Likewise. Start by clearing
TYPE_DECL_SUPPRESS_DEBUG.
From-SVN: r30658
Mark Mitchell [Thu, 25 Nov 1999 02:17:23 +0000 (02:17 +0000)]
* except.c (emit_handlers): Zero catch_clauses after emitting them.
From-SVN: r30657
Mark Mitchell [Thu, 25 Nov 1999 01:56:13 +0000 (01:56 +0000)]
pt.c (tsubst_decl): Copy TREE_ASM_WRITTEN for VAR_DECLs.
* pt.c (tsubst_decl): Copy TREE_ASM_WRITTEN for VAR_DECLs.
* decl2.c (finish_vtable_vardecl): Don't prune vtables here.
From-SVN: r30656
Tom Tromey [Thu, 25 Nov 1999 00:36:51 +0000 (00:36 +0000)]
prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayElementFromElementType.
* prims.cc (_Jv_NewObjectArray): Use
_Jv_GetArrayElementFromElementType.
(_Jv_NewPrimArray): Likewise.
* java/lang/natObject.cc (clone): Use
_Jv_GetArrayElementFromElementType instead of sizeof.
* java/lang/natSystem.cc (arraycopy): Use
_Jv_GetArrayElementFromElementType.
* include/jvm.h (_Jv_GetArrayElementFromElementType): New
function.
From-SVN: r30655
Andrew Haley [Wed, 24 Nov 1999 18:57:08 +0000 (18:57 +0000)]
sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case where we need to reload fpul from a system register.
Wed Nov 24 18:39:18 1999 Andrew Haley <aph@cygnus.com>
* config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
where we need to reload fpul from a system register.
From-SVN: r30654
Andreas Jaeger [Wed, 24 Nov 1999 17:07:37 +0000 (18:07 +0100)]
linux.h (CPP_PREDEFINES): Added.
* config/mips/linux.h (CPP_PREDEFINES): Added.
(LINK_SPEC): Remove -Y since this is only needed on sparc.
From-SVN: r30653
Andreas Jaeger [Wed, 24 Nov 1999 15:19:20 +0000 (16:19 +0100)]
linux.h (TARGET_VERSION): Added.
* config/mips/linux.h (TARGET_VERSION): Added.
(HANDLE_SYSV_PRAGMA): Added.
(DEFAULT_VTABLE_THUNKS): Added.
From-SVN: r30652
Jan Hubicka [Wed, 24 Nov 1999 13:14:57 +0000 (14:14 +0100)]
local-alloc.c (qty): New structure and static variable.
* local-alloc.c (qty): New structure and static variable.
(qty_phys_reg): Remove, all references changed to qty.
(qty_n_refs): Likewise.
(qty_min_class): Likewise.
(qty_birth): Likewise.
(qty_death): Likewise.
(qty_size): Likewise.
(qty_mode): Likewise.
(qty_n_calls_crossed): Likewise.
(qty_alternate_class): Likewise.
(qty_changes_size): Likewise.
(qty_first_reg): Likewise.
(alloc_qty): Rename variable QTY to QTYNO.
(finf_free_reg): Likewise.
(local_alloc): Allocate qty, do not allocate the removed variables.
From-SVN: r30651
Jeff Law [Wed, 24 Nov 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30650
Geoff Keating [Wed, 24 Nov 1999 06:35:10 +0000 (06:35 +0000)]
mips.h (ASM_SPEC): Don't pass -G to the assembler when -membedded-pic is passed.
* config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
when -membedded-pic is passed.
* config/mips/mips.md (casesi): Handle 64-bit case too.
(casesi_internal_di): New insn.
* config/mips/mips.c (embedded_pic_offset): Always make the
embedded-pic subtractions relative to the name of the current
function by use of the magic string "..CURRENT_FUNCTION".
* config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
From-SVN: r30649
Geoff Keating [Wed, 24 Nov 1999 06:25:14 +0000 (06:25 +0000)]
mips.md (div_trap_normal): Don't ask for the REGNO of (const_int 0)...
* config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
of (const_int 0), when what we really care about is
whether it's a zero constant anyway.
(div_trap_mips16): Likewise.
From-SVN: r30648
Mark Mitchell [Wed, 24 Nov 1999 01:24:59 +0000 (01:24 +0000)]
loop.c (loop_optimize): Always find_loop_tree_blocks and unroll_block_trees when generating debuggable code.
* loop.c (loop_optimize): Always find_loop_tree_blocks and
unroll_block_trees when generating debuggable code.
From-SVN: r30647
Mark Mitchell [Wed, 24 Nov 1999 01:19:04 +0000 (01:19 +0000)]
tree.h (unsave_expr_1): New function.
* tree.h (unsave_expr_1): New function.
(lang_unsave): New variable.
(get_callee_fndecl): New function.
* tree.c (unsave_expr_now_r): New function.
(lang_unsave): Define.
(unsave_expr_1): Likewise.
(unsave_expr_now_r): Split out from unsave_expr_now.
(unsave_expr_now): Call lang_unsave if it is non-NULL. Otherwise,
call unsave_expr_now_r.
(get_callee_fndecl): Define.
From-SVN: r30646
Mark Mitchell [Wed, 24 Nov 1999 01:18:15 +0000 (01:18 +0000)]
Makefile.in (gencheck): Don't depend on lang_tree_files.
* Makefile.in (gencheck): Don't depend on lang_tree_files.
(gencheck.o): Do depend on lang_tree_files.
From-SVN: r30645
Mark Mitchell [Tue, 23 Nov 1999 20:48:38 +0000 (20:48 +0000)]
integrate.h (copy_decl_for_inlining): New declaration.
1999-11-23 Mark Mitchell <mark@codesourcery.com>
* integrate.h (copy_decl_for_inlining): New declaration.
* integrate.c (copy_and_set_decl_abstract_origin): Remove.
(copy_decl_for_inlining): New function.
(integrate_parm_decls): Use it.
(integrate_decl_tree): Likewise.
From-SVN: r30644
Gavin Romig-Koch [Tue, 23 Nov 1999 19:18:48 +0000 (19:18 +0000)]
mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split the second two from the first.
* config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split
the second two from the first.
(CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
* config/mips/mips.md (movcc,reload_incc,reload_outcc,
conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
ISA_HAS_FP4.
* config/mips/mips.c (mips_move_1word,gen_conditional_branch,
override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
ISA_HAS_FP4.
From-SVN: r30643
Jeffrey A Law [Tue, 23 Nov 1999 18:17:00 +0000 (18:17 +0000)]
pa.md (call_internal_symref, [...]): No mode needed on the address operand.
* pa.md (call_internal_symref, call_value_internal_symref): No mode
needed on the address operand.
* pa.c (call_operand_address): Check for the correct mode.
From-SVN: r30642
Kaveh R. Ghazi [Tue, 23 Nov 1999 16:17:52 +0000 (16:17 +0000)]
decl.c (pushdecl, [...]): Don't call a variadic function with a non-literal format string.
* decl.c (pushdecl, grokdeclarator): Don't call a variadic
function with a non-literal format string.
* lex.c (do_identifier): Likewise.
* typeck.c (build_unary_op): Likewise.
From-SVN: r30641
Kaveh R. Ghazi [Tue, 23 Nov 1999 15:53:22 +0000 (15:53 +0000)]
expr.c (build_chill_function_call): Don't call a variadic function with a non-literal format string.
* expr.c (build_chill_function_call): Don't call a variadic
function with a non-literal format string.
* grant.c (write_spec_module): Likewise.
* parse.c (require, expect): Likewise.
* tasking.c (get_struct_type_name, get_struct_debug_type_name,
get_tasking_code_name, get_struct_variable_name,
get_process_wrapper_name, build_start_process): Likewise.
* typeck.c (valid_array_index_p): Likewise.
From-SVN: r30640
Jason Merrill [Tue, 23 Nov 1999 14:47:08 +0000 (09:47 -0500)]
revert AT_containing_type change
From-SVN: r30639
Bernd Schmidt [Tue, 23 Nov 1999 12:10:36 +0000 (12:10 +0000)]
Copy propagation for hoisted mems in loop.c.
From-SVN: r30638
Bryce McKinlay [Tue, 23 Nov 1999 11:40:26 +0000 (11:40 +0000)]
re GNATS java.net/57 (potential buffer overruns)
1999-11-23 Bryce McKinlay <bryce@albatross.co.nz>
* java/net/natPlainSocketImpl.cc: Fix potential buffer overruns in
Exception messages. PR java.net/57.
(bind): set SO_REUSEADDR before bind.
* java/net/natPlainDatagramSocketImpl.cc: Fix potential buffer
overruns. PR java.net/57.
From-SVN: r30637
Jeff Law [Tue, 23 Nov 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30636
Mark Mitchell [Tue, 23 Nov 1999 08:08:53 +0000 (08:08 +0000)]
* cp-tree.h (DECL_NEEDED_P): Tweak to match documentation.
From-SVN: r30635
Mark Mitchell [Tue, 23 Nov 1999 08:07:09 +0000 (08:07 +0000)]
cp-tree.def (CTOR_COMPLETE): New tree node.
* cp-tree.def (CTOR_COMPLETE): New tree node.
* decl.c (finish_constructor_body): Add it, to mark the end of the
constructor.
(finish_function): Don't call end_protect_partials here.
* ir.texi (CTOR_COMPLETE): Document it.
* semantics.c (expand_stmt): Handle it.
From-SVN: r30634
Hans-Peter Nilsson [Tue, 23 Nov 1999 08:03:47 +0000 (08:03 +0000)]
Makefile.in (gencheck.o): Depend on gencheck.h.
* Makefile.in (gencheck.o): Depend on gencheck.h.
(insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
(insn-peep.o): Depend on except.h and function.h.
(insn-attrtab.o): Depend on RECOG_H.
(insn-output.o): Depend on toplev.h and flags.h.
(gengenrtl.o): Depend on real.h.
(gen-protos.o): Depend on cpplib.h and cpphash.h.
Unify all dependencies to be on RECOG_H rather than recog.h.
From-SVN: r30633
Rainer Orth [Tue, 23 Nov 1999 07:57:06 +0000 (07:57 +0000)]
config-ml.in (sparc*-*-*): Disable sparcv9 support if the necessary libraries are missing.
* config-ml.in (sparc*-*-*): Disable sparcv9 support if the
necessary libraries are missing.
From-SVN: r30632
Rainer Orth [Tue, 23 Nov 1999 07:57:06 +0000 (07:57 +0000)]
From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
* configure.in: Try building a bi-arch 32/64-bit compiler on
sparc-*-solaris2.7 and higher.
* configure: Rebuild.
From-SVN: r30631
Mark Mitchell [Tue, 23 Nov 1999 07:31:07 +0000 (07:31 +0000)]
cp-tree.def (CTOR_COMPLETE): New tree node.
* cp-tree.def (CTOR_COMPLETE): New tree node.
(finish_constructor_body): Add it, to mark the end of the
constructor.
(finish_function): Don't call end_protect_partials here.
* ir.texi (CTOR_COMPLETE): Document it.
* semantics.c (expand_stmt): Handle it.
From-SVN: r30630
Jeff Law [Tue, 23 Nov 1999 06:17:32 +0000 (23:17 -0700)]
freebsd.h: New, FreeBSD architecture independent file.
* config/freebsd.h: New, FreeBSD architecture independent file.
* config/i386/freebsd-elf.h: removed FreeBSD architecturally
independent pieces.
* config/i386/freebsd.h: include i386/perform.h via tm.h rather than
directly by i386/freebsd.h.
* configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
independent configuration file.
(*-*-freebsdelf): Include i386/perform.h via tm.h rather than
directly by i386/freebsd.h.
* configure: Rebuilt.
*POTFILES.in: Add config/freebsd.h
From-SVN: r30628
David O'Brien [Tue, 23 Nov 1999 06:09:34 +0000 (06:09 +0000)]
xm-i386.h: Define `__i386__' if not defined...
* xm-i386.h: Define `__i386__' if not defined, rather than `i386'
which is in the user's namespace.
* libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
`i386' which is not in our namespace.
From-SVN: r30627
R. Kelley Cook [Tue, 23 Nov 1999 05:59:41 +0000 (22:59 -0700)]
* invoke.texi (ARM Options): Add in -mno-alignment-traps
From-SVN: r30626
Mark Mitchell [Tue, 23 Nov 1999 02:49:41 +0000 (02:49 +0000)]
cp-tree.def (FUNCTION_NAME): New tree node.
* cp-tree.def (FUNCTION_NAME): New tree node.
* cp-tree.h (current_function_name_declared): Tweak documentation.
(lang_decl_flags): Add pretty_function_p, adjust dummy.
(DECL_PRETTY_FUNCTION_P): New macro.
* decl.c (cp_finish_decl): Handle declarations of __FUNCTION__,
etc., in a template function. Use at_function_scope_p instead of
expanding it inline.
* pt.c (tsubst_decl): Handle DECL_PRETTY_FUNCTION_P declarations
specially.
(tsubst): Handle FUNCTION_NAME.
(tsubst_copy): Likewise.
(instantiate_decl): Prevent redeclarations of __PRETTY_FUNCTION__,
etc. in instantiation.
* semantics.c (begin_compound_stmt): Declare __FUNCTION__, etc.,
even in template functions.
(setup_vtbl_ptr): Don't declare __PRETTY_FUNCTION in the
conditional scope at the top of a destructor.
* error.c (dump_function_decl): Use `[ with ... ]' syntax for
specializations too.
From-SVN: r30625
Jason Merrill [Tue, 23 Nov 1999 01:50:36 +0000 (01:50 +0000)]
dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
* dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
(add_dwarf_attr, add_child_die): Just push onto the front.
(reverse_die_lists): New fn.
(add_sibling_attributes): Use it.
(push_decl_scope): Reorganize.
(gen_struct_or_union_type_die): Don't add a DW_AT_containing_type
that points to ourself.
(add_name_and_src_coords_attributes): Don't set file and line for
an artificial decl.
(gen_subprogram_die): An artificial function doesn't need to match
file and line.
(gen_compile_unit_die): Return the generated die. Only add
AT_comp_dir if the filename is relative.
(remove_AT): Simplify loop. Also free string values.
(output_die): A DIE ref can't be null.
(output_value_format, value_format): Take a dw_attr_ref.
(dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
(AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
AT_addr, AT_lbl): New fns.
(various): Use them.
(various): Constify.
From-SVN: r30624
J"orn Rennecke [Mon, 22 Nov 1999 23:56:34 +0000 (23:56 +0000)]
combine.c (combine_simplify_rtx): When handling a SUBREG, take SUBREG_WORD into account.
* combine.c (combine_simplify_rtx): When handling a SUBREG,
take SUBREG_WORD into account.
(if_then_else_cond): Likewise.
From-SVN: r30623
Benjamin Kosnik [Mon, 22 Nov 1999 23:35:50 +0000 (23:35 +0000)]
stl_rope.h: Fix initialization order.
* stl_rope.h: Fix initialization order.
* stl_deque.h: Use static_casts<size_type>(signed_type).
Co-Authored-By: Matthias Klose <doko@cs.tu-berlin.de>
From-SVN: r30622
Jason Merrill [Mon, 22 Nov 1999 18:40:20 +0000 (18:40 +0000)]
gmon.c, [...]: Remove advertising clause from BSD license
* gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising
clause from BSD license
From-SVN: r30621
Jason Merrill [Mon, 22 Nov 1999 18:36:49 +0000 (18:36 +0000)]
strtoul.c, [...]: Remove advertising clause from BSD license
* strtoul.c, strtol.c, random.c: Remove advertising clause from
BSD license
From-SVN: r30620
Bernd Schmidt [Mon, 22 Nov 1999 18:34:13 +0000 (18:34 +0000)]
Add regset_head and INIT_REG_SET.
From-SVN: r30619
Bernd Schmidt [Mon, 22 Nov 1999 16:40:32 +0000 (16:40 +0000)]
Reformat load_mems slightly.
From-SVN: r30618
Nathan Sidwell [Mon, 22 Nov 1999 16:10:58 +0000 (16:10 +0000)]
* g++.old-deja/g++.other/warn4.C: New test.
From-SVN: r30617
Nathan Sidwell [Mon, 22 Nov 1999 16:08:14 +0000 (16:08 +0000)]
semantics.c (finish_unary_op_expr): Only set TREE_NEGATED_INT when actually negative.
* semantics.c (finish_unary_op_expr): Only set TREE_NEGATED_INT
when actually negative.
* typeck.c (convert_for_assignment): Expand comment about
strange NULL check, moved from ...
(convert_for_initialization): ... here. Remove unneeded
code.
From-SVN: r30616
Nathan Sidwell [Mon, 22 Nov 1999 15:51:14 +0000 (15:51 +0000)]
cleanup2.C: New test.
* g++.old-deja/g++.eh/cleanup2.C: New test.
* g++.old-deja/g++.ext/pretty2.C: New test.
* g++.old-deja/g++.ext/pretty3.C: New test.
* g++.old-deja/g++.other/debug6.C: New test.
From-SVN: r30615
Bruce Korb [Mon, 22 Nov 1999 15:07:28 +0000 (15:07 +0000)]
fixinc.x86-linux-gnu folded into inclhack.def
From-SVN: r30614
Bruce Korb [Mon, 22 Nov 1999 15:05:48 +0000 (15:05 +0000)]
__FD_ZERO fixes for gnu libc1&2
From-SVN: r30613
Andrew Haley [Mon, 22 Nov 1999 14:53:20 +0000 (14:53 +0000)]
emit-rtl.c (gen_sequence): Only return the pattern of an insn if its code is INSN and it has no notes.
Fri Nov 12 14:08:40 1999 Andrew Haley <aph@cygnus.com>
* emit-rtl.c (gen_sequence): Only return the pattern of an insn if
its code is INSN and it has no notes.
From-SVN: r30612
Andrew Haley [Mon, 22 Nov 1999 14:20:35 +0000 (14:20 +0000)]
varasm.c (function_defined): Remove.
1999-11-22 Andrew Haley <aph@cygnus.com>
* varasm.c (function_defined): Remove.
(make_function_rtl): Don't set function_defined.
(make_decl_rtl): Remove global register warning.
* regclass.c (no_global_reg_vars): New variable.
(globalize_reg): Warn if function has already been defined.
(regclass_init): Set no_global_reg_vars.
From-SVN: r30611
Jan Hubicka [Mon, 22 Nov 1999 13:43:39 +0000 (14:43 +0100)]
regclass.c (reg_pref): New structure and static variable
* regclass.c (reg_pref): New structure and static variable
(prefclass): Delete.
(altclass): Delete.
(all uses of prefclass and altclass): Use reg_pref instead.
From-SVN: r30610
Jeff Law [Mon, 22 Nov 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30609
Anthony Green [Sun, 21 Nov 1999 23:37:58 +0000 (23:37 +0000)]
constants.c (find_methodref_index): Unwrap method names before inserting them in the constant pool.
* constants.c (find_methodref_index): Unwrap method names before
inserting them in the constant pool.
* jcf-parse.c (jcf_parse): Display `interface' when appropriate.
* class.c (assume_compiled_node): New typedef.
(assume_compiled_tree): New static data.
(find_assume_compiled_node): New function.
(add_assume_compiled): New function.
(assume_compiled): New function.
* class.c (make_class_data): Use assume_compiled.
(is_compiled_class): Use assume_compiled.
* java-tree.h (add_assume_compiled): Declare.
* lang.c (lang_decode_option): Parse new options.
From-SVN: r30608
Alexandre Oliva [Sun, 21 Nov 1999 17:49:59 +0000 (17:49 +0000)]
* delete2.C, delete3.C, delete4.C, delete5.C: New tests.
From-SVN: r30607
Alexandre Oliva [Sun, 21 Nov 1999 17:44:34 +0000 (17:44 +0000)]
cp-tree.h (build_vec_delete): Remove `auto_delete' argument.
* cp-tree.h (build_vec_delete): Remove `auto_delete' argument.
* init.c (build_vec_delete, build_vec_delete_1): Likewise.
Always destruct virtual bases of array components, but never
delete them.
(build_vec_init): Adjust invocations.
(build_delete): Likewise.
* decl2.c (delete_sanity): Likewise.
From-SVN: r30606
Nick Clifton [Sun, 21 Nov 1999 16:11:20 +0000 (16:11 +0000)]
Rename -mshort-load-bytes switch to -malignment-traps
From-SVN: r30604
Jan Hubicka [Sun, 21 Nov 1999 12:56:01 +0000 (12:56 +0000)]
Oops, forgot the Changleog entry.
* global.c (allocno): New structure and static variable.
(allocno_reg): Remove, all references replaced by allocno.
(allocno_size): Likewise.
(hard_reg_conflicts): Likewise.
(hard_reg_preferences): Likewise.
(hard_reg_copy_preferences): Likewise.
(hard_reg_full_preferences): Likewise.
(regs_someone_prefers): Likewise.
(allocno_calls_crossed): Likewise.
(allocno_n_refs): Likewise.
(allocno_live_length): Likewise.
(find_reg): Rename ALLOCNO to NUM.
From-SVN: r30603
Jan Hubicka [Sun, 21 Nov 1999 12:53:31 +0000 (12:53 +0000)]
global.c (allocno): New structure and static variable.
* global.c (allocno): New structure and static variable.
(allocno_reg): Remove, all references replaced by allocno.
(allocno_size): Likewise.
(hard_reg_conflicts): Likewise.
(hard_reg_preferences): Likewise.
(hard_reg_copy_preferences): Likewise.
(hard_reg_full_preferences): Likewise.
(regs_someone_prefers): Likewise.
(allocno_calls_crossed): Likewise.
(allocno_n_refs): Likewise.
(allocno_live_length): Likewise.
(find_reg): Rename ALLOCNO to NUM.
From-SVN: r30602
Jan Hubicka [Sun, 21 Nov 1999 12:40:47 +0000 (12:40 +0000)]
regclass.c (may_move_in_cost): Rename from may_move_cost, all references updated.
* regclass.c (may_move_in_cost): Rename from may_move_cost, all
references updated.
(may_move_out_cost): New variable.
(init_reg_sets_1): Initialize may_move_out_cost.
(record_reg_classes): Use may_move_out_cost.
From-SVN: r30601
Jan Hubicka [Sun, 21 Nov 1999 12:33:17 +0000 (12:33 +0000)]
regclass.c (dump_regclass): New function.
* regclass.c (dump_regclass): New function.
(regclass): New parameter DUMP, call DUMP_REGCLASS.
* toplev.c (rest_of_compilation): Opent lreg dump file before regclass,
pass rtl_dump_file to regclass.
* rtl.h (regclass): Update prototype.
From-SVN: r30600
Jeff Law [Sun, 21 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30599
Geoff Keating [Sun, 21 Nov 1999 07:53:01 +0000 (07:53 +0000)]
varasm.c (output_constructor): Solve problem with long long bitfields...
* varasm.c (output_constructor): Solve problem with long long
bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
From-SVN: r30598
Jan Hubicka [Sun, 21 Nov 1999 01:34:22 +0000 (02:34 +0100)]
i386.md (neg, [...]): Revmap to use ix86_expand_unary_operator and ix86_unary_operator_ok.
* i386.md (neg, not and abs patterns): Revmap to use
ix86_expand_unary_operator and ix86_unary_operator_ok.
(add?f and sub?f expanders): Force operand 1 to register.
* i386.c (ix86_expand_unary_operator): Rewrite.
(ix86_unary_operator_ok): Ensure that memory operands
match real opcode.
(ix86_binary_operator_ok): Do not allow operand 1 to
come into memory and operand 0 not.
(ix86_expand_binary_operator): Ensure that
src1 is not non-matching memory.
From-SVN: r30597
Jan Hubicka [Sun, 21 Nov 1999 00:04:15 +0000 (01:04 +0100)]
i386.md (negs?2): Rewrite to expanders...
* i386.md (negs?2): Rewrite to expanders, new patterns and splitters
to support integer registers and memory.
(abss?2_integer): Likewise.
From-SVN: r30596
Jeff Law [Sat, 20 Nov 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30595
Jan Hubicka [Fri, 19 Nov 1999 20:50:36 +0000 (21:50 +0100)]
i386.h (enum reg_class): Add FLOAT_INT_REGS.
* i386.h (enum reg_class): Add FLOAT_INT_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
and GENERAL_REGS.
* i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
(movsf): Likewise; unify 4th and 5th alternative.
(pushdf): Likewise.
(movdf_1): Likewise; rename to movdf_integer.
(pushxf): Likewise; rename to pushxf_integer; fix output template;
remove redundant splitter.
(movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
(movdf_nointeger): New.
(movxf_nointeger): New.
(pushxf_nointeger): New.
From-SVN: r30594
Jan Hubicka [Fri, 19 Nov 1999 20:27:08 +0000 (21:27 +0100)]
i386.md (extend?f?f): Split to expander and pattern, refuse two memory operands in patterns.
* i386.md (extend?f?f): Split to expander and pattern, refuse two
memory operands in patterns.
(fop*): Refuse two memory operands.
From-SVN: r30593
Jan Hubicka [Fri, 19 Nov 1999 20:12:14 +0000 (21:12 +0100)]
i386.md (ashrsi3_31): Allow cltd when optimizing for size even on !TARGET_USE_CLTD CPUs.
* i386.md (ashrsi3_31): Allow cltd when optimizing for size even
on !TARGET_USE_CLTD CPUs.
From-SVN: r30592
Tom Tromey [Fri, 19 Nov 1999 19:13:42 +0000 (19:13 +0000)]
sjlj jumbo patch
From-SVN: r30591
Diego Novillo [Fri, 19 Nov 1999 18:23:48 +0000 (18:23 +0000)]
* MAINTAINERS: Add new 'write after approval' maintainer.
From-SVN: r30590
Diego Novillo [Fri, 19 Nov 1999 17:23:37 +0000 (17:23 +0000)]
rtl.texi (mem): Add documentation for alias-set argument to RTX `mem'.
* rtl.texi (mem): Add documentation for alias-set argument
to RTX `mem'.
From-SVN: r30589
Nathan Sidwell [Fri, 19 Nov 1999 13:04:48 +0000 (13:04 +0000)]
* g++.old-deja/g++.ext/restrict1.C: New test.
From-SVN: r30588