Commit Graph

15187 Commits

Author SHA1 Message Date
Scott Snyder
19f673ebcd mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in .frame directive instead of FRAME_POINTER_REGNUM.
1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
        * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
        .frame directive instead of FRAME_POINTER_REGNUM.

From-SVN: r17451
1998-01-22 16:13:28 -07:00
Robin Kirkham
74cf1c6d68 m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
* m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
        (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
        * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
        (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
        (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
        * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
        (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
        (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
        mcpu32 or m5200.
        * longlong.h: Replace __mc68332__ with __mcpu32__.

From-SVN: r17450
1998-01-22 16:10:15 -07:00
Jeff Law
77474480a4 Add intel site.
From-SVN: r17449
1998-01-22 15:24:37 -07:00
Mark Mitchell
d29ab3764b * decl2.c (grok_x_components): Always call grok_enum_decls.
From-SVN: r17448
1998-01-22 17:08:11 -05:00
Jeffrey A Law
e1402e7d13 Bump for snapshot
From-SVN: r17446
1998-01-22 12:55:42 -07:00
Brendan Kehoe
e8c9459c16 lose text after #endif
From-SVN: r17445
1998-01-22 10:42:52 -05:00
Jim Wilson
6d49a073b4 Fix powerpc/rs6000 (subreg:SF (mem:SI ...)) reload problem.
* reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
	to require the SUBREG mode to be smaller than the SUBREG_REG mode.
	* reload1.c (eliminate_regs): Likewise.

From-SVN: r17444
1998-01-22 06:48:58 -08:00
Jeffrey A Law
c485e6a0c9 regmove.c (find_matches): Initialize matches->earlyclobber too.
* regmove.c (find_matches): Initialize matches->earlyclobber too.
Should fix pa bootstrap comparison failures.

From-SVN: r17443
1998-01-22 06:49:29 -07:00
Jason Merrill
ff7620c005 new
From-SVN: r17442
1998-01-22 06:04:02 -05:00
Kriang Lerdsuwanakij
73b0fce8fd pt.c (coerce_template_parms): Don't access elements of ARGLIST that is not really present.
Wed Jan 21 10:29:57 1998  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
	* pt.c (coerce_template_parms): Don't access elements of ARGLIST
	that is not really present.  Substitute default arguments in
	template template arguments.  Correctly convert TEMPLATE_DECL to
	TEMPLATE_TEMPLATE_PARM.
	(comp_template_args): TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM
	are no longer treated specially here.
	* parse.y (template_template_parm): Fix copy error.
	* decl.c (grokdeclarator): Warn about missing `typename' for nested
	type created from template template parameters.
	* parse.y (bad_parm): Likewise
	* class.c (finish_struct): Handle TEMPLATE_TEMPLATE_PARM.
	(push_nested_class): Likewise.
	* cp-tree.def (TEMPLATE_TEMPLATE_PARM): New tree code.
	* cp-tree.h (DECL_TEMPLATE_TEMPLATE_PARM_P): New macro.
	(copy_template_template_parm): Declare.
	* decl.c (arg_looking_for_template): New variable.
	(lookup_name_real): Handle TEMPLATE_TEMPLATE_PARM.
	Try to return TEMPLATE_DECL or TEMPLATE_TEMPLATE_PARM
	node if arg_looking_for_template is nonzero.
	(pushdecl): Handle TEMPLATE_TEMPLATE_PARM.
	(grok_op_properties, xref_tag, xref_basetypes): Likewise.
	(grokdeclarator): Handle TEMPLATE_DECL.
	* decl2.c (constructor_name_full): Handle TEMPLATE_TEMPLATE_PARM.
	* error.c (dump_type): Add TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM.
	(dump_type_prefix, dump_type_suffix) Handle TEMPLATE_TEMPLATE_PARM.
	(dump_decl): Handle unnamed template type parameters.
	Handle template template parameters.
	(dump_function_name): Handle template template parameters.
	* init.c (is_aggr_typedef, is_aggr_type, get_aggr_from_typedef):
	Handle TEMPLATE_TEMPLATE_PARM.
	* method.c (build_template_template_parm_names): New function.
	(build_template_parm_names): Handle TEMPLATE_DECL.
	(build_overload_nested_name, build_overload_name):
	Handle TEMPLATE_TEMPLATE_PARM.
	* parse.y (maybe_identifier): New nonterminal.
	(template_type_parm): Use it.
	(template_template_parm, template_arg1): New nonterminal.
	(template_parm): Add template_template_parm rules.
	(template_arg): Set processing_template_arg.
	(template_arg1): Rules moved from template_arg.
	(primary, nonnested_type): Set arg_looking_for_template if we are
	processing template arguments.
	* pt.c (begin_member_template_processing): Handle TEMPLATE_DECL.
	(process_template_parm): Handle template template parameters.
	(coerce_template_parms, comp_template_args): Likewise.
	(mangle_class_name_for_template, lookup_template_class): Likewise.
	(uses_template_parms): Handle TEMPLATE_DECL and
	TEMPLATE_TEMPLATE_PARM.
	(current_template_args): Handle TEMPLATE_DECL.
	(tsubst, tsubst_copy, unify): Handle TEMPLATE_TEMPLATE_PARM.
	* search.c (dfs_walk, dfs_record_inheritance):
	Handle TEMPLATE_TEMPLATE_PARM.
	* tree.c (copy_template_template_parm): New function.
	(mapcar): Handle TEMPLATE_TEMPLATE_PARM.
	* typeck.c (comptypes): Handle TEMPLATE_TEMPLATE_PARM.

From-SVN: r17441
1998-01-22 06:03:56 -05:00
Richard Henderson
84303d9a68 alpha.md (abssf2, absdf2): Disable in IEEE mode.
* alpha.md (abssf2, absdf2): Disable in IEEE mode.
(negsf2, negdf2): Use proper subtract in IEEE mode.

From-SVN: r17440
1998-01-21 17:44:04 -08:00
Richard Henderson
48464ebfef * configure.in: Revert 3 Jan change for alpha-linux-gnulibc1.
From-SVN: r17439
1998-01-21 17:39:33 -08:00
Jeff Law
406b9925fa Fix typo in yesterday's change.
From-SVN: r17438
1998-01-20 23:48:07 -07:00
Jason Merrill
6a88a0c00b update
From-SVN: r17437
1998-01-20 19:11:44 -05:00
Jeffrey A Law
27766f0efa Remove more bytecode stuff.
From-SVN: r17436
1998-01-20 10:02:10 -07:00
Jeffrey A Law
c980413689 More bytecode stuff disappears.
From-SVN: r17435
1998-01-20 03:02:05 -07:00
Jeffrey A Law
424e713cd1 Remove more bytecode stuff.
From-SVN: r17434
1998-01-20 01:59:50 -07:00
Jeff Law
ab29e466d5 More bytecode stuff going away.
From-SVN: r17433
1998-01-20 01:57:27 -07:00
Jeffrey A Law
b93a436e6b Makefile.in: Remove all bytecode support.
* Makefile.in: Remove all bytecode support.
        (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
        * emit-rtl.c: Remove all bytecode support.
        * expr.c, expr.h function.c, integrate.c: Likewise.
        * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
        * tree.h, varasm.c: Likewise.
        * bi-*, bc-*: Delete bytecode related files.
Bytecode suppors disappears :-)

From-SVN: r17432
1998-01-20 01:55:07 -07:00
Jeffrey A Law
6885fc8771 configure.in: Check for atol.
* configure.in: Check for atol.
Forgot to commit this one a few days ago.

From-SVN: r17431
1998-01-20 01:24:58 -07:00
Gavin Koch
7e07e3ba4c mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3, [...]): Handle mips16 div/mod by a constant.
* mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
        umodsi3,umoddi3): Handle mips16 div/mod by a constant.

From-SVN: r17430
1998-01-20 01:01:08 -07:00
Jeff Law
7169565c20 Fix ChangeLog entry format.
From-SVN: r17429
1998-01-20 00:28:54 -07:00
Jeff Law
2d608f3084 Rebuilt.
From-SVN: r17428
1998-01-20 00:22:47 -07:00
Jason Merrill
a6475d981a tests from mark
From-SVN: r17427
1998-01-19 19:57:39 -05:00
Mark Mitchell
7565064686 decl.c (start_decl): Don't allow duplicate definitions of static data members.
* decl.c (start_decl): Don't allow duplicate definitions of static
	data members.
	* call.c (build_user_type_conversion_1): Handle user-defined
	template conversion operators correctly.
	* decl2.c (build_expr_from_tree): Issue an error message if the
	object in a COMPONENT_REF is a TEMPLATE_DECL.
	* typeck.c (incomplete_type_error): Handle TEMPLATE_TYPE_PARMs.
	* class.c (is_local_class): New function.
	* cp-tree.h (is_local_class): Declare it.
	(last_tree): Likewise.
	(begin_tree): Likewise.
	(end_tree): Likewise.
	(lookup_template_class): Change prototype.
	* decl.c (cp_finish_decl): Check for NULL where necesary.
	Consider FUNCTION_DECLS to declare objects with top-level binding,
	when calling make_decl_rtl.
	(grokdeclarator): Give members of local classes internal linkage.
	(start_function): Remove declaration of last_tree.
	(finish_function): Set flag_keep_inline_functions around call to
	rest_of_compilation if we are processing a member function in a
	local class.
	(start_method): Call push_template_decl for member functions of
	local classes in template functions.
	* decl2.c (import_export_decl): Don't give external linkage to
	instantiations of templates with internal linkage.
	* parse.y (last_tree): Remove declaration.
	(template_type): Pass extra parameter to lookup_template_class.
	(self_template_type): Likewise.
	(structsp): Move call to reset_specialization into left_curly.
	(left_curly): Call reset_specialization, and begin_tree.
	* pt.c (saved_trees): New variable.
	(mangle_class_name_for_template): Change prototype.  Use
	additional function context to name local classes in templates
	correctly.
	(classtype_mangled_name): Pass the context.
	(push_template_decl): Handle local classes and templates, and
	member functions for such classes.
	(convert_nontype_parameter): Fix handling of pointer-to-member
	constants.
	(lookup_template_class): Handle local classes in templates.
	(tsubst): Likewise.  Don't assume that template instantiations
	have external linkage; pay attention to the template declaration.
	(mark_decl_instantiated): Likewise.
	(begin_tree): New function.
	(end_tree): Likewise.
	* decl.c (xref_basetypes): Don't call complete_type for basetypes
	that involve template parameters; that can lead to infinite
	recursion unnecessarily.
	* pt.c (register_specialization): Do not register specializations
	that aren't ready to be registered yet.
	(check_explicit_specialization): Handle explicit specialization of
	constructors and destructors.
	(build_template_decl): New function.
	(push_template_delc): Handle out-of-class specializations of
	member templates.
        * pt.c (check_explicit_specialization): Set up the template
        information before registering the specialization.
        (coerce_template_parms): Fix thinko.
        (tsubst): Handle specializations of member templates correctly.
	* class.c (finish_struct_methods): Remove calls to
	check_explicit_specialization from here.
	(finish_struct): And insert them here.
	* cp-tree.h (perform_qualification_conversions): New function.
	(perform_array_to_pointer_conversion): Likewise.
	(begin_explicit_instantiation): Likewise.
	(end_explicit_instantiation): Likewise.
	(determine_specialization): Renamed from
	determine_explicit_specialization.
	(comp_template_parms): New function.
	(processing_explicit_instantiation): New variable.
	* cvt.c (perform_qualification_conversions): New function.
	(perform_array_to_pointer_conversion): Likewise.
	* decl.c (duplicate_decls): Don't consider template functions
	alike unless they have the same parameters.  Refine handling of
	instantiation/specialization mismatches.
	(start_decl): Don't call pushdecl for template specializations,
	since they don't affect overloading.
	(start_function): Likewise
	(grokfndecl): Call check_explicit_specialization a little later.
	Don't call duplicate_decls for memberm template specializations.
	(grokdeclarator): Don't update template_count for classes that are
	themselves specializations.  Remove use of `2' as parameter to
	grokfndecl since that value isn't used.
	* lex.c (cons_up_default_function): Save and restore
	processing_explicit_instantiation around calls to grokfield.
	* parse.y (finish_member_template_decl): New function.
	(component_decl_1): Use it.
	(fn.def2): Likewise.
	(template_arg_list_opt): New nonterminal.
	(template_type): Use it.
	(self_template_type): Likewise.
	(template_id): Likewise.
	(object_template_id): Likewise.
	(notype_template_declarator): Likwise.
	(begin_explicit_instantiation): Likewise.
	(end_explicit_instantiation): Likewise.
	(explicit_instantiation): Use them.
	* pt.c (coerce_template_parms): Add parameters.
	(processing_explicit_instantiation): New variable.
	(convert_nontype_parameter): New function.
	(determine_overloaded_function): Likewise.
	(begin_explicit_instantiation): Likewise.
	(end_explicit_instantiation): Likewise.
	(retrieve_specialization): Likewise.
	(register_specialization): Likewise.
	(processing_explicit_specialization): Removed.
	(determine_specialization): Handle specializations of member
	functions of template class instantiations.
	(check_explicit_specialization): Refine to conform to standard.
	(comp_template_parms): New function.
	(coerce_template_parms): Call convert_nontype_parameter.
	(tsubst): Refine handling of member templates.  Use
	register_specialization.
	(instantiate_template): Use retrieve_specialization.
	(do_decl_instantiation): Likewise.
	(instantiate_decl): Likewise.
	(type_unification): Improve handling of explict template
	arguments.
	* tree.c (mapcar): Return error_mark_node, rather than aborting,
	on VAR_DECLS, FUNCTION_DECLS, and CONST_DECLS.
	* typeck.c (build_unary_op): Call determine_specialization, rather
	than determine_explicit_specialization.

From-SVN: r17426
1998-01-19 17:41:40 -05:00
Richard Henderson
685885b773 i386.md (push): Prohibit symbolic constants if flag_pic.
* i386.md (push): Prohibit symbolic constants if flag_pic.
(movsi+1): Likewise for move to non-register.

From-SVN: r17425
1998-01-19 13:54:09 -08:00
Jim Wilson
11ea364a69 Fix 32 bit host alpha ev6 target failure.
* alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
	(print_operand): Handle 0xffffffff on 32 bit host.

From-SVN: r17424
1998-01-19 10:32:48 -08:00
Jim Wilson
a851212aac Fix build/host/target configure in settting of thread_file.
* configure.in (thread_file): Rename uses before main loop to
	target_thread_file.  Initialize to empty in main loop.  Set thread_file
	to target_thread_file after main loop if not set.
	* configure: Rebuild.

From-SVN: r17423
1998-01-19 05:57:04 -08:00
Jason Merrill
f62aa8f3f1 cvt.c (build_up_reference): A TARGET_EXPR has side effects.
* cvt.c (build_up_reference): A TARGET_EXPR has side effects.
14507

From-SVN: r17422
1998-01-19 08:21:59 -05:00
Jim Wilson
5830e3a0ca Fix time/space problem when (const_int 1) occurs in conflict_list.
* genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
	(add_values_to_cover): Revert last change (which had no ChangeLog
	entry).
	(simplify_with_current_value_aux): Handle CONST_INT.

From-SVN: r17421
1998-01-19 03:16:37 -08:00
Andreas Schwab
829e1aaf72 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
From-SVN: r17420
1998-01-19 02:12:31 -08:00
Richard Henderson
7684433709 configure.in: Add cpp stringify test.
* configure.in: Add cpp stringify test.
        * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
        * gengenrtl.c: Use it.
        * configure, config.in: Rebuild.

From-SVN: r17419
1998-01-19 02:09:47 -08:00
Andreas Schwab
a3f8002381 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
From-SVN: r17418
1998-01-19 01:39:38 -08:00
Richard Henderson
c5d0345e8d configure.in: Find declaration for sbrk.
* configure.in: Find declaration for sbrk.
        * acconfig.h (NEED_DECLARATION_SBRK): New tag.
        * config.in, configure: Rebuild.
        * mips-tfile.c: Properly protect declaration of sbrk and free.
        * toplev.c: Properly protect declaration of sbrk.

From-SVN: r17417
1998-01-19 01:37:12 -08:00
Richard Henderson
bb02e7eaa4 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
From-SVN: r17416
1998-01-18 12:15:24 -08:00
Richard Henderson
43ad1f80bc Typo applying the last patch.
From-SVN: r17415
1998-01-18 12:03:42 -08:00
Toon Moene
94f09d6b40 f_back (f/runtime/libI77/backspace.c): use type `uiolen' to determine size of record length specifier.
* f_back (f/runtime/libI77/backspace.c): use type `uiolen'
to determine size of record length specifier.

From-SVN: r17414
1998-01-18 12:02:04 -08:00
Jeffrey A Law
30c2fa7578 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
From-SVN: r17413
1998-01-17 17:52:49 -07:00
Jeff Law
ae0d310d59 Fix various bugs in previous change.
From-SVN: r17412
1998-01-17 17:49:05 -07:00
Jeffrey A Law
a04a1bea94 c-torture.exp: Look for .x files instead of .cexp files.
* lib/c-torture.exp: Look for .x files instead of .cexp files.
        * lib/f-torture.exp: Similarly.
        * gcc.c-torture: Rename all .cexp files to .x files.

From-SVN: r17411
1998-01-17 17:32:36 -07:00
Jeff Law
70372764a3 New test from Joern.
From-SVN: r17410
1998-01-17 17:22:34 -07:00
Jeff Law
ffc3503d9f emit_rtl.c (init_emit_once): Ensure that potential aliasing between frame_pointer_rtx...
* emit_rtl.c (init_emit_once): Ensure that potential aliasing
        between frame_pointer_rtx, hard_frame_pointer_rtx, and
        arg_pointer_rtx is respected in initialization.
        (init_emit_once): Use gen_rtx_raw_REG() to create
        return_address_pointer_rtx.
	* rtl.h: Fix typo.

From-SVN: r17409
1998-01-17 17:01:22 -07:00
Mike Stump
a0372c94de * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
From-SVN: r17408
1998-01-17 16:56:18 -07:00
Jeff Law
9677d5a42e Flip expectedness
From-SVN: r17407
1998-01-17 16:52:16 -07:00
Jeff Law
e925bb9d82 Rebuild configure files after recent changes.
From-SVN: r17406
1998-01-17 16:48:34 -07:00
David S. Miller
0e9ff8854f combine.c (force_to_mode, [...]): Correctly optimize constant offset computations from objects with known...
* combine.c (force_to_mode, nonzero_bits): Correctly optimize
        constant offset computations from objects with known alignment in
        the presence of STACK_BIAS.

From-SVN: r17405
1998-01-17 16:08:03 -07:00
Jeffrey A Law
aef28d1d1e acconifg.h (NEED_DECLARATION_ATOL): New declaration to check for.
* acconifg.h (NEED_DECLARATION_ATOL): New declaration to check for.
        * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.

From-SVN: r17404
1998-01-17 16:00:46 -07:00
David S. Miller
7bcac048fd varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where necessary.
* varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
        necessary.
        (const_hash): Hash val is unsigned long.
        (SYMHASH): Likewise.
        * tree.c (TYPE_HASH): Type of hash val is unsigned long.
        * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
        char pointer, not HOST_WIDE_INT.
        (print_node): Likewise.  Also hash is unsigned long not
        HOST_WIDE_INT.
        * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.

From-SVN: r17403
1998-01-17 15:50:40 -07:00
David S. Miller
c9ec4f99bc explow.c (optimize_save_area_alloca): New function for targets where SETJMP_VIA_SAVE_AREA is true.
* explow.c (optimize_save_area_alloca): New function for targets
        where SETJMP_VIA_SAVE_AREA is true.
        (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
        compute the amount of stack space needed should we find later that
        setjmp is never called by this function, stuff rtl for this inside
        a REG_NOTE of the final SET of stack_pointer_rtx.
        * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
        current_function_calls_alloca, call optimize_save_area_alloca.
CVS ----------------------------------------------------------------------

From-SVN: r17402
1998-01-17 15:39:10 -07:00
John Wehle
ca097615db i386.md: Remove redundant integer push patterns.
* i386.md: Remove redundant integer push patterns.
        Don't bother checking for TARGET_PUSH_MEMORY when
        pushing constants or registers.

From-SVN: r17401
1998-01-17 15:20:32 -07:00