gcse.c: New definition NEVER_SET for reg_first_set...
* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
mem_first_set, mem_last_set; because 0 can be a CUID.
(oprs_unchanged_p): Use new definition.
(record_last_reg_set_info): Likewise.
(record_last_mem_set_info): Likewise.
(compute_hash_table): Likewise.
Jeffrey A Law [Tue, 15 Sep 1998 22:47:10 +0000 (22:47 +0000)]
combine.c (make_extraction): If no mode is specified for an operand of insv...
* combine.c (make_extraction): If no mode is specified for
an operand of insv, extv, or extzv, default it to word_mode.
(simplify_comparison): Similarly.
* expmed.c (store_bit_field): Similarly.
(extract_bit_field): Similarly.
* function.c (fixup_var_regs_1): Similarly.
* recog.c (validate_replace_rtx_1): Similarly.
* mips.md (extv, extzv, insv expanders): Default modes for most
operands. Handle TARGET_64BIT.
(movdi_uld, movdi_usd): New patterns.
Jeffrey A Law [Tue, 15 Sep 1998 22:01:08 +0000 (22:01 +0000)]
pa.c (emit_move_sequence): Do not replace a pseudo with its equivalent memory location unless...
�
* pa.c (emit_move_sequence): Do not replace a pseudo with its
equivalent memory location unless we have been provided a scratch
register. Similarly do not call find_replacement unless a
scratch register has been provided.
Andrew MacLeod [Tue, 15 Sep 1998 11:20:52 +0000 (11:20 +0000)]
[multiple changes]
Tue Sep 15 14:10:54 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
* except.h (struct eh_entry): Add false_label field.
(end_catch_handler): Add prototype.
* except.c (push_eh_entry): Set false_label field to NULL_RTX.
(start_catch_handler): When using old style exceptions, issue
runtime typematch code before continuing with the handler.
(end_catch_handler): New function, generates label after handler
if needed by older style exceptions.
(expand_start_all_catch): No need to check for new style exceptions.
(output_exception_table_entry): Only output the first handler label
for old style exceptions.
* libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
mechanism into one function, if a runtime matcher is provided.
1998-09-15 Andrew MacLeod <amacleod@cygnus.com>
* cp/except.c (expand_start_catch_block): No need to check for new
exception model.
(process_start_catch_block_old): Deleted.
(process_start_catch_block): Add call to start_decl_1().
(expand_end_catch_block): Add call to end_catch_handler().
* cp/exception.cc (__cplus_type_matcher): Only check the exception
language if there is an exception table.
Andrew MacLeod [Tue, 15 Sep 1998 11:03:03 +0000 (11:03 +0000)]
[multiple changes]
Tue Sep 15 13:53:59 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
1998-09-15 Andrew MacLeod <amacleod@cygnus.com>
* cp/search.c (expand_indirect_vtbls_init): Mark temporary stack slots
as used to prevent conflicts with virtual function tables.
* cp-tree.h (lang_type): Add has_non_private_static_mem_fn.
(CLASSTYPE_HAS_NON_PRIVATE_STATIC_MEM_FN): New macro, to access it.
* class.c (maybe_class_too_private_p): New function.
(finish_struct_methods): Use it.
(finish_struct_1): Likewise.
(finish_struct): Set CLASSTYPE_HAS_NON_PRIVATE_STATIC_MEM_FN if
appropriate.
* pt.c (check_specialization_scope): Fix spelling error.
(check_explicit_specialization): Remove code to handle explicit
specializations in class scope; they are now correctly diagnosed
as errors.
David S. Miller [Sun, 13 Sep 1998 20:37:17 +0000 (20:37 +0000)]
We now fully bootstrap on solaris-2.7 sparcv9.
toplevel:
* config.sub: Recognize sparcv9 just like sparc64.
gcc/ChangeLog:
* configure.in: in sparc9-sol2 config, use 'if test' not
brackets.
* configure: Rebuilt.
* config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
CM_MEDANY.
(CPP_CPU_SPEC): Do not define _LP64, header files do this.
(CPP_CPU_DEFAULT_SPEC): Likewise.
* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
for arch64 libfuncs.
gcc/java/ChangeLog:
* jcf-io.c: Include string.h.
libchill/ChangeLog:
* configure.in: Use 'if test' not brackets.
* configure: Rebuilt.
Add support for strsignal, for platforms which have it but don't have sys_siglist (like Solaris 2.7.)
Add support for strsignal, for platforms which have it but don't have
sys_siglist (like Solaris 2.7.)
* acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
* collect2.c: Don't declare `sys_siglist' here.
(my_strsignal): Prototype and define new function. Use it in
place of `sys_siglist' hacks.
* mips_tfile.c: Likewise.
* configure.in (AC_CHECK_FUNCS): Check for strsignal.
(GCC_NEED_DECLARATIONS): Likewise.
* system.h (strsignal): Prototype it, if necessary.
(sys_siglist): Declare it, if necessary.
typedef5.C: check whether typedefs can be redefined to the same non-trivial type
* g++.old-deja/g++.other/typedef5.C: check whether typedefs can be
redefined to the same non-trivial type
* g++.old-deja/g++.pt/explicit73.C: test for proper
namespace-qualification of template specializations declared in
other namespaces
* g++.old-deja/g++.other/friend4.C: check whether it is possible
to declare a subset of the specializations of a template function
as friends of specializations of a template class
* g++.old-deja/g++.pt/explicit71.C: make sure specializations of
member templates that do not fully specialize the enclosing
template class are rejected
Jakub Jelinek [Thu, 10 Sep 1998 22:28:30 +0000 (00:28 +0200)]
configure.in: Add check for GAS subsection -1 support.
* configure.in: Add check for GAS subsection -1 support.
* acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
* configure config.in: Rebuilt.
* config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
SImode is subsection -1 works, else use DImode.
(ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
subsection -1 works.
* config/sparc/sparc.c (sparc_output_addr_vec,
sparc_output_addr_diff_vec): Use them if defined.
Dave Brolley [Thu, 10 Sep 1998 14:56:22 +0000 (14:56 +0000)]
actions.c (chill_convert_for_assignment): Make a copy of the result node before modifying it.
Thu Sep 10 17:52:36 1998 Dave Brolley <brolley@cygnus.com>
* actions.c (chill_convert_for_assignment): Make a copy of the result
node before modifying it.
Jeffrey A Law [Thu, 10 Sep 1998 00:40:19 +0000 (00:40 +0000)]
toplev.c (rest_of_compilation): Open up the dump file for reg-stack before calling reg_to_stack.
* toplev.c (rest_of_compilation): Open up the dump file for reg-stack
before calling reg_to_stack.
So we get the proper debug information in the .stack dump file.
* except.h (current_function_eh_stub_label): Declare.
(current_function_eh_old_stub_label): Declare.
* function.h (struct function): New members eh_stub_label and
eh_old_stub_label.
* except.c (current_function_eh_stub_label): New variable.
(current_function_eh_old_stub_label): New variable.
(init_eh_for_function): Clear them.
(save_eh_status): Save them.
(restore_eh_status): Restore them.
(expand_builtin_eh_stub): Set current_function_eh_stub_label.
(expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
* flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
make an edge from the block that contains it to the block starting
with the label if this label is one of the eh stub labels.
If eh stub labels exist, show they are reachable from the last block
in the function.
Jeffrey A Law [Wed, 9 Sep 1998 21:31:17 +0000 (21:31 +0000)]
pa.c (pa_reorg): New marking scheme for jumps inside switch tables.
* pa.c (pa_reorg): New marking scheme for jumps inside switch
tables.
(pa_adjust_insn_length): Update to work with new marking scheme
for jumps inside switch tables.
* pa.md (switch_jump): Remove pattern.
(jump): Handle jumps inside jump tables.
configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's value...
p
* libio/configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's
value; don't change its value if --enable-version-specific-runtime-libs
has been specified.
* libstdc++/Makefile.in (install): Initialize RELINSTALLDIR correctly
even for multilib and cross configurations.
* libstdc++/configure.in (INSTALLDIR): Don't change INSTALLDIR's init
value if --enable-version-specific-runtime-libs has been specified.
configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's value...
M
* libio/configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's
value; don't change its value if --enable-version-specific-runtime-libs
has been specified.
* libstdc++/Makefile.in (install): Initialize RELINSTALLDIR correctly
even for multilib and cross configurations.
* libstdc++/configure.in (INSTALLDIR): Don't change INSTALLDIR's init
value if --enable-version-specific-runtime-libs has been specified.
configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's value...
* libio/configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's
value; don't change its value if --enable-version-specific-runtime-libs
has been specified.
* libstdc++/Makefile.in (install): Initialize RELINSTALLDIR correctly
even for multilib and cross configurations.
* libstdc++/configure.in (INSTALLDIR): Don't change INSTALLDIR's init
value if --enable-version-specific-runtime-libs has been specified.
configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's value...
�
* libio/configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's
value; don't change its value if --enable-version-specific-runtime-libs
has been specified.
* libstdc++/Makefile.in (install): Initialize RELINSTALLDIR correctly
even for multilib and cross configurations.
* libstdc++/configure.in (INSTALLDIR): Don't change INSTALLDIR's init
value if --enable-version-specific-runtime-libs has been specified.
David S. Miller [Wed, 9 Sep 1998 02:43:28 +0000 (02:43 +0000)]
Add preliminary native sparcv9 Solaris support.
* configure.in: Recognize sparv9-*-solaris2*
* configure: rebuilt
* config.sub: Recognize sparcv9 just like sparc64.
* config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
config/sparc/sol2-cn.asm: Macroize so it can be shared between
32-bit and 64-bit Solaris systems.
* config/sparc/t-sol2: Assemble those with cpp.
* config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
(*TF*_LIBCALL): If ARCH64 use V9 names.
* config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
Jakub Jelinek [Wed, 9 Sep 1998 02:19:08 +0000 (04:19 +0200)]
sparc.h (TARGET_CM_MEDMID): Fix documentation.
* config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
(CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
not doing pic.
(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
Pmode.
* config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
to Pmode if CASE_VECTOR_MODE is something else.
Jason Merrill [Wed, 9 Sep 1998 02:14:55 +0000 (22:14 -0400)]
class.c (get_enclosing_class): New function.
* class.c (get_enclosing_class): New function.
(is_base_of_enclosing_class): Likewise.
* cp-tree.h (get_enclosing_class): Declare.
(is_base_of_enclosing_class): Likewise.
* pt.c (coerce_template_parms): Use them.
* g++spec.c (lang_specific_driver): Check whether MATH_LIBRARY is
null to decide whether to use it.
Jason Merrill [Wed, 9 Sep 1998 00:52:50 +0000 (20:52 -0400)]
error.c (dump_type_real): Handle NAMESPACE_DECL.
* error.c (dump_type_real): Handle NAMESPACE_DECL.
* parse.y (base_class.1): Avoid crash on error.
* decl.c (make_typename_type): If context is a namespace, the code
is in error.