* 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.
Kaveh R. Ghazi [Thu, 7 May 1998 11:44:09 +0000 (11:44 +0000)]
Handle missing vfprintf() & _doprnt() functions with linked in modules,
plus do some general cleanup of variable argument handling.
* aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
* configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
(AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
(AC_CHECK_FUNCS): Remove unused check for vprintf.
* Makefile.in: Add support for linking in vfprintf.c and doprint.c.
(cccp.o): Depend on gansidecl.h.
(cexp.o): Likewise.
* cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
per the rest of gcc source.
* cexp.y: Likewise. Include gansidecl.h and remove all code made
redundant.
* cccp.c: Remove checks for HAVE_VPRINTF and the associated code
used when vfprintf is missing.
* cexp.y: Likewise.
* gcc.c: Likewise.
* genattrtab.c: Likewise.
* mips-tfile.c: Likewise.
* toplev.c: Likewise.
* vfprintf.c: New file.
* doprint.c: Likewise.
Jeffrey A Law [Thu, 7 May 1998 09:21:51 +0000 (09:21 +0000)]
linux.h (ASM_COMMENT_START): Remove from here,
* config/linux.h (ASM_COMMENT_START): Remove from here,
* config/linux-aout.h (ASM_COMMENT_START): and here,
* config/i386/linux.h (ASM_COMMENT_START): to here,
* config/i386/linux-aout.h (ASM_COMMENT_START): and here.
* config/i386/linux-oldld.h (ASM_COMMENT_START): Define
here as '#' too.
Kaveh R. Ghazi [Wed, 6 May 1998 11:41:58 +0000 (11:41 +0000)]
error.c: Convert to using ctype macros defined in system.h.
* error.c: Convert to using ctype macros defined in system.h.
* method.c: Likewise.
* xref.c: Likewise.
* lex.c: Likewise. Also remove redundant system header stuff.
Craig Burley [Wed, 6 May 1998 09:06:36 +0000 (05:06 -0400)]
Fix 980427-0.f:
Tue Apr 28 09:23:10 1998 Craig Burley <burley@gnu.org>
Fix 980427-0.f:
* global.c (ffeglobal_ref_progunit_): When transitioning
from EXT to FUNC, discard hook, since the decl, if any, is
probably wrong.
Kaveh R. Ghazi [Wed, 6 May 1998 08:57:18 +0000 (08:57 +0000)]
More system.h cutover...
* Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
* mips-tdump.c: Include system.h, remove redundant headers.
* mips-tfile.c: Likewise. Convert all ctype function calls to
macro versions defined in system.h.
* objc/Make-lang.in (objc-act.o): Depend on system.h.
* objc/objc-act.c: Include system.h, remove redundant headers.
Kaveh R. Ghazi [Wed, 6 May 1998 07:58:27 +0000 (07:58 +0000)]
Be more careful when including <time.h> and <sys/file.h> in system.h.
Consolidate O_RDONLY/O_WRONLY fallback definitions from various files
into system.h.
* system.h: Wrap time.h and sys/file.h in autoconf checks.
Provide default definitions for O_RDONLY and O_WRONLY here.
* cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
Jeffrey A Law [Wed, 6 May 1998 00:12:15 +0000 (00:12 +0000)]
haifa-sched.c (find_rgns): In no_loops case, fix test for leaf blocks.
* haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
blocks. Check for 1 successor which is the EXIT_BLOCK.
* haifa-sched.c (find_rgns): Detect unreachable blocks, including
unreachable loops with more than one block.
Co-Authored-By: Jim Wilson <wilson@cygnus.com>
From-SVN: r19558
Jim Wilson [Tue, 5 May 1998 15:37:37 +0000 (15:37 +0000)]
Fix old -pedantic error I noticed while reviewing patch from Ulrich.
* c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
accept 'a' flag. 'S' does accept 'a' flag.
(check_format_info): When pedantic, warn for m/C/S/a/A formats,
and `a' flag.