Commit Graph

79753 Commits

Author SHA1 Message Date
GCC Administrator cd265edd7b Daily bump.
From-SVN: r122680
2007-03-08 00:17:26 +00:00
Tom Tromey ded63764e3 configure: Rebuilt.
* configure: Rebuilt.
	* configure.ac: Clear vm-tools-packages.

From-SVN: r122677
2007-03-07 23:49:45 +00:00
Brooks Moses a24ff43fba * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
From-SVN: r122674
2007-03-07 12:50:25 -08:00
Eric Botcazou 581f006c4a Fix date format.
From-SVN: r122670
2007-03-07 18:40:09 +00:00
Richard Henderson 7476f0866c re PR target/30848 (ICE with invalid constraint in asm statement)
PR target/30848
        * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
        silently fix up the stack in the case of a missing register.

From-SVN: r122669
2007-03-07 10:13:29 -08:00
Mohan Embar 1611915067 Win32Process.java: Added nested class EOFInputStream.
* java/lang/Win32Process.java: Added nested class EOFInputStream.
	* java/lang/natWin32Process.cc (ChildProcessPipe): Added DUMMY
	enum and implementation.
	(startProcess): Use redirect flag.
	* classpath/lib/java/lang/Win32Process.class: Regenerated.
	* classpath/lib/java/lang/Win32Process$EOFInputStream.class: New.
	* gcj/javaprims.h: Regenerated.
	* java/lang/Win32Process$EOFInputStream.h: New.

From-SVN: r122668
2007-03-07 18:05:39 +00:00
Joseph Myers 3f3e5a9ade * gcc.pot: Regenerate.
From-SVN: r122667
2007-03-07 18:02:40 +00:00
Joseph Myers 1a777b2d5d * cpplib.pot: Regenerate.
From-SVN: r122666
2007-03-07 18:01:18 +00:00
Andrew Haley ea6e795acf libgcj_bc.c (JvRunMainName): Declare.
2007-03-07  Andrew Haley  <aph@redhat.com>

	* libgcj_bc.c (JvRunMainName): Declare.

From-SVN: r122663
2007-03-07 15:54:27 +00:00
Gary Benson 749827a63b org.w3c.dom.DOMImplementationSourceList: New file.
2007-03-07  Gary Benson  <gbenson@redhat.com>

	* resource/META-INF/services/org.w3c.dom.DOMImplementationSourceList:
	New file.

2007-03-07  Gary Benson  <gbenson@redhat.com>

	* sources.am, Makefile.in: Rebuilt.

From-SVN: r122661
2007-03-07 15:31:07 +00:00
Mohan Embar 1801265033 * gcj/javaprims.h: Regenerated.
From-SVN: r122660
2007-03-07 14:54:00 +00:00
Andreas Schwab 172e41aaee configure: Regenerate.
* configure: Regenerate.

config/:
	* acx.m4 (GCC_TARGET_TOOL): Expand backquotes outside
	AC_MSG_RESULT.

From-SVN: r122659
2007-03-07 14:01:40 +00:00
Joseph Myers a566d05002 libunwind.S: Add .arch/.object_arch for armv4 builds.
gcc:
2007-03-07  Paul Brook  <paul@codesourcery.com>

	* config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds.

gcc:
2007-03-07  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs):
	New.
	(phase1_vrs): Use them.
	(DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New.
	(__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD,
	__gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare.
	(restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and
	__gnu_Unwind_Restore_WMMXC if required.
	(_Unwind_VRS_Pop): Implement iWMMXt support.
	* config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD,
	gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC,
	gnu_Unwind_Save_WMMXC): Define.

gcc/testsuite:
2007-03-07  Joseph Myers  <joseph@codesourcery.com>

	* g++.dg/eh/arm-iwmmxt-unwind.C: New test.

From-SVN: r122658
2007-03-07 13:04:15 +00:00
Richard Sandiford ef67275542 vxworks.h (vxworks_override_options): Declare.
gcc/
	* config/vxworks.h (vxworks_override_options): Declare.
	(VXWORKS_OVERRIDE_OPTIONS): Use it.
	* config/vxworks.c: Include target.h and toplev.h.
	(vxworks_override_options): New function.
	* config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h.

From-SVN: r122657
2007-03-07 11:52:52 +00:00
Paolo Bonzini 7afb5f3b68 var-expand1.c: Add newline at end of file.
2007-03-07  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/var-expand1.c: Add newline at end of file.

From-SVN: r122656
2007-03-07 11:45:28 +00:00
Andreas Krebbel 690e7b63cf s390.c (override_options): Don't emit an error when -mstack-size is used without providing -mstack-guard.
2007-03-07  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (override_options): Don't emit an error when
	-mstack-size is used without providing -mstack-guard.
	(s390_emit_prologue): Choose stack_guard value automatically if not
	provided via command line.
	* doc/invoke.texi: Adjust description of -mstack-guard and -mstack-size.

From-SVN: r122655
2007-03-07 09:11:12 +00:00
Richard Sandiford 170bdabaa2 i386.c (output_set_got): Add a GOT initialization sequence for VxWorks PIC.
gcc/
	* config/i386/i386.c (output_set_got): Add a GOT initialization
	sequence for VxWorks PIC.
	(legitimate_pic_address_disp_p): Allow UNSPEC_GOT wrappers
	around labels as well as symbols.  Use gotoff_operand instead
	of local_symbolic_operand.
	(legitimize_pic_address): Use gotoff_operand instead of
	local_symbolic_operand.  Use @GOT accesses for labels as
	well as symbols.
	(ix86_output_addr_diff_elt): Use PC-relative rather than
	GP-relative offsets for VxWorks PIC.
	(ix86_expand_move): Pass NULL_RTX to legitimize_pic_address unless
	no_new_pseudos.  Check whether the returned register is op0.
	* config/i386/i386.md (tablejump): Use PC-relative rather than
	GP-relative offsets for VxWorks PIC.
	* config/i386/predicates.md (gotoff_operand): New predicate.

From-SVN: r122654
2007-03-07 09:02:14 +00:00
Richard Sandiford 26b5109ffe vxworks.h (VXWORKS_GOTT_BASE, [...]): Undefine before defining.
gcc/
	* config/vxworks.h (VXWORKS_GOTT_BASE, VXWORKS_GOTT_INDEX): Undefine
	before defining.
	* config/vxworks-dummy.h: New file.
	* config/i386/i386.h: Include it.

From-SVN: r122653
2007-03-07 07:37:16 +00:00
Alexandre Oliva 18fa3240db ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this.  Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise.  Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument.  Use
ffi_closure_alloc and the separate code pointer.  Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument.  Use
ffi_closure_alloc and the separate code pointer.  Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable.  Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument.  Use ffi_closure_alloc and the
separate code pointer.  Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.

From-SVN: r122652
2007-03-07 07:27:25 +00:00
Alexandre Oliva dd77833100 dlmalloc.c: New file, imported version 2.8.3 of Doug Lea's malloc.
* src/dlmalloc.c: New file, imported version 2.8.3 of Doug
Lea's malloc.

From-SVN: r122651
2007-03-07 07:20:20 +00:00
Alexandre Oliva dfad806e1e dwarf2out.c (is_inlined_entry_point): New
* dwarf2out.c (is_inlined_entry_point): New
(add_high_low_attributes): Emit DW_AT_entry_pc along with
DW_AT_ranges if the first subblock is the entry point.

From-SVN: r122650
2007-03-07 07:18:41 +00:00
David Daney 3eb3cf05c0 install.texi (mips-*-*): Change recommended binutils version.
* doc/install.texi (mips-*-*): Change recommended binutils
	version.

From-SVN: r122648
2007-03-07 04:40:28 +00:00
Hans-Peter Nilsson bf4e79cff8 * g++.old-deja/g++.jason/template31.C: Include cstdlib.
From-SVN: r122647
2007-03-07 03:10:26 +00:00
GCC Administrator f00de4b1b8 Daily bump.
From-SVN: r122644
2007-03-07 00:17:10 +00:00
Daniel Franke cc71ce20dc re PR fortran/30950 (intrinsic: CPU_TIME)
2007-03-06  Daniel Franke  <franke.daniel@gmail.com>

        PR documentation/30950
        * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
        (FREE): Fix call syntax.

From-SVN: r122640
2007-03-06 16:57:02 -05:00
Kyle Galloway 009403e6f0 AbsentInformationException.java: New file.
2007-03-06  Kyle Galloway  <kgallowa@redhat.com>

	* classpath/gnu/classpath/jdwp/exception/AbsentInformationException.java: New file.
	* classpath/lib/gnu/classpath/jdwp/exception/AbsentInformationException.class: Ditto.
	* gnu/classpath/jdwp/exception/AbsentInformationException.h: Ditto.
	* gnu/classpath/jdwp/natVMMethod.cc: Add CHECK_INTERP_CLASS macro.
	(VMMethod::getLineTable): Use new macro.
	(VMMethod::getVariableTable): Implement.
	* sources.am: Regenerated.
	* Makefile.in: Ditto.

From-SVN: r122639
2007-03-06 21:09:22 +00:00
Anatoly Sokolov 205dcd71cd avr.c (avr_mcu_types): Add support for ATmega325P...
2006-02-24  Anatoly Sokolov <aesok@post.ru>

	* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
	ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 
	devices.
	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).

From-SVN: r122635
2007-03-06 23:06:58 +03:00
Matthias Klose ef008ff247 Makefile.am (gkeytool.pod): Don't use sed -i.
2007-03-06  Matthias Klose  <doko@ubuntu.com>

        * doc/Makefile.am(gkeytool.pod): Don't use sed -i.
        * doc/Makefile.in: Regenerate.

From-SVN: r122634
2007-03-06 19:12:22 +00:00
Jan Hubicka 52bf96d2f2 errors.h (warning, [...]): Mark as cold.
* errors.h (warning, error, fatal, internal_error): Mark as cold.
	* predict.c (maybe_hot_bb): Cold functions are never hot; hot functions
	are hot.
	(probably_cold_bb_p): Cold functions are cold.
	(probably_never_executed_bb_p): Cold functions are cold.
	(tree_bb_level_predictions): Predict calls to cold functions as not
	taken.
	(compute_function_frequency): Check hot/cold attributes.
	* function.h (function_frequency): Update comments.
	* predict.def (PRED_COLD_FUNCTION): Predict cold function.
	* c-common.c (handle_hot_attribute, handle_cold_attribute): New.
	(c_common_att): Add cold and hot.

	* doc/extend.texi (hot,cold attributes): Document.
	
	* ansidecl.h (ATTRIBUTE_COLD, ATTRIBUTE_HOT): New.

From-SVN: r122632
2007-03-06 18:57:27 +00:00
Tom Tromey 20f326d710 Makefile.in: Rebuilt.
libjava
	* Makefile.in: Rebuilt.
	* Makefile.am (bin_PROGRAMS): Added gcjh.
	(gcjh_SOURCES, gcjh_LDFLAGS, gcjh_LINK, gcjh_LDADD,
	gcjh_DEPENDENCIES): New variables.
libjava/classpath
	* tools/gnu/classpath/tools/javah/Main.java (getName): New
	method.
	(getParser): Now protected.  Use getName.  Add '-v' alias for
	--verbose.
	(postParse): New method.
	(run): Now protected.  Use postParse.
	* tools/gnu/classpath/tools/javah/GcjhMain.java: New file.
	* tools/Makefile.in: Rebuilt.
	* tools/Makefile.am: Remove vm-tools.lst before creating it.

From-SVN: r122631
2007-03-06 18:50:14 +00:00
Kyle Galloway 61a36e0df4 jvmti.cc (_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.
2007-03-06  Kyle Galloway  <kgallowa@redhat.com>
	* jvmti.cc(_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.
	* testsuite/libjava.jvmti/interp/natgetlocalvartable.cc
	(do_getlocalvartable_tests): Add Deallocate calls to free strings.

From-SVN: r122630
2007-03-06 18:22:28 +00:00
Paolo Carlini 4ba851b58b PR libstdc++/28080 (partial)
2007-03-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <cstdlib>.
	* src/localename.cc: Do it here.
	* src/ctype.cc: Likewise.
	* include/ext/pb_ds/detail/map_debug_base.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/tr1/random: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_abi_check.cc: Likewise.
	* testsuite/util/testsuite_abi.cc: Likewise.
	* testsuite/util/performance/assoc/timing/
	tree_order_statistics_test.hpp: Likewise.
	* config/locale/darwin/ctype_members.cc: Likewise.
	* config/locale/gnu/c++locale_internal.h: Likewise.
	* config/locale/generic/ctype_members.cc: Likewise.
	* config/locale/generic/time_members.cc: Likewise.

	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Qualify abort.
	* testsuite/util/performance/assoc/timing/
	multimap_find_test.hpp: Likewise.
	* include/std/valarray: Do include <cstdlib>.
	* include/tr1/hashtable: Likewise.

From-SVN: r122628
2007-03-06 17:43:27 +00:00
Andrew Haley 251086461e function.c (expand_function_end): Move blockage to just after we emit the label for the naked return from the...
2007-03-06  Andrew Haley  <aph@redhat.com>

        * function.c (expand_function_end): Move blockage to just after we
        emit the label for the naked return from the function.

From-SVN: r122626
2007-03-06 17:21:37 +00:00
Richard Sandiford af17c030e8 att.h (ASM_OUTPUT_ASCII, [...]): Undefine before redefining.
gcc/
	* config/i386/att.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Undefine
	before redefining.

From-SVN: r122625
2007-03-06 17:17:30 +00:00
Jan Hubicka dc4d7240dc reg-stack.c (reg_to_stack): Large models don't allow NAN to be loaded for constant large models.
* reg-stack.c (reg_to_stack): Large models don't allow NAN to be
	loaded for constant large models.  Non-large 64bit PIC can do.
	* i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
	* cmodel.h: Add LARGE PIC.
	* i386.md (UNSPEC_PLTOFF): New.
	(UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other unspecs as
	needed.
	(*call_1_rex64): Disable for large models.
	(*call_1_rex64_large): New.
	(*call_value_1_rex64): Disable for large models.
	(*call_value_1_rex64_large): New.
	(set_rip_rex4): New.
	(set_got_offset_rex64): New.
	* predicates.md (constant_call_address_operand): For large model
	constant calls are not possible.
	* i386-protos.h (construct_plt_address): Declare.
	* i386.c (override_options): Accept large models.
	(ix86_expand_prologue): Expand large PIC GOT pointer load.
	(legitimate_constant_p): Add new UNSPECs.
	(legitimate_pic_operand_p): Likewise.
	(legitimate_pic_address_disp_p): Disallow local symbols for large PICs.
	(legitimize_pic_address): Do easy RIP relative way for TLS only for
	non-large model.
	(output_pic_addr_const): Add PLTOFF.
	(ix86_output_addr_diff_elt): Output 64bit tables when needed.
	(ix86_expand_move): Legitimize pic address when in PIC mode.
	(construct_plt_address): New function.
	(ix86_expand_call): Offload the address to register and use GOT pointer
	for large model.
	* invoke.texi (mcmodel=large): Update documentation.

From-SVN: r122623
2007-03-06 16:38:43 +00:00
Richard Henderson 80fd744fda i386.c (x86_use_leave, [...]): Merge into ...
* config/i386/i386.c (x86_use_leave, x86_push_memory,
	x86_zero_extend_with_and, x86_movx, x86_double_with_add,
	x86_use_bit_test, x86_unroll_strlen, x86_deep_branch,
	x86_branch_hints, x86_use_sahf, x86_partial_reg_stall,
	x86_partial_flag_reg_stall, x86_use_himode_fiop, x86_use_simode_fiop,
	x86_use_mov0, x86_use_cltd, x86_read_modify_write, x86_read_modify,
	x86_split_long_moves, x86_promote_QImode, x86_fast_prefix, 
	x86_single_stringop, x86_qimode_math, x86_promote_qi_regs,
	x86_himode_math, x86_promote_hi_regs, x86_sub_esp_4, x86_sub_esp_8,
	x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, 
	x86_partial_reg_dependency, x86_memory_mismatch_stall, 
	x86_prologue_using_move, x86_epilogue_using_move, x86_shift1,
	x86_sse_partial_reg_dependency, x86_sse_split_regs, 
	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
	x86_sse_load0_by_pxor, x86_use_ffreep, x86_use_incdec,
	x86_inter_unit_moves, x86_ext_80387_constants, x86_four_jump_limit,
	x86_schedule, x86_use_bt, x86_pad_returns): Merge into ...
	(ix86_tune_features): ... here.  New array.
	(x86_cmove, x86_use_xchgb, x86_cmpxchg, x86_cmpxchg8b,	
	x86_xadd, x86_bswap): Merge into ...
	(ix86_arch_features): ... here.  New array.
	(x86_3dnow_a): Remove.
	(x86_accumulate_outgoing_args): Make static.
	(x86_arch_always_fancy_math_387): Make static.
	(ix86_tune_mask, ix86_arch_mask): Move ...
	(override_options): ... to local variables here.  Apply the
	appropriate mask to each element of ix86_arch_features and
	ix86_tune_features.  Adjust TARGET_CMOVE and TARGET_USE_SAHF
	as were done in the old macros.
	(standard_80387_constant_p): Use TARGET_EXT_80387_CONSTANTS.
	* config/i386/i386.h (x86_use_leave, x86_push_memory,
	x86_zero_extend_with_and, x86_use_bit_test, x86_cmove, x86_deep_branch,
	x86_branch_hints, x86_unroll_strlen, x86_double_with_add,
	x86_partial_reg_stall, x86_movx, x86_use_himode_fiop,
	x86_use_simode_fiop, x86_use_mov0, x86_use_cltd, x86_use_xchgb,
	x86_read_modify_write, x86_read_modify, x86_split_long_moves,
	x86_promote_QImode, x86_single_stringop, x86_fast_prefix,
	x86_himode_math, x86_qimode_math, x86_promote_qi_regs,
	x86_promote_hi_regs, x86_integer_DFmode_moves, x86_add_esp_4,
	x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8,
	x86_partial_reg_dependency, x86_memory_mismatch_stall,
	x86_accumulate_outgoing_args, x86_prologue_using_move,
	x86_epilogue_using_move, x86_decompose_lea,
	x86_arch_always_fancy_math_387, x86_shift1,
	x86_sse_partial_reg_dependency, x86_sse_split_regs,
	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,	
	x86_sse_load0_by_pxor, x86_use_ffreep, x86_inter_unit_moves,
	x86_schedule, x86_use_bt, x86_cmpxchg, x86_cmpxchg8b, x86_xadd,
	x86_use_incdec, x86_pad_returns, x86_bswap,
	x86_partial_flag_reg_stall): Remove.
	(enum ix86_tune_indices): New.
	(ix86_tune_features): New.
	(TARGET_USE_LEAVE, TARGET_PUSH_MEMORY, TARGET_ZERO_EXTEND_WITH_AND,
	TARGET_USE_BIT_TEST, TARGET_UNROLL_STRLEN,
	TARGET_DEEP_BRANCH_PREDICTION, TARGET_BRANCH_PREDICTION_HINTS,
	TARGET_DOUBLE_WITH_ADD, TARGET_USE_SAHF, TARGET_MOVX,
	TARGET_PARTIAL_REG_STALL, TARGET_PARTIAL_FLAG_REG_STALL,
	TARGET_USE_HIMODE_FIOP, TARGET_USE_SIMODE_FIOP, TARGET_USE_MOV0,
	TARGET_USE_CLTD, TARGET_USE_XCHGB, TARGET_SPLIT_LONG_MOVES,
	TARGET_READ_MODIFY_WRITE, TARGET_READ_MODIFY, TARGET_PROMOTE_QImode,
	TARGET_FAST_PREFIX, TARGET_SINGLE_STRINGOP, TARGET_QIMODE_MATH,
	TARGET_HIMODE_MATH, TARGET_PROMOTE_QI_REGS, TARGET_PROMOTE_HI_REGS,
	TARGET_ADD_ESP_4, TARGET_ADD_ESP_8, TARGET_SUB_ESP_4,
	TARGET_SUB_ESP_8, TARGET_INTEGER_DFMODE_MOVES,
	TARGET_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REG_DEPENDENCY,
	TARGET_SSE_UNALIGNED_MOVE_OPTIMAL, TARGET_SSE_SPLIT_REGS,
	TARGET_SSE_TYPELESS_STORES, TARGET_SSE_LOAD0_BY_PXOR,
	TARGET_MEMORY_MISMATCH_STALL, TARGET_PROLOGUE_USING_MOVE,
	TARGET_EPILOGUE_USING_MOVE, TARGET_SHIFT1, TARGET_USE_FFREEP,
	TARGET_INTER_UNIT_MOVES, TARGET_FOUR_JUMP_LIMIT, TARGET_SCHEDULE,
	TARGET_USE_BT, TARGET_USE_INCDEC, TARGET_PAD_RETURNS,
	TARGET_EXT_80387_CONSTANTS): Use it.
	(enum ix86_arch_indices): New.
	(ix86_arch_features): New.
	(TARGET_CMOVE, TARGET_CMPXCHG, TARGET_CMPXCHG8B, TARGET_XADD,
	TARGET_BSWAP): Use it.
	(ix86_tune_mask, ix86_arch_mask): Remove.

From-SVN: r122621
2007-03-06 07:59:38 -08:00
Joseph Myers 14da607343 re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>)
fixincludes:
	* mkheaders.in: Fix headers for each multilib required.

gcc:
	PR bootstrap/31020
	* configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir):
	Define using $${sysroot_headers_suffix}.
	* configure: Regenerate.
	* cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a
	multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC
	defined.
	* doc/invoke.texi (-print-sysroot-headers-suffix): Document.
	* gcc.c (print_sysroot_headers_suffix): New.
	(option_map): Include --print-sysroot-headers-suffix.
	(display_help): Mention -print-sysroot-headers-suffix.
	(process_command): Handle -print-sysroot-headers-suffix.
	(do_spec_1): Append multilib directory to include-fixed path if
	sysroot suffixes in use.
	(main): Handle -print-sysroot-headers-suffix.
	* Makefile.in (start.encap): Don't depend on xlimits.h
	(xlimits.h): Remove.
	(stmp-int-hdrs): Don't depend on xlimits.h.  Inline generation of
	limits.h for each multilib in fixinc_list.
	(fixinc_list, s-fixinc_list): New.
	(stmp-fixinc): Depend on fixinc_list.  If not copying headers,
	generate them for each multilib in fixinc_list.
	(stmp-fixproto): Use include-fixed.  Run fixproto for each
	multilib in fixinc_list.
	(mostlyclean): Don't remove xlimits.h.
	(clean): Remove include-fixed.
	(real-install-headers-tar, real-install-headers-cpio,
	real-install-headers-cp): Don't copy include, only include-fixed.
	(install-mkheaders): Depend on fixinc_list.  Don't depend on
	xlimits.h.  Save limits.h files for each multilib in fixinc_list.
	Always save mkinstalldirs.  Preserve ${sysroot_headers_suffix} in
	SYSTEM_HEADER_DIR setting in mkheaders.conf.

From-SVN: r122620
2007-03-06 15:50:28 +00:00
Jan Hubicka 4e669430fe regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load NANs easilly.
* regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load
	NANs easilly.

From-SVN: r122619
2007-03-06 14:02:00 +00:00
Brooks Moses db47a44203 * intrinsic.texi: Limit column widths to a total of .85.
From-SVN: r122615
2007-03-06 01:26:08 -08:00
Richard Sandiford 3ca43df7e2 configure.ac: Allow tm_file to contain build-directory files.
gcc/
	* configure.ac: Allow tm_file to contain build-directory files.
	* configure: Regenerate.
	* config.gcc (m68k-*-uclinux*): Add ./sysroot-suffix.h to tm_file.
	* config/m68k/t-uclinux (sysroot-suffix.h): New target.
	* config/m68k/print-sysroot-suffix.sh: New file.

From-SVN: r122613
2007-03-06 09:06:35 +00:00
Richard Sandiford 4ab870f5c3 m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO of pic_offset_table_rtx if reload_completed.
gcc/
	* config/m68k/m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO
	of pic_offset_table_rtx if reload_completed.
	(CONDITIONAL_REGISTER_USAGE): Use PIC_REG instead of
	PIC_OFFSET_TABLE_REGNUM.
	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Always
	return true.
	(m68k_save_reg): Use PIC_REG instead of PIC_OFFSET_TABLE_REGNO.
	(m68k_output_mi_thunk): Rewrite to use RTL.  Honor vcall_offset.

From-SVN: r122612
2007-03-06 09:04:47 +00:00
Richard Sandiford afcb440c3f m68k.c (m68k_save_reg): Save the PIC register in functions that call eh_return.
gcc/
	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
	functions that call eh_return.

From-SVN: r122611
2007-03-06 09:04:27 +00:00
Richard Sandiford 6357eb0da4 m68k.c (m68k_save_reg): Save the PIC register in functions that need a constant pool.
gcc/
	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
	functions that need a constant pool.

From-SVN: r122610
2007-03-06 09:04:09 +00:00
Richard Sandiford ffa2596e3a re PR target/28181 (ICE in reload_cse_simplify_operands, at postreload.c:393 on m68k)
gcc/
	PR target/28181
	* config/m68k/m68k-protos.h (m68k_secondary_reload_class): Declare.
	(m68k_preferred_reload_class): Likewise.
	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Remove duplicated comment.
	(SECONDARY_RELOAD_CLASS): Define.
	(PREFERRED_RELOAD_CLASS): Use m68k_preferred_reload_class.
	(LIMIT_RELOAD_CLASS): Delete.
	* config/m68k/m68k.c (m68k_regno_mode_ok): Don't prevent address
	registers from storing bytes.
	(m68k_secondary_reload_class): New function.
	(m68k_preferred_reload_class): Likewise.

gcc/testsuite/
	* gcc.c-torture/compile/m68k-byte-addr.c: New test.

From-SVN: r122609
2007-03-06 09:01:07 +00:00
Richard Sandiford 4f44ecc07f m68k.c (m68k_save_reg): Remove special case for leaf functions.
gcc/
	* config/m68k/m68k.c (m68k_save_reg): Remove special case for
	leaf functions.
	(m68k_expand_prologue): Likewise.

From-SVN: r122608
2007-03-06 09:00:21 +00:00
Richard Sandiford f7e7089441 m68k-protos.h (output_sibcall): Declare.
gcc/
	* config/m68k/m68k-protos.h (output_sibcall): Declare.
	(mips_expand_epilogue): Add a bool parameter.
	(m68k_legitimize_sibcall_address): Declare.
	* config/m68k/m68k.c (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
	(m68k_expand_epilogue): Add a parameter to select between sibling
	and normal epilogues.  Only generate a return for the latter.
	(m68k_ok_for_sibcall_p): New function.
	(m68k_legitimize_sibcall_address, output_sibcall): New functions.
	* config/m68k/m68k.md (sibcall, *sibcall): New patterns.
	(sibcall_value, *sibcall_value): Likewise.
	(*call, *call_value): Require !SIBLING_CALL_P.
	(epilogue): Update call to m68k_expand_epilogue.
	(sibcall_epilogue): New pattern.
	* config/m68k/predicates.md (const_call_operand): Say that this
	predicate applies to sibling calls too.
	(sibcall_operand): New predicate.

From-SVN: r122607
2007-03-06 09:00:00 +00:00
Richard Sandiford 31c5b44477 m68k.md (movsf_cf_soft): Provide the same non-mov3q alternatives as movsi_cf.
gcc/
	* config/m68k/m68k.md (movsf_cf_soft): Provide the same non-mov3q
	alternatives as movsi_cf.
	(movsf_cf_hard): Add commentary.

From-SVN: r122606
2007-03-06 08:59:20 +00:00
Kazu Hirata a40ed0f310 200x-xx-xx Kazu Hirata <kazu@codesourcery.com> Richard Sandiford <richard@codesourcery.com>
gcc/
200x-xx-xx  Kazu Hirata  <kazu@codesourcery.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* config/m68k/m68k-protos.h (m68k_interrupt_function_p): Declare.
	(m68k_movem_pattern_p, m68k_output_movem): Likewise.
	(m68k_expand_prologue, m68k_expand_epilogue): Likewise.
	* config/m68k/m68k.h (EPILOGUE_USES): Define.  Treat all registers
	as being live on exit from an interrupt function.
	(PRINT_OPERAND_PUNCT_VALID_P): Return true for '?'.
	* config/m68k/m68k.c (MIN_MOVEM_REGS, MIN_FMOVEM_REGS): New macros.
	(m68k_frame): Remove reg_rev_mask and fpu_rev_mask.
	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Delete.
	(m68k_interrupt_function_p): Globalize.
	(m68k_compute_frame_layout): Remove reverse mask code.
	(m68k_emit_movem, m68k_set_frame_related): New functions.
	(m68k_output_function_prologue): Delete in favor of...
	(m68k_expand_prologue): ...this new function.
	(m68k_output_function_epilogue): Delete in favor of...
	(m68k_expand_epilogue): ...this new function.
	(m68k_split_offset, m68k_movem_pattern_p, m68k_output_movem): New
	functions.
	(print_operand): Handle %?.
	* config/m68k/m68k.md (UNSPEC_SIN, UNSPEC_COS): Remove excess space.
	(UNSPEC_GOT, A1_REG, PIC_REG, FP0_REG): New constants.
	(prologue, epilogue): New patterns.
	(return): Turn into a define_expand.
	(*return): New pattern, derived from old "return" pattern.  Use rte
	rather than rts for interrupt functions.  Only use rtd if the pop
	count is nonzero.
	(*m68k_store_multiple, *m68k_store_multiple_automod): New patterns.
	(*m68k_load_multiple, *m68k_load_multiple_automod): Likewise.
	(link, *link, unlink, *unlink, load_got): Likewise.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>

From-SVN: r122605
2007-03-06 08:58:40 +00:00
Richard Sandiford fc2241eb94 re PR target/23482 ([ColdFire] ICE in in final_scan_insn)
gcc/
	PR target/23482
	PR target/17114
	* config/m68k/m68k-protos.h (m68k_legitimate_base_reg_p): Declare.
	(m68k_legitimate_index_reg_p, m68k_legitimate_address_p): Likewise.
	(m68k_matches_q_p, m68k_matches_u_p): Likewise.
	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Use m68k_matches_q_p
	and m68k_matches_u_p.
	(PCREL_GENERAL_OPERAND_OK, LEGITIMATE_BASE_REG_P): Delete.
	(INDIRECTABLE_1_ADDRESS_P, GO_IF_NONINDEXED_ADDRESS): Delete.
	(GO_IF_INDEXABLE_BASE, GO_IF_INDEXING, GO_IF_INDEXED_ADDRESS): Delete.
	(LEGITIMATE_INDEX_REG_P, LEGITIMATE_INDEX_P): Delete.
	(GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Delete.
	(REG_STRICT_P): New macro.
	(LEGITIMATE_PIC_OPERAND_P): Use REG_STRICT_P rather than
	PCREL_GENERAL_OPERAND_OK.
	(REG_OK_FOR_BASE_P): Merge definitions.  Use REG_STRICT_P and
	m68k_legitimate_base_reg_p.
	(REG_MODE_OK_FOR_INDEX_P): Likewise m68k_legitimate_index_reg_p.
	(GO_IF_LEGITIMATE_ADDRESS): Likewise m68k_legitimate_address_p.
	(PIC_CASE_VECTOR_ADDRESS): Update comment.
	* config/m68k/m68k.c (m68k_address): New structure.
	(m68k_legitimate_base_reg_p, m68k_legitimate_index_reg_p)
	(m68k_decompose_index, m68k_legitimate_constant_address_p)
	(m68k_jump_table_ref_p, m68k_decompose_address)
	(m68k_legitimate_address_p, m68k_legitimate_mem_p, m68k_matches_q_p)
	(m68k_matches_u_p): New functions.
	(print_operand_address): Rewrite to use m68k_decompose_index.

From-SVN: r122604
2007-03-06 08:54:31 +00:00
Brooks Moses 4b4eb6480d * gfortran.texi (GFortran and G77): Rewrite completely.
From-SVN: r122602
2007-03-06 00:15:56 -08:00