* 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
* decl.c (struct binding_level): New field using_directives.
(push_using_decl): Not sorry anymore.
(push_using_directive): New function.
(lookup_tag): Use CP_DECL_CONTEXT to iterate.
(unqualified_namespace_lookup): New function, code from ...
(lookup_name_real): ... here.
* decl2.c (lookup_using_namespace): Pass using list instead of
initial scope.
(validate_nonmember_using_decl): New function.
(do_nonmember_using_decl): New function.
(do_toplevel_using_decl): Use them.
(do_local_using_decl): New function.
(do_using_directive): Support block-level directives.
* parse.y (simple_stmt): Support using declarations and
directives.
(namespace_qualifier, namespace_using_decl): New non-terminals.
From-SVN: r21089
* xref.c (classname): New function.
(GNU_xref_hier): Change class and base parameters to tree.
* decl.c (xref_baseypes): Change caller.
* friend.c (make_friend_class): Likewise.
From-SVN: r21088
1998-07-10 Dave Love <d.love@dl.ac.uk>
* Makefile.in: Re-write build procedure mainly to honour
dependencies correctly but also allow making in the build
directory by configuring the relevant variables. The lib[FIU]77
subdirs do dependency checking of their objects. Stamp files
dictate when to run (new) archive targets in subdirs. Some
tidying of variables. Supply full set of standard targets.
* configure.in: Move much of testing to new configures in
subdirs. Tidy up handling of RANLIB etc.
* stamp-h.in, libF77/configure.in, libI77/configure.in,
libF77/configure, libI77/configure: New files.
* libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in:
Change in step with libf2c/Makefile.in.
From-SVN: r21082
Sat Jul 11 19:24:32 1998 Craig Burley <burley@gnu.org>
Fix 980616-0.f:
* equiv.c (ffeequiv_offset_): Don't crash on various
possible ANY operands.
From-SVN: r21079
Sat Jul 11 18:24:37 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_expr_) [FFEBLD_opCONTER]: Die if padding
for constant is non-zero.
* com.c (__eprintf): Delete this function, it is obsolete.
From-SVN: r21078
* typeck.c (comptypes, case TEMPLATE_TEMPLATE_PARM): Add parameter
comparison.
* pt.c (for_each_template_parm, case TEMPLATE_DECL): If it is a
template template parameter, record its use.
(for_each_template_parm, case TEMPLATE_TEMPLATE_PARM): Traverse
its template arguments if exists.
* pt.c (coerce_template_template_parms): New function equivalent
to coerce_template_parms when IS_TMPL_PARM is true.
(coerce_template_parms): Use it. Remove the IS_TMPL_PARM parameter,
all callers changed.
(coerce_template_parms): Access ARGLIST properly when creating a
new vector. Only accept implicit TYPE_DECL as valid argument for
a template template parameter when it is a base class of
current_class_type. Don't display error message when COMPLAIN is
false.
From-SVN: r21073
* friend.c (do_friend): Pull the identifier out of declarator.
Use cp_error and friends.
* decl2.c (qualified_lookup_using_namespace): Fix call to
purpose_member.
* decl.c (lookup_name_real): Don't call complete_type on a namespace.
(grokvardecl): Use DECL_CLASS_SCOPE_P.
(xref_basetypes): Fix call to GNU_xref_hier.
* cvt.c (convert_pointer_to_real): Check for error_mark_node sooner.
* class.c (warn_hidden): Fix for OVERLOAD.
From grahams@rcp.co.uk:
* cp-tree.h (DEFARG_NODE_CHECK): New macro.
(DEFARG_LENGTH, DEFARG_POINTER): Use it.
From-SVN: r21068