rsandifo [Thu, 8 Sep 2005 18:46:06 +0000 (18:46 +0000)]
PR fortran/15326
* trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in
the GFC_SS_FUNCTION case too.
* trans-expr.c (gfc_conv_function_val): Allow symbols to be bound
to function pointers as well as function decls.
(gfc_interface_sym_mapping, gfc_interface_mapping): New structures.
(gfc_init_interface_mapping, gfc_free_interface_mapping)
(gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array)
(gfc_set_interface_mapping_bounds, gfc_add_interface_mapping)
(gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons)
(gfc_apply_interface_mapping_to_ref)
(gfc_apply_interface_mapping_to_expr)
(gfc_apply_interface_mapping): New functions.
(gfc_conv_function_call): Evaluate the arguments before working
out where the result should go. Make the null pointer case provide
the string length in parmse.string_length. Cope with non-constant
string lengths, using the above functions to evaluate such lengths.
Use a temporary typespec; don't assign to sym->cl->backend_decl.
Don't assign to se->string_length when returning a cached array
descriptor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104040
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 8 Sep 2005 16:37:20 +0000 (16:37 +0000)]
* tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
the result of a conversion if the new min and max cannot be compared.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104036
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 8 Sep 2005 16:06:54 +0000 (16:06 +0000)]
PR fortran/19928
* trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain
after handling scalarized references. Make "indexse" inherit from
"se" when handling AR_ELEMENTs.
(gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each
substring or scalar reference that follows an array section.
* trans-expr.c (gfc_conv_variable): When called from within a
scalarization loop, start out with "ref" pointing to the scalarized
part of the reference. Don't call gfc_advance_se_ss_chain here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104035
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Thu, 8 Sep 2005 13:55:30 +0000 (13:55 +0000)]
2005-09-08 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_sr_alias_set): Variable removed.
(override_options): Setting s390_sr_alias_set removed.
(save_fpr, save_gprs): Set alias set to vararg or frame.
(restore_fpr, restore_gprs, s390_emit_prologue): Replace
s390_sr_alias_set with get_frame_alias_set ().
(s390_gimplify_va_arg): Replace s390_sr_alias_set with
get_varargs_alias_set ().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104034
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Thu, 8 Sep 2005 13:14:41 +0000 (13:14 +0000)]
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
PR obj-c++/16816
* obj-c++.dg/selector-5.mm: New test.
* obj-c++.dg/selector-6.mm: New test.
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
PR obj-c++/16816
* parser.c (cp_parser_objc_selector_expression): Treat CPP_SCOPE as
two CPP_COLON.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104033
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Thu, 8 Sep 2005 13:09:49 +0000 (13:09 +0000)]
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/20574
PR objc/19324
* c-parser.c (c_parser_objc_method_definition): If the next
token is not "{", error out and don't start the function.
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/20574
PR objc/19324
* objc.dg/error-1.m: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104032
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 8 Sep 2005 09:20:07 +0000 (09:20 +0000)]
PR fortran/23373
* trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary
descriptor if the rhs is not a null pointer or variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104029
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 8 Sep 2005 06:52:04 +0000 (06:52 +0000)]
2005-09-07 Jerry DeLisle <jvdelisle@verizon.net>
PR libfortran/23760
* gfortran.dg/g77/1832.f: Remove long string in write statement
to allow the test to pass on correct list directed output with
prepended space.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104027
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Thu, 8 Sep 2005 00:30:48 +0000 (00:30 +0000)]
Fix xscale-elf gcc testsuite failure.
* gcc.dg/intmax_t-1.c: Disable for xscale*-*-elf*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104022
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 8 Sep 2005 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104019
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Wed, 7 Sep 2005 21:32:21 +0000 (21:32 +0000)]
2005-09-07 Thomas Koenig <Thomas.Koenig@online.de>
* gfortran.dg/parameter+save.f90: Rename to
* gfortran.dg/parameter_save.f90: .. this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104011
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Wed, 7 Sep 2005 21:25:40 +0000 (21:25 +0000)]
PR libfortran/23262
* acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
* configure.ac: Use new check.
* configure.in: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* io/transfer.c (next_record_w): Add case for CRLF as line
terminator.
* io/unix.c (tempfile, regular_file): Open files with
O_BINARY on systems with CRLF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104009
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Wed, 7 Sep 2005 21:08:24 +0000 (21:08 +0000)]
2005-09-07 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/20848
* symbol.c(check_conflict): Add conflict for parameter/save,
2005-09-07 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/20848
* gfortran.dg/parameter+save.f90: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104005
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Wed, 7 Sep 2005 20:35:19 +0000 (20:35 +0000)]
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
* tree-vrp.c (extract_range_from_expr): Move the check for non
nullness after the check for gimple invariant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104002
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Wed, 7 Sep 2005 20:16:47 +0000 (20:16 +0000)]
PR libfortran/23419
* io/write.c (extract_int): Use memcpy to access buffer.
(extract_uint): Ditto.
(extract_real): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104000
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 7 Sep 2005 12:39:03 +0000 (12:39 +0000)]
* tree.c (host_integerp, tree_low_cst): Correct function comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103989
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 7 Sep 2005 11:57:47 +0000 (11:57 +0000)]
PR target/23747
* config/m32r.md (movmemsi_internal): Canonicalize order of operands in
PLUS component of template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103987
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Wed, 7 Sep 2005 07:52:48 +0000 (07:52 +0000)]
2005-09-07 Andreas Krebbel <krebbel1@de.ibm.com>
* reload1.c (fixup_eh_region_note): Remove assertion.
(fixup_abnormal_edges): Reverted removal of call to
find_many_sub_basic_blocks made on 2005-08-31.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103984
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 7 Sep 2005 07:47:15 +0000 (07:47 +0000)]
* function.c (ARG_POINTER_CFA_OFFSET): Move ...
* defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
(INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
* dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
rearrange for better packing.
(INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
(lookup_cfa_1): Remove inline marker.
(cfa_equal_p): Split out of ...
(def_cfa_1): ... here. Use INVALID_REGNUM.
(build_cfa_loc): Handle !cfa->indirect.
(frame_pointer_cfa_offset): New.
(dbx_reg_number): Assert register elimination performed; do
leaf register remapping.
(reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
(eliminate_reg_to_offset): New.
(based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
for verifiably local stack frame addresses; re-base to CFA.
(mem_loc_descriptor): Remove can_use_fbreg argument.
(concat_loc_descriptor, loc_descriptor): Likewise.
(containing_function_has_frame_base): Remove.
(rtl_for_decl_location): Don't do register elimination or
leaf register remapping here.
(secname_for_decl): Split out from ..
(add_location_or_const_value_attribute): ... here.
(convert_cfa_to_loc_list): New.
(compute_frame_pointer_to_cfa_displacement): New.
(gen_subprogram_die): Use them.
* tree.h (frame_base_decl): Remove.
* var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
(prologue_stack_adjust): Remove.
(vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
(adjust_stack_reference): Re-base memories to arg_pointer_rtx.
(set_frame_base_location): Remove.
(compute_bb_dataflow, emit_notes_in_bb): Don't call it.
(dump_attrs_list, dump_dataflow_set): Use string concatenation.
(vt_add_function_parameters): Don't eliminate_regs.
(vt_initialize): Don't create frame_base_decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103983
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 7 Sep 2005 07:36:12 +0000 (07:36 +0000)]
PR fortran/19269
* simplify.c (gfc_simplify_transpose): Set the result's typespec from
the source, not the first element of the return value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103982
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 7 Sep 2005 07:20:58 +0000 (07:20 +0000)]
2005-09-07 Richard Guenther <rguenther@suse.de>
* cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR
for EMPTY_CLASS_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103981
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 7 Sep 2005 06:19:57 +0000 (06:19 +0000)]
* doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
version of GNU binutils for 4.x and later.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103980
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Wed, 7 Sep 2005 03:50:08 +0000 (03:50 +0000)]
* ggc-page.c (ggc_push_context): Remove.
(ggc_pop_context): Likewise.
* ggc.h (ggc_push_context): Remove.
(ggc_pop_context): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103979
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 7 Sep 2005 00:16:46 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103975
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Tue, 6 Sep 2005 22:29:45 +0000 (22:29 +0000)]
2005-09-06 Saurabh Verma <saurabh.verma@codito.com>
PR target/8973
* config/arc/arc.c (arc_output_function_epilogue): Update flags while
returning from an interrupt handler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103972
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Tue, 6 Sep 2005 22:26:59 +0000 (22:26 +0000)]
2005-09-06 Saurabh Verma <saurabh.verma@codito.com>
PR target/8972
* config/arc/arc.c (output_shift): Add check for loop count when
optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103971
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 6 Sep 2005 22:06:29 +0000 (22:06 +0000)]
* tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
form manually.
(abs_replacement): Likewise.
(pass_phiopt): Remove TODO_update_ssa.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103970
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 6 Sep 2005 20:07:13 +0000 (20:07 +0000)]
PR c/23075
* c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
if "return with no value, in function returning non-void" warning
has been issued.
* tree-cfg.c (execute_warn_function_return): Don't look at
RETURN_EXPRs with TREE_NO_WARNING set.
* typeck.c (check_return_expr): Add no_warning argument. Set
*no_warning to true if "return-statement with no value, in function
returning" warning has been issued.
* cp-tree.h (check_return_expr): Adjust prototype.
* semantics.c (finish_return_stmt): Set TREE_NO_WARNING if
check_return_expr set *no_warning to true.
* gcc.dg/pr23075.c: New test.
* g++.dg/warn/pr23075.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103967
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 6 Sep 2005 19:57:57 +0000 (19:57 +0000)]
PR target/22362
* config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
for internal functions doesn't use registers used by global registers
variables. Use fewer register parameters if there are global register
variables.
* gcc.target/i386/pr22362.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103964
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 6 Sep 2005 19:46:58 +0000 (19:46 +0000)]
PR middle-end/14997
* expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
when we would be extracting outside its bit span (bitpos+bitsize
larger than its mode), possible with some VIEW_CONVERT_EXPRs from
Ada unchecked conversions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103963
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 6 Sep 2005 19:38:58 +0000 (19:38 +0000)]
PR rtl-optimization/23098
* gcc.target/i386/pr23098.c: Add dg-require-effective-target ilp32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103959
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 6 Sep 2005 19:27:05 +0000 (19:27 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Further regex fixes.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103957
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 6 Sep 2005 18:51:26 +0000 (18:51 +0000)]
* tree-ssa-pre.c (try_look_through_load): New function.
(compute_avail): Use it to try to look through loads for some
more useful expressions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103956
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 6 Sep 2005 17:51:48 +0000 (17:51 +0000)]
* simplify-rtx.c (simplify_binary_operation_1): Correct the
condition for detecting cases like (a&a) and (a^a).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103955
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Tue, 6 Sep 2005 16:01:31 +0000 (16:01 +0000)]
PR libgcj/23739:
* testsuite/libjava.jni/pr23739.c: New file.
* testsuite/libjava.jni/pr23739.java: New file.
* testsuite/libjava.jni/pr23739.out: New file.
* jni.cc (_Jv_JNI_IsAssignableFrom): Reversed arguments.
* java/lang/reflect/natMethod.cc (invoke): Updated.
* java/lang/natClass.cc (isAssignableFrom): Updated.
(isInstance): Likewise.
(_Jv_IsAssignableFrom): Reversed arguments.
(_Jv_IsInstanceOf): Updated.
(_Jv_CheckCast): Likewise.
(_Jv_CheckArrayStore): Likewise.
(_Jv_IsAssignableFromSlow): Reversed arguments.
(_Jv_InterfaceAssignableFrom): Likewise.
* link.cc (verify_type_assertions): Updated.
* prims.cc (_Jv_CheckAccess): Updated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103953
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Tue, 6 Sep 2005 15:22:34 +0000 (15:22 +0000)]
2005-09-06 Andrew Pinski <pinskia@physics.uc.edu>
* java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
BLOCK_EXPR_BODY before returning the new BIND_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103950
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Tue, 6 Sep 2005 14:55:06 +0000 (14:55 +0000)]
* cp-tree.h (rvalue): New function.
* call.c (build_conditional_expr): Use it.
* init.c (build_new_1): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* tree.c (rvalue): New function.
* typeck.c (build_unary_op): Use it.
(build_static_cast_1): Likewise.
* g++.dg/expr/cast6.C: New test.
PR c++/9782
* init.c (build_new_1): Make sure the entire array type is
complete, not just its element types.
PR c++/9782
* g++.dg/init/new15.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103947
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Tue, 6 Sep 2005 14:22:01 +0000 (14:22 +0000)]
PR libgcj/23662:
* include/private/gcconfig.h (LINUX_STACKBOTTOM): Use instead of
HEURISTIC1 on ARM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103946
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Tue, 6 Sep 2005 11:09:01 +0000 (11:09 +0000)]
* gcc.dg/vect/Os-vect-95.c: New test.
* gcc.dg/vect/vect-95.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103942
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Tue, 6 Sep 2005 10:59:58 +0000 (10:59 +0000)]
* common.opt: Add option ftree-vect-loop-version.
* params.def: Add --param vect-max-version-checks.
* doc/invoke.texi: Document ftree-vect-loop-version and
--param vect-max-version-checks.
* tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
may_misalign_stmts and defines for accessors.
* tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
LOOP_VINFO_MAY_MISALIGN_STMTS.
(destroy_loop_vec_info): VEC_free for
LOOP_VINFO_MAY_MISALIGN_STMTS.
* tree-vect-analyze.c (vect_compute_data_ref_alignment):
Update documentation.
(vect_update_misalignment_for_peel): New.
(vect_enhance_data_refs_alignment): Update to choose loop
peeling or loop versioning if appropriate for the (potentially)
unaligned data references in the loop.
(vect_analyze_data_refs_alignment): Remove call to
vect_enhance_data_refs_alignment so the checks can be done
earlier.
(vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
and move up call to vect_analyze_data_refs_alignment.
* tree-vect-transform.c (vect_create_cond_for_align_checks): New.
(vect_transform_loop): Add call to loop_version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103941
138bc75d-0d04-0410-961f-
82ee72b054a4
reichelt [Tue, 6 Sep 2005 10:30:09 +0000 (10:30 +0000)]
* decl.c (check_elaborated_type_specifier): Remove redundant check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103939
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 6 Sep 2005 09:08:07 +0000 (09:08 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Accept more assembler comment
start strings.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103937
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 6 Sep 2005 08:55:37 +0000 (08:55 +0000)]
PR c++/23056
* typeck.c (ignore_overflows): New helper function.
(build_static_cast_1): Use it.
* g++.dg/opt/pr23056.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103936
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 6 Sep 2005 08:53:11 +0000 (08:53 +0000)]
PR rtl-optimization/23098
* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
* simplify-rtx.c (constant_pool_reference_p): New function.
* rtl.h (constant_pool_reference_p): New prototype.
* config/i386/i386.md (pushf split, mov[sdx]f split): Use
constant_pool_reference_p in condition and
avoid_constant_pool_reference in preparation statements.
* gcc.target/i386/pr23098.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103935
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 6 Sep 2005 08:15:35 +0000 (08:15 +0000)]
2005-09-06 Andreas Krebbel <krebbel1@de.ibm.com>
* gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
STRICT_LOW_PART SETs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103934
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Tue, 6 Sep 2005 04:53:53 +0000 (04:53 +0000)]
PR middle-end/21460
* except.c (sjlj_emit_function_enter): Find the function begin
note even when it's not in first basic block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103930
138bc75d-0d04-0410-961f-
82ee72b054a4
kcook [Tue, 6 Sep 2005 03:23:48 +0000 (03:23 +0000)]
2005-09-06 Kelley Cook <kcook@gcc.gnu.org>
* acinclude.m4: Renamed from aclocal.m4. Delete AM_LANGINFO_CODESET,
AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
* aclocal.m4: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103929
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Tue, 6 Sep 2005 02:32:26 +0000 (02:32 +0000)]
* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
of macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103928
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Tue, 6 Sep 2005 02:25:00 +0000 (02:25 +0000)]
* check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
typos. Follow spelling conventions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103927
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Tue, 6 Sep 2005 02:12:30 +0000 (02:12 +0000)]
* cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.
Follow spelling conventions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103926
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Tue, 6 Sep 2005 02:05:07 +0000 (02:05 +0000)]
* gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
Follow spelling conventions.
* doc/invoke.texi: Follow spelling conventions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103925
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 6 Sep 2005 00:16:29 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103922
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Mon, 5 Sep 2005 21:13:39 +0000 (21:13 +0000)]
2005-09-05 Thomas Koenig <Thomas.Koenig@online.de>
* io/list_read.c: Adjust size of of value to 32 (to hold
kind=16 complex values).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103918
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 5 Sep 2005 16:45:20 +0000 (16:45 +0000)]
* rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
* emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
* builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103917
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 5 Sep 2005 16:12:15 +0000 (16:12 +0000)]
PR c++/23667
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when
copying a VAR_DECL.
PR c++/23667
* g++.dg/template/static15.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103914
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 5 Sep 2005 15:59:31 +0000 (15:59 +0000)]
PR c++/21440
* semantics.c (finish_stmt_expr_expr): Add an explicit
initialization to the last statement in the statement-expression.
* (finish_stmt_expr): Adjust accordingly.
PR c++/21440
* g++.dg/ext/stmtexpr5.C: New test.
* g++.dg/ext/stmtexpr6.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103911
138bc75d-0d04-0410-961f-
82ee72b054a4
rmathew [Mon, 5 Sep 2005 15:04:40 +0000 (15:04 +0000)]
Testsuite changes for PR java/23431.
* testsuite/libjava.jacks/jacks.xfail: Remove 8.1.1.1-12 and
8.4.6.2-hiding-5.
* testsuite/libjava.compile/PR23431_1.java: New testcase.
* testsuite/libjava.compile/PR23431_2.java: Likewise.
* testsuite/libjava.compile/PR23431_1.xfail: New file.
* testsuite/libjava.compile/PR23431_2.xfail: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103910
138bc75d-0d04-0410-961f-
82ee72b054a4
rmathew [Mon, 5 Sep 2005 14:57:25 +0000 (14:57 +0000)]
PR java/23431
* typeck.c (lookup_do): Look up interfaces for the original class,
not the base class.
* parse.y (java_check_regular_methods): Fix diagnostic message for
more restrictive overriding of a method from an interface.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103909
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 5 Sep 2005 14:57:03 +0000 (14:57 +0000)]
* [gcc.dg/debug/dwarf2/dwarf-char1.c]: Allow '!' comment character.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103908
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 5 Sep 2005 14:56:37 +0000 (14:56 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103907
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 5 Sep 2005 14:49:14 +0000 (14:49 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103906
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 5 Sep 2005 14:20:27 +0000 (14:20 +0000)]
* gcc.dg/pr21255-1.c: Match different pattern for sh64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103905
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 5 Sep 2005 12:45:48 +0000 (12:45 +0000)]
PR target/23683
* sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
(output_stack_adjust): Use gen_tmp_stack_mem.
(sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
(sh_set_return_address, sh_allocate_initial_value): Likewise.
(sh_get_pr_initial_val): Likewise.
(sh_builtin_saveregs): Use gen_frame_mem and change_address.
(sh_initialize_trampoline): Likewise. Also use adjust_address.
* sh.md (divsi_inv_m0): Use gen_const_mem.
(push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
(movdf_i4+1): Use gen_tmp_stack_mem.
(reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
(fpu_switch+2): Likewise.
(movv4sf_i, movv16sf_i): Use adjust_address.
(symGOT_load): Set MEM_NOTRAP_P bit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103904
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 5 Sep 2005 12:37:33 +0000 (12:37 +0000)]
Commit entry left out by previous cvs ci.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103903
138bc75d-0d04-0410-961f-
82ee72b054a4
reichelt [Mon, 5 Sep 2005 10:11:52 +0000 (10:11 +0000)]
Move entry from cp/ChangeLog to testsuite/ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103902
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:57:18 +0000 (08:57 +0000)]
Resync.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103899
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:52:50 +0000 (08:52 +0000)]
Removed, no longer used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103898
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:12:54 +0000 (08:12 +0000)]
Minor reformatting.
Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103897
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:12:03 +0000 (08:12 +0000)]
Minor reformatting.
(Install_Null_Excluding_Check): Moved to the package specification
to use it from other packages to generate the run-time check
associated with the null-exclusion attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103896
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:11:07 +0000 (08:11 +0000)]
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103895
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:07:00 +0000 (08:07 +0000)]
2005-09-01 Robert Dewar <dewar@adacore.com>
* a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103894
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:06:37 +0000 (08:06 +0000)]
2005-09-01 Arnaud Charlet <charlet@adacore.com>
* Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
Note that the platform-specific version of g-soccon.ads for VMS is now
named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
really is a package spec).
Replace s-taspri-linux.ads by s-taspri-posix.ads
Remove references to s-mastop-x86.adb
* system-vxworks-xscale.ads: Removed, no longer used.
* s-vxwork-xscale.ads: Removed, no longer used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103893
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:05:32 +0000 (08:05 +0000)]
2005-09-01 Matthew Heaney <heaney@adacore.com>
* a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
draft (Draft 13, August 2005) of Ada Amendment 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103892
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:04:55 +0000 (08:04 +0000)]
2005-09-01 Robert Dewar <dewar@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* g-dirope.ads: Minor reformatting
Document that bounds of result of Base_Name match the input index
positions.
Add documentation on environment variable syntax for Expand_Path
* gnat_ugn.texi: Update documentation to include mention of -m switches
Document new treatment of wide characters in max line length
style check.
Remove -gnatL/-gnatZ switches, no longer used.
Add note on pragmas Assertion_Policy and Debug_Policy in discussion
of -gnata switch.
* gnat_rm.texi: Add doc for two argument form of pragma
Float_Representation.
Add documentation for pragma No_Strict_Aliasing
Add note that explicit component clause overrides pragma Pack.
Add documentation of pragma Debug_Policy
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103891
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:04:20 +0000 (08:04 +0000)]
2005-09-01 Geert Bosch <bosch@adacore.com>
Robert Dewar <dewar@adacore.com>
* ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
(VAXGF_Safe_First): Idem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103890
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:04:04 +0000 (08:04 +0000)]
2005-09-01 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
to a variable that is statically known to be constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103889
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:03:48 +0000 (08:03 +0000)]
2005-09-01 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
from the list of required components.
(Is_Controlling_Limited_Procedure): Determine whether an entity is a
primitive procedure of a limited interface with a controlling first
parameter.
(Is_Renamed_Entry): Determine whether an entry is a procedure renaming
of an entry.
(Safe_To_Capture_Value): A value (such as non_null) is not safe to
capture if it is generated in the second operand of a short-circuit
operation.
Do not capture values for variables with address clauses.
(Is_Object_Reference): Treat a function call as an object reference only
if its type is not Standard_Void_Type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103888
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:03:33 +0000 (08:03 +0000)]
2005-09-01 Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
* sem_type.adb (Add_One_Interp): If a candidate operation is an
inherited interface operation that has an implementation, use the
implementation to avoid spurious ambiguities.
(Interface_Present_In_Ancestor): In case of concurrent types we can't
use the Corresponding_Record_Typ attribute to look for the interface
because it is set by the expander (and hence it is not always
available). For this reason we traverse the list of interfaces
(available in the parent of the concurrent type).
(Interface_Present_In_Ancestor): Handle entities from the limited view
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103887
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:03:17 +0000 (08:03 +0000)]
2005-09-01 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* sem_res.adb (Resolve_Membership_Op): In case of the membership test
"Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
the expander will generate the corresponding run-time check to evaluate
the expression.
(Resolve_Call): Check for legal type of procedure name or prefix that
appears as a trigger in a triggering alternative.
(Valid_Conversion): If expression is ambiguous and the context involves
an extension of System, remove System.Address interpretations.
(Resolve_Qualified_Expression): Reject the case of a specific-type
qualification applied to a class-wide argument. Enhance comment
to explain checking of Original_Node.
(Resolve_Type_Conversion): The location of the error message was not
general enough to handle the general case and hence it has been removed.
In addition, this patch improves the text of the message.
(Resolve_Type_Conversion): Add missing support for access to interface
types.
(Resolve_Type_Conversion): If the target is a class-wide interface type,
do not expand if the expression is the actual in a call, because proper
expansion will take place when the call itself is expanded.
(Resolve_Allocator): If the context is an unchecked conversion, the
allocator inherits its storage pool, if any, from the target type of
the conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103886
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:03:00 +0000 (08:03 +0000)]
2005-09-01 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Check_Controlling_Formals): Anonymous access types
used in controlling parameters exclude null because it is necessary to
read the tag to dispatch, and null has no tag.
(Override_Dispatching_Operation): If the previous operation is inherited
from an interface, it becomes hidden and does not participate in later
name resolution.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103885
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:02:37 +0000 (08:02 +0000)]
2005-09-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
verify that the procedure and the entry are mode conformant.
(Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
as a different operator, which is often a cut-and-paste error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103884
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:02:21 +0000 (08:02 +0000)]
2005-09-01 Javier Miranda <miranda@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
access types the null-exclusion and access-to-constant attributes must
also match.
(Analyze_Return_Statement): When the result type is an anonymous access
type, apply a conversion of the return expression to the access type
to ensure that appropriate accessibility checks are performed.
(Analyze_Return_Type): For the case of an anonymous access result type,
generate the Itype and set Is_Local_Anonymous_Access on the type.
Add ??? placeholder for check to disallow returning a limited object
in Ada 2005 unless it's an aggregate or a result of a function call.
Change calls from Subtype_Mark to Result_Definition.
(Analyze_Subprogram_Body): Change formal Subtype_Mark to
Result_Definition in call to Make_Function_Specification.
(Build_Body_To_Inline): Change Set_Subtype_Mark to
Set_Result_Definition.
(Make_Inequality_Operator): Change formal Subtype_Mark to
Result_Definition in call to Make_Function_Specification.
(Process_Formals): Create the new null-excluding itype if required.
(New_Overloaded_Entity): For an entity overriding an interface primitive
check if the entity also covers other abstract subprograms in the same
scope. This is required to handle the general case, that is, overriding
other interface primitives and overriding abstract subprograms inherited
from some abstract ancestor type.
(New_Overloaded_Entity): For an overriding entity that comes from
source, note the operation that it overrides.
(Check_Conformance, Type_Conformant): Addition of one new formal
to skip controlling formals in the analysis. This is used to
handle overloading of abstract interfaces.
(Base_Types_Match): Add missing case for types imported from
limited-with clauses
(New_Overloaded_Entity): Add barrier to protect the use of
the "alias" attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103883
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:01:04 +0000 (08:01 +0000)]
2005-09-01 Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Transform_Object_Operation): In a context off the form
V (Obj.F), the rewriting does not involve the indexed component, but
only the selected component itself.
Do not apply the transformation if the analyzed node is an actual of a
call to another subprogram.
(Complete_Object_Operation): Retain the entity of the
dispatching operation in the selector of the rewritten node. The
entity will be used in the expansion of dispatching selects.
(Analyze_One_Call): Improve location of the error message associated
with interface.
(Analyze_Selected_Component): No need to resolve prefix when it is a
function call, resolution is done when parent node is resolved, as
usual.
(Analyze_One_Call): Add a flag to suppress analysis of the first actual,
when attempting to resolve a call transformed from its object notation.
(Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
of the argument list for each interpretation of the operation.
(Try_Object_Operation): The designated type of an access parameter may
be an incomplete type obtained through a limited_with clause, in which
case the primitive operations of the type are retrieved from its full
view.
(Analyze_Call): If this is an indirect call, and the return type of the
access_to_subprogram is incomplete, use its full view if available.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103882
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 08:00:11 +0000 (08:00 +0000)]
2005-09-01 Cyrille Comar <comar@adacore.com>
Gary Dismukes <dismukes@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
underlying type
to check if a type is Constrained in cases related to code generation
(rather than semantic checking) since otherwise we do not generate
similar code for mutable private types depending if their
discriminants are visible or not.
(Check_Abstract_Overriding): Do not complain about failure to override
the primitive operations used in dispatching selects since they will
always be overriden at the freeze point of the type.
(Access_Definition): Separate out handling for resetting the scope
of an anonymous access function result type. Retrieve the scope
of the associated function rather than using Current_Scope, which
does not have a consistent value (depends on whether we're in the
middle of analyzing formal parameters). Add ??? comment about
finding a cleaner way to handle the special cases of scope setting.
(Process_Incomplete_Dependents): A protected operation is never a
dispatching operation (only its wrapper may be).
(Build_Derived_Record_Type): In case of tagged private types that
implement interfaces add derivation of predefined primitive
operations.
(Derive_Subprograms): Replace the Is_Interface_Derivation parameter
by two parameters that are used in case of derivation from abstract
interface types: No_Predefined_Prims is used to avoid the derivation
of predefined primitives from the interface, and Predefined
Prims_Only is used to complete the derivation predefined primitives
in case of private tagged types implementing interfaces.
Fix typo in comments
(Find_Interface_In_Descendant): Protect the frontend against
wrong code with large circularity chains.
(Is_Private_Overriding): Add support for entities overriding interface
subprograms. The test failed because Entities associated with overriden
interface subprograms are always marked as hidden (and used to build
the secondary dispatch table); in this case the overriden entity is
available through the field abstract_interface_alias (cf. override_
dispatching_operation)
(Access_Definition): Set the scope of the type to Current_Scope for the
case of a function with an anonymous access result type.
(Access_Subprogram_Declaration): Handle creation of the type entity for
an access-to-function type with an anonymous access result.
(Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
in handling for N_Access_Function_Definition.
(Analyze_Subtype_Declaration): Modify the text of error message.
(Derived_Type_Declaration): Modify the text of error message.
(Process_Subtype): Modify the text of error message plus cleanup
of one redundant error message.
(Analyze_Component_Declaration): Code cleanup.
(Analyze_Object_Declaration): Code cleanup.
(Analyze_Subtype_Declaration): Propagate the null-exclusion
attribute in case of access types. Code cleanup.
(Array_Type_Declaration): Code cleanup.
(Process_Discriminants): Create the new null-excluding itype
if required. Code cleanup.
(Process_Subtype): Create the new null-excluding itype if
required. Code cleanup.
(Build_Derived_Record_Type): Code cleanup to avoid calling
twice the subprogram derive_subprograms in case of private
types that implement interfaces. In this particular case the
subprogram Complete_Subprograms_Derivation already does the
job associated with the second call.
* exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
conversion to the full view when generating an operation for a
discriminant whose type may currently be private.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103881
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:59:42 +0000 (07:59 +0000)]
2005-09-01 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
clause if the array aggregate is surrounded by parentheses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103880
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:59:10 +0000 (07:59 +0000)]
2005-09-01 Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
defining entity for the instance body, make a new defining identifier
rather than copying the entity of the spec, to prevent accidental
sharing of the entity list.
(Check_Private_View): When exchanging views of private types, build the
list of exchanged views as a stack, to ensure that on exit the exchanges
are undone in the proper order.
(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
Restore the compilation environment in case of instantiation_error.
(Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
for an anonymous access result.
(Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
(Formal_Entity): Handle properly the case of a formal package that
denotes a generic package renaming.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103879
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:58:52 +0000 (07:58 +0000)]
2005-09-01 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
become local to the whole package.
(Install_Limited_Withed_Unit): Instead of unchaining real entities if
the package was already analyzed the new algorithm "replaces" the
real entities by the shadow ones. This is required to ensure that
the order of these entities in the homonym chains does not change;
otherwise we can have undefined references at linking time because
in case of conflicts the external name of the entities will have
a suffix that depends on the order of the entities in the chain.
(Remove_Limited_With_Clause): Complementary code that completes the
new algorithm and replaces the shadow entities by the real ones.
(Install_Limited_Withed_Unit): When unchaining entities before the
installation of the shadow entities, only regular entities of the
public part must be taken into account. This is required to
keep this routine in synch with the work done by Remove_Limited_
With_Clause
(Install_Limited_With_Clause): Introduce implicit limited_with_clause
even if unit is analyzed, because the analysis of the unit is
idempotent in any case, and the limited view of the unit may have to
be installed for proper visibility.
(Expand_Limited_With_Clause): Even if the unit in the implicit
with_clause has been analyzed already, a limited view of the package
must be built for the current context, if it does not exist yet.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103878
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:58:38 +0000 (07:58 +0000)]
2005-09-01 Robert Dewar <dewar@adacore.com>
* sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
error msgs for most common cases.
Use new errout insertion char < (conditional warning)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103877
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:58:05 +0000 (07:58 +0000)]
2005-09-01 Thomas Quinot <quinot@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
'Address attribute reference with an overloaded prefix, use the
location of the prefix (not the location of the attribute reference) as
the error location.
(Analyze_Attribute, case 'Size): The name of an enumeration literal, or
a function renaming thereof, is a valid prefix for 'Size (where it is
intepreted as a function call).
(Statically_Denotes_Entity): New predicate to determine whether the
prefix of an array attribute can be considered static.
PR ada/9087
(Eval_Attr): Fix failure to evaluate Component_Size for
unconstrained arrays (resulted in wrong value in packed case, since
back end cannot handle this case)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103876
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:56:34 +0000 (07:56 +0000)]
2005-09-01 Robert Dewar <dewar@adacore.com>
* scng.adb (Check_End_Of_Line): Count characters, rather than bytes
(makes a difference for wide characters)
* widechar.adb, widechar.ads:
Add Wide_Char_Byte_Count feature to count chars vs bytes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103875
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:56:15 +0000 (07:56 +0000)]
2005-09-01 Vincent Celier <celier@adacore.com>
* prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
directories of projects that have no Ada sources.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103874
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:56:02 +0000 (07:56 +0000)]
2005-09-01 Robert Dewar <dewar@adacore.com>
* opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
* par-prag.adb: Implement new pragma Debug_Policy
* sem_prag.adb Implement new pragma Debug_Policy
(Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
Component_Size attribute specification. Give warning for ignored pragma
Pack.
* snames.h, snames.ads, snames.adb: Introduce entries in
Preset_Names for Name_Disp_Asynchronous_Select,
Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
Name_Disp_Timed_Select.
New pragma Debug_Policy
* switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
explicitly.
Switch -gnata also sets Debug_Pragmas_Enabled
* sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
handle an explicit -gnata when compiling predefined files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103873
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:55:41 +0000 (07:55 +0000)]
2005-09-01 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
including those that are inherited.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103872
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:55:30 +0000 (07:55 +0000)]
2005-09-01 Ed Schonberg <schonberg@adacore.com>
Emmanuel Briot <briot@adacore.com>
* lib-xref.adb (Output_Overridden_Op): Display information on
overridden operation.
* lib-xref.ads: Add documentation on overridden operations.
* ali.ads (Xref_Entity_Record): Add support for storing the overriding
information.
* ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
overriding entity information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103871
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:55:17 +0000 (07:55 +0000)]
2005-09-01 Vincent Celier <celier@adacore.com>
* lib-writ.adb: Update Copyright notice
(Write_With_Lines): On platforms where file names are case-insensitive,
record the file names in lower case.
(Write_ALI): For D lines, on platforms where file names are
case-insensitive, record the file names in lower case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103870
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:55:06 +0000 (07:55 +0000)]
2005-09-01 Gary Dismukes <dismukes@adacore.com>
Robert Dewar <dewar@adacore.com>
Hristian Kirtchev <kirtchev@adacore.com>
* layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
Result_Definition.
* par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
function specs.
Call Set_Result_Definition instead of Set_Subtype_Mark.
(P_Subprogram_Specification): Add parsing of anonymous access result
plus null exclusions. Call Set_Result_Definition instead of
Set_Subtype_Mark.
* par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
(P_Access_Type_Definition): Add parsing for an anonymous access result
subtype, plus parsing for null exclusions. Call Set_Result_Definition
instead of Set_Subtype_Mark.
* sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
(Null_Exclusion_Present): Allow this flag for N_Function_Specification.
(Result_Definition): New function for N_Function_Specifications.
(Subtype_Mark): No longer allowed for N_Access_Function_Definition and
N_Function_Specification.
(Set_Null_Exclusion_Present): Allow this flag for
N_Function_Specification.
(Set_Result_Definition): New procedure for N_Function_Specifications.
(Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
and N_Function_Specification.
* sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
Add support for LIMITED NEW for Ada 2005 AI-419
Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
syntax for anonymous access results.
Replace Subtype_Mark field by Result_Definition in
N_Function_Specification and N_Access_Definition specs.
Add Null_Exclusion_Present to spec of N_Function_Specification.
(Result_Definition): New function for N_Function_Specification and
N_Access_Function_Definition.
(Set_Result_Definition): New procedure for N_Function_Specification and
N_Access_Function_Definition.
* sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
Result_Definition for cases of N_Access_Function_Definition and
N_Function_Specification.
Print "not null" if Null_Exclusion_Present on N_Function_Specification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103869
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:54:48 +0000 (07:54 +0000)]
2005-09-01 Javier Miranda <miranda@adacore.com>
* itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
that given an entity T creates and returns an Itype that duplicates the
contents of T. The returned Itype has the null-exclusion
attribute set to True, and its Etype attribute references T
to keep the association between the two entities.
Update copyright notice
* sem_aggr.adb (Check_Can_Never_Be_Null,
Aggregate_Constraint_Checks, Resolve_Aggregate,
Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
* sem_ch5.adb (Analyze_Assignment): Code cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103868
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:54:36 +0000 (07:54 +0000)]
2005-09-01 Laurent Pautet <pautet@adacore.com>
* g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
position set is provided, we compute one in order to reduce the maximum
length of the keys. This computation first selects a character
position between 1 and the minimum length of the keys in order to
avoid reducing one of the keys to an empty string.
(Initialize, Compute): When the ratio V to K is too low, the algorithm
does not converge. The initialization procedure now comes with a
maximum number of iterations such that when exceeded, an exception is
raised in Compute. The user can initialize this ratio to another value
and try again
Reformating and updated headers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103867
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:54:22 +0000 (07:54 +0000)]
2005-09-01 Jerome Lambourg <lambourg@adacore.com>
* g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
(Free): New deallocation procedure for filter elements
(Close): Deallocate any existing filter for the concerned connection
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103866
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 5 Sep 2005 07:54:12 +0000 (07:54 +0000)]
2005-09-01 Robert Dewar <dewar@adacore.com>
* exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
packed arrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103865
138bc75d-0d04-0410-961f-
82ee72b054a4