Jerry DeLisle [Fri, 28 Mar 2008 22:13:17 +0000 (22:13 +0000)]
re PR fortran/35699 (run-time abort writing zero sized section to direct access file)
2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/35699
* io/transfer.c (write_buf): Don't pad the record, just return if the
data is NULL. (next_record_w): If there are bytes left in the record
for unformatted direct I/O, pad out the record with zero bytes.
From-SVN: r133699
H.J. Lu [Fri, 28 Mar 2008 18:42:06 +0000 (18:42 +0000)]
sse.md (*and<mode>3): Pass <MODE>mode instead of V4SFmode to ix86_binary_operator_ok.
2008-03-28 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (*and<mode>3): Pass <MODE>mode instead
of V4SFmode to ix86_binary_operator_ok.
From-SVN: r133693
Uros Bizjak [Fri, 28 Mar 2008 18:17:00 +0000 (19:17 +0100)]
i386.c (override_options): Initialize ix86_veclib_handler to ix86_veclibabi_svml when -mveclibabi=svml is used.
* config/i386/i386.c (override_options): Initialize
ix86_veclib_handler to ix86_veclibabi_svml when
-mveclibabi=svml is used.
(ix86_veclibabi_svml): New function for SVML ABI style
vectorization support.
* doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
testsuite/ChangeLog:
* gcc.target/i386/vectorize6.c: New test.
From-SVN: r133692
Ian Lance Taylor [Fri, 28 Mar 2008 17:32:05 +0000 (17:32 +0000)]
acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set glibcxx_ld_is_gold.
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
glibcxx_ld_is_gold. Check for gold in --gc-sections test.
(GLIBCXX_ENABLE_SYMVERS): Check for gold.
* aclocal.m4, configure: Rebuild.
From-SVN: r133689
Tobias Burnus [Fri, 28 Mar 2008 13:47:06 +0000 (14:47 +0100)]
re PR fortran/35721 (ASSOCIATED returns false when strides confusing)
2008-03-28 Tobias Burnus <burnus@net-b.de>
PR fortran/35721
* intrinsics/associated.c (associated): Ignore different
stride of pointer vs. target if only one element is referred.
2008-03-28 Tobias Burnus <burnus@net-b.de>
PR fortran/35721
* gfortran.dg/associated_target_2.f90: New.
From-SVN: r133684
Richard Guenther [Fri, 28 Mar 2008 13:44:41 +0000 (13:44 +0000)]
re PR rtl-optimization/19580 (missed load/store motion)
2008-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/19580
* gcc.dg/tree-ssa/loop-34.c: New testcase.
From-SVN: r133683
Tom Tromey [Fri, 28 Mar 2008 13:32:47 +0000 (13:32 +0000)]
Makefile.in (POSTCOMPILE): New variable.
* Makefile.in (POSTCOMPILE): New variable.
(.c.o): Use it.
From-SVN: r133682
Rafael Avila de Espindola [Fri, 28 Mar 2008 13:15:00 +0000 (13:15 +0000)]
fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
2008-03-28 Rafael Espindola <espindola@google.com>
* fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
(tree_binary_nonnegative_warnv_p): Make it public.
(tree_single_nonnegative_warnv_p): Make it public.
(tree_invalid_nonnegative_warnv_p): Make it public.
(tree_unary_nonzero_warnv_p): Make it public.
(tree_binary_nonzero_warnv_p): Make it public
(tree_single_nonzero_warnv_p): Make it public.
* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops): New function.
(extract_range_from_binary_expr): Split the expr argument.
(extract_range_from_unary_expr): Split the expr argument.
(extract_range_from_comparison): Split the expr argument.
(extract_range_from_expr): Use the new aux functions.
(vrp_evaluate_conditional_warnv): Use
vrp_evaluate_conditional_warnv_with_ops.
* tree.h (tree_unary_nonzero_warnv_p): Declare.
(tree_binary_nonzero_warnv_p): Declare.
(tree_single_nonzero_warnv_p): Declare.
(tree_expr_nonzero_warnv_p): Declare.
(tree_unary_nonnegative_warnv_p): Declare.
(tree_binary_nonnegative_warnv_p): Declare.
(tree_single_nonnegative_warnv_p): Declare.
(tree_invalid_nonnegative_warnv_p): Declare.
From-SVN: r133681
Richard Guenther [Fri, 28 Mar 2008 12:20:09 +0000 (12:20 +0000)]
re PR tree-optimization/30317 (VRP cannot extract a range from (unsigned int) i + 0x0ffffffff > 4)
2008-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/30317
PR tree-optimization/30911
PR tree-optimization/34793
* tree-vrp.c (set_and_canonicalize_value_range): New function.
(struct assert_locus_d): New member EXPR.
(register_new_assert_for): Add EXPR parameter to support
ASSERT_EXPR <name, expr OP limit>.
(register_edge_assert_for_1): Adjust callers.
(find_assert_locations): Likewise.
(process_assert_insertions_for): Build condition from
expression.
(extract_range_from_assert): Handle ASSERT_EXPRs
of the form ASSERT_EXPR <name, expr OP limit>.
(register_edge_assert_for_2): New helper registering
asserts for comparisons. Recognize range tests of the form
(unsigned)i - CST1 OP CST2.
(register_edge_assert_for_1): Use it.
(register_edge_assert_for): Likewise.
* tree.def (ASSERT_EXPR): Document extra allowed conditional
expressions.
(needs_overflow_infinity): Integer sub-types
do not need overflow infinities.
(vrp_val_is_max): The extreme values of integer sub-types
are those of the base type.
(vrp_val_is_min): Likewise.
* gcc.dg/tree-ssa/vrp35.c: New testcase.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/tree-ssa/vrp37.c: Likewise.
From-SVN: r133680
Tobias Burnus [Fri, 28 Mar 2008 10:12:05 +0000 (11:12 +0100)]
symbol.c (gfc_get_default_type): Fix error message...
2008-03-28 Tobias Burnus <burnus@net-b.de>
* symbol.c (gfc_get_default_type): Fix error message; option
-fallow_leading_underscore should be -fallow-leading-underscore
From-SVN: r133678
Nick Clifton [Fri, 28 Mar 2008 08:42:36 +0000 (08:42 +0000)]
re PR target/31110 (Problem while compiling gcc for mn10300-elf)
PR target/31110
* config/mn10300/mn10300.c (mn10300_secondary_reload_class):
Return GENERAL_REGS for stack adjustment reloads.
From-SVN: r133675
Andrew Pinski [Fri, 28 Mar 2008 07:27:11 +0000 (07:27 +0000)]
re PR target/31334 (Bad codegen for vector initializer with constants prop'd into a vector initializer)
2008-03-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/31334
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Create a
const_vector when all the vectors are constant.
2008-03-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/31334
* gcc.target/powerpc/altivec-25.c: Nnew testcase.
From-SVN: r133674
Jerry DeLisle [Fri, 28 Mar 2008 04:55:11 +0000 (04:55 +0000)]
re PR fortran/35724 (Compile time segmentation fault for CSHIFT with negative third arg)
2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35724
* gfortran.dg/cshift_shift_real_2.f90: New test.
From-SVN: r133669
Jerry DeLisle [Fri, 28 Mar 2008 04:44:40 +0000 (04:44 +0000)]
re PR fortran/35724 (Compile time segmentation fault for CSHIFT with negative third arg)
2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35724
* iresolve.c (gfc_resolve_cshift): Check for NULL symtree in test for
optional argument attribute.
From-SVN: r133668
Joseph Myers [Fri, 28 Mar 2008 02:07:37 +0000 (02:07 +0000)]
* fr.po: Update.
From-SVN: r133665
GCC Administrator [Fri, 28 Mar 2008 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133663
Bob Wilson [Thu, 27 Mar 2008 22:44:47 +0000 (22:44 +0000)]
xtensa.c (gen_float_relational): Handle unordered comparisons.
* config/xtensa/xtensa.c (gen_float_relational): Handle unordered
comparisons.
* config/xtensa/xtensa.md (any_cond): Add unordered comparisons.
(any_scc_sf): Add uneq, unlt, unle and unordered operators.
(scc_sf): New.
(s<code>_sf): Use new scc_sf attribute for opcode names.
From-SVN: r133659
Joseph Myers [Thu, 27 Mar 2008 21:21:53 +0000 (21:21 +0000)]
* zh_CN.po: Update.
From-SVN: r133656
Tom Tromey [Thu, 27 Mar 2008 19:20:18 +0000 (19:20 +0000)]
sourcebuild.texi, [...]: Revert automatic dependency patch.
gcc/
* doc/sourcebuild.texi, doc/install.texi, configure, aclocal.m4,
configure.ac, Makefile.in, config/t-darwin, config/m32c/t-m32c,
config/spu/t-spu-elf, config/i386/t-interix,
config/i386/t-cygming, config/i386/x-i386, config/i386/t-cygwin,
config/i386/x-darwin, config/i386/x-mingw32,
config/i386/t-netware, config/i386/x-cygwin, config/i386/t-nwld,
config/sh/t-sh, config/sh/t-symbian, config/x-linux,
config/t-sol2, config/x-hpux, config/x-darwin, config/ia64/t-ia64,
config/x-solaris, config/t-vxworks, config/m68k/t-uclinux,
config/rs6000/x-rs6000, config/rs6000/x-darwin64,
config/rs6000/x-darwin, config/rs6000/t-rs6000,
config/score/t-score-elf, config/arm/t-strongarm-pe,
config/arm/t-pe, config/arm/t-arm, config/arm/t-wince-pe,
config/v850/t-v850, config/v850/t-v850e, config/bfin/t-bfin-linux:
Revert automatic dependency patch.
gcc/java/
* Make-lang.in: Revert automatic dependency patch.
gcc/objc/
* Make-lang.in: Revert automatic dependency patch.
gcc/objcp/
* Make-lang.in: Revert automatic dependency patch.
gcc/cp/
* Make-lang.in: Revert automatic dependency patch.
gcc/fortran/
* Make-lang.in: Revert automatic dependency patch.
From-SVN: r133652
Eric Botcazou [Thu, 27 Mar 2008 18:53:02 +0000 (18:53 +0000)]
decl.c (gnat_to_gnu_entity): Also set the public flag if the procedure is imported.
* decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
if the procedure is imported.
From-SVN: r133650
H.J. Lu [Thu, 27 Mar 2008 18:52:18 +0000 (18:52 +0000)]
re PR target/35657 (Alignments of DFP types aren't consistent)
2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
PR target/35657
* config/i386/i386.c (ix86_function_arg_boundary): Align
decimal floating point to its natural boundary.
From-SVN: r133649
Uros Bizjak [Thu, 27 Mar 2008 17:49:43 +0000 (18:49 +0100)]
multi-ix.c: Limit CHUNK size between 1 and 500.
* gcc.c-torture/execute/multi-ix.c: Limit CHUNK size between 1 and 500.
(main): Exit early for CHUNK less than 40 to avoid stack corruption.
From-SVN: r133648
Richard Guenther [Thu, 27 Mar 2008 17:09:54 +0000 (17:09 +0000)]
re PR tree-optimization/35716 (gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f)
2008-03-27 Richard Guenther <rguenther@suse.de>
PR middle-end/35716
* fold-const.c (fold_comparison): Restrict distinct decl
comparison folding to VAR_DECLs and PARM_DECLs. Do not
solely rely on operand_equal_p.
From-SVN: r133647
Richard Guenther [Thu, 27 Mar 2008 16:34:55 +0000 (16:34 +0000)]
re PR c/32511 (GCC rejects inline+weak function)
2008-03-27 Richard Guenther <rguenther@suse.de>
PR c/32511
* c-common.c (handle_weak_attribute): Reject combination of
weak and inline.
* gcc.dg/attr-weak-1.c: New testcase.
From-SVN: r133646
Richard Guenther [Thu, 27 Mar 2008 16:32:28 +0000 (16:32 +0000)]
re PR tree-optimization/32810 (Not folding of const element for goto)
2008-03-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/32810
* tree-ssa-ccp.c (get_symbol_constant_value): Strip useless
conversions from DECL_INITIAL.
(fold_const_aggregate_ref): Likewise from constructor elements.
* gcc.dg/tree-ssa/ssa-ccp-18.c: New testcase.
From-SVN: r133645
Douglas Gregor [Thu, 27 Mar 2008 14:53:57 +0000 (14:53 +0000)]
re PR bootstrap/35704 (Bootstrap failure on i686-apple-darwin9 at revision 133519 (take 2).)
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
PR obj-c++/35704
* typeck.c (build_x_compound_expr): Use cp_build_compound_expr.
(build_compound_expr): New, for compatibility with C
build_compound_expr.
(cp_build_compound_expr): Renamed from build_compound_expr.
(build_c_cast): New, for compatibility with C build_c_cast.
(cp_build_c_cast): Renamed from build_c_cast.
* init.c (build_vec_delete_1): Fix calls to build_compound_expr.
* decl.c (cxx_maybe_build_cleanup): Ditto.
* cp-tree.h (build_compound_expr): Add C-compatibile prototype.
(cp_build_compound_expr): Renamed from build_compound_expr.
(build_c_cast): Add C-compatible prototype.
(cp_build_c_cast): Renamed from build_c_cast.
* typeck2.c (build_functional_cast): Use cp_build_c_cast.
* parser.c (cp_parser_cast_expression): Fix call to build_c_cast.
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
PR obj-c++/35704
* objc-act.c (objc_build_component_ref): Fix call to
finish_class_member_access_expr.
(objc_generate_cxx_ctor_or_dtor): Fix call to
build_special_member_call.
From-SVN: r133643
Douglas Gregor [Thu, 27 Mar 2008 14:31:47 +0000 (14:31 +0000)]
pt.c (tsubst_copy): Cope with tsubst_pack_expansion returning a pack expansion...
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
* pt.c (tsubst_copy) <case SIZEOF_EXPR>: Cope with
tsubst_pack_expansion returning a pack expansion, or a TREE_VEC
ending in a pack expansion, both of which can occur when
substituting into a nested template.
(tsubst_copy_and_build) <case SIZEOF_EXPR>: When we're
instantiating the sizeof...(X) form, make tsubst_copy do the work.
* parser.c (cp_parser_template_parameter): Deal with unnamed
non-type template parameter packs identified by pack expansions in
the parameter type.
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/variadic91.C: New.
From-SVN: r133642
Paolo Bonzini [Thu, 27 Mar 2008 13:40:08 +0000 (13:40 +0000)]
configure.ac (frags): Don't set, use frag instead.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (frags): Don't set, use frag instead.
(PICFLAG): Set here and substitute.
* Makefile.in (PICFLAG): Substitute from autoconf.
* configure: Regenerate.
From-SVN: r133639
Zdenek Dvorak [Thu, 27 Mar 2008 10:25:36 +0000 (11:25 +0100)]
tree-affine.h (aff_combination_expand): Declare.
2008-03-27 Zdenek Dvorak <ook@ucw.cz>
* tree-affine.h (aff_combination_expand): Declare.
(get_inner_reference_aff): Likewise.
* tree-affine.c (aff_combination_expand): Split out from
tree_to_aff_combination_expand.
(get_inner_reference_aff): New function.
* tree-parloops.c (loop_parallel_p): Free vectorizer info.
* tree-ssa-loop-im.c: Include tree-affine.h and pointer-set.h.
(struct lim_aux_data): sm_done field removed.
(mem_ref_loc_p, mem_ref_locs_p): New types.
(struct mem_ref): Added id, stored, accesses_in_loop,
indep_loop, dep_loop, indep_ref, dep_ref fields.
Removed is_stored, locs and next fields.
(memory_accesses): New variable.
(movement_possibility): Do not allow moving statements
that store to memory.
(outermost_indep_loop, simple_mem_ref_in_stmt, mem_ref_in_stmt):
New functions.
(determine_max_movement): For statements with memory references,
find the outermost loop in that the reference is independent.
(move_computations_stmt): Mark the virtual operands for
renaming.
(memref_free, mem_ref_alloc, mem_ref_locs_alloc, mark_ref_stored,
gather_mem_refs_stmt, gather_mem_refs_in_loops, vtoe_hash, vtoe_eq,
vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores,
add_vop_ref_mapping, create_vop_ref_mapping_loop,
create_vop_ref_mapping, analyze_memory_references,
cannot_overlap_p, mem_refs_may_alias_p, rewrite_mem_ref_loc,
get_all_locs_in_loop, ref_always_accessed_p,
refs_independent_p, record_indep_loop, ref_indep_loop_p_1,
ref_indep_loop_p, can_sm_ref_p, find_refs_for_sm,
store_motion_loop, store_motion): New functions.
(struct vop_to_refs_elt): New type.
(record_mem_ref_loc, free_mem_ref_locs, rewrite_mem_refs,
memref_hash, memref_eq, hoist_memory_references): Rewritten.
(schedule_sm): Replaced by...
(execute_sm): ... this.
(determine_lsm_ref, hoist_memory_references,
loop_suitable_for_sm, gather_mem_refs_stmt, gather_mem_refs,
find_more_ref_vops, free_mem_ref, free_mem_refs,
determine_lsm_loop, determine_lsm): Removed.
(tree_ssa_lim_finalize): Free data structures used by store
motion.
(tree_ssa_lim): Call analyze_memory_references. Use
store_motion instead of determine_lsm.
* gcc.dg/tree-ssa/loop-32.c: New testcase.
* gcc.dg/tree-ssa/loop-33.c: Likewise.
From-SVN: r133637
Paolo Bonzini [Thu, 27 Mar 2008 10:04:08 +0000 (10:04 +0000)]
config.cc (m68hc11, [...]): Add usegas.h, rename tmake_file to m68hc11/t-m68hc11.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* config.cc (m68hc11, m6811, m68hc12, m6812): Add usegas.h,
rename tmake_file to m68hc11/t-m68hc11.
(mcore): Set inhibit_libc to true.
* config.host (alpha*-dec-*vms*): Set extra_programs.
(interix3*): Don't use host_xmake_file.
* configure.ac: Let config.gcc override inhibit_libc.
* configure: Regenerate.
* config/alpha/x-vms (EXTRA_PROGRAMS): Remove.
* config/x-interix: Remove.
* config/t-openbsd-thread: Remove commented out lines.
* config/m68hc11/t-m68hc11-gas: Rename to...
* config/m68hc11/t-m68hc11: ... this. Remove T_CPPFLAGS.
* config/mcore/t-mcore: Remove T_CFLAGS.
* config/mcore/t-mcore-pe: Likewise.
From-SVN: r133636
Paolo Bonzini [Thu, 27 Mar 2008 09:46:19 +0000 (09:46 +0000)]
extensions.m4: New.
config:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* extensions.m4: New.
gcc:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Replace custom __GNU_SOURCE test with
AC_USE_SYSTEM_EXTENSIONS. Move it earlier.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r133635
Paolo Bonzini [Thu, 27 Mar 2008 09:35:02 +0000 (09:35 +0000)]
Makefile.tpl (PICFLAG, [...]): Remove.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (PICFLAG, PICFLAG_FOR_TARGET): Remove.
* Makefile.in: Regenerate.
config:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* mh-armpic: Remove.
* mh-i370pic: Remove.
* mh-m68kpic: Remove.
* mh-ppcpic: Remove.
* mh-sparcpic: Remove.
* mh-ia64pic: Remove.
* mh-papic: Remove.
* mh-s390pic: Remove.
* mh-x86pic: Remove.
From-SVN: r133634
Richard Guenther [Thu, 27 Mar 2008 09:17:43 +0000 (09:17 +0000)]
fold-const.c (target.h): Include.
2008-03-27 Richard Guenther <rguenther@suse.de>
* fold-const.c (target.h): Include.
(fold_comparison): Fold comparison of addresses of decls
that bind locally or of constants. Consolidate address folding code.
* tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST
results from fold_binary_to_constant.
(compare_values_warnv): Likewise.
* gcc.dg/fold-addr-1.c: New testcase.
From-SVN: r133632
Andrew Pinski [Thu, 27 Mar 2008 08:55:50 +0000 (01:55 -0700)]
re PR tree-optimization/35429 (ICE with complex arithmetic)
2008-03-27 Andrew Pinski <pinskia@gmail.com>
PR middle-end/35429
* fold-const.c (fold_truthop): Check for integeral types when folding
a == 0 && b == 0 and a != 0 || b != 0 .
2008-03-27 Andrew Pinski <pinskia@gmail.com>
PR middle-end/35429
* gcc.c-torture/compile/complex-5.c: New test.
From-SVN: r133631
Jerry DeLisle [Thu, 27 Mar 2008 05:30:18 +0000 (05:30 +0000)]
unix.c (fd_close): Do not close STDIN.
2008-03-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/unix.c (fd_close): Do not close STDIN.
From-SVN: r133630
GCC Administrator [Thu, 27 Mar 2008 00:17:16 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133628
Eric Botcazou [Thu, 27 Mar 2008 00:09:30 +0000 (00:09 +0000)]
tree.c (get_unwidened): Remove code fiddling with COMPONENT_REF.
* tree.c (get_unwidened): Remove code fiddling with COMPONENT_REF.
From-SVN: r133624
Kaz Kojima [Thu, 27 Mar 2008 00:07:40 +0000 (00:07 +0000)]
sysv.S: Add .note.GNU-stack on Linux.
* src/sh/sysv.S: Add .note.GNU-stack on Linux.
* src/sh64/sysv.S: Likewise.
From-SVN: r133623
Benjamin Kosnik [Wed, 26 Mar 2008 22:29:13 +0000 (22:29 +0000)]
testsuite_abi.h: Remove symbol_objects, symbol_names typedefs.
2008-03-26 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/testsuite_abi.h: Remove symbol_objects,
symbol_names typedefs.
* testsuite/util/testsuite_abi.cc (compare_symbols): Correct check
for long double compatiblity symbols, simplify data structures used.
From-SVN: r133621
Jakub Staszak [Wed, 26 Mar 2008 22:13:26 +0000 (23:13 +0100)]
Jakub Staszak <kuba@et.pl>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r133620
Kaveh R. Ghazi [Wed, 26 Mar 2008 21:37:03 +0000 (21:37 +0000)]
uninit-16.c (decode_reloc): Mark static.
* gcc.dg/uninit-16.c (decode_reloc): Mark static.
From-SVN: r133618
Jakub Jelinek [Wed, 26 Mar 2008 20:34:14 +0000 (21:34 +0100)]
re PR c++/35546 (__attribute__(format...) broken for members of template classes?)
PR c++/35546
* pt.c (apply_late_template_attributes): Don't call tsubst on
first attribute argument if it is IDENTIFIER_NODE.
* g++.dg/ext/attrib33.C: New test.
From-SVN: r133615
Andreas Schwab [Wed, 26 Mar 2008 20:14:54 +0000 (20:14 +0000)]
* doc/invoke.texi: Fix use of @item vs. @itemx.
From-SVN: r133614
Tom Tromey [Wed, 26 Mar 2008 17:54:53 +0000 (17:54 +0000)]
Makefile.in (build/gensupport.o, [...]): Depend on options.h.
* Makefile.in (build/gensupport.o, build/print-rtl.o,
build/read-rtl.o, build/rtl.o, build/gencondmd.o, build/genattr.o,
build/genattrtab.o, build/genautomata.o, build/gencheck.o,
build/gencodes.o, build/genconditions.o, build/genconfig.o,
build/genconstants.o, build/genemit.o, build/genextract.o,
build/genflags.o, build/genmddeps.o, build/genopinit.o,
build/genoutput.o, build/genpeep.o, build/genrecog.o): Depend on
options.h.
From-SVN: r133612
Richard Guenther [Wed, 26 Mar 2008 15:07:27 +0000 (15:07 +0000)]
revert: fold-const.c (target.h): Include.
2008-03-26 Richard Guenther <rguenther@suse.de>
Revert
2008-03-26 Richard Guenther <rguenther@suse.de>
* fold-const.c (target.h): Include.
(fold_comparison): Fold comparison of addresses of two decls
that bind locally. Consolidate address folding code.
* gcc.dg/fold-addr-1.c: New testcase.
From-SVN: r133608
Kaveh R. Ghazi [Wed, 26 Mar 2008 15:04:44 +0000 (15:04 +0000)]
builtins.c (expand_builtin_pow, [...]): Remove uses of dconst3, dconstsqrt2, dconstthird, dconste and/or dconst10.
* builtins.c (expand_builtin_pow, fold_builtin_cabs,
fold_builtin_sqrt, fold_builtin_cbrt, fold_builtin_logarithm,
fold_builtin_hypot, fold_builtin_pow): Remove uses of dconst3,
dconstsqrt2, dconstthird, dconste and/or dconst10.
* config/i386/i386.c (ix86_emit_swsqrtsf): Likewise.
* emit-rtl.c (dconst3, dconst10, dconstm2, dconstthird,
dconstsqrt2, dconste): Delete.
(init_emit_once): Likewise. Simplify initializing dconstm1.
Constify variable.
* real.c (get_real_const): New.
* real.h (dconst3, dconst10, dconstm2, dconstthird,
dconstsqrt2, dconste): Delete.
(real_value_const, get_real_const): New.
From-SVN: r133607
H.J. Lu [Wed, 26 Mar 2008 13:30:18 +0000 (13:30 +0000)]
cygming.h (BIGGEST_ALIGNMENT): Removed.
2008-03-26 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/cygming.h (BIGGEST_ALIGNMENT): Removed.
* config/i386/i386.c (ix86_function_arg_boundary): Check
BIGGEST_ALIGNMENT instead of 128.
(setup_incoming_varargs_64): Likewise.
From-SVN: r133605
Tom Tromey [Wed, 26 Mar 2008 13:18:34 +0000 (13:18 +0000)]
* Makefile.in (DEPFILES): Add missing '/'.
From-SVN: r133604
Uros Bizjak [Wed, 26 Mar 2008 13:08:08 +0000 (14:08 +0100)]
sse-13.c: Include <mm_malloc.h> before redefinitions of extern and __inline.
* gcc.target/i386/sse-13.c: Include <mm_malloc.h>
before redefinitions of extern and __inline.
* gcc.target/i386/sse-13.c: Ditto.
From-SVN: r133602
Jakub Jelinek [Wed, 26 Mar 2008 13:03:30 +0000 (14:03 +0100)]
re PR c++/35332 (Broken diagnostics for builtins)
PR c++/35332
* error.c (dump_expr): Pass {,UN}ORDERED_EXPR, UN{LT,LE,GT,GE,EQ}_EXPR
and LTGT_EXPR to pp_expression.
* g++.dg/other/error27.C: New test.
From-SVN: r133600
Richard Guenther [Wed, 26 Mar 2008 12:37:29 +0000 (12:37 +0000)]
fold-const.c (target.h): Include.
2008-03-26 Richard Guenther <rguenther@suse.de>
* fold-const.c (target.h): Include.
(fold_comparison): Fold comparison of addresses of two decls
that bind locally. Consolidate address folding code.
* gcc.dg/fold-addr-1.c: New testcase.
From-SVN: r133599
Nick Clifton [Wed, 26 Mar 2008 12:32:22 +0000 (12:32 +0000)]
re PR target/31232 (Problem while compiling gcc for xstormy16-elf)
PR target/31232
* config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
not allow INT+INT as a legitimate addressing mode.
From-SVN: r133598
Richard Guenther [Wed, 26 Mar 2008 11:09:43 +0000 (11:09 +0000)]
tree-flow.h (widen_bitfield): Remove declaration.
2008-03-26 Richard Guenther <rguenther@suse.de>
* tree-flow.h (widen_bitfield): Remove declaration.
* tree-ssa-ccp.c (visit_assignment): Remove unneeded code.
(widen_bitfield): Remove function.
* tree-ssa-dom.c (record_equivalences_from_stmt): Remove unneeded
code.
From-SVN: r133597
Richard Guenther [Wed, 26 Mar 2008 11:05:54 +0000 (11:05 +0000)]
20030731-2.c: Scan dce1 dump.
2008-03-26 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/
20030731-2.c: Scan dce1 dump.
* gcc.dg/tree-ssa/
20030917-1.c: Scan optimized dump.
* gcc.dg/tree-ssa/
20030917-3.c: Scan ccp1 dump.
* gcc.dg/tree-ssa/
20040721-1.c: Test linking, do not disable DOM.
* gcc.dg/tree-ssa/pr21574.c: Scan the fre dump.
* gcc.dg/tree-ssa/ssa-ccp-1.c: Scan ccp1 dump.
* gcc.dg/tree-ssa/ssa-ccp-3.c: Scan ccp2 dump.
From-SVN: r133596
Arnaud Charlet [Wed, 26 Mar 2008 11:05:34 +0000 (11:05 +0000)]
* adaint.c: Fix warnings.
From-SVN: r133595
Matthias Klose [Wed, 26 Mar 2008 08:24:42 +0000 (08:24 +0000)]
[multiple changes]
2008-03-26 Daniel Jacobowitz <dan@debian.org>
* src/arm/sysv.S: Fix ARM comment marker.
2008-03-26 Jakub Jelinek <jakub@redhat.com>
* src/alpha/osf.S: Add .note.GNU-stack on Linux.
* src/s390/sysv.S: Likewise.
* src/powerpc/ppc_closure.S: Likewise.
* src/powerpc/sysv.S: Likewise.
* src/x86/unix64.S: Likewise.
* src/x86/sysv.S: Likewise.
* src/sparc/v8.S: Likewise.
* src/sparc/v9.S: Likewise.
* src/m68k/sysv.S: Likewise.
* src/arm/sysv.S: Likewise.
From-SVN: r133594
Arnaud Charlet [Wed, 26 Mar 2008 08:07:07 +0000 (09:07 +0100)]
New tests
From-SVN: r133593
Arnaud Charlet [Wed, 26 Mar 2008 07:56:12 +0000 (07:56 +0000)]
* g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
From-SVN: r133592
Arnaud Charlet [Wed, 26 Mar 2008 07:54:59 +0000 (07:54 +0000)]
a-witeio.adb: Fix problem with Current_Output (introduce Self).
* a-witeio.adb: Fix problem with Current_Output (introduce Self).
Fix problem of status check for null file
From-SVN: r133591
Arnaud Charlet [Wed, 26 Mar 2008 07:53:37 +0000 (07:53 +0000)]
s-proinf-irix-athread.ads, [...]: Minor reformatting.
* s-proinf-irix-athread.ads, s-vxwork-mips.ads,
s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
comments.
From-SVN: r133590
Arnaud Charlet [Wed, 26 Mar 2008 07:46:50 +0000 (08:46 +0100)]
Resync.
From-SVN: r133589
Robert Dewar [Wed, 26 Mar 2008 07:44:09 +0000 (08:44 +0100)]
gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W Add description for the new gnatstub...
2008-03-26 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
Add description for the new gnatstub option '--header-file'
clarification of -gnatwz/-gnatwZ
Add a "Irix-Specific Considerations" section to document the need to
set LD_LIBRARY_PATH when using the default shared runtime library.
Added documentation for both gcov and gprof.
* gnat_rm.texi: Document that pragma Compile_Time_Warning generates
messages that are not suppressed when clients are compiled.
Add documentation of s-pooglo s-pooloc
Document the new GNAT.Serial_Communications API.
Add documentation for 'Old attribute
Add description of pragma Optimize_Alignment
* ug_words: Add entries for -gnatw.w -gnatw.W
* usage.adb: Add line for -gnatw.w (warn on warnings off)
From-SVN: r133588
Robert Dewar [Wed, 26 Mar 2008 07:43:59 +0000 (08:43 +0100)]
tbuild.ads, [...] (N_Pragma): Chars field removed, use Chars (Pragma_Identifier (..
2008-03-26 Robert Dewar <dewar@adacore.com>
* tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
removed, use Chars (Pragma_Identifier (.. instead, adjustments
throughout to accomodate this change.
* s-pooglo.ads, s-pooloc.ads: Minor comment updates
* exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
Einfo.Set_Needs_Debug_Info)
From-SVN: r133587
Arnaud Charlet [Wed, 26 Mar 2008 07:43:45 +0000 (08:43 +0100)]
[multiple changes]
2008-03-26 Tristan Gingold <gingold@adacore.com>
* init.c: Do not adjust pc for HPARITH on alpha/vms.
2008-03-26 Robert Dewar <dewar@adacore.com>
* lib-xref.adb: (OK_To_Set_Reference): New function
(Generate_Reference): Don't set referenced from occurrence in Warnings,
Unmodified, or Unreferenced pragma
2008-03-26 Robert Dewar <dewar@adacore.com>
* alloc.ads: Add entries for Warnings_Off_Pragmas table
2008-03-26 GNAT Script <nobody@adacore.com>
* Make-lang.in: Makefile automatically updated
From-SVN: r133586
Robert Dewar [Wed, 26 Mar 2008 07:43:27 +0000 (08:43 +0100)]
back_end.adb, [...]: Minor reformatting
2008-03-26 Robert Dewar <dewar@adacore.com>
* back_end.adb, back_end.ads: Minor reformatting
* bindgen.adb: Minor clarification of comments
* fname.ads: Minor comment fixes
* g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
prj-nmsc.adb, sem_aggr.adb: Minor reformatting
* xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
xsnames.adb: Remove warnings off pragma no longer needed
* a-catizo.ads, a-calari.ads, a-calfor.adb,
a-calfor.ads: Fix header.
From-SVN: r133585
Robert Dewar [Wed, 26 Mar 2008 07:43:18 +0000 (08:43 +0100)]
g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
2008-03-26 Robert Dewar <dewar@adacore.com>
* g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
From-SVN: r133584
Matthew Heaney [Wed, 26 Mar 2008 07:43:07 +0000 (08:43 +0100)]
a-ciorse.ads, [...]: Marked with clauses as private, and controlled operations as overriding
2008-03-26 Matthew Heaney <heaney@adacore.com>
* a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
Marked with clauses as private, and controlled operations as overriding
From-SVN: r133582
Vincent Celier [Wed, 26 Mar 2008 07:42:56 +0000 (08:42 +0100)]
a-direct.adb (Start_Search): Raise Use_Error if the directory is not readable.
2008-03-26 Vincent Celier <celier@adacore.com>
* a-direct.adb (Start_Search): Raise Use_Error if the directory is not
readable.
From-SVN: r133581
Robert Dewar [Wed, 26 Mar 2008 07:42:47 +0000 (08:42 +0100)]
sem_warn.ads, [...] (Warnings_Off_Pragmas): New table
2008-03-26 Robert Dewar <dewar@adacore.com>
* sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
(Initialize): New procedure
(Output_Warnings_Off_Warnings): New procedure
(Check_References): Suppress certain msgs if Is_Trivial_Subprogram
(Output_Non_Modifed_In_Out_Warnings): Ditto
(Warn_On_Unreferenced_Entity): Ditto
From-SVN: r133580
Robert Dewar [Wed, 26 Mar 2008 07:42:37 +0000 (08:42 +0100)]
sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite recursion and raise SE directly.
2008-03-26 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
recursion and raise SE directly.
(Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
set for formal type for IN mode parameter.
From-SVN: r133579
Ed Schonberg [Wed, 26 Mar 2008 07:42:25 +0000 (08:42 +0100)]
sem_ch7.adb (Install_Parent_Private_Declarations): If the private declarations of a parent unit are made visible when...
2008-03-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Install_Parent_Private_Declarations): If the private
declarations of a parent unit are made visible when compiling a child
instance, the parent is not a hidden open scope, even though it may
contain other pending instance.
* sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
hidden open scope for some child instance, it does affect the
visibility status of other stach entries.
(Analyze_Object_Renaming): Check that a class-wide object cannot be
renamed as an object of a specific type.
From-SVN: r133578
Ed Schonberg [Wed, 26 Mar 2008 07:42:14 +0000 (08:42 +0100)]
sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on operations that have an interface parameter.
2008-03-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
operations that have an interface parameter.
(Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
Don't treat No_Return call as raise.
* sem_disp.adb (Check_Dispatching_Operations): apply check for
non-primitive interface primitives to access parameters, not to all
parameters of an access type.
From-SVN: r133577
Robert Dewar [Wed, 26 Mar 2008 07:42:03 +0000 (08:42 +0100)]
sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
2008-03-26 Robert Dewar <dewar@adacore.com>
* sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
* sinfo.ads, sinfo.adb (From_At_End): New flag
From-SVN: r133576
Ed Schonberg [Wed, 26 Mar 2008 07:41:53 +0000 (08:41 +0100)]
sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is a generic subprogram that is imported...
2008-03-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
a generic subprogram that is imported, do not attempt to compile
non-existent body.
* sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
imported, do not generate a raise_program_error for the non-existent
body.
(Pre_Analyze_Actuals): If an error is detected during pre-analysis,
perform minimal name resolution on the generic to avoid spurious
warnings.
(Find_Actual_Type): the designated type of the actual in a child unit
may be declared in a parent unit without being an actual.
From-SVN: r133575
Robert Dewar [Wed, 26 Mar 2008 07:41:37 +0000 (08:41 +0100)]
scn.adb (Initialize_Scanner): Format messages belong on standard error
2008-03-26 Robert Dewar <dewar@adacore.com>
* scn.adb (Initialize_Scanner): Format messages belong on standard error
From-SVN: r133574
Vincent Celier [Wed, 26 Mar 2008 07:41:16 +0000 (08:41 +0100)]
prj-dect.adb (Parse_Package_Declaration): When a package name is not known...
2008-03-26 Vincent Celier <celier@adacore.com>
* prj-dect.adb (Parse_Package_Declaration): When a package name is not
known, check if it may be a missspelling of a known package name. In
not verbose, not mode, issue warnings only if the package name is a
possible misspelling.
In verbose mode, always issue a warning for a not known package name,
plus a warning if the name is a misspelling of a known package name.
* prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
limited withs or limited withs are parse during one call.
(Parse_Single_Project): Post parse context clause in two passes: non
limited withs before current project and limited withs after current
project.
* prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
project with the name With_Name, even if it is only extended indirectly.
(Recursive_Process): Process projects in order: first single withs, then
current project, then limited withs.
* prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
project with the name With_Name, even if it is only extended indirectly.
From-SVN: r133573
Thomas Quinot [Wed, 26 Mar 2008 07:41:04 +0000 (08:41 +0100)]
sem_cat.adb (Validate_RACW_Primitives): Do not rely on Comes_From_Source to exclude primitives from being checked.
2008-03-26 Thomas Quinot <quinot@adacore.com>
* sem_cat.adb (Validate_RACW_Primitives): Do not rely on
Comes_From_Source to exclude primitives from being checked. We want to
exclude predefined primitives only, so use the appropriate specific
predicate. Also, flag a formal parameter of an anonymous
access-to-subprogram type as illegal for a primitive operation of a
remote access to class-wide type.
From-SVN: r133572
Vincent Celier [Wed, 26 Mar 2008 07:40:35 +0000 (08:40 +0100)]
osint-c.adb (Set_Library_Info_Name): Use canonical case file names to check if the specified object file is correct.
2008-03-26 Vincent Celier <celier@adacore.com>
* osint-c.adb (Set_Library_Info_Name): Use canonical case file names
to check if the specified object file is correct.
From-SVN: r133571
Robert Dewar [Wed, 26 Mar 2008 07:40:27 +0000 (08:40 +0100)]
itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
2008-03-26 Robert Dewar <dewar@adacore.com>
* itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
* sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
unchecked conversion for different conventions only for subprogram
pointers or on VMS.
From-SVN: r133570
Pascal Obry [Wed, 26 Mar 2008 07:40:18 +0000 (08:40 +0100)]
Makefile.in: Add proper GNAT.Serial_Communications implementation on supported platforms.
2008-03-26 Pascal Obry <obry@adacore.com>
* Makefile.in: Add proper GNAT.Serial_Communications implementation on
supported platforms.
* Makefile.rtl: Add g-sercom.o.
* impunit.adb: Add g-sercom.adb.
* s-crtl.ads (open): New routine.
(close): Likewise.
(write): Likewise.
* s-osinte-mingw.ads (BYTE): New type.
(CHAR): Likewise.
(OVERLAPPED): Likewise.
(GENERIC_READ): New constant.
(GENERIC_WRITE): Likewise.
(OPEN_EXISTING): Likewise.
(PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
type instead.
(CreateFile): New routine.
(WriteFile): Likewise.
(ReadFile): Likewise.
(CloseHandle): Move next to the other file oriented routines.
* g-sercom.ads: New unit.
* g-sercom.adb: Default implementation, calls to this unit will raise
a program error exception.
* g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
GNU/Linux implementations.
From-SVN: r133569
Robert Dewar [Wed, 26 Mar 2008 07:40:04 +0000 (08:40 +0100)]
g-pehage.adb, [...]: Replace Raise_Exception by "raise with" construct.
2008-03-26 Robert Dewar <dewar@adacore.com>
* g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
Raise_Exception by "raise with" construct.
From-SVN: r133568
Vincent Celier [Wed, 26 Mar 2008 07:39:50 +0000 (08:39 +0100)]
gnatcmd.adb: Add processing for GNAT SYNC
2008-03-26 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: Add processing for GNAT SYNC
* vms_conv.ads: (Command_Type): Add command Sync
* vms_conv.adb (Initialize): Add Command_List data for new command Sync
* vms_data.ads: Add entries for -gnatw.w
Add qualifier for gnatstub --header-file option
Add switches for GNAT SYNC
* prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
(Add_Package_Name): New procedure
(Package_Name_List): New function
(Initialize): Add known package names to the list
(Register_New_Package): Add the new package name to the list
From-SVN: r133567
Ed Schonberg [Wed, 26 Mar 2008 07:39:39 +0000 (08:39 +0100)]
exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component assignment is within the initialization procedure for a packed...
2008-03-26 Ed Schonberg <schonberg@adacore.com>
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
assignment is within the initialization procedure for a packed array,
and Initialize_Scalars is enabled, compile right-hand side with checks
off, because the value is purposely out of range.
From-SVN: r133566
Javier Miranda [Wed, 26 Mar 2008 07:39:28 +0000 (08:39 +0100)]
exp_ch7.adb (Make_Clean): Code cleanup using the new centralized subprogram Corresponding_Runtime_Package...
2008-03-26 Javier Miranda <miranda@adacore.com>
* exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
subprogram Corresponding_Runtime_Package to know the runtime package
that will provide support to a given protected type.
* exp_ch9.adb (Add_Private_Declarations,
Build_Protected_Subprogram_Call,
Build_Protected_Entry, Build_Simple_Entry_Call,
Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
cleanup using the new centralized subprogram Corresponding_Runtime
Package to know the runtime package that provides support to
a given protected type.
From-SVN: r133565
Javier Miranda [Wed, 26 Mar 2008 07:39:17 +0000 (08:39 +0100)]
exp_disp.adb (Make_DT, [...]): Set attribute Is_Static_Dispatch_Table
2008-03-26 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
Is_Static_Dispatch_Table
(Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
to Exchange_Declarations to exchange the private and full-view. Bug
found working in this issue.
(Expand_Dispatching_Call): Propagate the convention of the subprogram
to the subprogram pointer type.
(Make_Secondary_DT): Replace generation of Prim'Address by
Address (Prim'Unrestricted_Access)
(Make_DT): Replace generation of Prim'Address by
Address (Prim'Unrestricted_Access)
(Make_Disp_*_Bodies): When compiling for a restricted profile, use
simple call form for single entry.
(Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
tables of predefined primitives).
(Make_Secondary_DT): Add support to handle access to dispatch tables of
predefined primitives.
(Make_Tags): Add entities to Access_Dispatch_Table associated with
access to dispatch tables containing predefined primitives.
* exp_ch6.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (.. instead, adjustments throughout to accomodate
this change.
(Register_Predefined_DT_Entry): Updated to handle the new contents
of attribute Access_Disp_Table (pointers to dispatch tables containing
predefined primitives).
* exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
subprogram.
(Find_Interface_ADT): Updated to skip the new contents of attribute
Access_Dispatch_Table (pointers to dispatch tables containing predefined
primitives).
* sem_util.adb (Has_Abstract_Interfaces): Add missing support for
concurrent types.
(Set_Convention): Use new function Is_Access_Subprogram_Type
(Collect_Interfaces_Info): Updated to skip the new contents of attribute
Access_Dispatch_Table (pointers to dispatch tables containing predefined
primitives).
* exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
expanded code avoiding calls to Build_Predef_Prims.
(Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
call to Build_Get_Predefined_Prim_Op_Address.
From-SVN: r133564
Gary Dismukes [Wed, 26 Mar 2008 07:39:04 +0000 (08:39 +0100)]
exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation of a heap allocator for a limited unconstrained function...
2008-03-26 Gary Dismukes <dismukes@adacore.com>
* exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
of a heap allocator for a limited unconstrained function return when
resstriction No_Allocators is active.
(Analyze_Allocator): The restriction No_Allocators is now only checked
on allocators that have Comes_From_Source set, as per RM-H.4(7).
* sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
of a heap allocator for a limited unconstrained function return when
resstriction No_Allocators is active.
(Analyze_Allocator): The restriction No_Allocators is now only checked
on allocators that have Comes_From_Source set, as per RM-H.4(7).
(Has_Fixed_Op): If the name in a function call is Standard."*" and the
operands are fixed-point types, the universal_fixed predefined operation
is used, regardless of whether the operand type (s) have a primitive
operation of the same name.
From-SVN: r133563
Robert Dewar [Wed, 26 Mar 2008 07:38:51 +0000 (08:38 +0100)]
exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for No_Run_Time_Mode
2008-03-26 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
No_Run_Time_Mode
From-SVN: r133562
Ed Schonberg [Wed, 26 Mar 2008 07:38:40 +0000 (08:38 +0100)]
sem_ch3.adb (Access_Definition): If the access type is the return result of a protected function...
2008-03-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Definition): If the access type is the return
result of a protected function, create an itype reference for it
because usage will be in an inner scope from the point of declaration.
(Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
OK_To_Reorder_Components.
(Make_Index): If an overloaded range includes a universal integer
interpretation, resolve to Standard.Integer.
(Analyze_Subtype_Indication): Copy Convention to subtype
(Check_Abstract_Interfaces): Complete semantic checks on the legality of
limited an synchronized progenitors in type declaration and private
extension declarations.
* exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
protected subprogram body, determine proper scope from subprogram
declaration.
From-SVN: r133561
Robert Dewar [Wed, 26 Mar 2008 07:38:28 +0000 (08:38 +0100)]
exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise stmt.
2008-03-26 Robert Dewar <dewar@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
stmt.
(No_Exception_Propagation_Active): New function.
(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
Update comments, and review all uses of No_Exception_Propagation, which
are now correct and in sync with what gigi expects.
* restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
function.
(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
Update comments, and review all uses of No_Exception_Propagation, which
are now correct and in sync with what gigi expects.
From-SVN: r133560
Javier Miranda [Wed, 26 Mar 2008 07:38:16 +0000 (08:38 +0100)]
exp_attr.adb (N_Pragma): Chars field removed.
2008-03-26 Javier Miranda <miranda@adacore.com>
Robert Dewar <dewar@adacore.com>
* exp_attr.adb (N_Pragma): Chars field removed.
(Expand_N_Attribute_Reference): If the designated type associated with
attribute 'Unrestricted_Access is a subprogram entity then replace it
by an E_Subprogram_Type itype.
Implement attribute Old
* sem_attr.ads (Attribute_Class_Array): Move to snames.ads
* sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
Replace call to
New_Internal_Entity by call to Create_Itype to centralize calls
building itypes, ad propagate the convention of the designated
subprogram. In addition, disable the machinery cleaning constant
indications from all entities in current scope when 'Unrestricted_Access
corresponds with a node initializing a dispatch table slot.
(Analyze_Attribute): Parameterless attributes returning a string or a
type will not be called with improper arguments, so we can remove junk
code that was dealing with this case.
Implement attribute Old
* snames.ads, snames.h, snames.adb: Add entries for attribute Old
Add entry for pragma Optimize_Alignment
New standard names Sync and Synchronize
From-SVN: r133559
Ed Schonberg [Wed, 26 Mar 2008 07:38:00 +0000 (08:38 +0100)]
exp_aggr.adb (Replace_Type): When checking for self-reference...
2008-03-26 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Replace_Type): When checking for self-reference, verify
that the prefix of an attribute is the type of the aggregate being
expanded.
From-SVN: r133558
Robert Dewar [Wed, 26 Mar 2008 07:37:49 +0000 (08:37 +0100)]
par.adb (Check_No_Right_Paren): Removed no longer used
2008-03-26 Robert Dewar <dewar@adacore.com>
* par.adb (Check_No_Right_Paren): Removed no longer used
* par-ch10.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (.. instead.
* par-ch10.adb (P_Subunit): Improvement in error recovery and message
* par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
par-ch4.adb: Minor improvements in error recovery and messages.
* erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
non-serious
* par-ch9.adb: Minor improvements in error recovery and messages
(P_Protected): Better error recovery for "protected type x;"
* par-util.adb: Minor improvements in error recovery and messages
(Check_No_Right_Paren): Removed no longer used
From-SVN: r133557
Robert Dewar [Wed, 26 Mar 2008 07:37:35 +0000 (08:37 +0100)]
errout.ads: Document new !! insertion sequence
2008-03-26 Robert Dewar <dewar@adacore.com>
* errout.ads: Document new !! insertion sequence
* errout.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (.. instead.
Replace use of Warnings_Off by Has_Warnings_Off
(Error_Msg_Internal): Don't delete warning ending in !!
From-SVN: r133556
Robert Dewar [Wed, 26 Mar 2008 07:37:24 +0000 (08:37 +0100)]
einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars (Pragma_Identifier (..
2008-03-26 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (.. instead.
(OK_To_Reorder_Components): New flag
(Has_Entries): Code cleanup.
(Warnings_Off_Used): New flag
(Warnings_Off_Used_Unmodified): New flag
(Warnings_Off_Used_Unreferenced): New flag
(Has_Warnings_Off): New function
(Has_Unmodified): New function
(Has_Unreferenced): New function
(Is_Trivial_Subprogram): New flag
(Is_Static_Dispatch_Table_Entity): New attribute.
Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
(more consistent with other similar names)
(Access_Subprogram_Type): New classification function
From-SVN: r133555
Robert Dewar [Wed, 26 Mar 2008 07:37:12 +0000 (08:37 +0100)]
stand.ads: Deal with reordering of package standard declarations
2008-03-26 Robert Dewar <dewar@adacore.com>
* stand.ads: Deal with reordering of package standard declarations
* cstand.adb: Put package Standard declarations in proper order
From-SVN: r133554
Robert Dewar [Wed, 26 Mar 2008 07:37:00 +0000 (08:37 +0100)]
checks.adb (Ensure_Valid): Capture valid status if possible (eliminate checks)
2008-03-26 Robert Dewar <dewar@adacore.com>
* checks.adb (Ensure_Valid): Capture valid status if possible
(eliminate checks)
From-SVN: r133553
Robert Dewar [Wed, 26 Mar 2008 07:36:48 +0000 (08:36 +0100)]
a-ztexio.adb, [...]: Fix problem with Current_Output (introduce Self).
2008-03-26 Robert Dewar <dewar@adacore.com>
* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
with Current_Output (introduce Self).
From-SVN: r133552
Robert Dewar [Wed, 26 Mar 2008 07:36:36 +0000 (08:36 +0100)]
a-teioed.ads: Correct value of Default_Fill
2008-03-26 Robert Dewar <dewar@adacore.com>
* a-teioed.ads: Correct value of Default_Fill
* a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
From-SVN: r133551
Vincent Celier [Wed, 26 Mar 2008 07:36:23 +0000 (08:36 +0100)]
a-szuzti.adb, [...] (functions Get_Line): Improve memory usage to avoid use of stack.
2008-03-26 Vincent Celier <celier@adacore.com>
* a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
Improve memory usage to avoid use of stack.
From-SVN: r133550
Robert Dewar [Wed, 26 Mar 2008 07:36:02 +0000 (08:36 +0100)]
ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
2008-03-26 Robert Dewar <dewar@adacore.com>
* ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
* bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
* debug.adb: Add debug flags d.r and d.v
Add debug flag .T (Optimize_Alignment (Time))
Add debug flag .S (Optimize_Alignment (Space))
* freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
depending on setting of relevant debug flags.
Replace use of Warnings_Off by Has_Warnings_Off
(Freeze_Entity): In circuit for warning on suspicious convention
actuals, do not give warning if subprogram has same entity as formal
type, or if subprogram does not come from source.
(Freeze_Entity): Don't reset Is_Packed for fully rep speced record
if Optimize_Alignment set to Space.
* frontend.adb: Add call to Sem_Warn.Initialize
Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
Reset Optimize_Alignment mode from debug switches .S and .T
* layout.adb (Layout_Composite_Object): Rewritten for
Optimize_Aligment pragma.
* lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
mode.
* opt.ads, opt.adb: (Optimize_Alignment): New global switch
* par-prag.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (.. instead, adjustments throughout to accomodate
this change. Add entry for pragma Optimize_Alignment
* sem_prag.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (..
instead, adjustments throughout to accomodate this change.
(Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
(Favor_Top_Level): Use new function Is_Access_Subprogram_Type
Add implementation of pragma Optimize_Alignment
From-SVN: r133549