Commit Graph

15176 Commits

Author SHA1 Message Date
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
Jeffrey A Law 4399e7a324 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
From-SVN: r17400
1998-01-17 15:00:51 -07:00
Jeffrey A Law 72ec635f5a loop.c (find_and_verify_loops): When attempting to move insns from inside the loop outside the loop...
* loop.c (find_and_verify_loops): When attempting to move insns from
        inside the loop outside the loop, create a BARRIER if no suitable
        one was found.

From-SVN: r17399
1998-01-17 14:50:05 -07:00
Mumit Khan d9a3317a68 configure.in (sys/param.h,sys/times.h): Check.
* libU77/configure.in (sys/param.h,sys/times.h): Check.
	(times,alarm): Likewise.
	* libU77/config.h.in (HAVE_SYS_PARAM_H, HAVE_SYS_TIMES_H,
	HAVE_ALARM, HAVE_TIMES): New defs.
	* libU77/alarm_.c: Conditionalize for target platform. Set errno
	to ENOSYS if target libc doesn't have the function.
	* libU77/dtime_.c: Likewise.
	* libU77/etime_.c: Likewise.
	* libU77/sys_clock_.c: Likewise.

From-SVN: r17398
1998-01-17 14:39:07 -07:00
Mumit Khan 4dfa69619a configure.in (NON_UNIX_STDIO): Define if MINGW32.
* configure.in (NON_UNIX_STDIO): Define if MINGW32.
        (NON_ANSI_RW_MODE): Do not define for CYGWIN32 or MINGW32.
        * libI77/rawio.h: Don't providing conflicting declarations for
        read() and write(). MINGW32 header files use "const" quals.
        * libF77/s_paus.c: _WIN32 does not have pause().

From-SVN: r17397
1998-01-17 14:37:48 -07:00
Mumit Khan a3105a8956 pexecute.c (pexecute): New function for mingw32.
* pexecute.c (pexecute): New function for mingw32. Supports pipes.
        (pwait): New function for mingw32.
        * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
        pipe support is broken for now.

Co-Authored-By: J.J. VanderHeijden <J.J.vanderHeijden@student.utwente.nl>

From-SVN: r17396
1998-01-17 14:33:56 -07:00
Mumit Khan 77aff45955 Add mingw32 support.
* pexecute.c (pexecute): New function for mingw32. Supports pipes.
        (pwait): New function for mingw32.
        * config.table (i[3456]86-*-mingw32*): Support for i386-mingw32.
        * config/mt-mingw32: New file.
        * xmalloc.c (first_break): Not used for mingw32.
        (xmalloc_set_program_name): Don't use sbrk on mingw32.
        (xmalloc): Likewise.
        (xrealloc): Likewise.

Co-Authored-By: J.J. VanderHeijden <J.J.vanderHeijden@student.utwente.nl>

From-SVN: r17395
1998-01-17 14:30:39 -07:00
Jeffrey A Law 84f79fea91 * choose-temp.c: Sync with gcc.
From-SVN: r17394
1998-01-17 14:23:29 -07:00
Lee Iverson 51549d7665 reorg.c: #include "expr.h" for rtx prototypes.
* reorg.c: #include "expr.h" for rtx prototypes.
        * Makefile.in (reorg.o): Depend on expr.h.

From-SVN: r17393
1998-01-17 13:37:23 -07:00
Pieter Nagel 3bf810d837 Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and local_prefix to sub-make invocations.
8
        * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
        local_prefix to sub-make invocations.

From-SVN: r17392
1998-01-17 13:29:12 -07:00
Pieter Nagel b24a815bdf Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and local_prefix to sub-make invocations.
d
        * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
        local_prefix to sub-make invocations.

From-SVN: r17391
1998-01-17 13:28:35 -07:00
Pieter Nagel 803462a79f Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and local_prefix to sub-make invocations.
Sat Jan 17 21:28:08 1998  Pieter Nagel <pnagel@epiuse.co.za>
        * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
        local_prefix to sub-make invocations.

From-SVN: r17390
1998-01-17 13:28:11 -07:00