Jason Merrill [Tue, 13 Oct 1998 18:29:36 +0000 (14:29 -0400)]
tinfo2.cc (fast_compare): Remove.
* tinfo2.cc (fast_compare): Remove.
(before): Just use strcmp.
* tinfo.cc (operator==): Just use strcmp.
* decl.c (grokfndecl): Don't check for linkage in `extern "C"'
declarations.
Jim Wilson [Tue, 13 Oct 1998 17:52:36 +0000 (17:52 +0000)]
Fix for m68k -O0 libstdc++ compiler abort.
* config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
check. Add comment to document problems with TARGET_SUN_FPA version
of this macro.
* config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
Kaveh R. Ghazi [Tue, 13 Oct 1998 15:25:25 +0000 (15:25 +0000)]
Warning fixes:
* Makefile.in (gencheck.o): Depend on gansidecl.h.
* c-common.c (print_char_table): Add missing initializers.
(scan_char_table): Likewise.
(time_char_table): Likewise.
* c-decl.c (c_decode_option): Mark parameter `argc' with
ATTRIBUTE_UNUSED.
(declare_parm_level): Mark parameter `definition_flag' with
ATTRIBUTE_UNUSED.
* c-lex.c (readescape): Use `(unsigned)1' in shift.
(yylex): Likewise. Cast `sizeof' to an (int) when comparing
against one.
* calls.c (store_one_arg): Remove unused parameter `fndecl'. All
callers changed.
(emit_call_1): Mark parameters `fndecl' and `funtype' with
ATTRIBUTE_UNUSED.
(expand_call): Cast result of MIN() to (unsigned int) when
comparing against an unsigned value.
* cccp.c (pcfinclude): Remove unused parameter `limit'. All
callers changed.
(make_definition): Remove unused parameter `op'. All callers
changed.
(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
comparing against the result of pointer arithmetic.
* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
when comparing against one.
* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
one.
(output_die): Move variable `i' into the scope in which it is
used. Change its type to `unsigned'.
(output_die): Cast the result of `strlen' to (int) when passing it
to ASM_OUTPUT_ASCII().
(output_pubnames): Likewise.
(output_line_info): Likewise.
* emit-rtl.c (global_rtl): Add missing initializers.
* explow.c (promote_mode): Mark parameter `for_call' with
ATTRIBUTE_UNUSED.
* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
`unsigned HOST_WIDE_INT' when comparing against one.
(synth_mult): Change type of variable `cost' to int.
(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
* expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
when comparing against one.
(get_inner_reference): Change variable `alignment' to unsigned.
(expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
int) when comparing against one.
(expand_builtin_setjmp): Change type of variable `i' to size_t.
* fold-const.c (div_and_round_double): Cast BASE to
(HOST_WIDE_INT) when comparing against one.
* gencheck.c: Include gansidecl.h.
(main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
* optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
`tcode' with ATTRIBUTE_UNUSED.
* real.c (edivm): Cast constant value to (unsigned long) in
expression compared against an unsigned value.
* stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
comparing against one.
(expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
when comparing against one.
* stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
(unsigned int) when comparing against one. Likewise for
GET_MODE_BITSIZE.
(smallest_mode_for_size): Likewise.
(save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
(restore_storage_status): Likewise.
* toplev.c (debug_args): Add missing initializer.
(f_options): Spelling correction. Add missing initializers.
(documented_lang_options): Likewise.
(debug_end_source_file): Mark parameter `lineno' with
ATTRIBUTE_UNUSED.
* tree.c (valid_machine_attribute): Mark parameters `attr_args',
`decl' and `type' with ATTRIBUTE_UNUSED.
* varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
when comparing against one.
(assemble_variable): Mark parameter `top_level' with
ATTRIBUTE_UNUSED.
(assemble_external_libcall): Mark parameter `fun' with
ATTRIBUTE_UNUSED.
(output_constant_pool): Mark parameters `fnname' and `fndecl' with
ATTRIBUTE_UNUSED.
* cp-tree.h (specializations_of_same_template_p): Remove.
* search.c (get_template_base): Don't use it.
(get_template_base_recursive): Likewise.
* pt.c (specializations_of_same_template_p): Remove.
(unify): Don't use it.
(lookup_template_class): Find the correct parent when setting
CLASSTYPE_TI_TEMPLATE.
Tom Tromey [Tue, 13 Oct 1998 11:49:26 +0000 (11:49 +0000)]
jcf-dump.c (process_class): Use FATAL_EXIT_CODE, not -1.
* jcf-dump.c (process_class): Use FATAL_EXIT_CODE, not -1.
(main): Likewise. Exit with SUCCESS_EXIT_CODE at end of
function.
Include <config.h> and "system.h".
(disassemble_method): Undefine RET to avoid clash with
config/i386/i386.h.
expr.c (push_block): Handle targets where the stack grows to higher addresses...
* expr.c (push_block): Handle targets where the stack grows
to higher addresses, but args grow to lower addresses and
ACCUMULATE_OUTGOING_ARGS is not defined.
Dave Love [Tue, 13 Oct 1998 08:51:49 +0000 (08:51 +0000)]
Makefile.in (.SUFFIXES): Don't use any.
1998-10-12 Dave Love <fx@gnu.org>
* Makefile.in (.SUFFIXES): Don't use any.
(all-unilib): New target, like old all.
(all): Use it.
(.PHONY): Add all-unilib.
Michael Hayes [Tue, 13 Oct 1998 03:04:59 +0000 (03:04 +0000)]
c4x.c: Convert to gen_rtx_FOO.
* config/c4x/c4x.c: Convert to gen_rtx_FOO.
Added ATTRIBUTE_UNUSED to unused function arguments.
(rc_reg_operand): New predicate.
(c4x_rptb_insert): New function.
(c4x_rptb_nop_p): Recognize modified rptb_top pattern.
(c4x_optimization_options): New function.
* config/c4x/c4x.md: Convert to gen_rtx_FOO.
(decrement_and_branch_on_count): New pattern.
(rptb_top): Modified pattern to work with BCT optimization.
* config/c4x/c4x.h (RC_REG): New register class.
(rc_reg_operand): Define prototype.
(IS_RC_REG): New macro.
(IS_RC_OR_PSEUDO_REG): New macro.
(IS_RC_OR_PSEUDO_REGNO): New macro.
(OPTIMIZATION_OPTIONS): Define.
Alexandre Oliva [Mon, 12 Oct 1998 11:14:11 +0000 (11:14 +0000)]
Makefile.in (build_tooldir): new variable...
* Makefile.in (build_tooldir): new variable, same as old
$(tooldir), but without depending on $(libdir)/$(unlibsubdir)
(GCC_FOR_TARGET): add -B$(build_tooldir)/bin/
(bootstrap, bootstrap2, bootstrap3, bootstrap4): ditto
* configure.in (gxx_include_dir): set default based on unlibsubdir
* Makefile.in (tooldir): ditto
(cccp.o, cpplib.o): use unlibsubdir implicitly through
gxx_include_dir, includedir and tooldir
(protoize.o, unprotoize.o): ditto
Jeff Law [Mon, 12 Oct 1998 11:11:16 +0000 (05:11 -0600)]
Makefile.in (CHILL_FOR_TARGET): Mirror recent changes to CC_FOR_TARGET and friends.
* Makefile.in (CHILL_FOR_TARGET): Mirror recent changes to
CC_FOR_TARGET and friends.
Mon Oct 12 12:09:30 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
* Makefile.in (build_tooldir): new variable, same as tooldir
(CC_FOR_TARGET, GCC_FOR_TARGET, CXX_FOR_TARGET): add
-B$(build_tooldir)/bin/
(BASE_FLAGS_TO_PASS): pass build_tooldir down
Dave Love [Mon, 12 Oct 1998 11:08:12 +0000 (11:08 +0000)]
Makefile.in (.SUFFIXES): Don't use any.
1998-10-12 Dave Love <fx@gnu.org>
* Makefile.in (.SUFFIXES): Don't use any.
(all-unilib): New target, like old all.
(all): Use it.
(.PHONY): Add all-unilib.
John Wehle [Mon, 12 Oct 1998 10:06:49 +0000 (10:06 +0000)]
flow.c: Update comment.
* flow.c: Update comment.
(notice_stack_pointer_modification): New static function.
(record_volatile_insns): Use it.
(mark_regs_live_at_end): Mark the stack pointer as alive
at the end of the function if current_function_sp_is_unchanging
is set.
(life_analysis_1): Set current_function_sp_is_unchanging.
* function.c: Define it.
(init_function_start): Initialize it.
* output.h: Declare it.
* reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
the stack pointer as alive at the end of the function if
current_function_sp_is_unchanging is set.
* i386.c (ix86_epilogue): Optimize the restoring
of the stack pointer.
Alexandre Oliva [Mon, 12 Oct 1998 09:25:50 +0000 (09:25 +0000)]
instantiate5.C: New test.
* g++.old-deja/g++.pt/instantiate5.C: New test. `global
constructors' name is not unique
* g++.old-deja/g++.pt/instantiate5.cc: ditto
* g++.old-deja/g++.pt/instantiate5-main.cc: ditto
* cp-tree.h (specializations_of_same_template_p): Declare.
* pt.c (specializations_of_same_template_p): New function.
(unify): Use it.
* search.c (get_template_base): Use it.
(get_template_base_recursive): Likewise.
Alexandre Oliva [Sun, 11 Oct 1998 11:12:06 +0000 (11:12 +0000)]
instantiate4.C: New test: -frepo does not generate needed virtual table
* g++.old-deja/g++.pt/instantiate4.C: New test: -frepo does not
generate needed virtual table
* lib/old-dejagnu.exp (old-dejagnu): support `Build then link:'
Zack Weinberg [Sun, 11 Oct 1998 00:05:11 +0000 (00:05 +0000)]
cppexp.c: When forcing unsigned comparisons, cast both sides of the operation.
* cppexp.c: When forcing unsigned comparisons, cast both sides
of the operation.
* cpphash.h: Move static declaration of hashtab[]...
* cpphash.c: ...here.
* cpplib.c: Cast difference of two pointers to size_t before
comparing it to size_t. Cast signed to unsigned
before comparing to size_t. (FIXME: struct argdata should use
unsigned buffer sizes.)
* cpplib.h (struct cpp_reader): Declare token_buffer_size as
unsigned int. (CPP_WRITTEN): Cast return value to size_t.
(CPP_RESERVE): Parenthesize N for evaluation order, cast to
size_t before comparison.
Alexandre Oliva [Sat, 10 Oct 1998 07:51:24 +0000 (07:51 +0000)]
parse3.C: XFAILs, not ERRORs
* g++.old-deja/g++.brendan/parse3.C: XFAILs, not ERRORs
* g++.old-deja/g++.brendan/parse5.C: XFAILs, not ERRORs
* g++.old-deja/g++.brendan/parse6.C: XFAILs, not ERRORs
Alexandre Oliva [Sat, 10 Oct 1998 07:38:29 +0000 (07:38 +0000)]
using5.C: New test; using decl from base class should be usable as argument of member function
* g++.old-deja/g++.other/using5.C: New test; using decl from base
class should be usable as argument of member function
* g++.old-deja/g++.other/using6.C: New test; using decl from base
class should be usable as return type of member function
* g++.old-deja/g++.other/using7.C: New test; using decl from base
class should be usable as type of data member
Kaveh R. Ghazi [Fri, 9 Oct 1998 19:17:54 +0000 (19:17 +0000)]
Warning fixes:
* fp-bit.c (SFtype): Don't implicitly use int in declaration.
(DFtype): Likewise.
(_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
(divide): Remove unused variable `tmp'.
(si_to_float): Cast numeric constant to (SItype) before comparing
it against one.
Bernd Schmidt [Fri, 9 Oct 1998 15:58:37 +0000 (08:58 -0700)]
flow.c (life_analysis_1): Break out some functions.
Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
* flow.c (life_analysis_1): Break out some functions.
(find_basic_blocks_1): Likewise. Also move some variables out and
make them static.
Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
new static var nonlocal_label_list with it.
(active_eh_region, nested_eh_region, label_value_list,
nonlocal_label_list): New static variables.
(make_edges, delete_unreachable_blocks, delete_block): New static
functions, broken out of find_basic_blocks_1.
(record_volatile_insns, mark_regs_live_at_end, set_noop_p,
noop_move_p): New static functions, broken out of life_analysis_1.
expmed.c (store_bit_field): Pun non-integral str_rtx modes.
* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
Take extra care for op0 now possibly being a subreg.
(extract_bit_field): Likewise.
* function.c (purge_addressof_1): Revert Oct 4 change. Drop
the reg to memory if there is no equal sized integral mode.
* stor-layout.c (int_mode_for_mode): New function.
* machmode.h: Prototype it.
Jason Merrill [Fri, 9 Oct 1998 00:10:57 +0000 (00:10 +0000)]
pt.c (resolve_overloaded_unification): New fn.
* pt.c (resolve_overloaded_unification): New fn.
(try_one_overload): Likewise.
(unify): Don't fail on unknown type.
(type_unification_real): Likewise. Use resolve_overloaded_unification
to handle an overloaded argument.
(template_args_equal): Split out...
(comp_template_args): From here.
(determine_specialization): Also allow a template with more
parms than were explicitly specified.
* cp-tree.h: Add template_args_equal.
* call.c (resolve_args): Remove TEMPLATE_ID_EXPR code.