1. 07 Apr, 2007 12 commits
  2. 06 Apr, 2007 28 commits
    • re PR libstdc++/31117 (c++locale.o thread-unsafe in libstdc++) · 1bfe2e5f
      2007-04-06  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/31117
      	* config/locale/gnu/c_locale.cc (__convert_to_v): Do not use errno,
      	just check that the value is finite.
      	* config/locale/generic/c_locale.cc (__convert_to_v): Likewise.
      
      From-SVN: r123635
      Paolo Carlini committed
    • Daily bump. · 91f753f8
      From-SVN: r123633
      GCC Administrator committed
    • tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use argument "reliable". · ac84e05e
      	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
      	argument "reliable".
      	(infer_loop_bounds_from_ref, infer_loop_bounds_from_array):
      	Add argument "reliable".  Propagate it through calls.
      	(infer_loop_bounds_from_undefined):  Derive number of iterations
      	estimates from references in blocks that do not dominate loop latch.
      	(gcov_type_to_double_int): New function.
      	(estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int
      	and expected_loop_iterations_unbounded.
      	* cfgloopanal.c (expected_loop_iterations_unbounded): New function.
      	(expected_loop_iterations): Use expected_loop_iterations_unbounded.
      	* tree-data-ref.c (estimated_loop_iterations): Export.
      	(get_references_in_stmt): Fix -- do not return addresses of local
      	objects.
      	* cfgloop.h (expected_loop_iterations_unbounded,
      	estimated_loop_iterations): Declare.
      
      From-SVN: r123630
      Zdenek Dvorak committed
    • Remove ">>>>>>> .r123627". · 64199a9e
      From-SVN: r123629
      H.J. Lu committed
    • tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. · 4de5c5d3
      2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
      
              * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
      
      From-SVN: r123628
      Andreas Tobler committed
    • i386.md (extend<mode>xf2): Rename from extendsfxf2 and extenddfxf2. · a344e3cb
              * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
              and extenddfxf2. Macroize expander using X87MODEF12 mode macro.
              (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1):
              Use output_387_reg_move().
              (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize
              expander using X87MODEF12 mode macro.
              (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when
              choosing register preferences.  Use output_387_reg_move().
              (*truncxfdf2_mixed): Combine alternatives, use "r" alternative
              instead of "x".  Use output_387_reg_move().
              (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and
              *truncxfdf2_i387_noop.  Macroize insn using X87MODEF12 mode macro.
              (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and
              *truncxfdf2_i387.  Macroize insn using X87MODEF12 mode macro.
              Use output_387_reg_move().
              (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12
              mode macro.
              (*truncxf?f_i387 splitter): Ditto.
      
      From-SVN: r123626
      Uros Bizjak committed
    • langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_SAFE_FROM_P. · 9c269bf8
      2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
      
      	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
      	LANG_HOOKS_SAFE_FROM_P.
      	* expr.c (safe_from_p): Remove langhook call.
      	* langhooks.h (lang_hooks): Remove safe_from_p.
      	(lhd_safe_from_p): Remove prototype.
      	* langhooks.c (lhd_safe_from_p): Remove.
      
      From-SVN: r123624
      Daniel Berlin committed
    • cpu_time.c: Don't include headers already included by libgfortran.h. · 5e9f08ba
      	* intrinsics/cpu_time.c: Don't include headers already included
      	by libgfortran.h. Protect inclusion of sys/times.h.
      	* configure.ac: Remove unneeded checks for finit, stdio.h,
      	stddef.h, math.h and sys/params.h.
      	* config/fpu-aix.h: Don't include headers already included by
      	libgfortran.h.
      	* config/fpu-sysv.h: Likewise.
      	* io/write.c: Likewise.
      	* m4/minloc1.m4: Likewise.
      	* m4/maxloc1.m4: Likewise.
      	* m4/fraction.m4: Likewise.
      	* m4/set_exponent.m4: Likewise.
      	* m4/spacing.m4: Likewise.
      	* m4/minval.m4: Likewise.
      	* m4/maxval.m4: Likewise.
      	* m4/exponent.m4: Likewise.
      	* m4/nearest.m4: Likewise.
      	* m4/minloc0.m4: Likewise.
      	* m4/maxloc0.m4: Likewise.
      	* m4/rrspacing.m4: Likewise.
      	* runtime/main.c: Likewise.
      	* runtime/error.c: Likewise.
      	* intrinsics/system_clock.c: Likewise.
      	* intrinsics/etime.c: Likewise.
      	* intrinsics/stat.c: Likewise.
      	* intrinsics/date_and_time.c: Likewise.
      	* intrinsics/env.c: Likewise.
      	* intrinsics/kill.c: Likewise.
      	* intrinsics/getXid.c: Likewise.
      	* intrinsics/chmod.c: Likewise.
      	* intrinsics/args.c: Likewise.
      	* intrinsics/c99_functions.c: Likewise.
      	* generated/minval_r8.c: Regenerate.
      	* generated/maxloc1_4_r8.c: Regenerate.
      	* generated/minloc1_16_r16.c: Regenerate.
      	* generated/maxval_i2.c: Regenerate.
      	* generated/maxloc1_8_i4.c: Regenerate.
      	* generated/exponent_r16.c: Regenerate.
      	* generated/maxloc0_4_r4.c: Regenerate.
      	* generated/fraction_r16.c: Regenerate.
      	* generated/fraction_r4.c: Regenerate.
      	* generated/minloc0_4_r16.c: Regenerate.
      	* generated/minloc0_4_i1.c: Regenerate.
      	* generated/maxloc0_4_r16.c: Regenerate.
      	* generated/maxloc0_4_i2.c: Regenerate.
      	* generated/minloc1_8_r16.c: Regenerate.
      	* generated/maxloc1_8_r16.c: Regenerate.
      	* generated/set_exponent_r8.c: Regenerate.
      	* generated/maxloc0_8_i8.c: Regenerate.
      	* generated/minloc1_4_r8.c: Regenerate.
      	* generated/maxloc1_16_r16.c: Regenerate.
      	* generated/minloc1_16_i4.c: Regenerate.
      	* generated/maxloc1_16_i4.c: Regenerate.
      	* generated/minloc0_16_i8.c: Regenerate.
      	* generated/maxloc0_16_i8.c: Regenerate.
      	* generated/nearest_r8.c: Regenerate.
      	* generated/spacing_r16.c: Regenerate.
      	* generated/maxval_r16.c: Regenerate.
      	* generated/minloc1_8_i4.c: Regenerate.
      	* generated/minloc0_16_i16.c: Regenerate.
      	* generated/minloc0_4_r4.c: Regenerate.
      	* generated/set_exponent_r10.c: Regenerate.
      	* generated/rrspacing_r10.c: Regenerate.
      	* generated/minloc0_4_i2.c: Regenerate.
      	* generated/maxloc0_8_i1.c: Regenerate.
      	* generated/minloc0_8_i8.c: Regenerate.
      	* generated/spacing_r4.c: Regenerate.
      	* generated/minloc1_16_r10.c: Regenerate.
      	* generated/minloc0_16_i1.c: Regenerate.
      	* generated/maxloc0_16_i1.c: Regenerate.
      	* generated/maxloc1_8_r8.c: Regenerate.
      	* generated/minval_i16.c: Regenerate.
      	* generated/exponent_r10.c: Regenerate.
      	* generated/maxval_i4.c: Regenerate.
      	* generated/minval_i8.c: Regenerate.
      	* generated/maxloc1_4_i8.c: Regenerate.
      	* generated/fraction_r10.c: Regenerate.
      	* generated/maxloc0_16_i16.c: Regenerate.
      	* generated/maxloc0_8_r4.c: Regenerate.
      	* generated/rrspacing_r8.c: Regenerate.
      	* generated/minloc1_4_i16.c: Regenerate.
      	* generated/minloc0_4_r10.c: Regenerate.
      	* generated/maxloc1_4_i16.c: Regenerate.
      	* generated/minloc0_8_i16.c: Regenerate.
      	* generated/maxloc0_4_r10.c: Regenerate.
      	* generated/maxloc0_8_i16.c: Regenerate.
      	* generated/minloc1_8_r10.c: Regenerate.
      	* generated/minloc0_16_r4.c: Regenerate.
      	* generated/maxloc1_8_r10.c: Regenerate.
      	* generated/maxloc0_16_r4.c: Regenerate.
      	* generated/minloc1_16_r8.c: Regenerate.
      	* generated/minloc0_8_i1.c: Regenerate.
      	* generated/maxloc0_4_i4.c: Regenerate.
      	* generated/maxloc1_16_r8.c: Regenerate.
      	* generated/maxloc0_8_i2.c: Regenerate.
      	* generated/nearest_r16.c: Regenerate.
      	* generated/maxloc1_16_r10.c: Regenerate.
      	* generated/minloc0_16_i2.c: Regenerate.
      	* generated/minloc1_8_r8.c: Regenerate.
      	* generated/maxloc0_16_i2.c: Regenerate.
      	* generated/exponent_r4.c: Regenerate.
      	* generated/spacing_r10.c: Regenerate.
      	* generated/maxval_r10.c: Regenerate.
      	* generated/minval_i1.c: Regenerate.
      	* generated/maxloc1_4_i1.c: Regenerate.
      	* generated/minloc1_4_i8.c: Regenerate.
      	* generated/minloc0_8_r4.c: Regenerate.
      	* generated/minloc0_16_r16.c: Regenerate.
      	* generated/minloc0_4_i4.c: Regenerate.
      	* generated/minloc0_8_i2.c: Regenerate.
      	* generated/minval_r4.c: Regenerate.
      	* generated/maxloc1_4_r4.c: Regenerate.
      	* generated/maxval_r8.c: Regenerate.
      	* generated/minval_r16.c: Regenerate.
      	* generated/minloc1_4_i1.c: Regenerate.
      	* generated/minval_i2.c: Regenerate.
      	* generated/maxloc1_4_i2.c: Regenerate.
      	* generated/maxloc1_8_i8.c: Regenerate.
      	* generated/maxloc0_4_r8.c: Regenerate.
      	* generated/maxloc0_16_r16.c: Regenerate.
      	* generated/minloc1_4_r16.c: Regenerate.
      	* generated/fraction_r8.c: Regenerate.
      	* generated/maxloc1_4_r16.c: Regenerate.
      	* generated/set_exponent_r4.c: Regenerate.
      	* generated/minloc0_8_r16.c: Regenerate.
      	* generated/maxloc0_8_r16.c: Regenerate.
      	* generated/nearest_r10.c: Regenerate.
      	* generated/maxloc0_8_i4.c: Regenerate.
      	* generated/minloc1_4_r4.c: Regenerate.
      	* generated/minloc0_16_i4.c: Regenerate.
      	* generated/maxloc0_16_i4.c: Regenerate.
      	* generated/nearest_r4.c: Regenerate.
      	* generated/minloc1_16_i8.c: Regenerate.
      	* generated/maxloc1_16_i8.c: Regenerate.
      	* generated/minloc1_4_i2.c: Regenerate.
      	* generated/maxloc1_8_i1.c: Regenerate.
      	* generated/minloc0_16_r10.c: Regenerate.
      	* generated/minloc1_8_i8.c: Regenerate.
      	* generated/minloc0_4_r8.c: Regenerate.
      	* generated/minloc0_8_i4.c: Regenerate.
      	* generated/minloc1_16_i16.c: Regenerate.
      	* generated/spacing_r8.c: Regenerate.
      	* generated/maxloc1_8_r4.c: Regenerate.
      	* generated/minloc1_16_i1.c: Regenerate.
      	* generated/maxloc1_16_i1.c: Regenerate.
      	* generated/minval_r10.c: Regenerate.
      	* generated/minval_i4.c: Regenerate.
      	* generated/minloc1_8_i1.c: Regenerate.
      	* generated/maxloc1_4_i4.c: Regenerate.
      	* generated/maxloc1_8_i2.c: Regenerate.
      	* generated/maxval_i8.c: Regenerate.
      	* generated/maxloc0_16_r10.c: Regenerate.
      	* generated/rrspacing_r4.c: Regenerate.
      	* generated/minloc0_4_i16.c: Regenerate.
      	* generated/maxloc0_8_r8.c: Regenerate.
      	* generated/maxloc0_4_i16.c: Regenerate.
      	* generated/minloc1_4_r10.c: Regenerate.
      	* generated/minloc1_8_i16.c: Regenerate.
      	* generated/maxloc1_4_r10.c: Regenerate.
      	* generated/minloc0_8_r10.c: Regenerate.
      	* generated/maxloc1_8_i16.c: Regenerate.
      	* generated/maxloc0_8_r10.c: Regenerate.
      	* generated/minloc1_16_r4.c: Regenerate.
      	* generated/maxloc1_16_r4.c: Regenerate.
      	* generated/minloc0_16_r8.c: Regenerate.
      	* generated/maxloc0_16_r8.c: Regenerate.
      	* generated/maxloc0_4_i8.c: Regenerate.
      	* generated/maxloc1_16_i16.c: Regenerate.
      	* generated/minloc1_8_r4.c: Regenerate.
      	* generated/minloc1_16_i2.c: Regenerate.
      	* generated/maxloc1_16_i2.c: Regenerate.
      	* generated/maxval_i16.c: Regenerate.
      	* generated/exponent_r8.c: Regenerate.
      	* generated/minloc1_4_i4.c: Regenerate.
      	* generated/maxval_i1.c: Regenerate.
      	* generated/minloc1_8_i2.c: Regenerate.
      	* generated/minloc0_8_r8.c: Regenerate.
      	* generated/set_exponent_r16.c: Regenerate.
      	* generated/maxloc0_4_i1.c: Regenerate.
      	* generated/rrspacing_r16.c: Regenerate.
      	* generated/minloc0_4_i8.c: Regenerate.
      	* generated/maxval_r4.c: Regenerate.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      
      From-SVN: r123623
      Francois-Xavier Coudert committed
    • configure.ac: Tidy target case. · bf8da5fc
              * configure.ac: Tidy target case.
              (HAVE_LONG_DOUBLE): Allow the target to override.
              * configure: Regenerate.
              * include/ffi.h.in: Don't define ffi_type_foo if
              LIBFFI_HIDE_BASIC_TYPES is defined.
              (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
              to ffi_type_double.
              * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
              (FFI_TYPEDEF, ffi_type_void): Mark the data const.
              (ffi_type_longdouble): Special case for Alpha.  Don't define
              if long double == double.
      
              * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
              (ffi_prep_cif_machdep): Handle it as the 128-bit type.
              (ffi_call, ffi_closure_osf_inner): Likewise.
              (ffi_closure_osf_inner): Likewise.  Mark hidden.
              (ffi_call_osf, ffi_closure_osf): Mark hidden.
              * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
              * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
              (load_table): Handle 128-bit long double.
      
              * testsuite/libffi.call/float4.c: Add -mieee for alpha.
      
      From-SVN: r123622
      Richard Henderson committed
    • re PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded… · 8fbba42a
      re PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded by a comma or a slash)
      
      2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/31395
      	* gfortran.dg/fmt_colon.f90: New test.
      
      From-SVN: r123621
      Jerry DeLisle committed
    • re PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded… · 5a97b4f9
      re PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded by a comma or a slash)
      
      2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/31395
      	* io/format.c (parse_format_list): Fix parsing.
      
      From-SVN: r123620
      Jerry DeLisle committed
    • type_traits.h (__numeric_traits): Move... · b3726dab
      2007-04-06  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/ext/type_traits.h (__numeric_traits): Move...
      	* include/ext/numeric_traits.h: ... here.
      	* include/Makefile.am: Add.
      	* include/ext/pb_ds/detail/type_utils.hpp: Include 
      	<ext/numeric_traits.h> too.
      	* include/tr1/random: Likewise.
      	* testsuite/ext/type_traits/numeric_traits.cc: Move...
      	* testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
      	* include/Makefile.in: Regenerate.
      
      From-SVN: r123618
      Paolo Carlini committed
    • re PR libffi/31491 (libffi: bug in example program) · 8669fed1
      	PR libffi/31491:
      	* README: Fixed bug in example.
      
      From-SVN: r123617
      Tom Tromey committed
    • jcf-io.c (open_class): Copy 'filename'. · b00d7439
      2007-04-06  Colin Walters  <walters@redhat.com>
      
      	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
      	* jcf-io.c (open_class): Copy 'filename'.
      
      From-SVN: r123616
      Colin Walters committed
    • init18.C: Use dg-require-effective-target instead of an explicit xfail. · f8192a40
      	* g++.old-deja/g++.other/init18.C: Use
      	dg-require-effective-target instead of an explicit xfail.
      
      From-SVN: r123615
      Mark Mitchell committed
    • cgraphunit.c (decide_is_function_needed): Do not keep always_inline functions. · b521dcbe
      
      	* cgraphunit.c (decide_is_function_needed): Do not keep always_inline
      	functions.
      
      From-SVN: r123614
      Jan Hubicka committed
    • i386.c (output_387_reg_move): Handle memory operand[0]. · d869c351
      	* config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
      	* config/i386/i386.md (*movsf_1, *movdf_nointeger,
      	*movdf_integer_rex64, *movdf_integer, *movxf_nointeger,
      	*movxf_integer): Use output_387_reg_move() for x87 reg->mem
      	alternative.
      	(*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387,
      	*extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto.
      
      From-SVN: r123613
      Uros Bizjak committed
    • New test cases. · 0874ee9b
      From-SVN: r123612
      Arnaud Charlet committed
    • New file. · fa5537cb
      Resync.
      
      From-SVN: r123611
      Arnaud Charlet committed
    • gnatvsn.ads, [...] (Get_Gnat_build_Type): Renamed Build_Type and made constant. · 8405d93c
      2007-04-06  Arnaud Charlet  <charlet@adacore.com>
      	    Eric Botcazou <botcazou@adacore.com>
      
      	* gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
      	and made constant.
      
      	* comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
      	Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
      	carry any.
      
      	* fe.h (Compiler_Abort): Add third parameter.
      
      	* misc.c (internal_error_function): Build third argument from current
      	input location and pass it to Compiler_Abort.
      
      From-SVN: r123610
      Arnaud Charlet committed
    • utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs when... · 737053d6
      2007-04-06  Eric Botcazou <botcazou@adacore.com>
      	    Olivier Hainque  <hainque@adacore.com>
      
      	* utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
      	when updating the contents of the old pointer to an unconstrained array.
      	(end_subprog_body): Set error_gnat_node to Empty.
      	(write_record_type_debug_info): Do not be unduly sparing with our bytes.
      	(unchecked_convert): For subtype to base type conversions, require that
      	the source be a subtype if it is an integer type.
      	(builtin_decls): New global, vector of available builtin functions.
      	(gnat_pushdecl): Add global builtin function declaration nodes to the
      	builtin_decls list.
      	(gnat_install_builtins): Adjust comments.
      	(builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
      	calling gnat_pushdecl, so that it knows when it handed a builtin
      	function declaration node.
      	(builtin_decl_for): Search the builtin_decls list.
      
      From-SVN: r123609
      Eric Botcazou committed
    • trans.c (call_to_gnu): Return an expression with a COMPOUND_EXPR including the call instead of... · 3ce5f966
      2007-04-06  Olivier Hainque  <hainque@adacore.com>
      	    Eric Botcazou <botcazou@adacore.com>
      
      	* trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an
      	expression with a COMPOUND_EXPR including the call instead of emitting
      	the call directly here.
      	(gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the
      	high bound is constant and the slice is empty.  Tidy.
      	(tree_transform, case N_Op_Not): Handle properly the case where the
      	operation applies to a private type whose full view is a modular type.
      	(Case_Statement_To_gnu): If an alternative is an E_Constant with an
      	Address_Clause, use the associated Expression as the GNAT tree
      	representing the choice value to ensure the corresponding GCC tree is
      	of the proper kind.
      	(maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
      	instead of just the operands, as the base GCC stabilize_reference does.
      	<CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not
      	requested; otherwise fail.
      	(addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P.
      
      From-SVN: r123608
      Olivier Hainque committed
    • Resync · 4b437c6b
      From-SVN: r123607
      Arnaud Charlet committed
    • a-diroro.ads: Inserted the pragma Unimplemented_Unit · 87ace727
      2007-04-06  Robert Dewar  <dewar@adacore.com>
      	    Arnaud Charlet  <charlet@adacore.com>
      
      	* a-diroro.ads: Inserted the pragma Unimplemented_Unit
      
      	* bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
      	of files
      	Add mention of -Sev (set initialize_scalars option from environment
      	variable at run time) in gnatbind usage message.
      
      	* elists.ads, elists.adb: (Append_Unique_Elmt): New procedure
      
      	* fname-uf.ads: Minor comment fix
      
      	* osint.ads: Change pragma Elaborate to Elaborate_All
      
      	* par-load.adb: Add documentation.
      
      	* sem_cat.ads, sem_cat.adb: Minor code reorganization
      
      	* s-parint.ads (RCI_Locator) : Add 'Version' generic formal
      
      	* s-secsta.ads: Extra comments
      
      	* s-soflin.ads: Minor comment fixes
      
      	* s-stratt.ads (Block_Stream_Ops_OK): Removed.
      
      	* s-wchcon.ads: Minor comment addition
      
      	* treepr.adb: Minor change in message
      	(Print_Name,Print_Node): Make these debug printouts more robust: print
      	"no such..." instead of crashing on bad input.
      
      From-SVN: r123606
      Robert Dewar committed
    • s-stchop-vxworks.adb: · 7a56c3bc
      2007-04-06  Eric Botcazou <botcazou@adacore.com>
      
      	* s-stchop-vxworks.adb: 
      	(Stack_Check): Raise Storage_Error if the argument has wrapped around.
      
      From-SVN: r123605
      Eric Botcazou committed
    • utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and BIT_AND_EXPR. · fc879b8f
      2007-04-06  Olivier Hainque  <hainque@adacore.com>
      
      	* utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
      	BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
      	opcodes.
      
      From-SVN: r123604
      Olivier Hainque committed
    • uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous implementation of UI_Div. · 2e45500e
      2007-04-06  Thomas Quinot  <quinot@adacore.com>
      
      	* uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
      	implementation of UI_Div.
      	(UI_Div): Reimplement as a call to UI_Div_Rem.
      	(UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
      	remainder, avoiding the cost of a multiplication and a subtraction.
      	(UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
      	provides both quotient and remainder in a single computation.
      	(UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
      	functions for uint.
      	(UI_Modular_Inverse): Add a note that the behaviour of this subprogram
      	is undefined if the given n is not inversible.
      
      From-SVN: r123603
      Thomas Quinot committed
    • tracebak.c (PC_ADJUST - ia64): -4 instead of -16... · d72eef29
      2007-04-06  Olivier Hainque  <hainque@adacore.com>
      
      	* tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
      	an address always within the call instruction from a return address.
      
      From-SVN: r123602
      Olivier Hainque committed