* cp-tree.h (complete_type_or_else): Declare.
* init.c (build_new_1, build_delete): Use it.
* typeck.c (require_complete_type): Use complete_type, rather than
expanding it inline.
(complete_type_or_else): New function.
(build_component_ref): Use it.
(pointer_int_sum): Make sure the type pointed to is complete.
(pointer_diff): Likewise.
From-SVN: r20499
* pt.c (check_explicit_specialization): If DECLARATOR turned into
an error_mark_node from lookup_template_function, return the same.
(determine_specialization): Also make sure TEMPLATE_ID isn't an
error_mark_node, before we try to read its operands.
* decl.c (grokdeclarator): If we got an error_mark_node from
check_explicit_specialization, just return it right back.
From-SVN: r20444
* mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
(large_int): Likewise.
(pc_or_label_operand): Likewise.
(call_insn_operand): Likewise.
(consttable_operand): Likewise.
(m16_uimm3_b): Likewise.
(m16_simm4_1): Likewise.
(m16_nsimm4_1): Likewise.
(m16_simm5_1): Likewise.
(m16_nsimm5_1): Likewise.
(m16_uimm5_4): Likewise.
(m16_nuimm5_4): Likewise.
(m16_simm8_1): Likewise.
(m16_nsimm8_1): Likewise.
(m16_uimm8_1): Likewise.
(m16_nuimm8_1): Likewise.
(m16_uimm8_m1_1): Likewise.
(m16_uimm8_4): Likewise.
(m16_nuimm8_4): Likewise.
(m16_simm8_8): Likewise.
(m16_nsimm8_8): Likewise.
(m16_usym8_4): Likewise.
(m16_usym5_4): Likewise.
(mips_move_1word): Change type of variable `i' from int to size_t.
(mips_move_2words): Likewise.
(output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
(function_arg_advance): Use HOST_PTR_PRINTF to print an address.
(function_arg): Likewise.
(function_arg_partial_nregs): Mark parameter `named' with
ATTRIBUTE_UNUSED.
(override_options): Use ISDIGIT instead of isdigit.
(mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
(final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
(save_restore_insns): Cast HOST_WIDE_INT arguments passed to
function `fatal' to long before printing. Use
HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
times in this function.
(function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
(function_epilogue): Likewise for parameters `file' and `size'.
Print an int with "%d" not "%ld".
(mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
(mips_function_value): Likewise for parameter `func'.
(function_arg_pass_by_reference): Likewise for parameters `cum'
and `named'.
(extend_operator): Likewise for parameter `mode'
(highpart_shift_operator): Likewise.
* mips.md (mul_acc_si): Remove unused variable `macc'.
From-SVN: r20443
* class.c (instantiate_type): Don't treat template-ids that don't
specify any template arguments as equivalent to ordinary
identifiers. Use OFFSET_REF instead of SCOPE_REF to refer to
pointer-to-members for member templates. Tidy slightly.
* cp-tree.def (TEMPLATE_ID_EXPR): Revise documentation.
* init.c (build_offset_ref): Handle template-ids like ordinary
identifiers, for the most part, but store a TEMPLATE_ID_EXPR in the
offset part of the OFFSET_REF.
* typeck.c (build_unary_op): Change check for unknown types to
look for OFFSET_REFs, not SCOPE_REFs.
From-SVN: r20442
* i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
which set CC_REVERSED since reload should ensure that
the operands are already the correct type.
From-SVN: r20434
* call.c (convert_default_arg): Make global, not static.
(convert_arg_for_ellipsis): Split out from ...
(build_over_call): Here.
* cp-tree.h (convert_default_arg); Declare.
(convert_arg_to_ellipsis): Likewise.
(do_member_init): Remove.
* init.c (do_member_init): Remove; this code is dead.
(expand_member_init): Remove much of this code; it is dead.
* typeck.c (convert_arguments): Use convert_default_arg and
convert_arg_for_ellipsis, rather than duplicating here.
* call.c (convert_like): Don't fail silently if
build_user_type_conversion fails. Always return error_mark_node
for failure.
From-SVN: r20424
* expr.c (expand_builtin_setjmp): Store const1_rtx in target.
(expand_builtin_longjmp): Abort if value isn't const1_rtx.
Delete code storing value in static_chain_rtx.
(expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
to second expand_expr call.
From-SVN: r20418
Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
* cppmain.c (fatal): New function.
* configure.in (cpp_main): New configuration variable.
* configure: Regenerated.
* Makefile.in (CCCP): Use a configuration variable to select base for cccp.
(cppmain$(exeext)): Add @extra_cpp_objs@.
From-SVN: r20416
New interface for lang_decode_option
Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
* objc/objc-act.c: Add cpplib declarations.
(lang_decode_option): Initialize cpplib if necessary.
(lang_decode_option): New argc/argv interface.
From-SVN: r20410
Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
* objc/objc-act.c: Add cpplib declarations.
(lang_decode_option): Initialize cpplib if necessary.
(lang_decode_option): New argc/argv interface.
* tree.h (lang_decode_option): New argc/argv interface.
* toplev.c (lang_options): Add cpp options.
(main): New interface for lang_decode_option.
* gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
unless -E, -M or -MM is specified.
* cpplib.h (cpp_handle_option): New function.
* cpplib.c (cpp_handle_option): New function.
(cpp_handle_options): Now calls cpp_handle_option.
* c-tree.h (c_decode_option): New argc/argv interface.
* c-lex.c (init_parse): cpplib now initialized in c_decode_option.
* c-lang.c (lang_decode_option): New argc/argv interface.
* c-decl.c: Add cpplib declarations.
(c_decode_option): New argc/argv interface.
(c_decode_option): Call cpp_handle_option.
(c_decode_option): Now returns number of strings processed.
From-SVN: r20407