* 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.
From-SVN: r21135
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.
From-SVN: r21127
* 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.
From-SVN: r21114
* 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.
From-SVN: r21113
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.
From-SVN: r21108
* 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.
From-SVN: r21104
* expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
is not varying for REFERENCE_TYPE or when we think we might have found
an optimized access to the first element in an array.
From-SVN: r21099
More efficient version of Jul 10 bugfix of mine, as
discussed on egcs-patches.
* regclass.c (reg_scan_mark_refs): New arg min_regno. Only update
regscan information for REGs with numbers greater than or equal to
this. All callers changed.
(reg_scan_update): New function to efficiently update regscan
information on the fly.
* rtl.h: Add prototype.
* jump.c (jump_optimize): Call it when we make a transformation
which generates new pseudo-REGs.
From-SVN: r21096