Jim Wilson [Thu, 14 May 1998 13:00:18 +0000 (13:00 +0000)]
Patch from Gary McGary to fix i960 problem with out-of-range shifts.
* i960.h (hard_regno_mode_ok): Changed to function from array of
unsigned.
(HARD_REGNO_MODE_OK): Call function instead of testing bit.
* i960.c (hard_regno_mode_ok): Changed to function from array of
unsigned.
Brendan Kehoe [Thu, 14 May 1998 12:29:41 +0000 (12:29 +0000)]
typeck.c (original_type): New function.
* typeck.c (original_type): New function.
(common_type): Use it to get the DECL_ORIGINAL_TYPE for T1 and T2,
to see if they're actually the same.
* cp-tree.h (original_type): Declare.
fix problem when you have multiple identical typedefs
Craig Burley [Thu, 14 May 1998 07:24:52 +0000 (07:24 +0000)]
[multiple changes]
Sun Apr 26 09:05:50 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_char_enhance_arg_): Wrap the upper bound
(the PARM_DECL specifying the length of the CHARACTER*(*)
dummy arg) in a variable_size invocation, to prevent
dwarf2out.c crashing when compiling code with -g.
Sat Apr 18 05:03:21 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_check_size_overflow_): Ignore overflow
as well if dummy argument.
Craig Burley [Thu, 14 May 1998 06:51:23 +0000 (06:51 +0000)]
[multiple changes]
Sun Apr 26 09:05:50 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_char_enhance_arg_): Wrap the upper bound
(the PARM_DECL specifying the length of the CHARACTER*(*)
dummy arg) in a variable_size invocation, to prevent
dwarf2out.c crashing when compiling code with -g.
Sat Apr 18 05:03:21 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_check_size_overflow_): Ignore overflow
as well if dummy argument.
J"orn Rennecke [Thu, 14 May 1998 00:44:02 +0000 (00:44 +0000)]
reload.c (remove_replacements): New function.
* reload.c (remove_replacements): New function.
* reload.h (remove_replacements): Declare.
* reload1.c (choose_reload_regs): Disable some reloads that
belong to inherited reloads.
* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
(rtl.o, emit-rtl.o): Add dependency on bitmap.h.
($(HOST_PREFIX_1)rtl.o): Likewise.
($(HOST_PREFIX_1)bitmap.o): New host object.
* emit-rtl.c (toplevel): Include bitmap.h.
(gen_rtx): Handle 't' and 'b' nodes.
* print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
Print block number for block begin/end notes. Print 't' type
nodes as a pointer. Know that the 3rd argument of live range
start/stop notes is really a range_info rtx. If type is 'b', print
out argument as a bitmap.
* rtl.c: Include bitmap.c.
(copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
(note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
* rtl.def (RANGE_LIVE): New node to hold live information while we
recalculate the basic blocks.
(RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
(RANGE_VAR): New node, to hold information saved in symbol node for New
communicating live range information to the debug output functions.
* rtl.h (rtunion_def): Add rttree and rtbit fields.
(XBITMAP, XTREE): New accessor macros.
(NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
(NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
(NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
(NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
(RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
(RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
(RANGE_INFO_*): Likewise.
* sched.c (sched_analyze): Keep live range start/stop notes.
(unlink_other_notes): Likewise.
* haifa-sched.c (sched_analyze): Keep live range start/stop notes.
(unlink_other_notes): Likewise.
* tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
(BLOCK_LIVE_RANGE_FLAG): Likewise.
(DECL_LIVE_RANGE_RTL): Likewise.
(struct tree_block): Add live_range_flag, live_range_var_flag,
live_range_start and live_range_end.
(struct tree_decl): Add live_range_rtl field.
* gengenrtl.c (type_from_format): Handle 'b' and 't'.
(accessor_from_format): Likewise.
Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r19727
Jim Wilson [Wed, 13 May 1998 14:04:15 +0000 (14:04 +0000)]
Patch to fix g++.other/local1.C.
* varasm.c (make_decl_rtl): Revert April 1 change.
* alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
Get function name from the SYMBOL_REF in the DECL_RTL, not from
DECL_ASSEMBLER_NAME.
* i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
DECL_ASSEMBLER_NAME.
Kaveh R. Ghazi [Wed, 13 May 1998 12:40:39 +0000 (12:40 +0000)]
Warning fixes:
* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
(c-lex.o): Depend on output.h.
(c-common.o): Likewise.
(stmt.o): Likewise.
(calls.o): Likewise.
(integrate.o): Depend on toplev.h.
(regclass.o): Depend on output.h.
(final.o): Depend on reload.h.
* c-common.c: Include output.h.
(check_format_info): Remove unused variable `integral_format'.
* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
`indent' with ATTRIBUTE_UNUSED.
(print_lang_type): Likewise.
(maybe_build_cleanup): Likewise for parameter `decl'.
(copy_lang_decl): Likewise for parameter `node'.
* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
(lang_print_xnode): Mark parameters `file', `node' and `indent'
with ATTRIBUTE_UNUSED.
(lookup_interface): Likewise for parameter `arg'.
(is_class_name): Likewise.
(maybe_objc_check_decl): Likewise for parameter `decl'.
(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
`reflexive'.
(maybe_objc_method_name): Likewise for parameter `decl'.
(build_objc_string): Likewise for parameters `len' and `str'.
* c-lex.c: Include output.h.
* c-lex.h (position_after_white_space): Correct typo in prototype.
* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
c_expand_end_cond, init_iterators): Add prototypes.
* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
with ATTRIBUTE_UNUSED.
* calls.c: Include output.h.
* cccp.c (pipe_closed): Mark parameter `signo' with
ATTRIBUTE_UNUSED.
* combine.c: Move inclusion of expr.h to after insn-config.h.
* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
as empty, rather define as ((void)0).
* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
Add parentheses around assignment used as truth value.
* cplus-dem.c (squangle_mop_up): Change return type to void.
(internal_cplus_demangle): Remove unused parameter `options'.
All callers changed.
(cplus_demangle_opname): Remove function wide variable `int i' and
replace with `size_t i' at each location where it is used.
(cplus_demangle_opname): change type of `i' from int to size_t.
* cppexp.c (right_shift): Mark parameter `pfile' with
ATTRIBUTE_UNUSED.
* cpphash.c (cpp_lookup): Likewise.
(cpp_hash_cleanup): Likewise.
* cpplib.c (parse_name): Add a prototype and make it static.
(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
(macro_cleanup): Likewise for parameter `pfile'.
(file_cleanup): Likewise.
* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
* cse.c (cse_check_loop_start): Mark parameter `set' with
ATTRIBUTE_UNUSED.
* dbxout.c (flag_minimal_debug, have_used_extensions,
source_label_number): Move inside macro wrapper check against
defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
* except.h (doing_eh): Provide prototype.
* expr.c: Move inclusion of expr.h to after insn-config.h.
* final.c: Include reload.h.
(shorten_branches): Cast the first argument of bzero to char *.
* fix-header.c (cpp_print_containing_files): Mark parameter
`pfile' with ATTRIBUTE_UNUSED.
(cpp_fatal): Likewise.
* flow.c (find_basic_blocks_1): Cast the first argument of bzero
to char *.
* genattrtab.c (make_length_attrs): Change the type of variable
`i' from int to size_t.
(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
(one_fn): Likewise.
* genextract.c (main): When generating insn-extract.c, mark
variable `junk' with ATTRIBUTE_UNUSED.
* gengenrtl.c (gencode): When generating genrtl.c, cast the first
argument of bzero to char*.
* integrate.c: Include toplev.h.
* libgcc2.c: Wrap `struct exception_table' and
`find_exception_handler' in macro DWARF2_UNWIND_INFO.
* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
* objc/objc-act.c: Include toplev.h.
(lang_print_xnode): Mark parameters `file', `node' and `indent'
with ATTRIBUTE_UNUSED.
(finish_protocol): Likewise for parameter `protocol'.
* output.h (declare_weak): Add prototype.
(decode_reg_name): Don't wrap with TREE_CODE macro.
(assemble_alias): Add prototype.
* regclass.c: Include output.h.
* reload.h (reloads_conflict): Add prototype.
* rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
output_func_start_profiler): Add prototypes.
* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
ATTRIBUTE_UNUSED.
* scan-decls.c: Include scan.h.
* scan.h (recognized_function, recognized_extern): Add prototypes.
* stmt.c: Include output.h.
* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
(output_lang_identify): Hide prototype and definition.
(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
(pipe_closed): Likewise.
* toplev.h (count_error, strip_off_ending, error_for_asm,
warning_for_asm): Add prototypes.
Kaveh R. Ghazi [Wed, 13 May 1998 10:00:46 +0000 (10:00 +0000)]
Warning patches:
* Makefile.in (lex.o): Depend on output.h.
* call.c (add_function_candidate): Remove unused variable `cand'.
(add_conv_candidate): Likewise.
(build_builtin_candidate): Likewise.
* cp-tree.h: Add prototype for `types_overlap_p'.
* decl.c (signal_catch): Mark parameter `sig' with ATTRIBUTE_UNUSED.
* decl2.c (merge_functions): Remove unused variables `tmp' and
`tempn'.
* error.c (expr_as_string): Mark parameter `v' with ATTRIBUTE_UNUSED.
(code_as_string): Likewise.
(language_as_string): Likewise.
(parm_as_string): Likewise.
(op_as_string): Likewise.
(assop_as_string): Likewise.
(cv_as_string): Likewise.
* lex.c: Include output.h.
* pt.c (type_unification): Cast first argument of `bzero' to a char*.
* search.c (dfs_no_overlap_yet): Mark parameter `t' with
ATTRIBUTE_UNUSED.
* tinfo.cc (__class_type_info::dcast): Change the type of variable
`i' from int to size_t.
* typeck.c (language_lvalue_valid): Mark parameter `exp' with
ATTRIBUTE_UNUSED.
J"orn Rennecke [Wed, 13 May 1998 00:53:59 +0000 (00:53 +0000)]
reload1.c (merge_assigned_reloads): Can merge RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even if...
* reload1.c (merge_assigned_reloads): Can merge
RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
John Wehle [Mon, 11 May 1998 23:47:28 +0000 (23:47 +0000)]
varasm.c (assemble_variable): Compute the alignment of the data earlier so that both initialized and...
* varasm.c (assemble_variable): Compute the alignment of the data
earlier so that both initialized and uninitialized variables are
effected by DATA_ALIGNMENT.
* tm.texi (DATA_ALIGNMENT): Updated appropriately.
Jeff Law [Mon, 11 May 1998 23:00:52 +0000 (17:00 -0600)]
#
* mpw-* Delete. Not used.
* ltconfig, ltmain.sh: Update to libtool 1.2a.
* Makefile.in (CC_FOR_TARGET): Use $(TARGET_SUBDIR) when passing -B
for newlib directory.
(CXX_FOR_TARGET): Likewise.
Bring over from devo.
Jeff Law [Mon, 11 May 1998 23:00:48 +0000 (17:00 -0600)]
T
* mpw-* Delete. Not used.
* ltconfig, ltmain.sh: Update to libtool 1.2a.
* Makefile.in (CC_FOR_TARGET): Use $(TARGET_SUBDIR) when passing -B
for newlib directory.
(CXX_FOR_TARGET): Likewise.
Bring over from devo.
Jeff Law [Mon, 11 May 1998 23:00:44 +0000 (17:00 -0600)]
�
* mpw-* Delete. Not used.
* ltconfig, ltmain.sh: Update to libtool 1.2a.
* Makefile.in (CC_FOR_TARGET): Use $(TARGET_SUBDIR) when passing -B
for newlib directory.
(CXX_FOR_TARGET): Likewise.
Bring over from devo.
Jeff Law [Mon, 11 May 1998 23:00:43 +0000 (17:00 -0600)]
l
* mpw-* Delete. Not used.
* ltconfig, ltmain.sh: Update to libtool 1.2a.
* Makefile.in (CC_FOR_TARGET): Use $(TARGET_SUBDIR) when passing -B
for newlib directory.
(CXX_FOR_TARGET): Likewise.
Bring over from devo.
Jeff Law [Mon, 11 May 1998 22:49:29 +0000 (16:49 -0600)]
[multiple changes]
Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com>
* getopt.h: Update to latest FSF version.
Fri Nov 7 10:34:09 1997 Rob Savoye <rob@darkstar.cygnus.com>
* libiberty.h: Add extern "C" { so it can be used with C++
programs.
Thu Aug 28 19:41:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
* libiberty.h (dupargv): Add prototype.
Bring over from devo.
Jeff Law [Mon, 11 May 1998 22:29:42 +0000 (16:29 -0600)]
[multiple changes]
Sat Apr 11 22:43:17 1998 J. Kean Johnston <jkj@sco.com>
* mh-svsv5: New file - support for SCO UnixWare 7 / SVR5.
Thu Mar 26 01:54:25 1998 Geoffrey Noer <noer@cygnus.com>
* mh-cygwin32: stop configuring and building dosrel.
Bring over from devo.
Jeff Law [Mon, 11 May 1998 22:04:43 +0000 (16:04 -0600)]
[multiple changes]
Tue Mar 24 10:13:07 1998 Jason Merrill <jason@yorick.cygnus.com>
* std/bastring.cc (basic_string::copy): Mark const here, too.
1998-03-23 15:59 Ulrich Drepper <drepper@cygnus.com>
* std/bastring.h (basic_string::copy): Mark copy function as const.
Reported by Scott Schurr <scotts@ims.com>.
Bring over from devo.
* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
* alpha.c (print_operand): Handle it.
* alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
related define_splits. Also add peepholes for SImode reload
plus sign_extend lossage.
Mark Mitchell [Mon, 11 May 1998 07:25:25 +0000 (07:25 +0000)]
call.c (add_template_candidate): Adjust for changes to fn_type_unification.
* call.c (add_template_candidate): Adjust for changes to
fn_type_unification.
(add_template_candidate_real): Likewise.
(add_template_conv_candidate): Likewise.
(build_user_type_conversion_1): Likewise.
(build_new_function_call): Likewise.
(build_object_call): Likewise.
(build_new_op): Likewise.
(build_new_method_call): Likewise.
* class.c (instantiate_type): Likewise.
* cp-tree.h (unification_kind_t): New type.
(fn_type_unification): Adjust prototype.
(type_unificaiton): Likewise.
* pt.c (UNIFY_ALLOW_NONE): New macro.
(UNIFY_ALLOW_MORE_CV_QUAL): Likewise.
(UNIFY_ALLOW_LESS_CV_QUAL): Likewise.
(UNIFY_ALLOW_DERIVED): Likewise.
(unify): Change prototype.
(maybe_adjust_types_for_deduction): New function.
(check_cv_quals_for_unify): Likewise.
(determine_specialization): Adjust.
(fn_type_unification): Likewise.
(type_unification): Likewise.
(type_unification_real): Likewise. Use
maybe_adjust_types_for_deduction. Fix mishandling of
back-unification of template functions passed as arguments. Pass
appropriate combination of UNIFY_ALLOW_* to unify.
(unify): Remove unused NTPARMS parameter. Use
check_cv_quals_for_unify. Remove bogus code that allowed
too-generous unification in order to adhere more closely to standard.
(get_bindings_real): Adjust.
(get_class_bindings): Likewise.
* method.c (build_overload_identifier): Only use the innermost
template arguments when mangling.
* pt.c (tsubst_template_argument_vector): New function.
(complete_template_args): Deal with the situation where the
extra_args contain more than one level of arguments.
(lookup_template_class): Deal with member template classes, which
may have more than one level of arguments.
(tsubst): Don't tsbust into the TREE_TYPE of an IDENTIFIER_NODE.
Improve handling of member template classes. Use
DECL_PRIMARY_TEMPLATE instead of inline expansion. Use
tsubst_template_argument_vector where appropriate.
(regenerate_decl_from_template): Break out from ...
(instantiate_decl): Here.
Kaveh R. Ghazi [Mon, 11 May 1998 06:50:51 +0000 (06:50 +0000)]
genattr.c: Include stdarg.h/varargs.h.
* genattr.c: Include stdarg.h/varargs.h. Change function
`fatal' to use variable arguments instead of faking it with
integer parameters. Provide a prototype which also
checks the format specifiers using ATTRIBUTE_PRINTF_1.
* genattrtab.c: Likewise.
* gencodes.c: Likewise.
* genconfig.c: Likewise.
* genemit.c: Likewise.
* genextract.c: Likewise.
* genflags.c: Likewise.
* genopinit.c: Likewise.
* genpeep.c: Likewise.
* genrecog.c: Likewise.
* genoutput.c: Likewise. Similarly for function `error'.
Jason Merrill [Sun, 10 May 1998 22:53:45 +0000 (18:53 -0400)]
class.c (finish_struct_1): Use OVL_CURRENT on TREE_VEC_ELT.
* class.c (finish_struct_1): Use OVL_CURRENT on TREE_VEC_ELT.
* decl2.c (constructor_name_full): Likewise.
* tree.c (mapcar): Add OVERLOAD support.
* init.c (resolve_offset_ref): We must use basetype_path before we
destroy it with a call to convert_pointer_to.
Jeff Law [Sun, 10 May 1998 01:27:49 +0000 (19:27 -0600)]
acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
* acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
* alocal.m4 (GCC_C_VOLATILE): New autoconf test.
* configure.in: Use GCC_C_VOLATILE.
* system.h (volatile): Define as empty if no volatile support is
available.
* genemit.c (output_add_clobbers): Removed unused variable 'i' from
generated fucntion.
loop.c (get_condition): Don't combine when either compare is MODE_CC.
* loop.c (get_condition): Don't combine when either compare is MODE_CC.
* alpha.c (alpha_emit_conditional_branch): New function. Taken from
the body of beq; additionally set the mode of the branch to CCmode for
FP compares and not fast_math.
(alpha_emit_conditional_move): Always use a compare insn for FP
when not fast_math, as well as setting CCmode on the cmov.
* alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
H.J. Lu [Fri, 8 May 1998 13:14:32 +0000 (13:14 +0000)]
reload1.c (emit_reload_insns): When performing expensive optimizations...
* reload1.c (emit_reload_insns): When performing expensive
optimizations, do not output the last reload insn if OLD is
not the dest of NSN and is in the src and is clobbered by INSN.
Paul Eggert [Fri, 8 May 1998 12:59:23 +0000 (12:59 +0000)]
dwarf2out.c: Don't assume that `.section ".text"' causes the assembler to treat .text as a...
* dwarf2out.c: Don't assume that `.section ".text"' causes the
assembler to treat .text as a label for the start of that section,
as this assumption is false for Solaris 2.x `as'. Instead, output
`.section ".text"; .LLtext0:' and use .LLtext0 in label contexts.
(ABBREV_LABEL, DEBUG_INFO_LABEL, DEBUG_LINE_LABEL, TEXT_LABEL):
New macros.
(abbrev_label, debug_info_label, debug_line_label, text_label):
New vars.
(dwarf2out_init): Initialize the vars. Output defn for text_label.
(dwarf2out_finish): Output defns for the other 3 vars.
(dw_val_node): Rename val_section to val_section_label, as it's
now a label, not a section.
(add_AT_section_offset): Arg is now a label, not a section.
(print_die, output_die, output_compilation_unit_header,
output_pubnames, output_aranges, output_line_info,
dwarf2out_finish): In label contexts, output the section label,
not the section.
d
* fixinc.wrap: Renamed from fixinc.math. Put wrapper around
curses.h if it contains `typedef char bool;', as suggested by
Manfred Hollstein <manfred@s-direktnet.de>.
* configure.in: Rename fixinc.math to fixinc.wrap.
�
* fixinc.wrap: Renamed from fixinc.math. Put wrapper around
curses.h if it contains `typedef char bool;', as suggested by
Manfred Hollstein <manfred@s-direktnet.de>.
* configure.in: Rename fixinc.math to fixinc.wrap.