1. 30 Mar, 2000 7 commits
    • 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
    • * configure.in: -linux-gnu*, not -linux-gnu. · ad242caf
      From-SVN: r32823
      Jason Merrill committed
    • * POTFILES.in: Remove config/rs6000/cygwin.h · 776e256d
      From-SVN: r32822
      Philipp Thomas committed
    • c-common.c (c_common_nodes_and_builtins): The first parameter to… · 9f720c3e
      c-common.c (c_common_nodes_and_builtins): The first parameter to __builtin_va_start and __builtin_va_copy is now either a...
      
      * c-common.c (c_common_nodes_and_builtins): The first parameter to
      __builtin_va_start and __builtin_va_copy is now either a 'va_list'
      or a reference to a va_list.
      * builtins.c (stabilize_va_list): Simplify now we don't have to
      work around C array address decay.
      * c-typeck.c (convert_for_assignment): Handle assignment to
      a reference parameter by taking the address of the RHS.
      * ginclude/stdarg.h (va_start): Don't take address of first parameter.
      (va_copy): Likewise.
      (__va_copy): Likewise.
      * ginclude/varargs.h (va_start): Likewise.
      (__va_copy): Likewise.
      
      From-SVN: r32821
      Geoff Keating committed
  2. 29 Mar, 2000 26 commits
  3. 28 Mar, 2000 7 commits
    • parse-scan.y (pop_class_context): Reset `inner_qualifier_length' when negative… · acbedd7c
      parse-scan.y (pop_class_context): Reset `inner_qualifier_length' when negative *before* using it as an array index.
      
      2000-03-28  Alexandre Petit-Bianco  <apbianco@cygnus.com>
      
      	* parse-scan.y (pop_class_context): Reset `inner_qualifier_length'
      	when negative *before* using it as an array index.
      	* ChangeLog: Fixed typo.
      
      (Fixes the following bogus patch:
       http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00937.html)
      
      From-SVN: r32793
      Alexandre Petit-Bianco committed
    • cppfiles.c (hash_IHASH): Just return i->hash. · 29a72a4f
      2000-03-28  Zack Weinberg  <zack@wolery.cumb.org>
      
      	* cppfiles.c (hash_IHASH): Just return i->hash.
      	(cpp_included): Set dummy.hash using _cpp_calc_hash.  Use
      	htab_find_with_hash.
      	(cpp_read_file): Likewise.
      	(find_include_file): Likewise.  Properly initialize
      	ih->nshort.  Share ih->name and ih->nshort if possible.
      	* cpphash.c (_cpp_calc_hash): New function.
      	(hash_HASHNODE): Just return h->hash.
      	(_cpp_lookup): Set dummy.hash using _cpp_calc_hash.  Use
      	htab_find_with_hash.
      	* cpphash.h: Prototype _cpp_calc_hash.
      	* cppinit.c (initialize_builtins): Provide a valid hash
      	to _cpp_make_hashnode, using _cpp_calc_hash.
      
      	* cpphash.c (collect_expansion): # is not a special character
      	in object-like macros.  In -traditional mode, /**/ is not
      	token paste at the beginning or end of the line.
      	* cpplib.c (do_include, do_import, do_include_next): If
      	parse_include fails, return immediately.
      
      From-SVN: r32792
      Zack Weinberg committed
    • sibcall.c (indentify_call_return_value): Find last call in the chain; Allow… · 1e9d75e8
      sibcall.c (indentify_call_return_value): Find last call in the chain; Allow stack adjustment after function call.
      
              * sibcall.c (indentify_call_return_value): Find last call in the chain;
              Allow stack adjustment after function call.
      
      From-SVN: r32791
      Jan Hubicka committed
    • com.c (ffecom_decl_field): Use DECL_ALIGN for a FIELD_DECL. · 8ba77681
      	* com.c (ffecom_decl_field): Use DECL_ALIGN for a FIELD_DECL.
      	(ffecom_init_0): Likewise.
      
      From-SVN: r32790
      Franz Sirl committed
    • Fix thinko in original version · 93ba21a6
      From-SVN: r32789
      Zack Weinberg committed
    • arm.md (return peepholes): Update to reflect the new call insn patterns. · 46406379
              * config/arm/arm.md (return peepholes): Update to reflect the new
              call insn patterns.
              * config/arm/arm.c (arm_volatile_func): Also check
              current_function_nothrow.
              (output_return_instruction, output_func_prologue): Use it.
              (arm_output_epilogue, arm_expand_prologue): Likewise.
      
      From-SVN: r32788
      Jason Merrill committed
    • Put RTTI entries at negative offsets in new ABI. · da3d4dfa
      	* class.c (dfs_build_vbase_offset_vtbl_entries): Put the first
      	vbase offset at index -3, not -1.
      	(build_vtabe_offset_vtbl_entries): Use unmarked_vtable_pathp, not
      	dfs_vtable_path_unmarked_real_bases_queue_p to walk bases.
      	(dfs_build_vcall_offset_vtbl_entries): Don't use skip_rtti_stuff.
      	(build_rtti_vtbl_entries): New function.
      	(set_rtti_entry): Remove.
      	(build_primary_vtable): Don't use it.
      	(build_secondary_vtable): Likewise.
      	(start_vtable): Remove.
      	(first_vfun_index): New function.
      	(set_vindex): Likewise.
      	(add_virtual_function): Don't call start_vtable.  Do call
      	set_vindex.
      	(set_primary_base): Rename parameter.
      	(determine_primary_base): Likewise.
      	(num_vfun_entries): Don't use skip_rtti_stuff.
      	(num_extra_vtbl_entries): Include RTTI information.
      	(build_vtbl_initializer): Use build_rtti_vtbl_entries.
      	(skip_rtti_stuff): Remove.
      	(dfs_modify_vtables): Don't use it.
      	(modify_all_vtables): Don't use start_vtable.  Do use set_vindex.
      	(layout_nonempty_base_or_field): Update size handling.
      	(create_vtable_ptr): Tweak.
      	(layout_class_type): Adjust parameter names.
      	(finish_struct_1): Simplify.
      	* cp-tree.h (CLASSTYPE_VSIZE): Tweak documentation.
      	(skip_rtti_stuff): Remove.
      	(first_vfun_index): New function.
      	(dfs_vtable_path_unmarked_real_bases_queue_p): Remove.
      	(dfs_vtable_path_marked_real_bases_queue_p): Remove.
      	(marked_vtable_pathp): Declare.
      	(unmarked_vtable_pathp): Likewise.
      	* error.c (dump_expr): Use first_vfun_index to calculate vtable
      	offsets.
      	* rtti.c (build_headof): Look for RTTI at negative offsets.
      	(get_tinfo_decl_dynamic): Likewise.
      	(tinfo_base_init): Don't take the address of the TINFO_VTABLE_DECL
      	here.
      	(create_pseudo_type_info): Do it here instead.  Adjust so that
      	vptr points at first virtual function.
      	* search.c (marked_vtable_pathp): Make it global.
      	(unmarked_vtable_pathp): Likewise.
      	(dfs_vtable_path_unmarked_real_bases_queue_p): Remove.
      	(dfs_vtable_path_marked_real_bases_queue_p): Likewise.
      	(dfs_get_pure_virtuals): Don't use skip_rtti_stuff.
      	(get_pure_virtuals): Likewise.
      	(expand_upcast_fixups): Likewise.
      	* tree.c (debug_binfo): Likewise.
      	* tinfo.cc (__dynamic_cast): Look for vtable_prefix at appropriate
      	negative offset.
      
      From-SVN: r32787
      Mark Mitchell committed