David S. Miller [Tue, 21 Jul 1998 05:03:40 +0000 (05:03 +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.
Jeff Law [Mon, 20 Jul 1998 23:36:43 +0000 (17:36 -0600)]
gcc.c (do_spec): Issue a warning for '%[]' usage.
d
* gcc.c (do_spec): Issue a warning for '%[]' usage.
* Undo this change.
* gcc.c: Delete %[spec] support.
(do_spec_1, case '('): Likewise.
(do_spec_1, case '['): Call error.
Jeff Law [Mon, 20 Jul 1998 22:15:33 +0000 (16:15 -0600)]
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.
Bring various mips fixes into the egcs-1.1 branch.
Jeff Law [Mon, 20 Jul 1998 22:15:29 +0000 (16:15 -0600)]
mips.md (reload_outsi): Added missing REGNO call.
a
* 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.
Bring various mips fixes into the egcs-1.1 branch.
Jason Merrill [Mon, 20 Jul 1998 00:19:21 +0000 (20:19 -0400)]
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.
* decl.c (pushtag): Revert previous change.
* pt.c (lookup_template_class): Don't put out debugging
information for types that use template parameters.
* decl.c (pushtag): Don't put out debugging information for
compiler-generated typedefs.
* error.c (dump_type_real): Don't crash when presented with
intQI_type_node or the like.
* semantics.c (finish_translation_unit): Fix spelling error in
comment.
* lang-options.h: Fix up doc strings.
Remove the unimplemented -fdcp-intrinsics-* options.
* str-1t.fin: Change mixed-case spelling of `GoTo' from
`Goto'.
(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.
Jeff Law [Thu, 16 Jul 1998 22:53:39 +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...
�
* (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 16:33:24 +0000 (12:33 -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.
* typeck.c (convert_for_assignment): Use comptypes.
* 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:05 +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:41:49 +0000 (04:41 +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:45:25 +0000 (20:45 +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.
Jason Merrill [Tue, 14 Jul 1998 12:09:59 +0000 (08:09 -0400)]
call.c (joust): Don't warn about "confusing" conversions to the same type.
* call.c (joust): Don't warn about "confusing" conversions to the
same type.
* class.c (push_nested_class): Complain about namespaces.
* decl.c (start_decl): Enter the object's namespace.
(cp_finish_decl): Leave it.
(grokdeclarator): Likewise.
* decl2.c (check_decl_namespace): New function.
(finish_file): Call it.
* parse.y (complex_direct_notype_declarator): Set complexity
of namespace-qualified ids to -1, enter the namespace.
* method.c (build_template_decl_overload): Expect _DECL as first
parameter. Put context temporarily into current_namespace.
* pt.c (check_explicit_specialization): Change caller.
(tsubst): Likewise.
* init.c (build_offset_ref): Call mark_used and
convert_from_reference for namespace members.
David S. Miller [Tue, 14 Jul 1998 00:18:57 +0000 (00:18 +0000)]
Fix regressions introduced by most recent Sparc commits.
Fix regressions introduced by most recent Sparc
commits.
* config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
parens while walking over notes.
* config/sparc/sparc.md (reg movdi split): Clean up matching
conditions.
(all DI arithop splits on 32-bit): Handle immediate arguments
correctly when they are CONST_INTs.
Jeffrey A Law [Mon, 13 Jul 1998 21:31:31 +0000 (21:31 +0000)]
920715-1.x: No longer expected to fail on the mn10200.
* gcc.c-torture/execute/920715-1.x: No longer expected to fail on
the mn10200.
* gcc.c-torture/execute/strct-varg-1.x: New file. Expect failure on
the mn10200.
* gcc.c-torture/execute/va-arg-3.x: Similarly.
* gcc.c-torture/compile/930326-1.x: Similarly.
Jeffrey A Law [Mon, 13 Jul 1998 21:29:27 +0000 (21:29 +0000)]
920715-1.x: No longer expected to fail on the mn10200.
* gcc.c-torture/execute/920715-1.x: No longer expected to fail on
the mn10200.
* gcc.c-torture/execute/strct-varg-1.x: New file. Expect failure on
the mn10200.
* gcc.c-torture/execute/va-arg-3.x: Similarly.
Minor testsuite cleanups.
John Carr [Mon, 13 Jul 1998 16:53:32 +0000 (16:53 +0000)]
sparc.c, [...]: New trampoline code.
Mon Jul 13 16:15:10 1998 John Carr <jfc@mit.edu>
* sparc.c, sparc.h, sparc.md: New trampoline code.
Allow integer operand 1 to V8+ DImode shift instructions.
Fix bugs in V8+ wide multiply patterns.
In 32 bit mode, split DImode register moves and logical instructions.
Write V9 branch prediction flag.
Use V9 conditional move more often for scc.
* print-rtl.c (print_rtx): Use HOST_PTR_PRINTF to print pointer.
Jeff Law [Mon, 13 Jul 1998 12:08:59 +0000 (06:08 -0600)]
mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
* mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
Handle 'x' as NO_REGS for this cpu.
(REGNO_OK_FOR_BIT_BASE_P): Define.
(REG_OK_FOR_BIT_BASE_P): Define.
(GO_IF_LEGITIMATE_ADDRESS): Use them.
(REG_OK_FOR_INDEX_P): Tweak.
* mn13000.c (REG_SAVE_BYTES): Define.
(expand_epilogue, initial_offset): Use it.
(secondary_reload_class): Slightly reformat.
(output_tst): Tweak comments.
* mn10300.md: Change 'x' to 'y' for SP_REGS. Then add 'x' to many
patterns.
(addsi3): Turn into a define_expand/define_insn pair. Rework code for
three operand addition case to be more efficient.
(subsi3): Turn into a define_expand/define_insn pair.