1. 02 Apr, 2000 6 commits
    • JVMPI changes... · 54c2f04b
      Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
      
              * configure: Rebuilt.
      	* configure.in: Add --disable-jvmpi.
              * include/config.h.in: Rebuilt.
              * acconfig.h: Add ENABLE_JVMPI.
      
      	* include/jvm.h: Declare _Jv_DisableGC and _Jv_EnableGC.
              (_Jv_JVMPI_Notify_OBJECT_ALLOC): New define.
              (_Jv_JVMPI_Notify_THREAD_END): New define.
              (_Jv_JVMPI_Notify_THREAD_END): New define.
              * prims.cc (_Jv_JVMPI_Notify_OBJECT_ALLOC): Declare.
      	(_Jv_JVMPI_Notify_THREAD_END): Declare.
              (_Jv_JVMPI_Notify_THREAD_END): Declare.
      
      	* prims.cc (_Jv_AllocObject): Generate JVMPI object allocation
              events.
      
              * java/lang/natThread.cc: Include JVMPI headers if necessary.
              (finish_): Generate JVMPI thread end events.
              (run_): Generate JVMPI thread start events.
      	* gnu/gcj/runtime/natFirstThread.cc (run): Call JNI_OnLoad for any
              preloaded JNI library.
              Include JVMPI headers if necessary.
              (run): Generate JVMPI thread start events.
      
              * boehm.cc: Define GC_disable and GC_enable.
      	(_Jv_DisableGC): New function.
              (_Jv_EnableGC): New function.
              (disable_gc_mutex): Declare.
              * nogc.cc (_Jv_DisableGC): New function.
      	(_Jv_EnableGC): New function.
      
              * jni.cc (_Jv_JNI_GetEnv): Handle JVMPI interface requests.
              (_Jv_JVMPI_Interface): Define.
              (jvmpiEnableEvent): New function.
              (_Jv_JNI_Init): Initialize _Jv_JVMPI_Interface.
      
              * include/jvmpi.h: New file.
      
      From-SVN: r32866
      Anthony Green committed
    • c4x.c (c4x_function_arg): Check for void_type_node before checking MUST_PASS_IN_STACK. · 49d1b871
      	* config/c4x/c4x.c (c4x_function_arg): Check for void_type_node
       	before checking MUST_PASS_IN_STACK.
      
      From-SVN: r32865
      Michael Hayes committed
    • Daily bump. · 7a53764d
      From-SVN: r32864
      Jeff Law committed
    • cppexp.c: New FINISHED dummy token. · 4063b943
      	* cppexp.c:  New FINISHED dummy token.  Combine operator initial
      	flags and initial priority into a single constant.  New
      	EQUALITY macro.  New operator flag SHORT_CIRCUIT.
      	(_parse_cpp_expr): Implement new constants.  Take left operand
      	checks out of reduction loop.  Handle SHORT_CIRCUIT.  End of
      	parse indicated by reducing FINISHED token.  Remove new lines
      	from cpp_error messages.
      
      From-SVN: r32863
      Neil Booth committed
    • 2000-04-02 Neil Booth <NeilB@earthling.net> · 93fd8bf7
      	* gcc.dg/cpp-cond.c  New tests.
      	* gcc.dg/cpp-ifparen.c New tests.  Amend existing tests to make
      	accidental success less likely.
      	* gcc.dg/cpp-missingop.c  New tests.
      	* gcc.dg/cpp-missingparen.c  New tests.
      	* gcc.dg/cpp-shift.c  New tests.
      	* gcc.dg/cpp-shortcircuit.c  New tests.
      	* gcc.dg/cpp-unary.c  New tests.
      
      From-SVN: r32862
      Neil Booth committed
    • emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the permanent obstack. · 8dd2076d
      	* emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the
      	permanent obstack.
      
      From-SVN: r32861
      Mark Mitchell committed
  2. 01 Apr, 2000 10 commits
    • cpplib.c: Include symcat.h. · 07aa0b04
      	* cpplib.c: Include symcat.h.  Add 'origin' field to struct
      	directive.  Add origin values to DIRECTIVE_TABLE.  Generate
      	the strings and function names on the fly.  Take the #sccs
      	entry out of the table if SCCS_DIRECTIVE is not defined.
      	(_cpp_handle_directive): Decide if the # was at the beginning
      	of the line here.  Issue -pedantic warnings for extended
      	directives here.  Warn about K+R directives with the #
      	indented, and C89/extended directives with the # not indented,
      	here.
      	(do_import, do_include_next, do_warning, do_ident, do_sccs,
      	do_assert, do_unassert): Don't issue pedantic warning here.
      
      	* cpphash.h: Add CPP_WTRADITIONAL macro.
      	* cpplib.h (struct cpp_options): Rename warn_stringify to
      	warn_traditional; update comments.
      	* cppinit.c (handle_option): Set warn_traditional not
      	warn_stringify.
      	* cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with
      	CPP_WTRADITIONAL (pfile).
      	* cpplex.c (_cpp_lex_token): Don't decide if directives should
      	be ignored in -traditional mode here.
      
      	* cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them
      	to initialize speccase[] and trigraph_map[].  Delete all
      	references to pfile->input_speccase.  Always treat '?' as a
      	special character.  Remove table-initialization code from
      	_cpp_init_input_buffer.
      
      	* cpplib.h (struct cpp_reader): Remove input_speccase field.
      	* cppinit.c (cpp_cleanup): Don't free input_speccase.
      
      From-SVN: r32860
      Zack Weinberg committed
    • Add dg-do tag · 9f47f030
      From-SVN: r32859
      Zack Weinberg committed
    • cpplex.c: Copy ISTABLE macros from cppinit.c... · 46d07497
      	* cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them
      	to initialize speccase[] and trigraph_map[].  Delete all
      	references to pfile->input_speccase.  Always treat '?' as a
      	special character.  Remove table-initialization code from
      	_cpp_init_input_buffer.
      
      	* cpplib.h (struct cpp_reader): Remove input_speccase field.
      	* cppinit.c (cpp_cleanup): Don't free input_speccase.
      
      From-SVN: r32858
      Zack Weinberg committed
    • Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once. · 61098249
      	* Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once.
      	(mostlyclean): Likewise.
      
      	* toplev.c (rtl_dump, jump_opt_dump, etc): Remove.
      	(struct dump_file_info, enum dump_file_index, dump_file): New.
      	(open_dump_file): Take a dump_file_index not a suffix, and a decl
      	not a string.  Clean out file if we havn't yet done so.  Do nothing
      	if the dump isn't enabled.
      	(close_dump_file): Do nothing if the dump isn't open.  Dump
      	graph data if requested.
      	(dump_rtl, clean_dump_file): Remove.
      	(compile_file): Don't clean the dump files.  Only finalize .bp dump
      	if flag_test_coverage or flag_branch_probabilities.  Only finalize
      	.combine dump if optimizing.  Iterate over dump_file to finalize the
      	graph dumps.
      	(rest_of_compilation): Update for open_dump_file/close_dump_file.
      	Convert all uses of dump_rtl.
      	(decode_d_option): Iterate over dump_file to implement 'a' and to
      	locate pass-specific dumps.
      
      From-SVN: r32857
      Richard Henderson committed
    • Daily bump. · 9d26ffb2
      From-SVN: r32856
      Jeff Law committed
    • cppexp.c: Redefine priority constants. · dbac4aff
              * cppexp.c: Redefine priority constants.
              (_cpp_parse_expr): Replace left and right priority scheme with
      	single priority logic.  Move LOGICAL to same place as COMPARE.
      	Remove bogus check for multiple unary +/- operators.
      
      From-SVN: r32855
      Neil Booth committed
    • cppexp.c: (_cpp_parse_expr): Numerical constants are pushed within the switch statement. · 9ee70313
              * cppexp.c: (_cpp_parse_expr): Numerical constants are pushed
              within the switch statement.  Binary operations break out of
              the switch naturally.  '(' tokens handled by forcing
              immediate shift.  ')' handled by forcing immediate reduce to
              the previous '('.  New error messages.
      
      From-SVN: r32854
      Neil Booth committed
    • rs6000.c (print_operand): Don't use %l for 'low part', it's already in use. · 81eace42
      * config/rs6000/rs6000.c (print_operand): Don't use %l for 'low
      part', it's already in use.  Use %K instead.  Add a return at the
      end of what is now %K.
      * config/rs6000/rs6000.md (elf_low): Use %K instead of %l.
      
      From-SVN: r32853
      Geoff Keating committed
    • builtins.c (expand_builtin_apply): Pass proper parameters to allocate_dynamic_stack_space. · 1503a7ec
      	* builtins.c  (expand_builtin_apply):  Pass proper parameters to
      	allocate_dynamic_stack_space.
      	* calls.c (emit_call_1):  Do not adjust stack pointer for SIB,
      	update stack_pointer_delta; do not update arg_size_so_far.
      	(compute_argument_block_size): Use stack_delta instead of
      	stack_pointer_pending and arg_size_so_far.
      	(expand_call): Add sanity checking for stack_pointer_delta;
      	save and restore stack_pointer_delta for SIB, use
      	stack_pointer_delta for alignment; do not update arg_space_so_far.
      	(emit_library_call_value): Use stack_pointer_delta for alignment.
      	(store_one_arg): Do not update arg_space_so_far.
      	* explow.c (adjust_stack, anti_adjust_stack): Update
      	stack_pointer_delta.
      	(allocate_dynamic_stack_space): Add sanity checking for
      	stack_pointer_delta.
      	* expr.c (init_expr, clear_pending_stack_adjust): Clear
      	stack_pointer_delta.
      	(emit_push_insn): Update stack_pointer_delta.
      	* function.h (struct expr_status): Add x_stack_pointer_delta;
      	remove x_arg_space_so_far.
      	(arg_space_so_far): Remove.
      	(stack_pointer_delta): New macro.
      
      From-SVN: r32851
      Jan Hubicka committed
  3. 31 Mar, 2000 9 commits
    • cpplib.h: Merge struct cpp_options into struct cpp_reader. · ae79697b
      	* cpplib.h: Merge struct cpp_options into struct cpp_reader.
      	Reorder struct cpp_options and struct cpp_reader for better
      	packing.  Replace CPP_OPTIONS macro with CPP_OPTION which
      	takes two args.  Change all 'char' flags to 'unsigned char'.
      	Move show_column flag into struct cpp_options.  Don't
      	prototype cpp_options_init.
      	* cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
      	cppinit.c, cpplex.c, cpplib.c:
      	Replace CPP_OPTIONS (pfile)->whatever with
      	CPP_OPTION (pfile, whatever), and likewise for
      	opts = CPP_OPTIONS (pfile); ... opts->whatever;
      
      	* cppinit.c (merge_include_chains): Take a cpp_reader *.
      	Extract CPP_OPTION (pfile, pending) and work with that
      	directly.
      	(cpp_options_init): Delete.
      	(cpp_reader_init): Turn on on-by-default options here.
      	Allocate the pending structure here.
      	(cl_options, enum opt_code): Define these from the same table,
      	kept in a large macro.  Add -fshow-column and -fno-show-column
      	options.
      
      	* cpperror.c (v_message): If show_column is off, don't print
      	the column number.
      
      	* cppmain.c: Update for new interface.
      	* fix-header.c: Likewise.
      
      From-SVN: r32850
      Zack Weinberg committed
    • t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new definition. · 7bde2862
      * config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new
      definition.
      * Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that
      are passed to any invocation of AR_FOR_TARGET.
      (AR_CREATE_FOR_TARGET): New macro.
      (AR_EXTRACT_FOR_TARGET): New macro.
      (ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET,
      AR_EXTRACT_FOR_TARGET.
      (many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET
      in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and
      `$(AR_FOR_TARGET) x'.  Pass AR_CREATE_FOR_TARGET and
      AR_EXTRACT_FOR_TARGET to sub-makes.
      
      From-SVN: r32849
      Geoff Keating committed
    • cppexp.c: Delete SKIP_OPERAND. · eba30526
      	* cppexp.c: Delete SKIP_OPERAND.  Correct priority
      	PAREN_INNER_PRIO.
      	(_cpp_parse_expr): Check for multiple unary +/- operators.
      	Correct priorities of ':' and '?'.  Treat ')' as having a
      	value.	Ensure conditional expression is not void.
      
      From-SVN: r32848
      Neil Booth committed
    • alias.c (canon_rtx): Make it global. · db048faf
      	* alias.c (canon_rtx): Make it global.
      	(rtx_equal_for_memref_p): CONST_INT equality is now pointer
      	equality.
      	* cse.c (struct table_elt): Add canon_exp.
      	(insert): Clear it.
      	(invalidate): Canonicalize expressions only once.
      	* rtl.h (canon_rtx): Declare.
      
      From-SVN: r32845
      Mark Mitchell committed
    • Makefile.in (emit-rtl.o): Depend on HASHTAB_H. · c13e8210
      	* Makefile.in (emit-rtl.o): Depend on HASHTAB_H.
      	* alias.c (reg_known_value): Add comments.
      	(init_alias_analysis): Likewise.
      	* cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same
      	address.
      	(cse_basic_block): Fix typo in comment.
      	* emit-rtl.c: Include hashtab.h.
      	(const_int_htab): New variable.
      	(const_int_htab_hash): New function.
      	(const_int_htab_eq): Likewise.
      	(rtx_htab_mark_1): Likewise.
      	(rtx_htab_mark): Likewise.
      	(gen_rtx_CONST_INT): Cache all CONST_INTs.
      	(unshare_all_rtx): Fix formatting.
      	(init_emit_once): Initialize const_int_htab.
      	* rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same
      	address.
      	* rtl.texi: Document the fact that all CONST_INTs with the same
      	value are shared.
      
      From-SVN: r32844
      Mark Mitchell committed
    • Daily bump. · cca8e0ff
      From-SVN: r32843
      Jeff Law committed
    • hashtab.h (hashval_t): New type. · b13eb66b
      	* hashtab.h (hashval_t): New type.
      	(htab_find_with_hash): Use it as an argument.
      	(htab_find_slot_with_hash): Likewise.
      
      	* hashtab.c (find_empty_slot_for_expand): Use hashval_t for hash
      	codes.
      	(htab_find_with_hash): Likewise.
      	(htab_find_slot_with_hash): Likewise.
      
      From-SVN: r32842
      Mark Mitchell committed
    • * alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits. · d68894a1
      From-SVN: r32841
      Richard Henderson committed
    • c-parse.in (cast_expr): Move change from March 21 into c-parse.in since it is… · 64463c2a
      c-parse.in (cast_expr): Move change from March 21 into c-parse.in since it is used to generate c-parse.y.
      
              * c-parse.in (cast_expr): Move change from March 21 into c-parse.in
              since it is used to generate c-parse.y.
              * objc-parse.c, objc-parse.y: Regenerated.
      
      From-SVN: r32840
      Jeffrey A Law committed
  4. 30 Mar, 2000 15 commits
    • expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000 patch missing hunk. · 64ea4a5e
      Thu Mar 30 15:26:56 2000  Alexandre Petit-Bianco  <apbianco@dcygnus.com>
      
      	* expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000
      	patch missing hunk. Fixed indentation.
      
      From-SVN: r32839
      Alexandre Petit-Bianco committed
    • configure.in: Comment out --enable-c-cpplib stanza. · 694f020b
      	* configure.in: Comment out --enable-c-cpplib stanza.
      	* configure: Regenerate.
      
      From-SVN: r32838
      Zack Weinberg committed
    • expr.c (store_constructor): Properly compute displacement and alignment when offset is variable. · 7fa96708
      	* expr.c (store_constructor): Properly compute displacement and
      	alignment when offset is variable.
      
      From-SVN: r32837
      Richard Kenner committed
    • expmed.c (store_bit_field, [...]): Fix more cases of alignment in bytes. · 0e805f81
      	* expmed.c (store_bit_field, store_fixed_bit_field): Fix more
      	cases of alignment in bytes.
      
      From-SVN: r32836
      Richard Kenner committed
    • function.c (expand_function_end): Pass alignment argument to emit_block_move in bits, not bytes. · 744bfbfa
              * function.c (expand_function_end): Pass alignment argument to
              emit_block_move in bits, not bytes.
      
      From-SVN: r32835
      Jeffrey A Law committed
    • gjavah.c (D_NAN_MASK): Only define as word-reversed when HOST_FLOAT_WORDS_BIG_ENDIAN and... · 05411ecf
      	* gjavah.c (D_NAN_MASK): Only define as word-reversed when
      	HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree.
      
      From-SVN: r32832
      Tom Tromey committed
    • expr.c (move_by_pieces_ninsns): Fix one more missing align correction. · 14c78e9b
      	* expr.c (move_by_pieces_ninsns): Fix one more missing align
      	correction.
      
      From-SVN: r32831
      Richard Kenner committed
    • calls.c (expand_call): Pass bit alignment to mark_reg_pointer. · bdb429a5
      	* calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
      	* explow.c (memory_address, allocate_dynamic_stack_space): Likewise.
      	* function.c (assign_parms): Likewise.
      	* integrate.c (expand_inline_function): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	(copy_rtx_and_substitute): Likewise.
      	* expr.c (expand_expr, expand_expr_unaligned): Likewise.
       	(clear_by_pieces): Fix error in last change.
      	* emit-rtl.c (init_emit): Set known registers alignment in bits.
      	* function.h (regno_pointer_align): Now unsigned.
      	* config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN
      	is in bits.
      	* config/i386/i386.c (aligned_operand): Likewise.
      	* config/sparc/sparc.c (mem_min_alignment): Likewise.
      	* config/alpha/alpha.c (aligned_memory_operand): Likewise.
      	(unaligned_memory_operand): Likewise.
      	(alpha_expand_block_move, alpha_expand_block_clear): Likewise.
      	Also make alignments and sizes unsigned and some whitespace cleanup.
      	(alpha_va_start): Do nothing if VALIST's type is error_mark_node.
      
      From-SVN: r32829
      Richard Kenner committed
    • rtti.c (class_hint_flags): Rename flags. · 068feaa9
      	* rtti.c (class_hint_flags): Rename flags.
      	(class_initializer): Remove flags.
      	(synthesize_tinfo_var): Combine offset and flags. Add flags
      	for __vmi_class_type_info.
      	(create_tinfo_types): Remove flags from __class_type_info and
      	__si_class_type_info. Merge flags and offset from
      	base_class_type_info.
      	* inc/cxxabi.h (__base_class_info): Merge offset and vmi_flags.
      	(__base_class_info::is_virtual_p): Adjust.
      	(__base_class_info::is_public_p): Adjust.
      	(__base_class_info::offset): New accessor.
      	(__class_type_info::details): Remove member.
      	(__class_type_info::__class_type_info): Lose details.
      	(__class_type_info::detail_masks): Remove.
      	(__si_class_type_info::__si_class_type_info): Lose details.
      	(__vmi_class_type_info::details): New member.
      	(__vmi_class_type_info::__vmi_class_type_info): Adjust.
      	(__vmi_class_type_info::detail_masks): New member.
      	* tinfo.cc (__class_type_info::do_upcast): Initialize result
      	with unknown_details_mask.
      	(__vmi_class_type_info::do_find_public_src): Adjust
      	(__vmi_class_type_info::do_dyncast): Adjust.
      	(__vmi_class_type_info::do_upcast): Set result details, if
      	needed. Adjust.
      	(__dynamic_cast): Temporarily #if out optimization.
      
      From-SVN: r32828
      Nathan Sidwell committed
    • builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst. · 19caa751
      	* builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst.
      	(expand_builtin_apply): Pass alignment to emit_block_move in bits.
      	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
      	(expand_builtin_memset): Likewise, but to clear_storage.
      	* calls.c (save_fixed_argument_area): Likewise, to move_by_pieces.
      	(restore_fixed_argument_area): Likewise.
      	(store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field.
      	(load_register_parameters): Likewise, to emit_group_load.
      	(expand_call): Likewise, to emit_group_store and emit_block_move.
      	(emit_library_call_value_1): Likewise, to emit_block_move.
      	(store_one_arg): Likewise, and to emit_push_insn.
      	* expmed.c (extract_bit_field): Alignment is in bits, not bytes.
      	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
      	* expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise.
      	(emit_block_move, emit_group_load, emit_group_store): Likewise.
      	(clear_by_pieces, clear_storage, emit_push_insn): Likewise.
      	(expand_assigment, store_expr, store_constructor_field): Likewise.
      	(expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise.
      	(store_constructor, store_field, get_inner_reference): Likewise.
      	Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT.
      	(expand_expr, case COMPONENT_REF): Likewise.
      	(copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes
      	and positions; reindent code.
      	* expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned.
      	* function.c (purge_addressof_1): Pass bit align to store_bit_field.
      	(assign_parms): Likewise to emit_group_store.
      	* optbas.c (prepare_cmp_insn): Alignment is in bits.
      	(emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned.
      	* stmt.c (expand_value_return): Pass align in bits to emit_group_load.
      	(expand_return): Likewise to {extract,store}_bit_field.
      	* stor-layout.c (get_mode_alignment): Minor cleanup.
      	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits.
      	* config/sh/sh.h (MOVE_BY_PIECES_P): Likewise.
      	* ch/expr.c (chill_expand_expr): Pass bit alignment to emit_block_move.
      
      From-SVN: r32827
      Richard Kenner committed
    • Daily bump. · 2dc4d9f0
      From-SVN: r32826
      Jeff Law committed
    • cppinit.c (cpp_start_read): Call initialize_dependency_output only after reading… · 4b3fe5b6
      cppinit.c (cpp_start_read): Call initialize_dependency_output only after reading in the primary source file.
      
      	* cppinit.c (cpp_start_read): Call initialize_dependency_output
      	only after reading in the primary source file.
      
      From-SVN: r32825
      Zack Weinberg committed
    • * i386/djgpp.h: Remove extraneous "+". · 1f73a8c9
      From-SVN: r32824
      Jeffrey A Law committed