* 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.
From-SVN: r22345
* 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.
From-SVN: r22344
* 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.
From-SVN: r22343
* 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.
From-SVN: r22342
1998-09-08 Dave Love <d.love@dl.ac.uk>
* g77.f-torture/execute/u77-test.f (main): New file, somewhat
altered from libf2c/libU77 version.
From-SVN: r22333
* 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}.
From-SVN: r22329
* pt.c (process_partial_specialization): Consistantly allocate
and zero tpd.parms based on ntparms. Use tpd2.parms, not
tpd.parms, where appropriate.
Co-Authored-By: Mark Mitchell <mark@markmitchell.com>
From-SVN: r22325
* 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.
From-SVN: r22322
* 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.
From-SVN: r22314
* 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.
From-SVN: r22304
From Toon to fix spurious recursive i/o errors:
* libI77/sfe.c (e_wdfe): Set f__init.
* libI77/dfe.c (c_dfe): Check and set f__init.
(s_rdfe, s_wdfe): Don't check and set f__init.
From-SVN: r22294
* Makefile.in (toplev.o): Depend on $(EXPR_H).
(insn-extract.o, insn-attrtab.o): Depend on toplev.h.
* gansidecl.h: Define ATTRIBUTE_NORETURN.
* genattrtab.c: Have insn-attrtab.c include toplev.h.
* genextract.c: Have insn-extract.c include toplev.h.
* rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
* toplev.c: Include expr.h.
(really_sorry, fancy_abort): Remove prototypes.
(set_target_switch): Add argument in prototype.
(vfatal): Mark prototype with ATTRIBUTE_NORETURN.
(v_really_sorry): Likewise.
(print_version, print_single_switch, print_switch_values): Make
static and add prototype arguments.
(decl_printable_name): Add prototype arguments.
(lang_expand_expr_t): New typedef.
(lang_expand_expr): Declare as a lang_expand_expr_t.
(incomplete_decl_finalize_hook): Add prototype argument.
(decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
(botch): Likewise for variable `s'.
(rest_of_type_compilation): Mark variables `type' and `toplev'
with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
(display_help): Make variable `i' an `unsigned long'.
(main): Remove unused parameter `envp'.
Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
Cast -1 when comparing it with a `size_t'.
* toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
prototype with ATTRIBUTE_NORETURN.
(fatal_insn_not_found, fatal_insn, really_sorry,
push_float_handler, pop_float_handler): Add prototypes.
(fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
(do_abort, botch): Add prototypes.
From-SVN: r22293
(
* final.c (final): If a label is reached only from a single jump,
call NOTICE_UPDATE_CC on the jump and its predecessor before
emitting the insn after the label.
* i386.h: Add AMD K6 support.
Change TARGET_* macros to use table lookup.
(INITIALIZE_TRAMPOLINE): Improve trampoline code.
(ADJUST_COST): Change definition to call function in i386.c.
(ISSUE_RATE): Define as 2 for anything newer than an 80486.
* i386.c: Add AMD K6 support.
Add constants for feature tests used by TARGET_* macros.
(split_di): If before reload, call gen_lowpart and gen_highpart.
(x86_adjust_cost): New function.
(put_jump_code): New function.
(print_operand): New codes 'D' and 'd'.
* i386.md: New insn types. New insn attribute "memory".
Redefine scheduling parameters to use new types and add AMD K6
support. Explicitly set type of most insns.
(move insns): K6 prefers movl $0,reg to xorl reg,reg. Pentium
Pro and K6 prefer movl $1,reg to incl reg.
(adddi3, subdi3): Set cc_status.
(DImode shift patterns): Change label counters from HOST_WIDE_INT
to int; x86 can't have more than 2^31 DImode shifts per file.
(setcc): Combine all setcc patterns. Allow writing memory.
Combine all jump patterns using match_operator.
(*bzero): Name pattern. Emit mutliple stos instructions when that
is faster than rep stos.
(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
add define_split.
* ch/Make-lang.in: Comment ^L characters. Sun make doesn't like them.
From-SVN: r22292
�
* final.c (final): If a label is reached only from a single jump,
call NOTICE_UPDATE_CC on the jump and its predecessor before
emitting the insn after the label.
* i386.h: Add AMD K6 support.
Change TARGET_* macros to use table lookup.
(INITIALIZE_TRAMPOLINE): Improve trampoline code.
(ADJUST_COST): Change definition to call function in i386.c.
(ISSUE_RATE): Define as 2 for anything newer than an 80486.
* i386.c: Add AMD K6 support.
Add constants for feature tests used by TARGET_* macros.
(split_di): If before reload, call gen_lowpart and gen_highpart.
(x86_adjust_cost): New function.
(put_jump_code): New function.
(print_operand): New codes 'D' and 'd'.
* i386.md: New insn types. New insn attribute "memory".
Redefine scheduling parameters to use new types and add AMD K6
support. Explicitly set type of most insns.
(move insns): K6 prefers movl $0,reg to xorl reg,reg. Pentium
Pro and K6 prefer movl $1,reg to incl reg.
(adddi3, subdi3): Set cc_status.
(DImode shift patterns): Change label counters from HOST_WIDE_INT
to int; x86 can't have more than 2^31 DImode shifts per file.
(setcc): Combine all setcc patterns. Allow writing memory.
Combine all jump patterns using match_operator.
(*bzero): Name pattern. Emit mutliple stos instructions when that
is faster than rep stos.
(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
add define_split.
* ch/Make-lang.in: Comment ^L characters. Sun make doesn't like them.
From-SVN: r22291
d
* final.c (final): If a label is reached only from a single jump,
call NOTICE_UPDATE_CC on the jump and its predecessor before
emitting the insn after the label.
* i386.h: Add AMD K6 support.
Change TARGET_* macros to use table lookup.
(INITIALIZE_TRAMPOLINE): Improve trampoline code.
(ADJUST_COST): Change definition to call function in i386.c.
(ISSUE_RATE): Define as 2 for anything newer than an 80486.
* i386.c: Add AMD K6 support.
Add constants for feature tests used by TARGET_* macros.
(split_di): If before reload, call gen_lowpart and gen_highpart.
(x86_adjust_cost): New function.
(put_jump_code): New function.
(print_operand): New codes 'D' and 'd'.
* i386.md: New insn types. New insn attribute "memory".
Redefine scheduling parameters to use new types and add AMD K6
support. Explicitly set type of most insns.
(move insns): K6 prefers movl $0,reg to xorl reg,reg. Pentium
Pro and K6 prefer movl $1,reg to incl reg.
(adddi3, subdi3): Set cc_status.
(DImode shift patterns): Change label counters from HOST_WIDE_INT
to int; x86 can't have more than 2^31 DImode shifts per file.
(setcc): Combine all setcc patterns. Allow writing memory.
Combine all jump patterns using match_operator.
(*bzero): Name pattern. Emit mutliple stos instructions when that
is faster than rep stos.
(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
add define_split.
* ch/Make-lang.in: Comment ^L characters. Sun make doesn't like them.
From-SVN: r22290