Commit Graph

83267 Commits

Author SHA1 Message Date
Javier Miranda
e18d6a151c Put back previous change, the random failure was caused by a makefile bug,
causing the Ada run-time not to be recompiled by the new compiler.

From-SVN: r128374
2007-09-11 15:31:51 +02:00
Arnaud Charlet
0f4cb75c68 Temporarily undo previous change, which seems to be causing random
failures.

From-SVN: r128372
2007-09-11 14:13:12 +02:00
Javier Miranda
97695e47b8 Resync.
From-SVN: r128371
2007-09-11 13:56:01 +02:00
Michael Matz
6e3a2cda33 * gcc.dg/tree-ssa/loadpre11.c: Add -fno-tree-cselim to flags.
From-SVN: r128370
2007-09-11 11:45:05 +00:00
Jan Hubicka
630ecd8d10 i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
* i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
	(TARGET_INTER_UNIT_CONVERSIONS): New.
	* i386.md (floatsi expanders): Remove redundant check for SImode
	source; offload to memory when asked for.
	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
	floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
	Update conditions;
	(floatsisf2_mixed_memory, floatsisf2_sse_memory,
	floatsidf2_mixed_memory, floatsidf2_sse_memory
	floatdisf2_mixed_memory, floatsisf2_sse_memory,
	floatsidf2_mixed_memory, floatsidf2_sse_memory): New.

From-SVN: r128369
2007-09-11 11:38:05 +00:00
Javier Miranda
7986e000a9 einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute.
2007-09-11  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
	in library level record type entities if we are generating statically
	allocated dispatch tables.

	* exp_disp.adb (Make_Tags/Make_DT): Replace previous code
	importing/exporting the _tag declaration by new code
	importing/exporting the dispatch table wrapper. This change allows us
	to statically allocate of the TSD.
	(Make_DT.Export_DT): New procedure.
	(Build_Static_DT): New function.
	(Has_DT): New function.

	* freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
	True_Constant and Current_Value. Required to statically
	allocate the dispatch tables.
	(Check_Allocator): Make function iterative instead of recursive.
 	Also return inner allocator node, when present, so that we do not have
 	to look for that node again in the caller.

From-SVN: r128368
2007-09-11 13:03:53 +02:00
Jan Hubicka
e89d601008 decl.c (java_expand_body): Kill.
* decl.c (java_expand_body): Kill.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* toplev.c (process_options): all frontends now do unit-at-a-time.
	* cgraphunit.c: update comments.
	(cgraph_expand_function): call passmanager dirrectly; emit thunks.
	* c-decl.c (finish_function): use cgraph_add_new_function.

	* method.c (use_thunk): Use tree_rest_of_compilation
	* cp-objecp-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
	(LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Define.
	* cp-tree.h (expand_body): Kill.
	(emit_associated_thunks): Declare.
	* semantics.c (emit_associated_thunks): Export.
	(expand_body): Kill.

	* misc.c (gnat_expand_body): Kill.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* f95-lang.c (gfc_expand_function): Kill.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.

	* function.c (expand_function_end): We are always unit-at-a-time.

From-SVN: r128367
2007-09-11 10:39:53 +00:00
Richard Sandiford
8ce4afa36d mips.c (mips_set_mips16_mode): Use separate anchor settings for MIPS16.
gcc/
	* config/mips/mips.c (mips_set_mips16_mode): Use separate anchor
	settings for MIPS16.
	(mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p.

From-SVN: r128366
2007-09-11 10:18:35 +00:00
Richard Sandiford
206c2d7add mips.c (mips_symbol_insns_1): Allow LEAs of SYMBOL_FORCE_TO_MEM constants.
gcc/
	* config/mips/mips.c (mips_symbol_insns_1): Allow LEAs of
	SYMBOL_FORCE_TO_MEM constants.
	(mips_rtx_costs): Give a cost of 1 to force_to_mem_operands.
	(mips16_rewrite_pool_refs_info): New structure.
	(mips16_rewrite_pool_constant): New function, split out from...
	(mips16_rewrite_pool_refs): ...here.  Take a pointer to a
	mips16_rewrite_pool_refs_info structure rather than a pointer
	to a constant pool.  Force force_to_mem_operands into memory.
	(mips16_lay_out_constants): Update call to mips16_rewrite_pool_refs.
	* config/mips/predicates.md (force_to_mem_operand): New predicate.
	* config/mips/constraints.md (kf): New constraint.
	* config/mips/mips.md (*movdi_64bit_mips16): Add a d <- kf alternative.
	(*movsi_mips16): Likewise.

From-SVN: r128365
2007-09-11 09:51:17 +00:00
Richard Sandiford
8144a1a812 mips.h (CONSTANT_POOL_COST): Move to...
gcc/
2007-09-11  Richard Sandiford  <richard@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>
	    David Ung  <davidu@mips.com>
	
	* config/mips/mips.h (CONSTANT_POOL_COST): Move to...
	* config/mips/mips.c: ...here and set to 4 for TARGET_MIPS16.
	(mips16_constant_cost, mips_immediate_operand_p, mips_binary_cost)
	(mips_fp_mult_cost, mips_fp_div_cost, mips_sign_extend_cost)
	(mips_zero_extend_cost): New functions.
	(mips_rtx_costs): Treat COMPARE constants as having zero cost.
	Use the new functions.  Tweak many cost estimates, both here
	and in the new subroutines.  Return false when the cost of the
	operands has not been calculated.  Check for *clear_upper32.
	Check for floating-point multiply-add, reciprocal and rsqrt
	patterns.  Handle comparison and rotation codes.

Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128364
2007-09-11 09:24:59 +00:00
Ben Elliston
b61c7743b7 Add a missing blank line to separate the two most recent entries.
From-SVN: r128363
2007-09-11 13:30:24 +10:00
Danny Smith
e599ac2bef cygming.h (TARGET_STRIP_NAME_ENCODING): Don't override default.
* config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't
	override default.
	* config/i386/i386.c (get_dllimport_decl): Don't strip
	FASTCALL_PREFIX.

From-SVN: r128362
2007-09-11 01:38:40 +00:00
Janis Johnson
f3d110ef04 re PR c/30013 (Multiple flaws in decimal floating-point arithmetic conversions fixed)
gcc/
	PR c/30013
	* config/dfp-bit.c: Don't skip TFmode conversions; move strto*
	declarations to top.
	(DFP_TO_BFP): Use for either XFmode or TFmode.
	(BFP_TO_DFP): Use for either XFmode or TFmode; always use cast
	of BFP_VIA_TYPE.
	* config/dfp-bit.h: Include float.h.
	(LONG_DOUBLE_HAS_XF_MODE, LONG_DOUBLE_HAS_TF_MODE): Define if long
	double is one of these modes, rather than using LIBGCC_HAS_*F_MODE
	which doesn't mean the same thing.
	(BFP_KIND): Use 4 to mean TFmode.
	(BFP_FMT): Specify the number of decimal digits based on the
	number of mantissa digits.
	(BFP_VIA_TYPE): Binary float type to use as cast for sprintf.
	(BFP_TO_DFP, DFP_TO_BFP): Define names for TFmode variants.
	(STR_TO_BFP): Use strtold for XFmode or TFmode.
	(TFtype): Define if TFmode is supported.
	* doc/libgcc.texi (Decimal float library routines): Document
	TF conversion functions.

gcc/testsuite/
	* gcc.dg/dfp/convert-bfp.c: Replace SKIP_LONG_DOUBLE with runtime
	checks for size of long double.
	* gcc.dg/dfp/convert.h: New file.
	* gcc.dg/dfp/convert-bfp-2.c: New test.
	* gcc.dg/dfp/convert-bfp-3.c: Ditto.
	* gcc.dg/dfp/convert-bfp-4.c: Ditto.
	* gcc.dg/dfp/convert-bfp-5.c: Ditto.
	* gcc.dg/dfp/convert-bfp-6.c: Ditto.
	* gcc.dg/dfp/convert-bfp-7.c: Ditto.
	* gcc.dg/dfp/convert-bfp-8.c: Ditto.
	* gcc.dg/dfp/convert-bfp-9.c: Ditto.
	* gcc.dg/dfp/convert-bfp-10.c: Ditto.
	* gcc.dg/dfp/convert-bfp-11.c: Ditto.

From-SVN: r128361
2007-09-11 01:11:16 +00:00
Chao-ying Fu
9fc777ad25 mips.c (mips_scalar_mode_supported_p): Declare.
* config/mips/mips.c (mips_scalar_mode_supported_p): Declare.
	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
	(mips_emit_compare): Process fixed-point modes.
	(mips_pad_arg_upward): Support fixed-point types.
	(override_options): Allow fixed-point modes in accumulators.
	(mips_pass_by_reference): Pass DQ, UDQ, DA, and UDA modes in registers.
	(mips_vector_mode_supported_p): Support V2HQmode, V2UHQmode, V2HAmode,
	V2UHAmode, V4QQmode, and V4UQQmode when TARGET_DSP.
	(mips_scalar_mode_supported_p): New function to accept fixed-point
	modes if the width is not greater than two BITS_PER_WORD.
	* config/mips/mips.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
	LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
	LONG_LONG_ACCUM_TYPE_SIZE): Define.
	* config/mips/mips.md ("d"): Update mode attribute for fixed-point
	modes.
	("IMODE"): New mode attribute.
	(mips-fixed.md): Include.
	* config/mips/mips-modes.def: Create VECTOR_MODES for FRACT, UFRACT,
	ACCUM, UACCUM.
	* config/mips/mips-fixed.md: New file.

From-SVN: r128360
2007-09-11 01:04:08 +00:00
Ben Elliston
9ccaf0a628 * config/spu/spu.md: Formatting fixes.
From-SVN: r128359
2007-09-11 10:41:19 +10:00
Janis Johnson
fb27b3f6ef dfp-bit.c (dfp_unary_func): Delete.
* config/dfp-bit.c (dfp_unary_func): Delete.
	(dfp_unary_op): Delete.
	(dfp_binary_op): Use decFloat functions instead of decNumber
	functions for binary operations.
	(d32_binary_op): Convert 32-bit operands to 64 bits for evaluation.
	(dnn_binary_op): Call dfp_binary_op with decFloat rather than
	DFP_C_TYPE.
	(dfp_compare_op): Use decFloat functions insteadof decNumber
	functions for comparisons.
	(d32_compare_op): Convert 32-bit operands to 64 bits for evaluation.
	(dnn_binary_op): Call dfp_compare_op with decFloat rather than
	DFP_C_TYPE.
	(DFP_ADD, DFP_SUB, DFP_MULTIPLE, DFP_DIVIDE): Use macros for
	call to dxx_binary_op and decFloat function.
	(DFP_EQ, DFP_NE, DFP_LT, DFP_GT, DFP_LE, DFP_GE): Use macros for
	calls to dxx_binary_op and decFloat function.
	* config/dfp-bit.h: Include decFloat header files.
	(decFloat, DFP_BINARY_OP, DFP_COMPARE_OP, DEC_FLOAT_ADD,
	DEC_FLOAT_SUBTRACT, DEC_FLOAT_MULTIPLY, DEC_FLOAT_DIVIDE,
	DEC_FLOAT_COMPARE, DEC_FLOAT_IS_ZERO, DEC_FLOAT_IS_NAN,
	DEC_FLOAT_IS_SIGNED: Define for each of 3 operand widths.

From-SVN: r128358
2007-09-11 00:25:18 +00:00
GCC Administrator
4a14361781 Daily bump.
From-SVN: r128356
2007-09-11 00:16:53 +00:00
Harsha Jagasia
e70444a892 rsha Jagasia <harsha.jagasia@amd.com>
Jan Sjodin <jan.sjodin@amd.com>
        
        * tree-vect-analyze.c (vect_analyze_operations): Change
        comparison of loop iterations with threshold to less than
        or equal to instead of less than. Reduce
        min_scalar_loop_bound by one.
        * tree-vect-transform.c (vect_estimate_min_profitable_iters): 
        Change prologue and epilogue iterations estimate to vf/2,
        when unknown at compile-time. Change versioning guard
        cost to taken_branch_cost. If peeling for alignment is
        unknown at compile-time, change peel guard costs to one
        taken branch and one not-taken branch per peeled loop.
        If peeling for alignment is known but number of scalar loop
        iterations is unknown at compile-time, change peel guard
        costs to one taken branch per peeled loop. Change the cost
        model equation to consider vector iterations as the loop
        iterations less the prologue and epilogue iterations.
        Change outside vector cost check to less than or equal to
        zero instead of equal to zero.
        (vect_do_peeling_for_loop_bound): Reduce
        min_scalar_loop_bound by one.
        * tree-vectorizer.h: Add TARG_COND_TAKEN_BRANCH_COST and
        TARG_COND_NOT_TAKEN_BRANCH_COST.        
        * config/i386/i386.h (processor_costs): Add
        scalar_stmt_cost, scalar_load_cost, scalar_store_cost,
        vec_stmt_cost, vec_to_scalar_cost, scalar_to_vec_cost,
        vec_align_load_cost, vect_unalign_load_cost,
        vec_store_cost, cond_taken_branch_cost,
        cond_not_taken_branch_cost.
        Define macros for x86 costs.
        * config/i386/i386.c:
        (size_cost): Set scalar_stmt_cost, scalar_load_cost,
        scalar_store_cost, vec_stmt_cost, vec_to_scalar_cost,
        scalar_to_vec_cost, vec_align_load_cost, 
        vect_unalign_load_cost, vec_store_cost,
        cond_taken_branch_cost, cond_not_taken_branch_cost to one. 
        (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
        geode_cost, k6_cost, athlon_cost, pentium4_cost, nocona_cost, 
        core2_cost, generic64_cost, generic32_cost): Set to default
        untuned costs.
        (k8_cost, amdfam10_cost): Costs for vectorization tuned.
        (x86_builtin_vectorization_cost): New.

2007-09-10  Harsha Jagasia <harsha.jagasia@amd.com>

        * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: 
        Change dg-final to expect 1 non-profitable loop and
        3 profitable loops.
        * gcc.dg/vect/costmodel/x86-64/costmodel-vect-31.c:
        Change dg-final to expect 1 non-profitable loop and
        3 profitable loops.
        * gcc.dg/vect/costmodel/x86-64/costmodel-fast-math-vect-pr29925.c:
        Change dg-final to expect 1 profitable loop.
        * gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
        Change dg-final to expect 1 profitable loop.


Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>

From-SVN: r128353
2007-09-11 00:13:47 +00:00
Janis Johnson
2533577ff6 Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o
2007-09-10  Janis Johnson  <janis187@us.ibm.com>
	    Ben Elliston  <bje@au.ibm.com>

libdecnumber/
	* Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o
	(dependencies): Add Symbols headers.
	* decContext.c: Upgrade to decNumber 3.53.
	* decContext.h: Ditto.
	* decDPD.h: Ditto.
	* decNumber.c: Ditto.
	* decNumber.h: Ditto.
	* decNumberLocal.h: Ditto.
	* decBasic.c: New file from decNumber 3.53.
	* decCommon.c: Ditto.
	* decDouble.c: Ditto.
	* decDouble.h: Ditto.
	* decQuad.c: Ditto.
	* decQuad.h: Ditto.
	* decSingle.c: Ditto.
	* decSingle.h: Ditto.
	* decPacked.c: Ditto.
	* decPacked.h: Ditto.
	* dpd/decimal128.c: Upgrade to decNumber 3.53.
	* dpd/decimal128.h: Ditto.
	* dpd/decimal32.c: Ditto.
	* dpd/decimal32.h: Ditto.
	* dpd/decimal64.c: Ditto.
	* dpd/decimal64.h: Ditto.
	* decLibrary.c (__dec_byte_swap): Remove.
	* decContextSymbols.h: New file.
	* decDoubleSymbols.h: New file.
	* decNumberSymbols.h: New file.
	* decPackedSymbols.h: New file.
	* decQuadSymbols.h: New file.
	* decSingleSymbols.h: New file.
	* decUtility.c: Delete file.
	* decUtility.h: Delete file.
	* bid/decimal128Symbols.h: New file.
	* bid/decimal128Local.h: New file.
	* bid/decimal32Symbols.h: New file.
	* bid/decimal64Symbols.h: New file.
	* bid/host-ieee128.c (__swap128): Remove.
	(__host_to_ieee_128, __ieee_to_host_128): Don't handle endianness.
	* bid/host-ieee32.c (__dec_type_swap): Remove.
	(__host_to_ieee_32, __ieee_to_host_32): Don't handle endianness.
	* bid/host-ieee64.c (__swap64): Remove.
	(__host_to_ieee_64, __ieee_to_host_64): Don't handle endianness.
	* dpd/decimal32Symbols.h: New file.
	* dpd/decimal64Symbols.h: New file.
	* dpd/decimal128Symbols.h: New file.
	* dpd/decimal128Local.h: New file.

libgcc/
	* Makefile.in (dfp-filenames): Remove decUtility, add
	decDouble, decPacked, decQuad, decSingle.

gcc/
	* dfp.c: Include decimal128Local.h; 
	(dfp_byte_swap): Remove.
	(encode_decimal32, decode_decimal32): Don't handle endianness.
	(encode_decimal64, decode_decimal64): Ditto.
	(encode_decimal128, decode_decimal128): Ditto.
	* config/dfp-bit.c (host_to_ieee32, ieee_to_host_32): Ditto.
	(__swap64): Remove.
	(host_to_ieee_64, ieee_to_host_64): Don't handle endianness.
         (__swap128): Remove
	(host_to_ieee_128, ieee_to_host_128): Don't handle endianness.
	* Makefile.in (DECNUM_H): Add decimal128Local.h.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>

From-SVN: r128350
2007-09-10 20:44:08 +00:00
David Daney
bfd9cff5c5 mips.md (UNSPEC_MEMORY_BARRIER): New entry in define_constants.
* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
	define_constants.
	(memory_barrier): Rewrote as an insn that clobbers memory.

From-SVN: r128349
2007-09-10 18:23:27 +00:00
Richard Sandiford
04910611bd mips.c (mips_global_pointer): Check call_really_used_regs instead of call_used_regs.
gcc/
	* config/mips/mips.c (mips_global_pointer): Check
	call_really_used_regs instead of call_used_regs.
	(mips_save_reg_p): Likewise.  Save all call-saved registers
	if current_function_saves_all_registers.  Fix indentation.
	No longer treat $18 as a special case.
	(compute_frame_size): Guard FPR loop with TARGET_HARD_FLOAT.

gcc/testsuite/
	* gcc.target/mips/call-saved-1.c: New test.
	* gcc.target/mips/call-saved-2.c: Likewise.
	* gcc.target/mips/call-saved-3.c: Likewise.
	* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_gp64
	instead of mips_mips64.  Set mips_fp64 too.
	(is_gp32_flag): Return true for -mips1 and -mips2.
	(dg-mips-options): Use mips_gp64 instead of mips_mips64.

From-SVN: r128347
2007-09-10 15:21:18 +00:00
Richard Sandiford
7d8bed7be6 mips.h (MIPS_ARCH_FLOAT_SPEC): New macro.
gcc/
	* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): New macro.
	* config/mips/mips.c (mips_cpu_info_table): Mention it in the
	the introductory comment.
	(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
	(override_options): Don't test for it.
	* config/mips/sde.h (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
	(DRIVER_SELF_SPECS): Add MIPS_ARCH_FLOAT_SPEC.
	* config/mips/vr.h: As for config/mips/sde.h.

From-SVN: r128346
2007-09-10 14:51:48 +00:00
Jakub Jelinek
b3a06f593c va-arg-pack-1.C: New test.
* g++.dg/ext/va-arg-pack-1.C: New test.
	* g++.dg/ext/va-arg-pack-2.C: New test.

From-SVN: r128345
2007-09-10 16:28:13 +02:00
Rask Ingemann Lambertsen
c03353e219 re PR other/32154 (sim-crt0.o/crt0.o isn't found during configure due to missing -L or -B)
PR other/32154
	* configure.ac: For libgloss targets, point the linker to the linker
	script, startup code and simulator library.
	* configure: Regenerate.

From-SVN: r128344
2007-09-10 14:20:10 +00:00
Trevor Smigiel
67186a97fe New target hook to calculate MII
Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r128343
2007-09-10 13:16:38 +00:00
Andreas Krebbel
77340500f2 s390.c (s390_dump_pool): Create copy of constant pool entries since they might hold values that must not...
2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_dump_pool): Create copy of constant
	pool entries since they might hold values that must not be shared.

From-SVN: r128342
2007-09-10 13:10:57 +00:00
Robert Kidd
232abc3ff8 bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to RTL level tracer pass.
2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>

	* bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
	RTL level tracer pass.
	* passes.c (init_optimization_passes): Move pass_tracer from
	after pass_rtl_ifcvt to after pass_dce.
	* tracer.c: Update copyright.
	(layout_superblocks): Remove function.
	(mark_bb_seen): New.
	(bb_seen_p): New.
	(count_insns): Change to estimate instructions in a Tree-SSA
	statement.
	(find_trace): Use bb_seen_p.
	(tail_duplicate): Use bb_seen_p.  Call add_phi_args_after_copy
	after duplicate_block.
	(tracer): Change prototype to match that of a pass execute
	callback.
	(gate_tracer): Rename from gate_handle_tracer.
	(rest_of_handle_tracer): Remove function.
	* rtl.h: Remove prototype for tracer.
	* testsuite/gcc.dg/tree-prof/tracer-1.c: New.

From-SVN: r128341
2007-09-10 12:49:46 +00:00
Arnaud Charlet
281b604e6b Resync.
From-SVN: r128340
2007-09-10 14:49:41 +02:00
Arnaud Charlet
8989330225 vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
* vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option

	* gnat_ugn.texi: Add description of the new '-lratio' option
	Update 7.3.1 section about availability of the feature.

	* exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
	inserted node.

	* Makefile.in: (mips-irix section): Activate build of libgmem.

From-SVN: r128339
2007-09-10 14:49:21 +02:00
Ed Schonberg
4b272fdd23 sem_ch12.adb (Build_Local_Package): A formal package with no associations is legal if all formals have defaults.
2007-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Build_Local_Package): A formal package with no
	associations is legal if all formals have defaults. It is not
	equivalent to a formal declared with a box.

From-SVN: r128338
2007-09-10 14:49:04 +02:00
Ed Schonberg
157a9bf572 sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is given a box association...
2007-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
	given a box association, the type of the component is discriminated,
	and the value of the discriminant is the discriminant of the enclosing
	type, retrieve its value from the aggregate itself, where it must have
	been supplied.

	* sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
	to remove other spurious ambiguities on arithmetic operations involving
	literals and addresses, on systems where Address is a visible integer
	type, when the operator is called in functional notation.
	(Try_Primitive_Operation): Within an instance, a call in prefixed form
	is legal when the types match, even if the operation is currently
	hidden.

From-SVN: r128337
2007-09-10 14:48:54 +02:00
Vincent Celier
1058369480 prj-env.ads, [...] (Create_Mapping_File (Language)): Remove parameter Runtime_Project.
2007-09-10  Vincent Celier  <celier@adacore.com>

	* prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
	parameter Runtime_Project.

From-SVN: r128336
2007-09-10 14:48:44 +02:00
Gary Dismukes
93188a0b59 exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only create an abstract subprogram in the case of 'Input.
2007-09-10  Gary Dismukes  <dismukes@adacore.com>
	    Thomas Quinot  <quinot@adacore.com>

	* exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
	create an abstract subprogram in the case of 'Input. For 'Output we now
	create a real spec/body when the type is abstract, since it can
	potentially be called.
	(Predefined_Primitive_Bodies): Now allow the creation of a predefined
	body for 'Output when the type is abstract (only the creation of the
	body for 'Input is excluded when the type is abstract).
	(Stream_Operation_OK): Add an additional condition in the return
	statement, so that False will be returned for TTS_Stream_Input if the
	associated tagged type is an abstract extension. Add comments for
	return statement.
	(Expand_N_Object_Declaration): For the case of a shared passive
	variable, insert init proc call only after the shared variable
	procedures have been processed, because the IP call needs to undergo
	shared passive variable reference expansion, which requires these
	procedures to be available (and elaborated).

From-SVN: r128335
2007-09-10 14:48:35 +02:00
Vasiliy Fofanov
094f054407 adaint.c (__gnat_translate_vms): new function.
2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>

	* adaint.c (__gnat_translate_vms): new function.

From-SVN: r128334
2007-09-10 14:48:24 +02:00
Emmanuel Briot
36df551d43 s-regpat.adb (Parse_Character_Class): Fix handling of empty character classes ("[]").
2007-09-10  Emmanuel Briot  <briot@adacore.com>

	* s-regpat.adb (Parse_Character_Class): Fix handling of empty character
	classes ("[]").

From-SVN: r128333
2007-09-10 14:47:36 +02:00
Robert Dewar
b5c84c3ccf exp_atag.ads, [...]: Replace headers with GPL v3 headers.
2007-09-10  Robert Dewar  <dewar@adacore.com>

	* exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
	mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
	mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
	ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
	bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
	bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
	butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
	comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
	elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
	err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
	exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
	exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
	exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
	exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
	exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
	exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
	exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
	exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
	exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
	exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
	exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
	fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
	get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
	gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
	gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
	gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
	gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
	gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
	gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
	inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
	lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
	lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
	make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
	mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
	mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
	mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
	mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
	osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
	osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
	par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
	par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
	par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
	par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
	par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
	prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
	prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
	prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
	prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
	prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
	prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
	prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
	rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
	scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
	sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
	sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
	sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
	sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
	sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
	sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
	sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
	sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
	sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
	sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
	sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
	sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
	sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
	sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
	stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
	styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
	switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
	switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
	tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
	treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
	types.h, uintp.h, urealp.h, usage.adb, usage.ads,
	validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
	xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
	xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
	gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
	mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
	symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
	mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
	mlib-tgt-vms.ads: Replace headers with GPL v3 headers.

From-SVN: r128332
2007-09-10 14:47:10 +02:00
Tobias Burnus
2b44ab8ba0 re PR fortran/31547 (Document when CPP is called and document the f95-cpp-input option)
2007-09-10  Tobias Burnus  <burnus@net-b.de>

	PR fortran/31547
	* gfortran.texi: Document when CPP is called.

	* intrinsic.texi (IOR): Fix typos.

From-SVN: r128331
2007-09-10 14:09:17 +02:00
Arnaud Charlet
4326371014 Update copyright notice.
From-SVN: r128330
2007-09-10 12:14:16 +02:00
Eric Botcazou
a56955b1d7 a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber x87 registers.
* a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
	x87 registers.

From-SVN: r128329
2007-09-10 10:10:58 +00:00
Uros Bizjak
f8568ac02a re PR target/33369 (suffix or operands invalid for `pslld')
PR target/33369
	* gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
	Use 'N' operand constraint for op2.
	(lshr<mode>3): Ditto.
	(ashl<mode>3): Ditto.
	(vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
	(vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.

	* gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
	IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.

testsuite/ChangeLog:
	
	PR target/33369
	* gcc.dg/vect/pr33369.c: New test.

From-SVN: r128328
2007-09-10 11:10:00 +02:00
Eric Botcazou
c03550f61c decl.c (gnat_to_gnu_entity): Deal with variable built for a debug renaming declaration specially.
* decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
	a debug renaming declaration specially.

From-SVN: r128327
2007-09-10 08:52:53 +00:00
Andreas Krebbel
9e8c06778a s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"): Change mode macro in the last real_2expN parameter to uppercase.
2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"):
	Change mode macro in the last real_2expN parameter to uppercase.

From-SVN: r128326
2007-09-10 08:40:04 +00:00
Paul Thomas
18eaa2c0cd re PR fortran/33370 (Structure component arrays)
2007-09-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33370
	* trans-expr.c (copyable_array_p):  Add tests that expression
	is a variable, that it has no subreferences and that it is a
	full array.
	(gfc_trans_assignment): Change conditions to suit modifications
	to copyable_array_p.

2007-09-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33370
	* gfortran.dg/array_memcpy_5.f90:  New test.

From-SVN: r128325
2007-09-10 07:54:17 +00:00
Michael Matz
a5828d1e53 tree-pass.h (pass_cselim): Declare new pass.
* tree-pass.h (pass_cselim): Declare new pass.
        * passes.c (init_optimization_passes): Link in pass_cselim.
        * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
        tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
        cond_store_replacement.
        (condstoretemp): New static variable.
        (cond_store_replacement): New function.
        (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
        tree_ssa_phiopt_worker.
        (struct name_to_bb): New.
        (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
        nt_init_block, nt_fini_block): New static functions.
        (seen_ssa_names, nontrap_set): New static variables.
        (gate_cselim, pass_cselim): Define new pass.
        * common.opt (ftree-cselim): New flag.
        * toplev.c (process_options): Set flag_tree_cselim if required.

From-SVN: r128324
2007-09-10 07:40:30 +00:00
Hans-Peter Nilsson
cf369845fd simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization, don't recurse if op1 equals both PLUS arguments.
* simplify-rtx.c (simplify_relational_operation_1): For recent
	canonicalization, don't recurse if op1 equals both PLUS arguments.

From-SVN: r128323
2007-09-10 07:30:16 +00:00
David Daney
3b010fe32e optabs.c (expand_sync_operation): Use plus insn if minus CONST_INT_P(val).
* optabs.c (expand_sync_operation):  Use plus insn if minus
	CONST_INT_P(val).
	(expand_sync_fetch_operation):  Ditto.

From-SVN: r128322
2007-09-10 03:18:30 +00:00
Danny Smith
1d0bd356ad * config/mingw32/proc.c: New file.
From-SVN: r128321
2007-09-10 02:27:29 +00:00
H.J. Lu
f901f85af3 i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead of cvtpq2ps.
2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>

	* i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
	of cvtpq2ps.
	(*floatsisf2_sse_vector): Likewise.

From-SVN: r128320
2007-09-09 17:49:11 -07:00
Krister Walfridsson
ac54f11d99 * config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
From-SVN: r128319
2007-09-10 00:22:54 +00:00
GCC Administrator
fe7b3cca9a Daily bump.
From-SVN: r128317
2007-09-10 00:17:03 +00:00