OSDN Git Service

pf3gnuchains/gcc-fork.git
17 years agoDaily bump.
gccadmin [Wed, 11 Apr 2007 23:17:12 +0000 (23:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123729 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 11 Apr 2007 23:10:05 +0000 (23:10 +0000)]
2007-04-11  Paolo Carlini  <pcarlini@suse.de>

* config/locale/gnu/c_locale.h: Do not include <langinfo.h>
and <iconv.h>.
* config/locale/gnu/c++locale_internal.h: Include <langinfo.h>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123726 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Paul Thomas <pault@gcc.gnu.org>
pault [Wed, 11 Apr 2007 21:48:15 +0000 (21:48 +0000)]
2007-04-11  Paul Thomas  <pault@gcc.gnu.org>

PR testsuite/31538
* gfortran.dg/result_in_spec_1.f90: Increase dimension from 2
to 4 at line 38 to fix bounds problem.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123725 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * reload.c (find_reloads_toplev, find_reloads_address,
bernds [Wed, 11 Apr 2007 19:44:07 +0000 (19:44 +0000)]
* reload.c (find_reloads_toplev, find_reloads_address,
find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p,
not a pointer equality test, to decide if we need to call
push_reg_equiv_alt_mem.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123724 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* argv.c: Use ANSI C declarations.
dj [Wed, 11 Apr 2007 19:02:45 +0000 (19:02 +0000)]
* argv.c: Use ANSI C declarations.
* make-relative-prefix.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123722 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-data-ref.c (affine_function_zero_p, constant_access_functions,
spop [Wed, 11 Apr 2007 17:10:23 +0000 (17:10 +0000)]
* tree-data-ref.c (affine_function_zero_p, constant_access_functions,
insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New.
(build_classic_dist_vector): Call add_distance_for_zero_overlaps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123721 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-data-ref.c (add_multivariate_self_dist): Force the distance
rakdver [Wed, 11 Apr 2007 16:45:47 +0000 (16:45 +0000)]
* tree-data-ref.c (add_multivariate_self_dist): Force the distance
vector to be positive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123720 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR 30735
dnovillo [Wed, 11 Apr 2007 16:14:06 +0000 (16:14 +0000)]
PR 30735
PR 31090
* doc/invoke.texi: Document --params max-aliased-vops and
avg-aliased-vops.
* tree-ssa-operands.h (get_mpt_for, dump_memory_partitions,
debug_memory_partitions): Move to tree-flow.h
* params.h (AVG_ALIASED_VOPS): Define.
* tree-ssa-alias.c (struct mp_info_def): Remove.  Update all
users.
(mp_info_t): Likewise.
(get_mem_sym_stats_for): New.
(set_memory_partition): Move from tree-flow-inline.h.
(mark_non_addressable): Only clear the set of symbols for the
partition if it exists.
(dump_memory_partitions): Move from tree-ssa-operands.c
(debug_memory_partitions): Likewise.
(need_to_partition_p): New.
(dump_mem_ref_stats): New.
(debug_mem_ref_stats): New.
(dump_mem_sym_stats): New.
(debug_mem_sym_stats): New.
(update_mem_sym_stats_from_stmt): New.
(compare_mp_info_entries): New.
(mp_info_cmp): Call it.
(sort_mp_info): Change argument to a list of mem_sym_stats_t
objects.
(get_mpt_for): Move from tree-ssa-operands.c.
(find_partition_for): New.
(create_partition_for): Remove.
(estimate_vop_reduction): New.
(update_reference_counts): New.
(build_mp_info): New.
(compute_memory_partitions): Refactor.
Document new heuristic.
Call build_mp_info, update_reference_counts,
find_partition_for and estimate_vop_reduction.
(compute_may_aliases): Populate virtual operands before
calling debugging dumps.
(delete_mem_sym_stats): New.
(delete_mem_ref_stats): New.
(init_mem_ref_stats): New.
(init_alias_info): Call it.
(maybe_create_global_var): Remove alias_info argument.
Get number of call sites and number of pure/const call sites
from gimple_mem_ref_stats().
(dump_alias_info): Call dump_memory_partitions first.
(dump_points_to_info_for): Show how many times a pointer has
been dereferenced.
* opts.c (decode_options): For -O2 set --param
max-aliased-vops to 500.
For -O3 set --param max-aliased-vops to 1000 and --param
avg-aliased-vops to 3.
* fortran/options.c (gfc_init_options): Remove assignment to
MAX_ALIASED_VOPS.
* tree-flow-inline.h (gimple_mem_ref_stats): New.
* tree-dfa.c (dump_variable): Dump memory reference
statistics.
Dump NO_ALIAS* settings.
(referenced_var_lookup): Tidy.
(mem_sym_stats): New.
* tree-ssa-copy.c (may_propagate_copy): Return true if DEST
and ORIG are different SSA names for a memory partition.
* tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats.
* tree-flow.h (struct mem_sym_stats_d): Define.
(mem_sym_stats_t): Define.
(struct mem_ref_stats_d): Define.
(struct gimple_df): Add field mem_ref_stats.
(enum noalias_state): Define.
(struct var_ann_d): Add bitfield noalias_state.
(mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats,
debug_mem_ref_stats, debug_memory_partitions,
debug_mem_sym_stats): Declare.
* tree-ssa-structalias.c (update_alias_info): Update call
sites, pure/const call sites and asm sites in structure
returned by gimple_mem_ref_stats.
Remove local variable IS_POTENTIAL_DEREF.
Increase NUM_DEREFS if the memory expression is a potential
dereference.
Call update_mem_sym_stats_from_stmt.
If the memory references memory, call
update_mem_sym_stats_from_stmt for all the direct memory
symbol references found.
(intra_create_variable_infos): Set noalias_state field for
pointer arguments according to the value of
flag_argument_noalias.
* tree-ssa-structalias.h (struct alias_info): Remove fields
num_calls_found and num_pure_const_calls_found.
(update_mem_sym_stats_from_stmt): Declare.
* params.def (PARAM_MAX_ALIASED_VOPS): Change description.
Set default value to 100.
(PARAM_AVG_ALIASED_VOPS): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123719 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 11 Apr 2007 15:58:15 +0000 (15:58 +0000)]
2007-04-11  Paolo Carlini  <pcarlini@suse.de>

* include/std/istream (class basic_istream<>): Remove unneded friend
declarations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123718 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 11 Apr 2007 15:22:34 +0000 (15:22 +0000)]
2007-04-11  Paolo Carlini  <pcarlini@suse.de>

* testsuite/22_locale/num_get/get/wchar_t/1.cc: Initialize v.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123717 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Paolo Carlini <pcarlini@suse.de>
paolo [Wed, 11 Apr 2007 15:19:15 +0000 (15:19 +0000)]
2007-04-11  Paolo Carlini  <pcarlini@suse.de>

* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
ios_base&, ios_base::iostate&, void*&)): Fix for sizeof(void*)
> sizeof(unsigned long).

* testsuite/22_locale/num_get/get/char/1.cc: Fix void* test.
* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.

* testsuite/22_locale/num_put/put/char/1.cc: Tweak comment.
* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123716 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 11 Apr 2007 11:13:54 +0000 (11:13 +0000)]
2007-04-11  Richard Guenther  <rguenther@suse.de>

PR middle-end/31530
* simplify-rtx.c (simplify_binary_operation_1): Do not simplify
a * -b + c as c - a * b if we honor sign dependent rounding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123715 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from
bernds [Wed, 11 Apr 2007 11:06:44 +0000 (11:06 +0000)]
* config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from
bfin_expand_strmov.
* config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address,
bfin_function_ok_for_sibcall, split_load_immediate): Remove unused
variables.
(initialize_trampoline): Don't use old-style function definition.
(bfin_secondary_reload): Mark IN_P argument as unused.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123714 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Zack Weinberg <zack@mrtock.ucsd.edu>
paolo [Wed, 11 Apr 2007 10:12:47 +0000 (10:12 +0000)]
2007-04-11  Zack Weinberg  <zack@mrtock.ucsd.edu>

* include/std/iosfwd: Do not include <bits/c++locale.h> and
<bits/functexcept.h>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123713 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-11 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 11 Apr 2007 07:28:49 +0000 (07:28 +0000)]
2007-04-11  Tobias Burnus  <burnus@net-b.de>

       PR testsuite/31240
       * gfortran.dg/pointer_intent_1.f90: Fix test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123712 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cp/class.c (convert_to_base_statically): Fold produced tree; verify
hubicka [Wed, 11 Apr 2007 06:18:28 +0000 (06:18 +0000)]
* cp/class.c (convert_to_base_statically): Fold produced tree; verify
that we are not processing template_decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123711 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-10 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Wed, 11 Apr 2007 01:11:56 +0000 (01:11 +0000)]
2007-04-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/ext/pb_ds/detail/resize_policy/
cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify
namespace std members.
* include/ext/pb_ds/detail/list_update_policy/
counter_lu_metadata.hpp: Same.
* include/ext/throw_allocator.h: Same.
* include/ext/pod_char_traits.h: Same.
* include/ext/malloc_allocator.h: Same.
* libsupc++/del_op.cc: Same, simplify.

* include/bits/c++config: Adjust macro name.

* include/c_global/cstring: Alphabetize.
* include/c_global/cwctype: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123710 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR tree-optimization/31343
spop [Wed, 11 Apr 2007 00:09:35 +0000 (00:09 +0000)]
PR tree-optimization/31343
* tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec.
(build_polynomial_chrec): Return a scalar when the evolution is zero.
* testsuite/gcc.dg/vect/pr31343.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123708 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Tue, 10 Apr 2007 23:17:25 +0000 (23:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123706 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-10 Eric Christopher <echristo@apple.com>
echristo [Tue, 10 Apr 2007 23:00:00 +0000 (23:00 +0000)]
2007-04-10  Eric Christopher  <echristo@apple.com>

        * lib/target-supports.exp
        (check_effective_target_fstack_protector): Rewrite.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123702 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd to last commit.
echristo [Tue, 10 Apr 2007 22:44:02 +0000 (22:44 +0000)]
Add to last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123701 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-10 Eric Christopher <echristo@apple.com>
echristo [Tue, 10 Apr 2007 22:41:28 +0000 (22:41 +0000)]
2007-04-10  Eric Christopher  <echristo@apple.com>

    * config/i386/i386.h (X87_FLOAT_MODE_P): New.
    * config/i386/i386.md (*cmpfp0): Use.
    (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
    (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
    (fix_trunc<mode>_i386_fisttp): Ditto.
    (fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
    (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
    (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
    (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
    (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
    (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
    (unnamed_splitters): Ditto.
    * config/i386/i386.c (output_fix_trunc): Assert that
    we're not being passed a TFmode operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123700 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR tree-optimization/31526
rakdver [Tue, 10 Apr 2007 21:10:26 +0000 (21:10 +0000)]
PR tree-optimization/31526
* tree-inline.c (copy_cfg_body): Use last_basic_block instead of
n_basic_blocks to find newly added blocks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123699 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * sources.am: Regenerate.
kseitz [Tue, 10 Apr 2007 17:52:59 +0000 (17:52 +0000)]
    * sources.am: Regenerate.
        * Makefile.in: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123697 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-10 Paolo Carlini <pcarlini@suse.de>
paolo [Tue, 10 Apr 2007 15:54:46 +0000 (15:54 +0000)]
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/cmath: Include <bits/stl_algobase.h> instead of
the whole <algorithm>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123696 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-10 Paolo Carlini <pcarlini@suse.de>
paolo [Tue, 10 Apr 2007 15:12:54 +0000 (15:12 +0000)]
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits (__is_function_helper): New, uses
variadic templates.
(is_function): Forward to the latter.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_function/is_function.cc: Add test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123695 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm"
uros [Tue, 10 Apr 2007 11:41:01 +0000 (11:41 +0000)]
* config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm"
alternative.
(fix_trunc<mode>si_sse): Ditto.
(*floatsisf2_mixed, *floatsisf2_sse): Ditto.
(*floatsidf2_mixed, *floatsidf2_sse): Ditto.
(*floatdisf2_mixed, *floatdisf2_sse): Ditto.
(*floatdidf2_mixed, *floatdidf2_sse): Ditto.
(floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize
expander using SSEMODEF mode macro.
(floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize
expander using SSEMODEF mode macro.
(*floathi<mode>2_i387): Rename from *floathisf2_i387 and
*floathidf2_i387. Macroize insn using X87MODEF12 mode macro.
(*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and
*floatsidf2_i387. Macroize insn using X87MODEF12 mode macro.
(*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and
*floatdidf2_i387. Macroize insn using X87MODEF12 mode macro.
(float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2.
Macroize insn using X87MODEF mode macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123693 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-10 Paolo Carlini <pcarlini@suse.de>
paolo [Tue, 10 Apr 2007 10:38:50 +0000 (10:38 +0000)]
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/28277 (partial: vstring bits)
* include/bits/ostream_insert.h: New.
* include/Makefile.am: Add.
* include/ext/vstring.h (operator<<(basic_ostream<>&,
const __versa_string<>&): Forward to __ostream_insert.
* include/bits/basic_string.h (operator<<(basic_ostream<>&,
const string<>&)): Likewise.
* include/std/ostream (operator<<(basic_ostream<>&, _CharT),
operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
Likewise.
* include/ext/vstring.tcc (operator<<(basic_ostream<>&,
const __versa_string<>&)): Remove.
(class basic_ostream): Remove friend declarations.
(basic_ostream<>::_M_write(char_type, streamsize),
_M_insert(const char_type*, streamsize)): Remove.
* include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
Remove definition.
(operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
* config/abi/pre/gnu.ver: Adjust.
* src/ostream-inst.cc: Add __ostream_insert instantiations.
* include/bits/locale_facets.h (__pad<>::_S_pad): Remove __num
parameter.
* include/bits/locale_facets.tcc (__pad<>::_S_pad): Adjust.
(num_put<>::_M_pad(_CharT, streamsize, ios_base&, _CharT*,
const _CharT*, int&)): Likewise.
* include/Makefile.in: Rebuild.
* testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.

* include/ext/vstring_util.h: Do not include the whole <locale>.
* include/ext/vstring.tcc (operator>>(basic_istream<>&,
__versa_string<>&, getline(basic_istream<>&, __versa_string<>&,
_CharT)): Tweak to refer to ios_base as a base of istream; do not
refer to non-standard types of istream.
* include/bits/istream.tcc (operator>>(basic_istream<>&, _CharT*),
ws(basic_istream<>&)): Do not refer to non-standard types of istream.
* include/std/bitset (operator>>(std::basic_istream<>&, bitset<>&)):
Avoid using basic_streambuf<>*.

* include/bits/istream.tcc (operator>>(basic_istream<>&,
basic_string<>&), getline(basic_istream<>&, basic_string<>&, _CharT)):
Move...
* include/bits/basic_string.tcc: ... here; tweak to refer to ios_base
as a base of istream; do not refer to non-standard types of istream.
* include/std/string: Tweak includes.

* include/ext/type_traits.h (__is_null_pointer): Add.
* include/ext/rc_string_base.h: Use it.
* include/ext/sso_string_base.h: Likewise.
* include/bits/basic_string.tcc (__is_null_pointer): Remove, use
the above.
* include/ext/vstring_util.h (__vstring_utility<>::_S_is_null_pointer):
Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123692 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 H.J. Lu <hongjiu.lu@intel.com>
hjl [Tue, 10 Apr 2007 01:58:03 +0000 (01:58 +0000)]
2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/sse.md (sse2_pinsrw): Removed.
(sse2_pextrw): Renamed to ...
(*sse2_pextrw): This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123689 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Mon, 9 Apr 2007 23:17:05 +0000 (23:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123685 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/27869
hubicka [Mon, 9 Apr 2007 23:06:16 +0000 (23:06 +0000)]
PR target/27869
* config/i386/sse.md
(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123682 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 Kyle Galloway <kgallowa@redhat.com>
kgallowa [Mon, 9 Apr 2007 20:32:19 +0000 (20:32 +0000)]
2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

* interpret-run.cc: If debugging, check if args is NULL before
getting the "this" pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123681 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 Kyle Galloway <kgallowa@redhat.com>
kgallowa [Mon, 9 Apr 2007 20:30:20 +0000 (20:30 +0000)]
2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

* classpath/gnu/classpath/jdwp/value/ArrayValue.java: New file.
* classpath/lib/gnu/classpath/jdwp/value/ArrayValue.class: New file.
* gnu/classpath/jdwp/ArrayValue.h: New file.
* gnu/classpath/jdwp/natVMFrame.cc (getValue): Add array case.
(setValue): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123680 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/31449
mmitchel [Mon, 9 Apr 2007 19:45:53 +0000 (19:45 +0000)]
PR c++/31449
* class.c (build_base_path): Ensure that the converted pointer has
the same cv-qualification as the input.
PR c++/31449
* g++.dg/init/const5.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123679 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 Andrew Ruder <andy@aeruder.net>
pinskia [Mon, 9 Apr 2007 18:04:50 +0000 (18:04 +0000)]
2007-04-09  Andrew Ruder  <andy@aeruder.net>

        * sendmsg.c: Added __objc_msg_forward2, a hook that allows
        external libraries to provide a function that returns the real
        forwarding function based on both the selector and the receiver.
        * objc/objc-api.h: Define __objc_msg_forward2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123678 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoFix ChangeLog date.
daney [Mon, 9 Apr 2007 17:46:17 +0000 (17:46 +0000)]
Fix ChangeLog date.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123677 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR libgcj/23758
daney [Mon, 9 Apr 2007 17:40:20 +0000 (17:40 +0000)]
PR libgcj/23758
* java/lang/natPosixProcess.cc (nativeSpawn): Move building of
environment before the fork.
* testsuite/libjava.lang/Process_7.java: New test.
* testsuite/libjava.lang/Process_7.out: Its expected results.
* testsuite/libjava.lang/Process_7.jar: Generated file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123676 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 Paolo Carlini <pcarlini@suse.de>
paolo [Mon, 9 Apr 2007 17:07:37 +0000 (17:07 +0000)]
2007-04-09  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits_fwd.h (__is_union_or_class): Remove.
* include/tr1/type_traits (struct __in_array,
struct __is_union_or_class, struct __is_union_or_class_helper,
struct __is_empty_helper, struct __is_polymorphic_helper):
Remove.
(struct is_enum): Use __is_enum.
(struct is_union): Use __is_union.
(struct is_class): Use __is_class.
(struct is_function): Adjust.
(struct is_empty): Use __is_empty.
(struct is_polymorphic): Use __is_polymorphic.
(struct is_abstract): Use __is_abstract.
(struct has_virtual_destructor): Use __has_virtual_destructor.
(struct __is_base_of_helper): Use __is_base_of.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_union_or_class/typedefs.cc: Remove.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_union_or_class/is_union_or_class.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_class/typedefs.cc: New.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_class/is_class.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_union/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_union/is_union.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_virtual_destructor/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_virtual_destructor/has_virtual_destructor.cc: Likewise.
* testsuite/util/testsuite_tr1.h (class VirtualDestructorClass): Add.
* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
is_polymorphic.cc: Add test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123675 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/tree-ssa/foldaddr-3.c: New file.
hubicka [Mon, 9 Apr 2007 17:00:10 +0000 (17:00 +0000)]
* gcc.dg/tree-ssa/foldaddr-3.c: New file.

* tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into
multiple fields of union.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123674 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 Paolo Carlini <pcarlini@suse.de>
paolo [Mon, 9 Apr 2007 16:33:33 +0000 (16:33 +0000)]
2007-04-09  Paolo Carlini  <pcarlini@suse.de>

* tree.c (cp_tree_equal): Deal with TRAIT_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123673 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 H.J. Lu <hongjiu.lu@intel.com>
hjl [Mon, 9 Apr 2007 15:07:08 +0000 (15:07 +0000)]
2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>

* prims.cc (load_jvmti_agent): Add the missing `,'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123672 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-09 Kyle Galloway <kgallowa@redhat.com>
kgallowa [Mon, 9 Apr 2007 13:24:00 +0000 (13:24 +0000)]
2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

* gij.cc (main): Accept -agentlib and -agentpath options.
* prims.cc (parse_init_args): Deal with -agentlib and -agentpath.
(load_jvmti_agent): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123671 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
rakdver [Mon, 9 Apr 2007 06:51:43 +0000 (06:51 +0000)]
* cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
(create_preheaders): Check that loops are available.
(fix_loop_structure): Clean up, improve comments.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa):
Check that loops are available.  Set LOOP_CLOSED_SSA to the loops
state flags.
* tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info.
* predict.c (tree_estimate_probability): Do not call
calculate_dominance_info.  Call create_preheaders.
* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call
rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state
flags.
* cfgloop.c (loop_preheader_edge): Assert that loops have preheaders.
* cfgloop.h (LOOP_CLOSED_SSA): New constant.
* tree-cfg.c (tree_split_edge): Make an assert more precise.
* tree-ssa-threadedge.c (thread_across_edge): Comment the function
arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123670 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Sun, 8 Apr 2007 23:17:01 +0000 (23:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123668 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-08 Alexey Beshenov <bav.272304@gmail.com>
paolo [Sun, 8 Apr 2007 22:37:56 +0000 (22:37 +0000)]
2007-04-08  Alexey Beshenov  <bav.272304@gmail.com>

PR libstdc++/31511
* include/c_global/cmath.tcc (__cmath_power): Use _Tp(1).
* include/c_std/cmath.tcc (__cmath_power): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123665 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree.h (maybe_fold_offset_to_component_ref): Declare.
hubicka [Sun, 8 Apr 2007 22:12:21 +0000 (22:12 +0000)]
* tree.h (maybe_fold_offset_to_component_ref): Declare.
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export.
* fold-const.c (fold_unary): Use it.

* gcc.dg/tree-ssa/foldaddr-2.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123664 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
pinskia [Sun, 8 Apr 2007 19:30:06 +0000 (19:30 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123663 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/i386.c: Use inc/dec on Core2.
mrs [Sun, 8 Apr 2007 16:30:23 +0000 (16:30 +0000)]
* config/i386/i386.c: Use inc/dec on Core2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123662 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
steven [Sun, 8 Apr 2007 13:14:39 +0000 (13:14 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123658 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/29932
aesok [Sun, 8 Apr 2007 10:38:38 +0000 (10:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123657 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Sat, 7 Apr 2007 23:17:02 +0000 (23:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123653 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 Daniel Berlin <dberlin@dberlin.org>
dberlin [Sat, 7 Apr 2007 23:08:23 +0000 (23:08 +0000)]
2007-04-07  Daniel Berlin  <dberlin@dberlin.org>

Revert change removing staticp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123650 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/30289
aesok [Sat, 7 Apr 2007 22:00:33 +0000 (22:00 +0000)]
PR target/30289
* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
earlyclobber.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123647 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:29:13 +0000 (20:29 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31257
* intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
* intrinsic.h : Add prototype for gfc_resolve_achar.
* iresolve.c (gfc_resolve_achar): New function.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31257
* gfortran.dg/achar_4.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123646 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:25:43 +0000 (20:25 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30880
* resolve.c (resolve_fl_variable): Set flag to 2 for automatic
arrays.  Make condition for automatic array error explicit.
If a dummy, no error on an INTENT(OUT) derived type.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30880
* gfortran.dg/used_dummy_types_8.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123645 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:23:40 +0000 (20:23 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30872
* expr.c (find_array_element): Correct arithmetic for rank > 1.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30872
* gfortran.dg/parameter_array_element_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123644 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:20:49 +0000 (20:20 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31222
* check.c (numeric_check): If an expresson has not got a type,
see if it is a symbol for which a default type applies.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31222
* gfortran.dg/default_numeric_type_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123643 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:18:17 +0000 (20:18 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31214
* trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
associated symbols.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31424
* gfortran.dg/unreferenced_use_assoc_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123642 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:13:52 +0000 (20:13 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31293
* symbol.c (gfc_check_function_type): New function.
* gfortran.h : Add prototype for previous.
* parse.c (parse_progunit): Call it after parsing specification
statements.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31293
* gfortran.dg/interface_12.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123641 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoSeparate NUL byte detection from rest of -Wformat warnings
korbb [Sat, 7 Apr 2007 17:55:07 +0000 (17:55 +0000)]
Separate NUL byte detection from rest of -Wformat warnings

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123640 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-07 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sat, 7 Apr 2007 15:58:00 +0000 (15:58 +0000)]
2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_handle_option): Handle SSSE3.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123639 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR testsuite/31369
danglin [Sat, 7 Apr 2007 15:10:06 +0000 (15:10 +0000)]
PR testsuite/31369
* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
ld_library_path.
* testsuite/libgomp.fortran/fortran.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123638 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoin /
dberlin [Sat, 7 Apr 2007 00:19:46 +0000 (00:19 +0000)]
in /
2007-04-06  Daniel Berlin  <dberlin@dberlin.org>

* tree.c (staticp): No longer use staticp langhook.
* langhooks.c (lhd_staticp): Removed.
* langhooks.h (struct lang_hooks): Remove staticp.
* c-common.c (c_staticp): Remove.
* c-common.h (c_staticp): Ditto.
* langhooks-defs.h (lhd_staticp): Ditto.
(LHD_HOOKS_STATICP): Ditto
* tree.h (gcc_assert_lowered): New macro.

in cp/

2007-04-06  Daniel Berlin  <dberlin@dberlin.org>

* cp-objcp-common.c (cxx_staticp): Remove.
* cp-objcp-common.h (LANG_HOOKS_STATICP): Remove.
* cp-tree.h (cxx_staticp):

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123636 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 6 Apr 2007 23:36:56 +0000 (23:36 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123635 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Fri, 6 Apr 2007 23:17:31 +0000 (23:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123633 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
rakdver [Fri, 6 Apr 2007 23:11:15 +0000 (23:11 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123630 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoRemove ">>>>>>> .r123627".
hjl [Fri, 6 Apr 2007 21:24:17 +0000 (21:24 +0000)]
Remove ">>>>>>> .r123627".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123629 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Andreas Tobler <a.tobler@schweiz.org>
andreast [Fri, 6 Apr 2007 20:55:24 +0000 (20:55 +0000)]
2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>

        * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123628 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
uros [Fri, 6 Apr 2007 20:14:12 +0000 (20:14 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123626 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Daniel Berlin <dberlin@dberlin.org>
dberlin [Fri, 6 Apr 2007 16:51:18 +0000 (16:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123624 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * intrinsics/cpu_time.c: Don't include headers already included
fxcoudert [Fri, 6 Apr 2007 16:47:23 +0000 (16:47 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123623 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * configure.ac: Tidy target case.
rth [Fri, 6 Apr 2007 16:24:16 +0000 (16:24 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123622 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 6 Apr 2007 15:42:26 +0000 (15:42 +0000)]
2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/31395
* gfortran.dg/fmt_colon.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123621 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 6 Apr 2007 15:39:02 +0000 (15:39 +0000)]
2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/31395
* io/format.c (parse_format_list): Fix parsing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123620 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 6 Apr 2007 14:52:27 +0000 (14:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123618 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR libffi/31491:
tromey [Fri, 6 Apr 2007 14:30:27 +0000 (14:30 +0000)]
PR libffi/31491:
* README: Fixed bug in example.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123617 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Colin Walters <walters@redhat.com>
tromey [Fri, 6 Apr 2007 14:28:15 +0000 (14:28 +0000)]
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'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123616 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * g++.old-deja/g++.other/init18.C: Use
kazu [Fri, 6 Apr 2007 13:47:32 +0000 (13:47 +0000)]
* g++.old-deja/g++.other/init18.C: Use
dg-require-effective-target instead of an explicit xfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123615 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cgraphunit.c (decide_is_function_needed): Do not keep always_inline
hubicka [Fri, 6 Apr 2007 12:56:50 +0000 (12:56 +0000)]
* cgraphunit.c (decide_is_function_needed): Do not keep always_inline
functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123614 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
uros [Fri, 6 Apr 2007 10:59:53 +0000 (10:59 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123613 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoNew test cases.
charlet [Fri, 6 Apr 2007 09:44:51 +0000 (09:44 +0000)]
New test cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123612 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoNew file.
charlet [Fri, 6 Apr 2007 09:43:23 +0000 (09:43 +0000)]
New file.
Resync.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123611 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Arnaud Charlet <charlet@adacore.com>
charlet [Fri, 6 Apr 2007 09:41:46 +0000 (09:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123610 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Eric Botcazou <botcazou@adacore.com>
charlet [Fri, 6 Apr 2007 09:41:07 +0000 (09:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123609 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 6 Apr 2007 09:40:22 +0000 (09:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123608 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoResync
charlet [Fri, 6 Apr 2007 09:36:45 +0000 (09:36 +0000)]
Resync

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123607 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:29:20 +0000 (09:29 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123606 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Eric Botcazou <botcazou@adacore.com>
charlet [Fri, 6 Apr 2007 09:29:06 +0000 (09:29 +0000)]
2007-04-06  Eric Botcazou <botcazou@adacore.com>

* s-stchop-vxworks.adb:
(Stack_Check): Raise Storage_Error if the argument has wrapped around.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123605 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 6 Apr 2007 09:28:45 +0000 (09:28 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123604 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 6 Apr 2007 09:28:33 +0000 (09:28 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123603 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 6 Apr 2007 09:28:04 +0000 (09:28 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123602 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
charlet [Fri, 6 Apr 2007 09:27:53 +0000 (09:27 +0000)]
* s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
before propagating exception.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123601 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:42 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
to chain nested components that are allocators for access discriminants
of the enclosing object.
Add N_Push and N_Pop nodes
New field Exception_Label added
(Local_Raise_Statements): New field in N_Exception_Handler_Node
(Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
(Is_Coextension): New flag for allocators, to mark allocators that
correspond to access discriminants of dynamically allocated objects.
(N_Block_Statement): Document the fact that the corresponding entity
can be an E_Return_Statement.
(Is_Coextension): New flag for allocators.
Remove all code for DSP option

* sprint.ads, sprint.adb: Display basic information for class_wide
subtypes. Add handling of N_Push and N_Pop nodes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123600 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:31 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
dereference of a local object R created as a reference to another
object O, use the access level of O.
(Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
rather than local Same_Formal_Type, to check whether protected operation
overrides an inherited one.
(Same_Formal_Type): New predicate, used when matching signatures of
overriding synchronized operations, to handle the case when a formal
has a type that is a generic actual.
(Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
(Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
syntactic ambiguities involving indexing of function calls that return
arrays.
(Abstract_Interface_List): New subprogram that returns the list of
abstract interfaces associated with a concurrent type or a
concurrent record type.
(Interface_Present_In_Parent): New subprogram used to check if a
given type or some of its parents implement a given interface.
(Collect_Abstract_Interfaces): Add support for concurrent types
with interface types.
(Has_Abstract_Interfaces): Add support for concurrent types with
interface types.
(Is_Parent): New subprogram that determines whether E1 is a parent
of E2. For a concurrent type its parent is the first element of its
list of interface types; for other types this function provides the
same result than Is_Ancestor.
(Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
(Collect_Synchronized_Interfaces): Removed because the subprogram
Collect_Abstract_Interfaces provides this functionality.
(Collect_Abstract_Interfaces): Minor update to give support to
concurrent types and thus avoid undesired code duplication.
(Get_Subprogram_Entity): Handle entry calls.
(May_Be_Lvalue): Include actuals that appear as in-out parameters in
entry calls.
(Enter_Name): Do not give -gnatwh hiding warning for record component
entities, they never result in hiding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123599 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:13 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
predicate recursive, to handle complex expressions on literals whose
spurious ambiguity comes from the abstract interpretation of some
subexpression.
(Interface_Present_In_Ancestor): Add support to concurrent record
types.
(Add_One_Interp,Disambiguate): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123598 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:02 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb (Has_Components): If the argument is an incomplete type
that is a limited view, check the non-limited view if available.
(Undefined): Refine error message for missing with of Text_IO
(Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
to distinguish real missing with cases.
Fix format of all missing with messages
(Analyze_Subprogram_Renaming): Emit proper error message on illegal
renaming as body when renamed entity is abstract.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123597 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:50 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
out of Analyze_Package_Declaration, because processing must be applied
to package bodies as well, for deferred constants completed by pragmas.
(Analyze_Package_Declaration): When the package declaration being
analyzed does not require an explicit body, call Check_Completion.
(May_Need_Implicit_Body): An implicit body is required when a package
spec contains the declaration of a remote access-to-classwide type.
(Analyze_Package_Body): If the package contains RACWs, append the
pending subprogram bodies generated by exp_dist at the end of the body.
(New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.
(Preserve_Full_Attributes): The full entity list is not an attribute
that must be preserved from full to partial view.

        * sem_dist.adb (Add_RAS_Dereference_TSS):
        Change primitive name to _Call so it cannot clash with any legal
        identifier, and be special-cased in Check_Completion.
        Mark the full view of the designated type for the RACW associated with
        a RAS as Comes_From_Source to get proper view switching when installing
        private declarations.
        Provite a placeholder nested package body along with the nested spec
        to have a place for Append_RACW_Bodies to generate the calling stubs
        and stream attributes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123596 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:37 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
tag-indeterminate call to an abstract function, when the left-hand side
is not classwide.
(Analyze_Loop_Statement): Improve detection of infinite loops

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123595 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:20 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Bob Duff  <duff@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
prefix type is a discriminated subtype of the type of the formal.
(Analyze_Allocator): Collect all coextensions regardless of the context.
Whether they can be allocated statically is determined in exp_ch4.
(Analyze_Selected_Component): If the prefix is a limited view and the
non-limited view is available, use the non-limited one.
(Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
therefore illegal), suggest a qualified expression rather than a type
conversion, because a type conversion would be illegal in this context.
(Anayze_Allocator): Trace recursively all nested allocators so that all
coextensions are on the corresponding list for the root. Do no mark
coextensions if the root allocator is within a declaration for a stack-
allocated object, because the access discriminants will be allocated on
the stack as well.
(Analyze_Call): Remove restriction on calls to limited functions for the
cases of generic actuals for formal objects, defaults for formal objects
and defaults for record components.
(Analyze_Allocator): Before analysis, chain coextensions on the proper
element list. Their expansion is delayed until the enclosing allocator
is processed and its finalization list constructed.
(Try_Primitive_Operation): If the prefix is a concurrent type, looks
for an operation with the given name among the primitive operations of
the corresponding record type.
(Analyze_Selected_Component): If the prefix is a task type that
implements an interface, and there is no entry with the given name,
check whether there is another primitive operation (e.g. a function)
with that name.
(Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
properly the indexing of a function call written in prefix form, where
the function returns an array type, and all parameters of the function
except the first have defaults.
(Analyze_Equality_Op): If this is a call to an implicit inequality, keep
the original operands, rather than relocating them, for efficiency and
to work properly when an operand is overloaded.
(Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
(Analyze_Selected_Component): If the prefix is a private extension, only
scan the visible components, not those of the full view.
(Try_Primitive_Operation): If the operation is a procedure, collect all
possible interpretations, as for a function, because in the presence of
classwide parameters several primitive operations of the type can match
the given arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123594 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:07 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
when capturing size information, instead of base type, which for a
formal array type will be the unconstrained type.
(Analyze_Formal_Object_Declaration): Add check for illegal default
expressions for a formal in object of a limited type.
(Instantiate_Object): Ditto.
(Check_Formal_Package_Instance): Skip entities that are formal objects,
because they were defaulted in the formal package and no check applies
to them.
(Check_Formal_Package_Instance): Extend conformance check to other
discrete types beyond Integer.
(Process_Default): Copy directly the unmatched formal. A generic copy
has already been performed in Analyze_Formal_Package.
(Analyze_Associations): If a formal subprogram has no match, check for
partial parametrization before looking for a default, to prevent
spurious errors.
(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
not set the instantiation environment before analyzing the actuals.
Fixes regression on 8515-003 with implementation of AI-133.
Set_Instance_Env checks whether the generic unit is a predefined
unit, in which case the instance must be analyzed with the latest Ada
mode. This setting must take place after analysis of the actuals,
because the actuals must be analyzed and frozen in the Ada mode extant
outside of the current instantiation.
(Save_Env, Restore_Env): Preserve and restore the configuration
parameters so that predefined units can be compiled in the proper Ada
mode.
(Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
and Is_Abstract_Type.
(Analyze_Formal_Package): For better error recovery, Add exception
handler to catch Instantion_Error, which can be raised in
Analyze_Associations

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123593 138bc75d-0d04-0410-961f-82ee72b054a4