Commit Graph

15202 Commits

Author SHA1 Message Date
Jeff Law 3a0120cfe2 Tweak SCO5 stuff.
From-SVN: r17466
1998-01-23 17:31:38 -07:00
Jeffrey A Law ed1ecb1930 cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE simplifications.
* cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
        simplifications.

From-SVN: r17465
1998-01-23 16:06:03 -07:00
Jeffrey A Law b4b04bf97f crtstuff.c (init_dummy): Keep the epilogue in the init section for non-ELF systems.
* crtstuff.c (init_dummy): Keep the epilogue in the init
        section for non-ELF systems.

From-SVN: r17464
1998-01-23 14:47:43 -07:00
J"orn Rennecke deeef0aca0 * sh.md (movqi_i+1): New peephole.
From-SVN: r17463
1998-01-23 14:27:50 -07:00
Jeff Law 2645224970 Finish .cexp -> .x conversion.
From-SVN: r17462
1998-01-23 14:13:16 -07:00
Mumit Khan ab535daca9 lex.c (DIR_SEPARATOR): Define to be '/' if not already defined.
* lex.c (DIR_SEPARATOR): Define to be '/' if not already defined.
	(file_name_nondirectory): Use.

From-SVN: r17461
1998-01-23 13:35:06 -05:00
Jason Merrill d1fefbce9d revert last change
From-SVN: r17460
1998-01-23 13:33:28 -05:00
Jim Wilson 03566575a9 Remove rest of bytecode stuff, except for the VMS *.com files.
* Makefile.in: Remove remaining bytecode stuff.
	* emit-rtl.c, expr.c: Likewise.

From-SVN: r17459
1998-01-23 07:43:01 -08:00
Nick Clifton eb96c1209c * toplev.c (lang_options): Add unknown-pragma options.
From-SVN: r17458
1998-01-23 04:39:49 -07:00
Per Bothner f03204e956 dwarfout.c (byte_size_attribute): Simplify and fix - don't need special (and incomplete) handling for Chill arrays.
�
	* dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
	special (and incomplete) handling for Chill arrays.

From-SVN: r17457
1998-01-22 15:48:23 -08:00
Per Bothner fa4056256a dwarfout.c (byte_size_attribute): Simplify and fix - don't need special (and incomplete) handling for Chill arrays.
8
	* dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
	special (and incomplete) handling for Chill arrays.

From-SVN: r17456
1998-01-22 15:48:22 -08:00
Philip Blundell 6eef3189b8 * config.guess: Add support for Linux/ARM.
From-SVN: r17455
1998-01-22 16:28:32 -07:00
John Carr 4e762a3831 toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available, to get clock rate.
* toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
        to get clock rate.

From-SVN: r17454
1998-01-22 16:26:28 -07:00
Gavin Koch 319f217eca * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
From-SVN: r17453
1998-01-22 16:18:55 -07:00
Jeff Law 40687a9e89 Tweak.
From-SVN: r17452
1998-01-22 16:16:12 -07:00
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