Mark Mitchell [Wed, 11 Feb 1998 01:22:36 +0000 (01:22 +0000)]
cp-tree.h (push_template_decl): Return the decl passed in, or an equivalent duplicate.
* cp-tree.h (push_template_decl): Return the decl passed in, or an
equivalent duplicate.
* decl.c (pushtag): Use the return value from push_template_decl.
(duplicate_decls): When duplicating a template declaration, merge
the DECL_TEMPLATE_RESULTs as well.
(make_implicit_typename): Don't try to dive into typename types to
find a context for making a new implicit typename.
(start_decl): Use the return value from push_template_decl.
(grokdeclarator): Complain about declarations list `const operator
int'. Since we don't correctly handle in-class initializations of
non-static data members, complain about this (now illegal)
practice. Issue an error for initializations of non-const statics
since that is illegal as well, and since we don't handle that case
correctly either.
(start_function): Use the return value from push_template_decl.
(start_method): Likewise.
* decl2.c (grokfield): Likewise. Since the change to
grokdeclarator ensures that all initialized fields are in fact
static, remove a redundant test for TREE_PUBLIC.
* parse.y (initlist): Disable labeled initializers since they do
not work as per the documentation, and since they do not use the
same syntax as the C front end.
* pt.c (push_template_decl): Return the decl passed in, or an
equivalent duplicate.
(lookup_template_class): When searching in a nested context,
use the right arguments.
(uses_template_parms): Handle the DECL_INITIAL for a CONST_DECL.
* typeck.c (build_component_ref): Assign the correct type to the
result of build_vfn_ref.
Marc Lehmann [Wed, 11 Feb 1998 00:29:57 +0000 (00:29 +0000)]
i386.c: Added include for recog.h.
* i386.c: Added include for recog.h.
(override_options): Removed unused variable p. Initialized regno to
avoid warning.
(order_regs_for_local_alloc): Initialized regno to avoid warning.
(legitimize_address): Likewise for 'other'.
(i386_aligned_reg_p): Added default case with abort ().
(print_operand): Likewise.
(reg_mentioned_in_mem): Likewise.
(ix86_expand_binary_operator): Removed unused variables i & insn.
(ix86_expand_unary_operator): Removed unused variable insn.
(output_fp_cc0_set): Removed unused variable unordered_label.
John F. Carr [Wed, 11 Feb 1998 00:25:43 +0000 (00:25 +0000)]
i386.c, [...]: Change gen_rtx (X, ...) to gen_rtx_X (...).
* i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
and format string match.
H.J. Lu [Mon, 9 Feb 1998 01:07:31 +0000 (01:07 +0000)]
old-dejagnu.exp (old-dejagnu): Added the "execution test - XFAIL *-*-*" handling in the spirit of "excess...
* lib/old-dejagnu.exp (old-dejagnu): Added the
"execution test - XFAIL *-*-*" handling in the spirit of
"excess errors test -". Changed the "execution test fails"
handling to be like "excess errors test fails".
* Update various tests accordingly.
Craig Burley [Sun, 8 Feb 1998 23:55:11 +0000 (18:55 -0500)]
Fix -fpedantic combined with `F()' invocation,
also -fugly-comma combined with `IARGC()' invocation:
* bad.def (FFEBAD_NULL_ARGUMENT_W): New diagnostic.
* expr.c (ffeexpr_finished_): Don't reject null expressions
in the argument-expression context -- let outer context
handle that.
(ffeexpr_token_arguments_): Warn about null expressions
here if -fpedantic (as appropriate).
Obey -fugly-comma for only external-procedure invocations.
Richard Kenner [Sun, 8 Feb 1998 14:12:00 +0000 (14:12 +0000)]
Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* loop.c (strength_reduce): When placing increment for auto-inc
case, do comparison in loop order.
John Carr [Sun, 8 Feb 1998 12:26:43 +0000 (12:26 +0000)]
bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer, not a HOST_WIDE_INT.
* bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
not a HOST_WIDE_INT.
* calls.c (expand_call): Change test of expand_inline_function
return value to stop compiler warning.
* genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
Jim Wilson [Sun, 8 Feb 1998 11:43:54 +0000 (11:43 +0000)]
regmove.c: Fix various minor formatting problems.
* regmove.c: Fix various minor formatting problems.
(optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
is true. Make end of basic block tests consistent through regmove.c.
(optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
(fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r17775
Kaveh R. Ghazi [Sat, 7 Feb 1998 13:21:36 +0000 (05:21 -0800)]
aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf functions for whether they support the %p format...
* aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
functions for whether they support the %p format specifier.
* acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
* configure.in (GCC_FUNC_PRINTF_PTR): Use it.
* configure, config.in: Rebuild.
Gavin Koch [Fri, 6 Feb 1998 14:12:52 +0000 (14:12 +0000)]
Correct tx39 multilibs.
* mips/t-r3900: New - same as t-ecoff but eliminate
multilibs: mips1 and mips3.
* configure.in (tx39*): Use new mips/t-r3900.
* configure: Rebuild.
* mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
Jason Merrill [Fri, 6 Feb 1998 01:18:06 +0000 (20:18 -0500)]
dwarf2out.c: Add old_args_size.
* dwarf2out.c: Add old_args_size.
(dwarf2out_args_size): Use it.
(dwarf2out_begin_prologue): Initialize it.
(dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
pushed args until we see a call.
* final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
before outputting them.
* cplus-dem.c (demangle_template_template_parm): New function.
(demangle_template): Handle template template parameters.
Makefile.in (BASE_FLAGS_TO_PASS): Don't pass PICFLAG and PICFLAG_FOR_TARGET.
* Makefile.in (BASE_FLAGS_TO_PASS): Don't pass PICFLAG and
PICFLAG_FOR_TARGET.
(EXTRA_TARGET_FLAGS): Don't pass PICFLAG_FOR_TARGET.
* configure: Emit a definition for the new macro enable_shared
into each Makefile.
* config/mh-sparcpic (PICFLAG): Define to properly according
to current multilib configuration.
* config/mt-sparcpic (PICFLAG_FOR_TARGET): Define to properly
according to current multilib configuration.
Marc Lehmann [Thu, 5 Feb 1998 20:49:54 +0000 (20:49 +0000)]
integrate.c (INTEGRATE_THRESHOLD): Inline only small functions when -Os is specified.
* integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
when -Os is specified.
* toplev.c (main): Don't disable flag_inline_functions anymore when
-Os is in effect.
Mark Mitchell [Tue, 3 Feb 1998 23:55:27 +0000 (23:55 +0000)]
cvt.c (ocp_convert): Obtain the constant values from constant decls even if...
* cvt.c (ocp_convert): Obtain the constant values from constant
decls even if the destination type is the same as the type of the
decl.
* decl2.c (finish_file): Make sure that static inlines with
definitions are not marked DECL_EXTERNAL before returning.
error.c (dump_decl): Fix type of default arguments for template template parameters and nontype...
* error.c (dump_decl): Fix type of default arguments for template
template parameters and nontype template parameters.
* parse.y (template_parm): Handle invalid default template
template arguments here.
* parse.y (template_parm): Use template_arg instead of PTYPENAME
for default template template argument.
* pt.c (coerce_template_parms): Merge default template argument
codes. Can treat RECORD_TYPE as template name if it is implicitly
created. Fix argument index in error message.
* typeck.c (comptypes): Merge template argument comparison codes in
TEMPLATE_TEMPLATE_PARM and RECORD_TYPE.
Mark Mitchell [Mon, 2 Feb 1998 23:44:19 +0000 (23:44 +0000)]
call.c (add_template_candidate_real): Pass extra parameter to fn_type_unification.
* call.c (add_template_candidate_real): Pass extra parameter to
fn_type_unification.
* cp-tree.h (fn_type_unification): Add parameter.
* pt.c (fn_type_unification): Add additional parameter to deal with
static member functions.
(get_bindings): Deal with static member functions.
expr.c (expand_builtin_setjmp): Accept two new arguments for the labels to branch to on first and subsequent...
* expr.c (expand_builtin_setjmp): Accept two new arguments for
the labels to branch to on first and subsequent executions. Don't
play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
and provide it with the jmp_buf. Use only one of
`builtin_setjmp_receiver' or `nonlocal_goto_receiver',
and provide the former with the target label.
(expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
(expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
(expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
insn to replace all of the normal nonlocal_goto code. Don't play
with __dummy. Correct arguments to nonlocal_goto.
* expr.h (expand_builtin_setjmp): Update prototype.
* except.c (start_dynamic_handler): When using builtin_setjmp,
generate more accurate flow information.
* alpha.md (nonlocal_goto_receiver_osf): Delete.
(nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
(builtin_longjmp, builtin_setjmp_receiver): New.
* sparc.md (update_return): Disambiguate unspec number.
(nonlocal_goto): Rearrange arguments to match caller in except.c.
(builtin_setjmp_setup): Rename from setjmp. Match and ignore the
jmp_buf operand.
* mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
(builtin_setjmp_setup*, builtin_longjmp): New.