1. 08 Apr, 2007 4 commits
    • varasm.c (assemble_variable): Remove call to lang_hooks.decls.prepare_assemble_variable. · 136cdb22
      2007-04-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              * varasm.c (assemble_variable): Remove call to
              lang_hooks.decls.prepare_assemble_variable.
              * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill.
              (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE.
              * langhooks.h (lang_hooks_for_decls): Remove
              prepare_assemble_variable.
      
      From-SVN: r123663
      Andrew Pinski committed
    • * config/i386/i386.c: Use inc/dec on Core2. · 77c1632f
      From-SVN: r123662
      Mike Stump committed
    • langhooks.c (lhd_tree_inlining_add_pending_fn_decls, [...]): Remove. · cb9c159d
      	* langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
      	lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
      	lhd_tree_inlining_end_inlining): Remove.
      	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove then
      	add_pending_fn_decls, anon_aggr_type_p, start_inlining, and
      	end_inlining hooks.
      	* langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls,
      	lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
      	lhd_tree_inlining_end_inlining): Remove prototypes.
      	(LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
      	LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
      	LANG_HOOKS_TREE_INLINING_START_INLINING,
      	LANG_HOOKS_TREE_INLINING_END_INLINING): Remove.
      
      	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do
      	not set it.
      
      cp/
      	* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS):
      	Do not set it.
      	(LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do not set it.
      	* tree.c (cp_add_pending_fn_decls): Remove.
      	* cp-tree.h (cp_add_pending_fn_decls): Remove prototype.
      
      From-SVN: r123658
      Steven Bosscher committed
    • re PR target/29932 (avr-gcc wrongly optimizes bit sets/resets for IO register 0x20) · d8a1f0fb
      	PR target/29932
      	* config/avr/predicates.md (io_address_operand): Delete predicate.
      	(low_io_address_operand): Don't use 'mode' argument.
      	(higth_io_address_operand): Rename ...
      	(high_io_address_operand): ... to this. Don't use 'mode' argument.
      	* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
      	for above change.
      
      From-SVN: r123657
      Anatoly Sokolov committed
  2. 07 Apr, 2007 13 commits
  3. 06 Apr, 2007 23 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