1. 11 Sep, 2007 18 commits
    • Put back previous change, the random failure was caused by a makefile bug, · e18d6a15
      causing the Ada run-time not to be recompiled by the new compiler.
      
      From-SVN: r128374
      Javier Miranda committed
    • Temporarily undo previous change, which seems to be causing random · 0f4cb75c
      failures.
      
      From-SVN: r128372
      Arnaud Charlet committed
    • Resync. · 97695e47
      From-SVN: r128371
      Javier Miranda committed
    • * gcc.dg/tree-ssa/loadpre11.c: Add -fno-tree-cselim to flags. · 6e3a2cda
      From-SVN: r128370
      Michael Matz committed
    • i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS. · 630ecd8d
      
      	* 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
      Jan Hubicka committed
    • einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. · 7986e000
      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
      Javier Miranda committed
    • decl.c (java_expand_body): Kill. · e89d6010
      
      	* 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
      Jan Hubicka committed
    • mips.c (mips_set_mips16_mode): Use separate anchor settings for MIPS16. · 8ce4afa3
      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
      Richard Sandiford committed
    • mips.c (mips_symbol_insns_1): Allow LEAs of SYMBOL_FORCE_TO_MEM constants. · 206c2d7a
      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
      Richard Sandiford committed
    • mips.h (CONSTANT_POOL_COST): Move to... · 8144a1a8
      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
      Richard Sandiford committed
    • cygming.h (TARGET_STRIP_NAME_ENCODING): Don't override default. · e599ac2b
      	* 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
      Danny Smith committed
    • re PR c/30013 (Multiple flaws in decimal floating-point arithmetic conversions fixed) · f3d110ef
      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
      Janis Johnson committed
    • mips.c (mips_scalar_mode_supported_p): Declare. · 9fc777ad
      	* 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
      Chao-ying Fu committed
    • * config/spu/spu.md: Formatting fixes. · 9ccaf0a6
      From-SVN: r128359
      Ben Elliston committed
    • dfp-bit.c (dfp_unary_func): Delete. · fb27b3f6
      	* 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
      Janis Johnson committed
    • Daily bump. · 4a143617
      From-SVN: r128356
      GCC Administrator committed
    • rsha Jagasia <harsha.jagasia@amd.com> · e70444a8
                  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
      Harsha Jagasia committed
  2. 10 Sep, 2007 22 commits
    • Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o · 2533577f
      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
      Janis Johnson committed
    • mips.md (UNSPEC_MEMORY_BARRIER): New entry in define_constants. · bfd9cff5
      	* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
      	define_constants.
      	(memory_barrier): Rewrote as an insn that clobbers memory.
      
      From-SVN: r128349
      David Daney committed
    • mips.c (mips_global_pointer): Check call_really_used_regs instead of call_used_regs. · 04910611
      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
      Richard Sandiford committed
    • mips.h (MIPS_ARCH_FLOAT_SPEC): New macro. · 7d8bed7b
      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
      Richard Sandiford committed
    • va-arg-pack-1.C: New test. · b3a06f59
      	* g++.dg/ext/va-arg-pack-1.C: New test.
      	* g++.dg/ext/va-arg-pack-2.C: New test.
      
      From-SVN: r128345
      Jakub Jelinek committed
    • re PR other/32154 (sim-crt0.o/crt0.o isn't found during configure due to missing -L or -B) · c03353e2
      	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
      Rask Ingemann Lambertsen committed
    • New target hook to calculate MII · 67186a97
      Co-Authored-By: Revital Eres <eres@il.ibm.com>
      
      From-SVN: r128343
      Trevor Smigiel committed
    • s390.c (s390_dump_pool): Create copy of constant pool entries since they might… · 77340500
      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
      Andreas Krebbel committed
    • bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to RTL level tracer pass. · 232abc3f
      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
      Robert Kidd committed
    • Resync. · 281b604e
      From-SVN: r128340
      Arnaud Charlet committed
    • vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option · 89893302
      	* 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
      Arnaud Charlet committed
    • sem_ch12.adb (Build_Local_Package): A formal package with no associations is… · 4b272fdd
      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
      Ed Schonberg committed
    • sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is given a box association... · 157a9bf5
      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
      Ed Schonberg committed
    • prj-env.ads, [...] (Create_Mapping_File (Language)): Remove parameter Runtime_Project. · 10583694
      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
      Vincent Celier committed
    • exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only create an… · 93188a0b
      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
      Gary Dismukes committed
    • adaint.c (__gnat_translate_vms): new function. · 094f0544
      2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* adaint.c (__gnat_translate_vms): new function.
      
      From-SVN: r128334
      Vasiliy Fofanov committed
    • s-regpat.adb (Parse_Character_Class): Fix handling of empty character classes ("[]"). · 36df551d
      2007-09-10  Emmanuel Briot  <briot@adacore.com>
      
      	* s-regpat.adb (Parse_Character_Class): Fix handling of empty character
      	classes ("[]").
      
      From-SVN: r128333
      Emmanuel Briot committed
    • exp_atag.ads, [...]: Replace headers with GPL v3 headers. · b5c84c3c
      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
      Robert Dewar committed
    • re PR fortran/31547 (Document when CPP is called and document the f95-cpp-input option) · 2b44ab8b
      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
      Tobias Burnus committed
    • Update copyright notice. · 43263710
      From-SVN: r128330
      Arnaud Charlet committed
    • a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber x87 registers. · a56955b1
      	* a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
      	x87 registers.
      
      From-SVN: r128329
      Eric Botcazou committed
    • re PR target/33369 (suffix or operands invalid for `pslld') · f8568ac0
      	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
      Uros Bizjak committed