1. 25 May, 2000 24 commits
    • Jan Hubicka <jh@suse.cz> · 742dff15
              * jump.c (invert_exp_1): Remove first argument, use pc_set
              to get the expression.
              (redirect_exp): Make static; redirect only the pc_set expression,
              remove first argument.
              (invert_exp): Remove first argument, make static.
              (jump_optimize): Use any_condjump_p, any_uncondjump_p and
              any_onlyjump at most places where we originaly did condjump_p
              and simplejump_p.
              (jump_back_p, follow_jumps, thread_jumps): Likewise.
              (delete_barrier_succesors): Use pc_set.
              (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
              calls of invert_exp and redirect_exp.
              * rtl.h (redirect_exp, invert_exp): Remove.
              * unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
      
      From-SVN: r34171
      Jan Hubicka committed
    • except.c (func_eh_entry): Add emitted field. · ce152ef8
      2000-05-25  Andrew MacLeod  <amacleod@cygnus.com>
                  Andrew Haley  <aph@cygnus.com>
      
      	* except.c  (func_eh_entry): Add emitted field.
      	(new_eh_region_entry): Set emitted field to 0;
      	(output_exception_table_entry): Only emit previously un-emitted data,
      	and send it to the eh_data section.
      	(output_exception_table): Break out common parts. Output
      	exception table for entire compilation unit to eh_data section.
      	(output_exception_table_data): Common parts of output_exception_table.
      	Send output to eh_data section.
      	(output_function_exception_table): Output exception table data for
      	a single function to eh_data section.
      	(free_exception_table): New external to free the table.
      	* except.h (free_exception_table): Add prototype.
      	(output_function_exception_table): Add prototype.
      	* final.c (final_end_function): Output function exception table
      	for IA64_UNWIND_INFO.
      	(final_scan_insn): Emit any unwind directives for an insn.
      
      	* frame-dwarf2.c: New file containing all DWARF 2 specific code
      	from frame.c.
      	* frame.c: Remove all DWARF 2 specific code.
      	* config/ia64/frame-ia64.c: New file.
      	(gthread_stuff): Make all gthread available with
      	IA64_UNWIND_INFO.
      	(dwarf_fde): Define an IA64 struct for dwarf_fde.
      	(__register_frame_info, __register_frame): Move to common area of file.
      	(__register_frame_info_table, __register_frame_table): Move to common i
      	area.
      	(__deregister_frame_info, __deregister_frame): Move to common area.
      	(__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
      	(read_uleb128): New version for ia64.
      	(get_unwind_record): Read the next IA-64 unwind record.
      	(read_R_record): Read a region header record.
      	(process_a_b_reg_code): X record helper.
      	(read_X_record): Read an X format record.
      	(read_B_record): Read a B format record.
      	(P3_record_types): List of record types matching the P3 format.
      	(P7_record_types): List of record types matching the P7 format.
      	(P8_record_types): List of record types matching the P8 format.
      	(read_P_record): Read a P format record.
      	(init_ia64_reg_loc): Set default fields for a register.
      	(init_ia64_unwind_frame): Set defaults for all register records.
      	(execute_one_ia64_descriptor): Execute one descriptor record.
      	(rse_address_add): Calculate the position of a local reg in memory.
      	(normalize_reg_loc): Turn a location descriptor into a memory address.
      	(maybe_normalize_reg_loc): Only normalize a descriptor if it falls
      	within a specified PC offset range.
      	(get_real_reg_value): Given a register location, retrieve its value.
      	(set_real_reg_value): Change the value of a register location.
      	(copy_reg_value): Copy reg values, if needed.
      	(copy_saved_reg_state): Copy all registers that need to be copied.
      	(process_state_between): Normalize all frame register records that
      	fall within the specified PC range.
      	(frame_translate): Take a processed frame description, and turn
      	everything into addresses.
      	(build_ia64_frame_state ): Find and create frame state record for a PC.
      	(get_personality): Get the personality routine for a given frame.
      	(get_except_table): Get the exception table for a given frame.
      	(record_name): Unwind record names for debugging.
      	(print_record): Print and unwind record.
      	(print_all_records): Print an entire unwind image.
      	(__ia64_backtrace): Print a backtrace.
      	(ia64_backtrace_helper): New function.
      	(__register_frame_info_aux): New function.
      	* config/ia64/crtend.asm (__do_frame_setup_aux): New function.
      
      	* frame.h (enum unw_record_type): New unwind record types.
      	(struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
      	(struct unw_r_record, unwind_record): New unwind record structs.
      	(struct unwind_info_ptr): Unwind information layout.
      	(IA64_UNW_LOC_TYPE_*): Macros for different types for location
      	descriptors.
      	(struct ia64_reg_loc): Register location description.
      	(struct ia64_frame_state): Location of all registers in a frame.
      	(struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
      	* libgcc2.c (__ia64_personality_v1): Personality routine.
      	(__calc_caller_bsp): Calculate the bsp register for the caller's
      	frame.
      	(ia64_throw_helper): Figure out who to return to and set up the
      	registers.
      	(__throw): Throw routine.
      
      	* output.h (assemble_eh_align, assemble_eh_label): New functions
      	to generate EH info where we want it.
      	(assemble_eh_integer): New function.
      	* toplev.c (compile_file): Output module level exception table for
      	non-ia64 targets.
      	(main): Set exceptions_via_longjump and flag_new_exceptions based
      	on IA64_UNWIND_INFO too.
      
      	* varasm.c (assemble_eh_label): Generate a label via
      	ASM_OUTPUT_EH_LABEL if it has been specified.
      	(assemble_eh_align): Generate an alignment directive via
      	ASM_OUTPUT_EH_ALIGN if it has been specified.
      	(assemble_eh_label): Generate an integer value via
      	ASM_OUTPUT_EH_type if they have been specified.
      	* config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
      	(ia64_init_builtins): Add __builtin_ia64_bsp
      	and __builtin_ia64_flushrs.
      	(ia64_expand_builtin): Add IA64_BUILTIN_BSP and
      	IA64_BUILTIN_FLUSHRS.
      	* config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
      	IA64_BUILTIN_FLUSHRS.
      
      	* config/ia64/ia64.md (flushrs): New insn to flush the register
      	stack.  Add to unspec list.
      
      	* config/ia64/crtbegin.asm (frame_object): Change size.
      	(__do_frame_setup_aux): New function.
      	* config/ia64/crtend.asm: call __do_frame_setup_aux.
      	* config/ia64/t-ia64 (LIB2ADDEH): Add.
      	* Makefile.in (LIB2ADDEH): Add.
      	(LIB2ADD): Use LIB2ADDEH.
      
      Co-Authored-By: Andrew Haley <aph@cygnus.com>
      
      From-SVN: r34169
      Andrew MacLeod committed
    • inclosure: Change to... · c66265e4
      
      2000-05-25  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>
      
      	* inclosure: Change to...
      	* mkinclosure: This.
      	Fix paths to bash.
      	* mkcshadow: Fix paths to bash.
      
      	* src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
      	* src/Makefile.in: Regnerate.
      	* acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
      	(GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
      	* aclocal.m4: Regenerate.
      	* mkcheck.in (INC_PATH): Tweak.
      
      	* configure.in: Enable long long by default.
      	* configure: Regenerate.
      
      	* mkcheck.in (LIB_PATH): Revert.
      
      From-SVN: r34168
      Benjamin Kosnik committed
    • inclosure: Change to... · 39e09fba
      
      2000-05-25  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>
      
      	* inclosure: Change to...
      	* mkinclosure: This.
      	Fix paths to bash.
      	* mkcshadow: Fix paths to bash.
      
      	* src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
      	* src/Makefile.in: Regnerate.
      	* acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
      	(GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
      	* aclocal.m4: Regenerate.
      	* mkcheck.in (INC_PATH): Tweak.
      
      	* configure.in: Enable long long by default.
      	* configure: Regenerate.
      
      	* mkcheck.in (LIB_PATH): Revert.
      
      From-SVN: r34167
      Benjamin Kosnik committed
    • inclosure: Change to... · 5b80666b
      
      2000-05-25  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>
      
      	* inclosure: Change to...
      	* mkinclosure: This.
      	Fix paths to bash.
      	* mkcshadow: Fix paths to bash.
      
      	* src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
      	* src/Makefile.in: Regnerate.
      	* acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
      	(GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
      	* aclocal.m4: Regenerate.
      
      	* configure.in: Enable long long by default.
      	* configure: Regenerate.
      
      	* mkcheck.in (LIB_PATH): Revert.
      
      From-SVN: r34166
      Benjamin Kosnik committed
    • cxxabi.h (__pbase_type_info): Define, based on __pointer_type_info. · e65d7eac
      	* inc/cxxabi.h (__pbase_type_info): Define, based on
      	__pointer_type_info.
      	(__pointer_type_info): Derive from __pbase_type_info. Adjust.
      	(__pointer_to_member_type_info): Likewise.
      	* tinfo2.cc (__pbase_type_info::~__pbase_type_info): Implement.
      	(__pointer_to_member_type_info::__is_pointer_p): Remove.
      	(__pointer_type_info::__do_catch): Rename to ...
      	(__pbase_type_info::__do_catch): ... here. Adjust.
      	(__pbase_type_info::__pointer_catch): Implement.
      	(__pointer_type_info::__pointer_catch): Adjust.
      	(__pointer_to_member_type_info::__pointer_catch): Adjust.
      
      From-SVN: r34165
      Nathan Sidwell committed
    • catch11.C: New test. · bebc2c61
      	* g++.old-deja/g++.eh/catch11.C: New test.
      	* g++.old-deja/g++.eh/catch12.C: New test.
      
      From-SVN: r34164
      Nathan Sidwell committed
    • tinfo.h (__user_type_info::contained_virtual_p): New predicate. · e2e11048
      	* tinfo.h (__user_type_info::contained_virtual_p): New
      	predicate.
      	* tinfo.cc (__user_type_info::do_upcast): Fix bug with diamond
      	shaped heirarchy.
      	(__vmi_class_type_info::__do_upcast): Fix bug with NULL pointer to
      	diamond shaped heirarchy. Add early out for mixed diamond and
      	duplicate shaped heirarchy.
      
      From-SVN: r34163
      Nathan Sidwell committed
    • [multiple changes] · bf93f43b
      
      2000-05-24   Nathan "I don't write ChangeLog Entries" Myers  <ncm@cantrip.org>
      
      	* config/cpu/i486: New directory.
      	* config/cpu/i486/bits: New directory.
      	* config/cpu/i486/bits/atomicity.h: New file.
      	* config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
      	'cmpxchgl' asm.
      	* acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.
      
      2000-05-24  Loren J. Rittle  <ljrittle@acm.org>
      
              * backward/alloc.h (__default_alloc_template): Only expose
                implementation-specific symbol, if it exists in the
                configuration.
              * backward/iostream.h (ends): Expose symbol.
              * backward/strstream.h: New file.
              * backward/stream.h: New file.
              * backward/ostream.h: New file.
              * backward/istream.h: New file.
              * backward/fstream.h: New file.
              * backward/complex.h: New file.
              * backward/iomanip.h: New file.
      
      	* mkcheck.in (LIB_PATH): Add -R bits.
      
      	* math/carg.c (carg): Replace __atan2 with atan2.
      
      From-SVN: r34162
      Benjamin Kosnik committed
    • alloc.h (__default_alloc_template): Only expose implementation-specific symbol,… · 1601a6a0
      alloc.h (__default_alloc_template): Only expose implementation-specific symbol, if it exists in the configuration.
      
      
      2000-05-24  Loren J. Rittle  <ljrittle@acm.org>
      
              * backward/alloc.h (__default_alloc_template): Only expose
                implementation-specific symbol, if it exists in the
                configuration.
              * backward/iostream.h (ends): Expose symbol.
              * backward/strstream.h: New file.
              * backward/stream.h: New file.
              * backward/ostream.h: New file.
              * backward/istream.h: New file.
              * backward/fstream.h: New file.
              * backward/complex.h: New file.
              * backward/iomanip.h: New file.
      
      	* mkcheck.in (LIB_PATH): Add -R bits.
      
      	* math/carg.c (carg): Replace __atan2 with atan2.
      
      From-SVN: r34161
      Loren J. Rittle committed
    • i486: New directory. · 53601625
      
      2000-05-19   Nathan "I don't write ChangeLog Entries" Myers  <ncm@cantrip.org>
      
      	* config/cpu/i486: New directory.
      	* config/cpu/i486/bits: New directory.
      	* config/cpu/i486/bits/atomicity.h: New file.
      	* config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
      	'cmpxchgl' asm.
      	* acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.
      
      From-SVN: r34160
      Nathan C. Myers committed
    • Daily bump. · 3edd645e
      From-SVN: r34159
      Jeff Law committed
    • recog.c (offsettable_address_p): If mode size is zero, assume BIGGEST_ALIGNMENT. · 7bdebc3a
              * recog.c (offsettable_address_p): If mode size is zero, assume
              BIGGEST_ALIGNMENT.
      
      From-SVN: r34158
      Richard Henderson committed
    • Makefile.am (TAGS): Construct. · d94611f1
      
      2000-05-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>
      
      	* Makefile.am (TAGS): Construct.
      	* Makefile.in: Rengerate.
      	* src/Makefile.am: Tweak.
      	* src/Makefile.in: Tweak.
      	* configure.in: Tweak.
      
      	* bits/c++config.h: Rename to ...
      	* bits/c++config: This.
      	* mkc++config: Adjust.
      
      From-SVN: r34157
      Benjamin Kosnik committed
    • configure.in: Check for -Wno-long-long option support and improve handling of warning CFLAGS... · ff5def20
              * configure.in: Check for -Wno-long-long option support and improve
              handling of warning CFLAGS for stages 1 and 2.
              * Makefile.in (WARN_CFLAGS): Move definition to configure.in.
              * configure: Regenerate.
      
      From-SVN: r34156
      J. David Anglin committed
    • Fix minor goofs pointed out by Stan. · 9ea551b2
      From-SVN: r34155
      Jeff Law committed
    • Forgot to commit. · c20a2ab1
      From-SVN: r34154
      Jeff Law committed
    • gcc.texi: Remove contributor list. · 73bb9454
              * gcc.texi: Remove contributor list.  Instead include contrib.texi.
              * contrib.texi: New file.
      
      From-SVN: r34152
      Jeff Law committed
    • revert: loop.h (struct induction): Add multi_insn_incr. · 98d1cd45
      	* Back out this patch:
      	Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
                * loop.h (struct induction): Add multi_insn_incr.
                * loop.c (basic_induction_var): New multi_insn_incr argument.
                Set it if we search back through previous insns for the biv.
                (record_biv): New multi_insn_incr argument; fill in struct induction.
                (strength_reduce): Discard an iv with multiple bivs, any of
                which require multiple insns to increment.
      
      	* loop.c (check_insn_for_bivs): Remove bits copied from above patch.
      
      From-SVN: r34151
      J"orn Rennecke committed
    • rtl.h (loc_mentioned_in_p): Declare. · db7ba742
      	* rtl.h (loc_mentioned_in_p): Declare.
      	* reload.c (loc_mentioned_in_p): Moved from here...
      	* rtlanal.c (loc_mentioned_in_p): to here.  No longer static.
      	Fix loop increment for 'E' handling.
      	* loop.c (strength_reduce): When doing biv->giv conversion,
      	take multi-insn biv increments into account.
      
      From-SVN: r34150
      J"orn Rennecke committed
    • stmt.c (expand_end_bindings): Look through NOTEs to find a BARRIER. · 04da69d3
              * stmt.c (expand_end_bindings): Look through NOTEs to find a
              BARRIER.
      
      From-SVN: r34149
      Jason Merrill committed
    • new · 392b6316
      From-SVN: r34148
      Jason Merrill committed
  2. 24 May, 2000 16 commits