gcc.git
17 years agoiosfwd: Do not include <bits/c++locale.h> and <bits/functexcept.h>.
Zack Weinberg [Wed, 11 Apr 2007 10:12:47 +0000 (10:12 +0000)]
iosfwd: Do not include <bits/c++locale.h> and <bits/functexcept.h>.

2007-04-11  Zack Weinberg  <zack@mrtock.ucsd.edu>

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

From-SVN: r123713

17 years agore PR testsuite/31240 (gfortran.dg/pointer_intent_1.f90 failure at -O0)
Tobias Burnus [Wed, 11 Apr 2007 07:28:49 +0000 (09:28 +0200)]
re PR testsuite/31240 (gfortran.dg/pointer_intent_1.f90 failure at -O0)

2007-04-11  Tobias Burnus  <burnus@net-b.de>

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

From-SVN: r123712

17 years agoclass.c (convert_to_base_statically): Fold produced tree; verify that we are not...
Jan Hubicka [Wed, 11 Apr 2007 06:18:28 +0000 (08:18 +0200)]
class.c (convert_to_base_statically): Fold produced tree; verify that we are not processing template_decl.

* cp/class.c (convert_to_base_statically): Fold produced tree; verify
that we are not processing template_decl.

From-SVN: r123711

17 years agocc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify namespace std members.
Benjamin Kosnik [Wed, 11 Apr 2007 01:11:56 +0000 (01:11 +0000)]
cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify namespace std members.

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.

From-SVN: r123710

17 years agore PR tree-optimization/31343 (ICE in data-refs dependence testing)
Sebastian Pop [Wed, 11 Apr 2007 00:09:35 +0000 (02:09 +0200)]
re PR tree-optimization/31343 (ICE in data-refs dependence testing)

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.

From-SVN: r123708

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

From-SVN: r123706

17 years ago2007-04-10 Eric Christopher <echristo@apple.com>
Eric Christopher [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.

From-SVN: r123702

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

From-SVN: r123701

17 years agoi386.h (X87_FLOAT_MODE_P): New.
Eric Christopher [Tue, 10 Apr 2007 22:41:28 +0000 (22:41 +0000)]
i386.h (X87_FLOAT_MODE_P): New.

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.

From-SVN: r123700

17 years agore PR tree-optimization/31526 (ICE in alloc_aux_for_block())
Zdenek Dvorak [Tue, 10 Apr 2007 21:10:26 +0000 (23:10 +0200)]
re PR tree-optimization/31526 (ICE in alloc_aux_for_block())

PR tree-optimization/31526
* tree-inline.c (copy_cfg_body): Use last_basic_block instead of
n_basic_blocks to find newly added blocks.

From-SVN: r123699

17 years agosources.am: Regenerate.
Keith Seitz [Tue, 10 Apr 2007 17:52:59 +0000 (17:52 +0000)]
sources.am: Regenerate.

        * sources.am: Regenerate.
        * Makefile.in: Likewise.

From-SVN: r123697

17 years agocmath: Include <bits/stl_algobase.h> instead of the whole <algorithm>.
Paolo Carlini [Tue, 10 Apr 2007 15:54:46 +0000 (15:54 +0000)]
cmath: Include <bits/stl_algobase.h> instead of the whole <algorithm>.

2007-04-10  Paolo Carlini  <pcarlini@suse.de>

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

From-SVN: r123696

17 years agotype_traits (__is_function_helper): New, uses variadic templates.
Paolo Carlini [Tue, 10 Apr 2007 15:12:54 +0000 (15:12 +0000)]
type_traits (__is_function_helper): New, uses variadic templates.

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.

From-SVN: r123695

17 years agoi386.md (fix_trunc<mode>di_sse): Remove "x" from "xm" alternative.
Uros Bizjak [Tue, 10 Apr 2007 11:41:01 +0000 (13:41 +0200)]
i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm" alternative.

* 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.

From-SVN: r123693

17 years agoPR libstdc++/28277 (partial: vstring bits)
Paolo Carlini [Tue, 10 Apr 2007 10:38:50 +0000 (10:38 +0000)]
PR libstdc++/28277 (partial: vstring bits)

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.

From-SVN: r123692

17 years agosse.md (sse2_pinsrw): Removed.
H.J. Lu [Tue, 10 Apr 2007 01:58:03 +0000 (01:58 +0000)]
sse.md (sse2_pinsrw): Removed.

2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>

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

From-SVN: r123689

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

From-SVN: r123685

17 years agore PR target/27869 ("-O -fregmove" handles SSE scalar instructions incorrectly)
Jan Hubicka [Mon, 9 Apr 2007 23:06:16 +0000 (01:06 +0200)]
re PR target/27869 ("-O -fregmove" handles SSE scalar instructions incorrectly)

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.

From-SVN: r123682

17 years agointerpret-run.cc: If debugging, check if args is NULL before getting the "this" pointer.
Kyle Galloway [Mon, 9 Apr 2007 20:32:19 +0000 (20:32 +0000)]
interpret-run.cc: If debugging, check if args is NULL before getting the "this" pointer.

2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

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

From-SVN: r123681

17 years agoArrayValue.java: New file.
Kyle Galloway [Mon, 9 Apr 2007 20:30:20 +0000 (20:30 +0000)]
ArrayValue.java: New file.

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.

From-SVN: r123680

17 years agore PR c++/31449 ([4.1] static_cast can remove const-ness)
Mark Mitchell [Mon, 9 Apr 2007 19:45:53 +0000 (19:45 +0000)]
re PR c++/31449 ([4.1] static_cast can remove const-ness)

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.

From-SVN: r123679

17 years agosendmsg.c: Added __objc_msg_forward2...
Andrew Ruder [Mon, 9 Apr 2007 18:04:50 +0000 (18:04 +0000)]
sendmsg.c: Added __objc_msg_forward2...

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.

From-SVN: r123678

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

From-SVN: r123677

17 years agore PR libgcj/23758 (java::lang::ConcreteProcess::nativeSpawn unsafe)
David Daney [Mon, 9 Apr 2007 17:40:20 +0000 (17:40 +0000)]
re PR libgcj/23758 (java::lang::ConcreteProcess::nativeSpawn unsafe)

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.

From-SVN: r123676

17 years agotype_traits_fwd.h (__is_union_or_class): Remove.
Paolo Carlini [Mon, 9 Apr 2007 17:07:37 +0000 (17:07 +0000)]
type_traits_fwd.h (__is_union_or_class): Remove.

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.

From-SVN: r123675

17 years agofoldaddr-3.c: New file.
Jan Hubicka [Mon, 9 Apr 2007 17:00:10 +0000 (19:00 +0200)]
foldaddr-3.c: New file.

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

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

From-SVN: r123674

17 years agotree.c (cp_tree_equal): Deal with TRAIT_EXPR.
Paolo Carlini [Mon, 9 Apr 2007 16:33:33 +0000 (16:33 +0000)]
tree.c (cp_tree_equal): Deal with TRAIT_EXPR.

2007-04-09  Paolo Carlini  <pcarlini@suse.de>

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

From-SVN: r123673

17 years agoprims.cc (load_jvmti_agent): Add the missing `,'.
H.J. Lu [Mon, 9 Apr 2007 15:07:08 +0000 (15:07 +0000)]
prims.cc (load_jvmti_agent): Add the missing `,'.

2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>

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

From-SVN: r123672

17 years agogij.cc (main): Accept -agentlib and -agentpath options.
Kyle Galloway [Mon, 9 Apr 2007 13:24:00 +0000 (13:24 +0000)]
gij.cc (main): Accept -agentlib and -agentpath options.

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.

From-SVN: r123671

17 years agocfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
Zdenek Dvorak [Mon, 9 Apr 2007 06:51:43 +0000 (08:51 +0200)]
cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.

* 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.

From-SVN: r123670

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

From-SVN: r123668

17 years agore PR libstdc++/31511 (/usr/include/c++/bits/cmath.tcc: no match for ternary 'operato...
Alexey Beshenov [Sun, 8 Apr 2007 22:37:56 +0000 (22:37 +0000)]
re PR libstdc++/31511 (/usr/include/c++/bits/cmath.tcc: no match for ternary 'operator?:' in '((__n % 2u) != 0u) ? __x : 1')

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.

From-SVN: r123665

17 years agotree.h (maybe_fold_offset_to_component_ref): Declare.
Jan Hubicka [Sun, 8 Apr 2007 22:12:21 +0000 (00:12 +0200)]
tree.h (maybe_fold_offset_to_component_ref): Declare.

* 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.

From-SVN: r123664

17 years agovarasm.c (assemble_variable): Remove call to lang_hooks.decls.prepare_assemble_variable.
Andrew Pinski [Sun, 8 Apr 2007 19:30:06 +0000 (19:30 +0000)]
varasm.c (assemble_variable): Remove call to lang_hooks.decls.prepare_assemble_variable.

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

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

From-SVN: r123662

17 years agolanghooks.c (lhd_tree_inlining_add_pending_fn_decls, [...]): Remove.
Steven Bosscher [Sun, 8 Apr 2007 13:14:39 +0000 (13:14 +0000)]
langhooks.c (lhd_tree_inlining_add_pending_fn_decls, [...]): Remove.

* 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

17 years agore PR target/29932 (avr-gcc wrongly optimizes bit sets/resets for IO register 0x20)
Anatoly Sokolov [Sun, 8 Apr 2007 10:38:38 +0000 (14:38 +0400)]
re PR target/29932 (avr-gcc wrongly optimizes bit sets/resets for IO register 0x20)

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

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

From-SVN: r123653

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

Revert change removing staticp.

From-SVN: r123650

17 years agore PR target/30289 (avr-gcc: builtin memset(): wrong code)
Anatoly Sokolov [Sat, 7 Apr 2007 22:00:33 +0000 (02:00 +0400)]
re PR target/30289 (avr-gcc: builtin memset(): wrong code)

PR target/30289
* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
earlyclobber.

From-SVN: r123647

17 years agore PR fortran/31257 (ICE in gfc_conv_expr_descriptor)
Paul Thomas [Sat, 7 Apr 2007 20:29:13 +0000 (20:29 +0000)]
re PR fortran/31257 (ICE in gfc_conv_expr_descriptor)

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.

From-SVN: r123646

17 years agore PR fortran/30880 (Derived types with default value -- function with ENTRY: rejecte...
Paul Thomas [Sat, 7 Apr 2007 20:25:43 +0000 (20:25 +0000)]
re PR fortran/30880 (Derived types with default value -- function with ENTRY: rejected at compile time)

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.

From-SVN: r123645

17 years agore PR fortran/30872 (Bogus "size of variable is too large")
Paul Thomas [Sat, 7 Apr 2007 20:23:40 +0000 (20:23 +0000)]
re PR fortran/30872 (Bogus "size of variable is too large")

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.

From-SVN: r123644

17 years agore PR fortran/31222 (Rejected: implicitly-typed dummys used in initialization express...
Paul Thomas [Sat, 7 Apr 2007 20:20:49 +0000 (20:20 +0000)]
re PR fortran/31222 (Rejected: implicitly-typed dummys used in initialization expressions)

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.

From-SVN: r123643

17 years agore PR fortran/31214 (User-defined operator using entry leads to ICE)
Paul Thomas [Sat, 7 Apr 2007 20:18:17 +0000 (20:18 +0000)]
re PR fortran/31214 (User-defined operator using entry leads to ICE)

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.

From-SVN: r123642

17 years agore PR fortran/31293 (Implicit character and array returning functions)
Paul Thomas [Sat, 7 Apr 2007 20:13:52 +0000 (20:13 +0000)]
re PR fortran/31293 (Implicit character and array returning functions)

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.

From-SVN: r123641

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

From-SVN: r123640

17 years agoi386.c (ix86_handle_option): Handle SSSE3.
H.J. Lu [Sat, 7 Apr 2007 15:58:00 +0000 (15:58 +0000)]
i386.c (ix86_handle_option): Handle SSSE3.

2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>

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

From-SVN: r123639

17 years agore PR testsuite/31369 (100's of new libgomp fails)
John David Anglin [Sat, 7 Apr 2007 15:10:06 +0000 (15:10 +0000)]
re PR testsuite/31369 (100's of new libgomp fails)

PR testsuite/31369
* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
ld_library_path.
* testsuite/libgomp.fortran/fortran.exp: Likewise.

From-SVN: r123638

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

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):

From-SVN: r123636

17 years agore PR libstdc++/31117 (c++locale.o thread-unsafe in libstdc++)
Paolo Carlini [Fri, 6 Apr 2007 23:36:56 +0000 (23:36 +0000)]
re PR libstdc++/31117 (c++locale.o thread-unsafe in libstdc++)

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

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

From-SVN: r123633

17 years agotree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use argument "reliable".
Zdenek Dvorak [Fri, 6 Apr 2007 23:11:15 +0000 (01:11 +0200)]
tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use argument "reliable".

* 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

17 years agoRemove ">>>>>>> .r123627".
H.J. Lu [Fri, 6 Apr 2007 21:24:17 +0000 (14:24 -0700)]
Remove ">>>>>>> .r123627".

From-SVN: r123629

17 years agotree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
Andreas Tobler [Fri, 6 Apr 2007 20:55:24 +0000 (22:55 +0200)]
tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.

2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>

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

From-SVN: r123628

17 years agoi386.md (extend<mode>xf2): Rename from extendsfxf2 and extenddfxf2.
Uros Bizjak [Fri, 6 Apr 2007 20:14:12 +0000 (22:14 +0200)]
i386.md (extend<mode>xf2): Rename from extendsfxf2 and extenddfxf2.

        * 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

17 years agolanghooks-def.h (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_SAFE_FROM_P.
Daniel Berlin [Fri, 6 Apr 2007 16:51:18 +0000 (16:51 +0000)]
langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_SAFE_FROM_P.

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

17 years agocpu_time.c: Don't include headers already included by libgfortran.h.
Francois-Xavier Coudert [Fri, 6 Apr 2007 16:47:23 +0000 (16:47 +0000)]
cpu_time.c: Don't include headers already included by libgfortran.h.

* 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

17 years agoconfigure.ac: Tidy target case.
Richard Henderson [Fri, 6 Apr 2007 16:24:16 +0000 (09:24 -0700)]
configure.ac: Tidy target case.

        * 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

17 years agore PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded...
Jerry DeLisle [Fri, 6 Apr 2007 15:42:26 +0000 (15:42 +0000)]
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

17 years agore PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded...
Jerry DeLisle [Fri, 6 Apr 2007 15:39:02 +0000 (15:39 +0000)]
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

17 years agotype_traits.h (__numeric_traits): Move...
Paolo Carlini [Fri, 6 Apr 2007 14:52:27 +0000 (14:52 +0000)]
type_traits.h (__numeric_traits): Move...

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

17 years agore PR libffi/31491 (libffi: bug in example program)
Tom Tromey [Fri, 6 Apr 2007 14:30:27 +0000 (14:30 +0000)]
re PR libffi/31491 (libffi: bug in example program)

PR libffi/31491:
* README: Fixed bug in example.

From-SVN: r123617

17 years agojcf-io.c (open_class): Copy 'filename'.
Colin Walters [Fri, 6 Apr 2007 14:28:15 +0000 (14:28 +0000)]
jcf-io.c (open_class): Copy 'filename'.

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

17 years agoinit18.C: Use dg-require-effective-target instead of an explicit xfail.
Mark Mitchell [Fri, 6 Apr 2007 13:47:32 +0000 (13:47 +0000)]
init18.C: Use dg-require-effective-target instead of an explicit xfail.

* g++.old-deja/g++.other/init18.C: Use
dg-require-effective-target instead of an explicit xfail.

From-SVN: r123615

17 years agocgraphunit.c (decide_is_function_needed): Do not keep always_inline functions.
Jan Hubicka [Fri, 6 Apr 2007 12:56:50 +0000 (14:56 +0200)]
cgraphunit.c (decide_is_function_needed): Do not keep always_inline functions.

* cgraphunit.c (decide_is_function_needed): Do not keep always_inline
functions.

From-SVN: r123614

17 years agoi386.c (output_387_reg_move): Handle memory operand[0].
Uros Bizjak [Fri, 6 Apr 2007 10:59:53 +0000 (12:59 +0200)]
i386.c (output_387_reg_move): Handle memory operand[0].

* 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

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

From-SVN: r123612

17 years agoNew file.
Arnaud Charlet [Fri, 6 Apr 2007 09:43:23 +0000 (11:43 +0200)]
New file.

Resync.

From-SVN: r123611

17 years agognatvsn.ads, [...] (Get_Gnat_build_Type): Renamed Build_Type and made constant.
Arnaud Charlet [Fri, 6 Apr 2007 09:41:46 +0000 (11:41 +0200)]
gnatvsn.ads, [...] (Get_Gnat_build_Type): Renamed Build_Type and made constant.

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

17 years agoutils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs when...
Eric Botcazou [Fri, 6 Apr 2007 09:41:07 +0000 (11:41 +0200)]
utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs when...

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

17 years agotrans.c (call_to_gnu): Return an expression with a COMPOUND_EXPR including the call...
Olivier Hainque [Fri, 6 Apr 2007 09:40:22 +0000 (11:40 +0200)]
trans.c (call_to_gnu): Return an expression with a COMPOUND_EXPR including the call instead of...

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

17 years agoResync
Arnaud Charlet [Fri, 6 Apr 2007 09:36:45 +0000 (11:36 +0200)]
Resync

From-SVN: r123607

17 years agoa-diroro.ads: Inserted the pragma Unimplemented_Unit
Robert Dewar [Fri, 6 Apr 2007 09:29:20 +0000 (11:29 +0200)]
a-diroro.ads: Inserted the pragma Unimplemented_Unit

2007-04-06  Robert Dewar  <dewar@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* a-diroro.ads: Inserted the pragma Unimplemented_Unit

* bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
of files
Add mention of -Sev (set initialize_scalars option from environment
variable at run time) in gnatbind usage message.

* elists.ads, elists.adb: (Append_Unique_Elmt): New procedure

* fname-uf.ads: Minor comment fix

* osint.ads: Change pragma Elaborate to Elaborate_All

* par-load.adb: Add documentation.

* sem_cat.ads, sem_cat.adb: Minor code reorganization

* s-parint.ads (RCI_Locator) : Add 'Version' generic formal

* s-secsta.ads: Extra comments

* s-soflin.ads: Minor comment fixes

* s-stratt.ads (Block_Stream_Ops_OK): Removed.

* s-wchcon.ads: Minor comment addition

* treepr.adb: Minor change in message
(Print_Name,Print_Node): Make these debug printouts more robust: print
"no such..." instead of crashing on bad input.

From-SVN: r123606

17 years agos-stchop-vxworks.adb:
Eric Botcazou [Fri, 6 Apr 2007 09:29:06 +0000 (11:29 +0200)]
s-stchop-vxworks.adb:

2007-04-06  Eric Botcazou <botcazou@adacore.com>

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

From-SVN: r123605

17 years agoutils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and BIT_AND_EXPR.
Olivier Hainque [Fri, 6 Apr 2007 09:28:45 +0000 (11:28 +0200)]
utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and BIT_AND_EXPR.

2007-04-06  Olivier Hainque  <hainque@adacore.com>

* utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
opcodes.

From-SVN: r123604

17 years agouintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous implementation...
Thomas Quinot [Fri, 6 Apr 2007 09:28:33 +0000 (11:28 +0200)]
uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous implementation of UI_Div.

2007-04-06  Thomas Quinot  <quinot@adacore.com>

* uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
implementation of UI_Div.
(UI_Div): Reimplement as a call to UI_Div_Rem.
(UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
remainder, avoiding the cost of a multiplication and a subtraction.
(UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
provides both quotient and remainder in a single computation.
(UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
functions for uint.
(UI_Modular_Inverse): Add a note that the behaviour of this subprogram
is undefined if the given n is not inversible.

From-SVN: r123603

17 years agotracebak.c (PC_ADJUST - ia64): -4 instead of -16...
Olivier Hainque [Fri, 6 Apr 2007 09:28:04 +0000 (11:28 +0200)]
tracebak.c (PC_ADJUST - ia64): -4 instead of -16...

2007-04-06  Olivier Hainque  <hainque@adacore.com>

* tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
an address always within the call instruction from a return address.

From-SVN: r123602

17 years agos-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion before propagating...
Arnaud Charlet [Fri, 6 Apr 2007 09:27:53 +0000 (11:27 +0200)]
s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion before propagating exception.

* s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
before propagating exception.

From-SVN: r123601

17 years agosinfo.ads, sinfo.adb (Coextensions): New element list for allocators...
Ed Schonberg [Fri, 6 Apr 2007 09:27:42 +0000 (11:27 +0200)]
sinfo.ads, sinfo.adb (Coextensions): New element list for allocators...

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

From-SVN: r123600

17 years agosem_util.ads, [...] (Object_Access_Level): If the object is a dereference of a local...
Ed Schonberg [Fri, 6 Apr 2007 09:27:31 +0000 (11:27 +0200)]
sem_util.ads, [...] (Object_Access_Level): If the object is a dereference of a local object R created as a reference to...

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.

From-SVN: r123599

17 years agosem_type.ads, [...] (Has_Abstract_Interpretation): Make predicate recursive...
Ed Schonberg [Fri, 6 Apr 2007 09:27:13 +0000 (11:27 +0200)]
sem_type.ads, [...] (Has_Abstract_Interpretation): Make predicate recursive...

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.

From-SVN: r123598

17 years agosem_ch8.adb (Has_Components): If the argument is an incomplete type that is a limited...
Ed Schonberg [Fri, 6 Apr 2007 09:27:02 +0000 (11:27 +0200)]
sem_ch8.adb (Has_Components): If the argument is an incomplete type that is a limited view...

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.

From-SVN: r123597

17 years agosem_ch7.ads, [...] (Inspect_Deferred_Constant_Completion): Move out of Analyze_Packag...
Ed Schonberg [Fri, 6 Apr 2007 09:26:50 +0000 (11:26 +0200)]
sem_ch7.ads, [...] (Inspect_Deferred_Constant_Completion): Move out of Analyze_Package_Declaration...

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.

From-SVN: r123596

17 years agosem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a tag-indeterminat...
Ed Schonberg [Fri, 6 Apr 2007 09:26:37 +0000 (11:26 +0200)]
sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a tag-indeterminate call to an abstract...

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

From-SVN: r123595

17 years agosem_ch4.adb (Try_Primitive_Operation): The call is legal if the prefix type is a...
Ed Schonberg [Fri, 6 Apr 2007 09:26:20 +0000 (11:26 +0200)]
sem_ch4.adb (Try_Primitive_Operation): The call is legal if the prefix type is a discriminated subtype of the type of...

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.

From-SVN: r123594

17 years agosem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual when capturing...
Ed Schonberg [Fri, 6 Apr 2007 09:26:07 +0000 (11:26 +0200)]
sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual when capturing size information...

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

From-SVN: r123593

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
Ed Schonberg [Fri, 6 Apr 2007 09:25:51 +0000 (11:25 +0200)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Install_Limited_Context_Clauses.
Expand_Limited_With_Clause): Use a new copy of selector name in the
call to Make_With_Clause. This fixes the tree structure for ASIS
purposes. Nothing is changed in the compiler behaviour.
(Process_Body_Clauses): Handle properly use clauses whose prefix is
a package renaming.
(Install_Limited_With_Clauses): Do not install non-limited view when it
is still incomplete.

From-SVN: r123592

17 years agos-carun8.adb, [...] (Compare_Array_?8): modify so that last full word is no longer...
Ed Falis [Fri, 6 Apr 2007 09:25:39 +0000 (11:25 +0200)]
s-carun8.adb, [...] (Compare_Array_?8): modify so that last full word is no longer compared twice.

2007-04-06  Ed Falis  <falis@adacore.com>

* s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
full word is no longer compared twice.

From-SVN: r123591

17 years agosem_ch13.ads, [...] (Adjust_Record_For_Reverse_Bit_Order): Use First/Next_Component_O...
Robert Dewar [Fri, 6 Apr 2007 09:25:29 +0000 (11:25 +0200)]
sem_ch13.ads, [...] (Adjust_Record_For_Reverse_Bit_Order): Use First/Next_Component_Or_Discriminant

2007-04-06  Robert Dewar  <dewar@adacore.com>

* sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
Use First/Next_Component_Or_Discriminant
(Analyze_Record_Representation_Clause):
Use First/Next_Component_Or_Discriminant
(Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
(Analyze_Attribute_Definition_Clause, case Value_Size): Reject
definition if type is unconstrained.
(Adjust_Record_For_Reverse_Bit_Order): New procedure
(Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.
(Adjust_Record_For_Reverse_Bit_Order): New procedure

* repinfo.adb (List_Record_Info): Use First/
Next_Component_Or_Discriminant.

* style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
New procedure.

* stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
Include -gnatyA in default switches

* opt.ads: (Warn_On_Non_Local_Exception): New flag
(Warn_On_Reverse_Bit_Order): New flag
(Extensions_Allowed): Update the documentation.
(Warn_On_Questionable_Missing_Parens): Now on by default

* usage.adb: Add documentation of -gnatw.x/X switches
Document new -gnatyA style switch
-gnatq warnings are on by default

From-SVN: r123590

17 years agoprj-ext.adb (Initialize_Project_Path): New procedure that initialize the default...
Vincent Celier [Fri, 6 Apr 2007 09:25:16 +0000 (11:25 +0200)]
prj-ext.adb (Initialize_Project_Path): New procedure that initialize the default project path...

2007-04-06  Vincent Celier  <celier@adacore.com>

* prj-ext.adb (Initialize_Project_Path): New procedure that initialize
the default project path, initially done during elaboration of the
package.
If the prefix returned by Sdefault is null, get the prefix from a call
to Executable_Prefix_Path.
(Project_Path): Call Initialize_Project_Path if Current_Project_Path is
null.

* prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
canonical directory name to open the directory from which files are
retrieved.
(Record_Other_Sources): Idem.
(Locate_Directory): Add the possibility to create automatically missing
directories when Setup_Projects is True.
Call Locate_Directory so that the directory will be created when
Setup_Projects is True, for object dir, library dir, library ALI dir,
library source copy dir and exec dir.

* prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
versions of GNAT.

From-SVN: r123589

17 years agopar-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
Robert Dewar [Fri, 6 Apr 2007 09:25:05 +0000 (11:25 +0200)]
par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error

2007-04-06  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Bob Duff  <duff@adacore.com>
    Vincent Celier  <celier@adacore.com>

* par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
(Extensions_Allowed): No longer sets Ada_Version
Entry for pragma Unreferenced_Objects

* sem_prag.adb (Analyze_Pragma, case Priority): Force with of
system.tasking if pragma priority used in a procedure
(Analyze_Pragma, case Warning): Handle dot warning switches
(Process_Compile_Time_Warning_Or_Error): New procedure
(Analyze_Pragma): Add processing for Compile_Time_Error
Add support for extra arguments External_Name and Link_Name.
Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
(Process_Import_Or_Interface): Add support for the use of pragma Import
with tagged types.
(Extensions_Allowed): No longer affects Ada_Version
(Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
Is_Abstract_Type. Make sure these are called only when appropriate.
Add processing for pragma Unreferenced_Objects

* snames.h, snames.ads, snames.adb: Add entry for pragma
Compile_Time_Error
Add new standard name Minimum_Binder_Options for new gprmake
Add new standard names for gprmake: Archive_Suffix,
Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
Library_Support, Library_Version_Options,
Shared_Library_Minimum_Options,
Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
Change Name_Call to Name_uCall so that it cannot clash with a legal
subprogram name.
Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
Append C_Plus_Plus to convention identifiers as synonym for CPP
Add new standard names Stack and Builder_Switches
Add new standard names: Compiler_Minimum_Options, Global_Config_File,
Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
Run_Path_Option, Toolchain_Version.
Entry for pragma Unreferenced_Objects

* switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
switches, without repetition of "eD". Make sure that last character of
-gnatep= switch is not taken as -gnat switch character.
Complete rewrite of circuit for handling saving compilation options
Occasioned by need to support dot switchs for -gnatw, but cleans up
things in general.
-gnatX does not affect Ada_Version
Include -gnatyA in -gnatg style switches

* sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
warnings on return objects.
(Warn_On_Useless_Assignment): Exclude warnings on return objects
(Set_Dot_Warning_Switch): New procedure
(Check_References): Add missing case of test for
Has_Pragma_Unreferenced_Objects
(Output_Unreferenced_Messages): Implement effect of new pragma
Unreferenced_Objects, remove special casing of limited controlled
variables.

From-SVN: r123588

17 years agopar-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
Robert Dewar [Fri, 6 Apr 2007 09:24:49 +0000 (11:24 +0200)]
par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location

2007-04-06  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Bob Duff  <duff@adacore.com>

* par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
(P_Interface_Type_Definition): Remove the formal Is_Synchronized because
there is no need to generate always a record_definition_node in case
of synchronized interface types.
(P_Type_Declaration): Update calls to P_Interface_Type_Definition.
(P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
illegal in Ada 95, in cases where it is legal. Change the warnings to
errors in other cases. Don't give the error unless the "not null"
parses properly. Correct the source position at which the error occurs.
(P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
P_Null_Exclusion, to suppress "not null" warnings.
(P_Identifier_Declarations): Code cleanup. Removed unrequired label and
associated goto statements.

* par-endh.adb (Pop_End_Context): Allow more flexibility in placement
of END RECORD

* scans.ads (Type_Token_Location): New flag

* par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
(P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
P_Null_Exclusion, to suppress "not null" warnings.

From-SVN: r123587

17 years agonamet.ads, namet.adb (wn): Improve this debugging routine.
Robert Dewar [Fri, 6 Apr 2007 09:24:39 +0000 (11:24 +0200)]
namet.ads, namet.adb (wn): Improve this debugging routine.

2007-04-06  Robert Dewar  <dewar@adacore.com>

* namet.ads, namet.adb (wn): Improve this debugging routine. Calling
it no longer destroys the contents of Name_Buffer or Name_Len and
non-standard and invalid names are handled better.
(Get_Decoded_Name_String): Improve performance by using
Name_Has_No_Encodings flag in the name table.
(Is_Valid_Name): New function to determine whether a Name_Id is valid.
Used for debugging printouts.

From-SVN: r123586

17 years agomlib.adb (Building_Library): Only output "building a library..." in verbose mode
Vincent Celier [Fri, 6 Apr 2007 09:24:28 +0000 (11:24 +0200)]
mlib.adb (Building_Library): Only output "building a library..." in verbose mode

2007-04-06  Vincent Celier  <celier@adacore.com>

* mlib.adb (Building_Library): Only output "building a library..." in
verbose mode

* mlib-prj.adb (Build_Library): Only output lists of object and ALI
files in verbose mode.

* mlib-utl.adb (Ar): Only output the first object files when not in
verbose mode.
(Gcc): Do not display all the object files if not in verbose mode, only
the first one.

From-SVN: r123585

17 years agognat_rm.texi, [...]: Add -gnatyl documentation Update 'Exception Handling Control...
Robert Dewar [Fri, 6 Apr 2007 09:24:18 +0000 (11:24 +0200)]
gnat_rm.texi, [...]: Add -gnatyl documentation Update 'Exception Handling Control' chapter which was...

2007-04-06  Robert Dewar  <dewar@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>
    Vincent Celier  <celier@adacore.com>

* gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
Update 'Exception Handling Control' chapter which was outdated.
Minor fix to documentation of -gnatwq
Remove section "Adapting the Run Time to a New C++ Compiler" because
it is now obsolete.
Add passage on need of -nostart-files in some non-ada-main cases.
Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
Update documentation about Interfacing with C++
Add documentation for new gnatmake switch -p
Add missing protocol part in URLs.
Document -gnatyA
Document pragma Compile_Time_Error
Add documentation for Object_Size indicating that stand alone
objects can have a larger size in some cases.
Add node for GNAT.Byte_Swapping, GNAT.SHA1
Update reference to the Ravenscar profile.
Document pragma Unreferenced_Objects

* gnat-style.texi: Fix typo

From-SVN: r123584

17 years agolib-xref.ads, [...]: Modify the loop that collects type references...
Ed Schonberg [Fri, 6 Apr 2007 09:24:06 +0000 (11:24 +0200)]
lib-xref.ads, [...]: Modify the loop that collects type references...

2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* lib-xref.ads, lib-xref.adb:
Modify the loop that collects type references, to include interface
types that the type implements. List each of these interfaces when
building the entry for the type.
(Generate_Definition): Initialize component Def and Typ of new entry
in table Xrefs, to avoid to have these components unitialized.
(Output_References): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.
(Generate_Reference): Add barrier to do not generate the warning
associated with Ada 2005 entities with entities generated by the
expander.

From-SVN: r123583

17 years agolib-writ.adb (Write_With_Lines): Factor duplicated code between the cases where a...
Thomas Quinot [Fri, 6 Apr 2007 09:23:52 +0000 (11:23 +0200)]
lib-writ.adb (Write_With_Lines): Factor duplicated code between the cases where a given dependency has a body or not.

2007-04-06  Thomas Quinot  <quinot@adacore.com>

* lib-writ.adb (Write_With_Lines): Factor duplicated code between the
cases where a given dependency has a body or not.
(Write_With_File_Names): New subprogram, common code for the two cases
above.

From-SVN: r123582

17 years agolib.ads, lib.adb (Tree_Read): Release the memory occupied by the switches from previo...
Serguei Rybin [Fri, 6 Apr 2007 09:23:43 +0000 (11:23 +0200)]
lib.ads, lib.adb (Tree_Read): Release the memory occupied by the switches from previously loaded tree

2007-04-06 Serguei Rybin <rybin@adacore.com>

* lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
switches from previously loaded tree

From-SVN: r123581

17 years agoinit.c: Reuse PA/HP-UX code for IA-64/HP-UX, except __gnat_adjust_context_for_raise.
Eric Botcazou [Fri, 6 Apr 2007 09:23:33 +0000 (11:23 +0200)]
init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except __gnat_adjust_context_for_raise.

2007-04-06  Eric Botcazou <botcazou@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
__gnat_adjust_context_for_raise.
(__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
implementation of floating point operations as native x86 targets.
So the FPU should be initialized in the same way using finit. Fix
floating point operations accuracy issues.
(__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
member in struct sigaction, so as to avoid warning for incompatible
pointer types.

From-SVN: r123580