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.
Mark Mitchell [Tue, 8 Sep 1998 11:37:48 +0000 (11:37 +0000)]
cp-tree.h (anonymous_namespace_name): Declare.
* cp-tree.h (anonymous_namespace_name): Declare.
* decl.c: Define it.
(push_namespace): Use anonymous_namespace_name, rather than local
static anon_name.
* error.c (dump_decl): If a namespace is named
anonymous_namespace_name, call it {anonymous}.
John Wehle [Tue, 8 Sep 1998 00:29:35 +0000 (00:29 +0000)]
global.c: Update comments.
* global.c: Update comments.
(global_alloc): Assign allocation-numbers
even for registers allocated by local_alloc in case
they are later spilled and retry_global_alloc is called.
(mark_reg_store, mark_reg_clobber,
mark_reg_conflicts, mark_reg_death): Always record a
conflict with a pseudo register even if it has been
assigned to a hard register.
(dump_conflicts): Don't list pseudo registers already assigned to
a hard register as needing to be allocated, but do list their
conflicts.
* local-alloc.c: Update comment.
* mkstemp.c: Include config.h even when not IN_GCC. Wrap header
inclusions inside HAVE_*_H macros. Include ansidecl.h when not
IN_GCC.
* vasprintf.c: Include stdarg.h/varargs.h first.
* vprintf.c: Likewise.
Mark Mitchell [Sun, 6 Sep 1998 19:45:16 +0000 (19:45 +0000)]
cp-error.def: New file.
* cp-error.def: New file.
* Make-lang.in (cc1plus): Add dependency on it.
* Makefile.in (CXX_TREE_H): Likewise.
* cp-tree.h (error_code): New type.
Include cp-error.def to get error codes. Make it possible to
include cp-tree.h in errfn.c.
(enable_warning): New function.
(flag_diag_codes): New variable.
* errfn.c: Include cp-tree.h.
(cp_err_msg): New type. Include cp-error.def to define it.
(err_msgs): New variable.
(is_warning_enabled): New function.
(cp_thing): Take an error_code, not a format string. Output the
diagnostic code if flag_diag_codes.
(cp_error, cp_compiler_error, cp_sprintf, cp_error_at): Take
error_codes, not format strings.
(cp_warning, cp_pedwarn, cp_warning_at, cp_pedwarn_at): Likewise.
Call is_warning_enabled.
* decl2.c (flag_diag_codes): New variable.
(lang_decode_option): Handle -fdiag-codes and -Wnumber.
* lang-options.h: Add -fdiag-codes, -fno-diag-codes, and
-W-number-, and -Wno-number.
* class.c: Update all calls to error-functions.
* cvt.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* friend.c: Likewise.
* lex.c: Likewise.
* parse.y: Likewise.
* pt.c: Likewise.
* repo.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* semantics.c: Likewise.
* sig.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.
* xref.c: Likewise.