tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression so WFL are expanded correctly when...
�
* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
so WFL are expanded correctly when contained in a COMPOUND_EXPR.
* tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
lang_flag_0. Added documentation in the flag table.
Per Bothner [Wed, 22 Jul 1998 12:38:21 +0000 (05:38 -0700)]
tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression so WFL are expanded correctly when...
* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
so WFL are expanded correctly when contained in a COMPOUND_EXPR.
* tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
lang_flag_0. Added documentation in the flag table.
alpha.md (fix_truncdfsi2, [...]): Remove the define_expands, but keep the insns and splits.
* alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
but keep the insns and splits. Adjust so when the ultimate destination
is memory, use cvtql.
Ken Raeburn [Mon, 20 Jul 1998 19:53:04 +0000 (19:53 +0000)]
mips.md (reload_outsi): Added missing REGNO call.
* mips.md (reload_outsi): Added missing REGNO call.
(smulsi3_highpart, umulsi3_highpart): Provide prototype for function pointer.
(mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use another
match_operator and compare the codes.
* mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
* MIPS multiply pattern fixes:
* mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add union
classes for HI, LO, or HILO plus general registers.
(GENERATE_MADD): Deleted.
* mips.md (mulsi3_mult3): Don't disparage output-LO alternative. Add
TARGET_MAD to condition.
(mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
(mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use "*d" for
accumulator, to give preference to LO initially but not during reload.
Dave Brolley [Mon, 20 Jul 1998 13:36:43 +0000 (13:36 +0000)]
lex.c (mbchar.h): #include it.
1998-07-20 Dave Brolley <brolley@cygnus.com>
* lex.c (mbchar.h): #include it.
(GET_ENVIRONMENT): New macro.
(init_parse): Set character set based on LANG environment variable.
(real_yylex): Handle multibyte characters in character literals.
(real_yylex): Handle multibyte characters in string literals.
Dave Brolley [Mon, 20 Jul 1998 13:35:38 +0000 (13:35 +0000)]
configure.in (enable_c_mbchar): New configure option.
Mon Jul 20 16:16:38 1998 Dave Brolley <brolley@cygnus.com>
* configure.in (enable_c_mbchar): New configure option.
(extra_cpp_objs): Always available now.
* cexp.y (mbchar.h): #include it.
(yylex): Handle Multibyte characters in character literals.
* cccp.c (mbchar.h): #include it.
(main): Set character set based on LANG environment variable.
(rescan): Handle multibyte characters in comments.
(skip_if_group): See above.
(validate_else): See above.
(skip_to_end_of_comment): See above.
(macarg1): See above.
(discard_comments): See above.
(rescan): Handle multibyte characters in string and character literals.
(collect_expansion): See above.
(skip_quoted_string): See above.
(macroexpand): See above.
(macarg1): See above.
(discard_comments): See above.
(change_newlines): See above.
* c-lex.c (mbchar.h): #include it.
(GET_ENVIRONMENT): New macro.
(init_lex): Set character set based on LANG environment variable.
(yylex): Handle multibyte characters in character literals.
(yylex): Handle multibyte characters in string literals.
* Makefile.in (mbchar.o): New target.
(cccp$(exeext)): @extra_cpp_objs@ is always available.
(cppmain$(exeext)): @extra_cpp_objs@ is always available.
* mbchar.[ch]: New files for multibyte character handling.
David S. Miller [Mon, 20 Jul 1998 02:20:07 +0000 (02:20 +0000)]
jump.c (jump_optimize): When simplifying noop moves and PUSH_ROUNDING...
* jump.c (jump_optimize): When simplifying noop moves and
PUSH_ROUNDING, fix thinko so we use same criterion for identifying
the PUSHes to rewrite in second loop as we did in the first.
* lang-options.h: Fix up doc strings.
Remove the unimplemented -fdcp-intrinsics-* options.
* str-1t.fin: Change mixed-case spelling of `GoTo' from
`Goto'.
Jason Merrill [Sun, 19 Jul 1998 23:47:18 +0000 (23:47 +0000)]
lex.c (do_identifier): Look for class value even if we don't have a global value.
* lex.c (do_identifier): Look for class value even if we don't
have a global value. Do implicit declaration if parsing is 2.
* semantics.c (finish_call_expr): Pass 2 if we're doing Koenig
lookup.
Mark Mitchell [Sun, 19 Jul 1998 18:55:38 +0000 (18:55 +0000)]
decl.c (pushtag): Revert previous change.
* decl.c (pushtag): Revert previous change.
* pt.c (lookup_template_class): Don't put out debugging
information for types that use template parameters.
Jason Merrill [Fri, 17 Jul 1998 16:29:25 +0000 (16:29 +0000)]
pt.c (lookup_template_class): Don't mess with the context of the instantiation.
* pt.c (lookup_template_class): Don't mess with the context of the
instantiation.
* decl2.c (current_decl_namespace): Remove special handling for
templates.
* loop.h (struct induction): Add no_const_addval.
* loop.c (the_movables, reg_address_cost): New variables.
(init_loop): Init reg_address_cost.
(loop_optimize): Call end_alias_analysis.
(scan_loop): Init the_movables.
(record_giv): Init induction->no_const_addval.
(basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
[REG]: Rearrange loop search test to catch more cases.
(general_induction_var): Return success not benefit; take an extra
argument for that. Change all callers.
(simplify_giv_expr) [PLUS]: Always combine invariants. Use sge_plus.
[MULT]: Use rtx_equal_p instead of ==. Combine simple invariants.
[default]: Search the_movables for additional combinations.
(sge_plus_constant, sge_plus): New functions.
(express_from_1): New function.
(express_from): Always define. Rewrite using express_from_1.
(combine_givs_p): Handle more cases. Ignore address cost.
(cmp_combine_givs_stats): New function.
(combine_givs_used_once, combine_givs_benefit_from): New functions.
(combine_givs): Rewrite to do best-fit combination.
* fold-const.c (operand_equal_p): Handle RTL_EXPR.
(fold): Do a complete (A*C)+(B*C) association check.
Jason Merrill [Fri, 17 Jul 1998 06:19:07 +0000 (06:19 +0000)]
pt.c (tsubst, [...]): Fix getting complete args for a member template specialization.
* pt.c (tsubst, case FUNCTION_DECL): Fix getting complete args for
a member template specialization.
* tree.c (ovl_member): Use decls_match to compare functions.
* decl.c (decls_match): Check the context of a function.
Jason Merrill [Fri, 17 Jul 1998 02:48:08 +0000 (02:48 +0000)]
parse.y (primary): Use notype_unqualified_id instead of IDENTIFIER in Koenig lookup support rules.
* parse.y (primary): Use notype_unqualified_id instead of IDENTIFIER
in Koenig lookup support rules.
* semantics.c (finish_call_expr): Handle the new cases.
* typeck.c (build_x_function_call): Handle overloaded methods.
* decl.c (grokvardecl): Don't call build_static_name for extern "C".
1998-07-16 Mark Mitchell <mark@markmitchell.com>
* semantics.c (finish_object_call_expr): Revert previous change.
* call.c (build_new_method_call): Likewise. Instead, convert
TYPE_DECLs to IDENTIFIERs here, in the presence of templates.
Jeff Law [Thu, 16 Jul 1998 22:53:02 +0000 (16:53 -0600)]
(ffecom_finish_symbol_transform_): Revert change of 1998-05-23...
* (ffecom_finish_symbol_transform_): Revert change
of 1998-05-23, as it was too aggressive, in that it
prevented transformation of (used) functions before
primary code generation.
(ffecom_finish_symbol_transform_): Revert change of 1998-05-23...
d
* (ffecom_finish_symbol_transform_): Revert change
of 1998-05-23, as it was too aggressive, in that it
prevented transformation of (used) functions before
primary code generation.
(ffecom_finish_symbol_transform_): Revert change of 1998-05-23...
�
* (ffecom_finish_symbol_transform_): Revert change
of 1998-05-23, as it was too aggressive, in that it
prevented transformation of (used) functions before
primary code generation.
Jason Merrill [Thu, 16 Jul 1998 17:48:39 +0000 (17:48 +0000)]
init.c (build_offset_ref): Don't call mark_used on an OVERLOAD.
* init.c (build_offset_ref): Don't call mark_used on an OVERLOAD.
* decl.c (select_decl): Extract a lone function from an OVERLOAD.
(lookup_namespace_name): Likewise.
* typeck.c (build_unary_op): Not here anymore.
* decl2.c (do_class_using_decl): Make sure we get an identifier.
* class.c (handle_using_decl): Ignore TYPE_DECLs.
Jason Merrill [Thu, 16 Jul 1998 16:38:26 +0000 (12:38 -0400)]
decl.c (qualify_lookup): New fn.
* decl.c (qualify_lookup): New fn.
(lookup_name_real): Use it.
* decl2.c (add_using_namespace): When directly using a namespace
that was indirect before, promote it.
* cp-tree.h (LOOKUP_PREFER_TYPES, LOOKUP_PREFER_NAMESPACES,
LOOKUP_PREFER_BOTH, LOOKUP_NAMESPACES_ONLY, LOOKUP_TYPES_ONLY,
LOOKUP_QUALIFIERS_ONLY, LOOKUP_TEMPLATES_EXPECTED): New macros.
* decl.c (select_decl): Replace two flag parameters by one.
(unqualified_namespace_lookup): Likewise, pass flag.
(lookup_flags): New function.
(lookup_name_real): Compute flags, pass them.
(lookup_namespace_name): Call with zero-flag.
* decl2.c (ambiguous_decl): Add flag parameter, complain only
according to flags.
(lookup_using_namespace, qualified_lookup_using_namespace):
Add flag parameter, pass them through.
* lex.c (do_scoped_id): Call with zero-flag.
Jeffrey A Law [Thu, 16 Jul 1998 13:54:53 +0000 (13:54 +0000)]
mn10300.md (movXX patterns): Make sure the destination is an ADDRESS_REG when...
* mn10300.md (movXX patterns): Make sure the destination is an
ADDRESS_REG when substituting "zero_areg" for (const_int 0).
(logical patterns): Split into expanders + patterns
(zero and sign extension patterns): Similarly.
(shift patterns): Similarly.
Mark Mitchell [Thu, 16 Jul 1998 11:46:44 +0000 (11:46 +0000)]
semantics.c (finish_object_call_expr): Move test for the function called being a TYPE_DECL to ...
1998-07-16 Mark Mitchell <mark@markmitchell.com>
* semantics.c (finish_object_call_expr): Move test for the
function called being a TYPE_DECL to ...
* call.c (build_new_method_call): Here.
Martin v. Löwis [Wed, 15 Jul 1998 17:27:24 +0000 (13:27 -0400)]
decl2.c (add_using_namespace): Iterate over namespaces used indirectly.
* decl2.c (add_using_namespace): Iterate over namespaces used
indirectly.
* decl.c (lookup_name_real): Accept namespace aliases as locals.
(cat_namespace_levels): Ignore aliases.
(duplicate_decls): Ignore duplicate aliases.
* decl2.c (do_namespace_alias): Process block level namespace
aliases. Store alias with pushdecl. Remove odr errors.
* parse.y (namespace_alias): New non-terminal.
(extdef): Use it.
Cleanups vis-a-vis system.h cutover and g77-0.5.24:
Mon Jul 13 17:33:44 1998 Craig Burley <burley@gnu.org>
Cleanups vis-a-vis system.h cutover and g77-0.5.24:
* Makefile.in (fini.o): Define USE_HCONFIG macro
so source code doesn't have to.
* fini.c: Don't define USE_HCONFIG here, since
source code usually shouldn't care about this.
* ansify.c: Include stddef.h only if we have it.
* intdoc.c: Ditto.
* proj.h: Ditto.
Jason Merrill [Wed, 15 Jul 1998 04:38:53 +0000 (04:38 +0000)]
method.c (build_decl_overload_real): Fix namespace handling.
* method.c (build_decl_overload_real): Fix namespace handling.
* typeck.c (build_unary_op): Extract a lone function from an
OVERLOAD.
* call.c (build_scoped_method_call): Handle getting a namespace
for basetype in a destructor call.
(check_dtor_name): Handle enums.
* parse.y (using_directive): New nonterminal.
(extdef, simple_stmt): Use it.
Jason Merrill [Tue, 14 Jul 1998 20:47:48 +0000 (20:47 +0000)]
parse.y (namespace_qualifier): Fix multiple level handling.
* parse.y (namespace_qualifier): Fix multiple level handling.
* decl2.c (namespace_ancestor): Use CP_DECL_CONTEXT.
(arg_assoc): Don't skip the first argument of a function.