gcc.git
16 years agoi386.md (absneg): New code iterator.
Uros Bizjak [Thu, 10 Apr 2008 17:58:54 +0000 (19:58 +0200)]
i386.md (absneg): New code iterator.

        * config/i386/i386.md (absneg): New code iterator.
        (absnegprefix): New code attribute.
        (<code><mode>2): Macroize expander from abs<mode>2 and neg<mode>2
        patterns using absneg code iterator.
        (<code>tf2): Macroize expander from abstf2 and negtf2 patterns
        using absneg code iterator.
        (*<code><mode>2_1): Macroize insn pattern from *abs<mode>2_1 and
        *neg<mode>2 patterns using absneg code iterator.
        (*<code>extendsfdf2): Macroize insn pattern from *absextendsfdf2 and
        *negextendsfdf2 patterns using absneg code iterator.
        (*<code>extendsfxf2): Macroize insn pattern from *absextendsfxf2 and
        *negextendsfxf2 patterns using absneg code iterator.
        (*<code>extendsfdf2): Macroize insn pattern from *absextendsfdf2 and
        *negextendsfdf2 patterns using absneg code iterator.
        * config/i386/sse.md (<code><mode>2): Macroize expander from
        abs<mode>2 and neg<mode>2 patterns using absneg code iterator.

From-SVN: r134165

16 years agos390.h: Remove the remains of the recent search & replace action of...
Andreas Krebbel [Thu, 10 Apr 2008 16:14:51 +0000 (16:14 +0000)]
s390.h: Remove the remains of the recent search & replace action of...

2008-04-10  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.h: Remove the remains of the recent search
& replace action of current_function_outgoing_args_size.

From-SVN: r134164

16 years agore PR tree-optimization/35821 (Internal compiler error: segmentation fault)
Ira Rosen [Thu, 10 Apr 2008 05:51:59 +0000 (05:51 +0000)]
re PR tree-optimization/35821 (Internal compiler error: segmentation fault)

PR tree-optimization/35821
* tree-vect-transform.c (vect_create_data_ref_ptr): Add check that
NEW_STMT_LIST is not NULL.

From-SVN: r134162

16 years agoDaily bump.
GCC Administrator [Thu, 10 Apr 2008 00:17:52 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134157

16 years agore PR testsuite/34894 (Some compile tests require trampolines even when the target...
Andy Hutchinson [Wed, 9 Apr 2008 23:58:39 +0000 (23:58 +0000)]
re PR testsuite/34894 (Some compile tests require trampolines even when the target sets no_trampolines)

2008-04-09  Andy Hutchinson  <hutchinsonandy@aim.com>

PR testsuite/34894
PR testsuite/33782
* lib/target-supports.dg: Add check_effective_target_trampolines.
Disable profiling for avr-*-*.
* gcc.c-torture/compile/pr27889.c: dg-requires trampolines.
* gcc.c-torture/compile/nested-1.c: Ditto.
* gcc.c-torture/compile/20050122-2.c: Ditto.
* gcc.c-torture/compile/20010226-1.c: Ditto.
* gcc.c-torture/compile/20010327-1.c:  Skip for avr-*-*.
* gcc.c-torture/compile/980506-1.c: Ditto.
* gcc.c-torture/compile/20020604-1.c: Ditto.
* gcc.c-torture/compile/limits-stringlit.c: Ditto
* gcc.c-torture/compile/20001226-1.c: Ditto

From-SVN: r134153

16 years agore PR c++/35708 (jump to label enters catch block)
Jason Merrill [Wed, 9 Apr 2008 16:15:53 +0000 (12:15 -0400)]
re PR c++/35708 (jump to label enters catch block)

        PR c++/35708
        * semantics.c (finish_compound_literal): Return a TARGET_EXPR,
        not a pushed variable.

From-SVN: r134146

16 years agore PR libstdc++/35597 (libstdc++ -ffunction-sections -fdata-sections disabled on...
David Edelsohn [Wed, 9 Apr 2008 14:41:07 +0000 (14:41 +0000)]
re PR libstdc++/35597 (libstdc++ -ffunction-sections -fdata-sections disabled on AIX)

        PR libstdc++/35597
        * toplev.c (process_options): Remove -ffunction-sections debugging
        warning.

From-SVN: r134143

16 years agore PR ada/28305 (GNAT bug when inlining instance of a generic subprogram)
Samuel Tardieu [Wed, 9 Apr 2008 14:21:18 +0000 (14:21 +0000)]
re PR ada/28305 (GNAT bug when inlining instance of a generic subprogram)

    gcc/ada/
PR ada/28305
* sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
environment if generic instance is a top-level one.

    gcc/testsuite/
PR ada/28305
* gnat.dg/specs/fe_inlining.ads, gnat.dg/specs/fe_inlining_helper.ads,
gnat.dg/specs/fe_inlining_helper.adb: New test.

From-SVN: r134142

16 years agoPR middle-end/PR28690
Peter Bergner [Wed, 9 Apr 2008 13:42:43 +0000 (08:42 -0500)]
PR middle-end/PR28690

PR middle-end/PR28690
* explow.c (break_out_memory_refs): Use simplify_gen_binary rather
than gen_rtx_fmt_ee to perform more canonicalizations.

From-SVN: r134139

16 years agofp-int-convert.h: Use TImode type for x86_64-pc-mingw target.
Kai Tietz [Wed, 9 Apr 2008 09:47:22 +0000 (09:47 +0000)]
fp-int-convert.h: Use TImode type for x86_64-pc-mingw target.

2008-04-09  Kai Tietz  <kai.tietz@onevision.com>

* gcc.dg/torture/fp-int-convert.h: Use TImode type for
x86_64-pc-mingw target.
* gcc.dg/titype-1.c: Likewise.

From-SVN: r134135

16 years agotarget-supports.exp (check_effective_target_vxworks_kernel): Fix comment.
Richard Sandiford [Wed, 9 Apr 2008 09:13:23 +0000 (09:13 +0000)]
target-supports.exp (check_effective_target_vxworks_kernel): Fix comment.

* lib/target-supports.exp (check_effective_target_vxworks_kernel):
Fix comment.
(check_effective_target_vxworks_rtp): New procedure.
* g++.dg/opt/20050511-1.C: Rename UINT32 for VxWorks kernel mode.
* g++.dg/warn/miss-format-1.C: XFAIL for VxWorks.
* g++.old-deja/g++.abi/cxa_vec.C: XFAIL for VxWorks kernels.
* g++.old-deja/g++.brendan/new3.C: Likewise.
* g++.old-deja/g++.eh/badalloc1.C: XFAIL for VxWorks RTPs.
* g++.old-deja/g++.law/missed-error2.C: Undefine max for
VxWorks kernel mode.
* g++.old-deja/g++.mike/init1.C: XFAIL for VxWorks kernel mode.
* g++.old-deja/g++.mike/p2736.C: Likewise.
* g++.old-deja/g++.mike/p658.C: Undefine OK for VxWorks kernel mode.
* g++.old-deja/g++.other/headers1.C: Likewise min and max.
* g++.old-deja/g++.robertl/eb79.C: Undefine max for VxWorks
kernel mode.

From-SVN: r134134

16 years agolist_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
Jakub Jelinek [Wed, 9 Apr 2008 09:00:31 +0000 (11:00 +0200)]
list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.

* io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
(nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
recursive call.  Use snprintf instead of sprintf when %s nl->var_name
is used.
(nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
nml_read_obj call.  Use snprintf instead of sprintf when %s
nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
of parse_err_msg array.  Append " for namelist variable " and
nl->var_name to it.
(namelist_read): Increase size of nml_err_msg array to 200.  Pass
sizeof nml_err_msg as extra argument to nml_get_obj_data.

* gfortran.dg/namelist_47.f90: New test.

From-SVN: r134132

16 years agodecl.c (validate_size): Set minimum size for fat pointers same as access types.
Doug Rupp [Wed, 9 Apr 2008 07:29:49 +0000 (07:29 +0000)]
decl.c (validate_size): Set minimum size for fat pointers same as access types.

2008-04-09  Doug Rupp  <rupp@adacore.com>

* decl.c (validate_size): Set minimum size for fat pointers same as
access types. Code clean ups.

* gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
(__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS

* s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant

* s-crtl.ads (malloc32) New function, alias for malloc
(realloc32) New function, alias for realloc

* socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS

* utils2.c (build_call_alloc_dealloc): Return call to short malloc if
allocator size is 32 and default pointer size is 64.
(find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
lhs type if smaller, whatever the modes.

* gigi.h (malloc32_decl): New macro definition

* utils.c (init_gigi_decls): New malloc32_decl
Various code clean ups.

* s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
Task_Address vice System.Address.

* s-taspri-vms.ads: Import System.Aux_DEC
(Task_Address): New subtype of System.Aux_DEC.Short_Address
(Task_Address_Size): New constant size of System.Aux_DEC.Short_Address

* s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
Task_Address vice System.Address.

* s-inmaop-vms.adb: Import System.Task_Primitives
(To_Address): Unchecked convert to Task_Address vice System.Address

* s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
expires now.
(To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
(To_Address) Unchecked convert to Task_Address vice System.Address

* s-tpopde-vms.adb: Remove unnecessary warning pragmas

* g-socthi-vms.ads: Add 32bit size clauses on socket access types.

From-SVN: r134131

16 years agocall.c (build_op_delete_call): Fix quotation in warning message.
Volker Reichelt [Wed, 9 Apr 2008 06:44:59 +0000 (06:44 +0000)]
call.c (build_op_delete_call): Fix quotation in warning message.

* call.c (build_op_delete_call): Fix quotation in warning message.
* decl.c (grokdeclarator): Quote keyword in error message.
* pt.c (check_for_bare_parameter_packs): Fix quotation in error
message.

From-SVN: r134130

16 years agoparser.c (cp_parser_check_type_definition): Print error string directly rather than...
Volker Reichelt [Wed, 9 Apr 2008 06:42:55 +0000 (06:42 +0000)]
parser.c (cp_parser_check_type_definition): Print error string directly rather than using "%s".

* parser.c (cp_parser_check_type_definition): Print error string
directly rather than using "%s".
(cp_parser_postfix_expression): Fix quotation.
(cp_parser_decltype): Likewise.
(cp_parser_sizeof_operand): Fix quotation. Simplify.

From-SVN: r134129

16 years agoparser.c (cp_parser_non_integral_constant_expression): Build error message with CONCA...
Volker Reichelt [Wed, 9 Apr 2008 06:40:38 +0000 (06:40 +0000)]
parser.c (cp_parser_non_integral_constant_expression): Build error message with CONCAT rather than using "%s".

* parser.c (cp_parser_non_integral_constant_expression): Build error
message with CONCAT rather than using "%s".
(cp_parser_primary_expression): Fix quotation.
(cp_parser_postfix_expression): Likewise.
(cp_parser_postfix_dot_deref_expression): Likewise.
(cp_parser_unary_expression): Likewise.
(cp_parser_new_expression): Likewise.
(cp_parser_delete_expression): Likewise.

From-SVN: r134128

16 years agoparser.c (cp_parser_asm_specification_opt): Print CPP_CLOSE_PAREN as `)', not as...
Volker Reichelt [Wed, 9 Apr 2008 06:37:30 +0000 (06:37 +0000)]
parser.c (cp_parser_asm_specification_opt): Print CPP_CLOSE_PAREN as `)', not as `('.

* parser.c (cp_parser_asm_specification_opt): Print CPP_CLOSE_PAREN
as `)', not as `('.  Fix quotation.
(cp_parser_consume_semicolon_at_end_of_statement): Fix quotation.
(cp_parser_primary_expression): Likewise.
(cp_parser_nested_name_specifier_opt): Likewise.
(cp_parser_postfix_expression): Likewise.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_pseudo_destructor_name): Likewise.
(cp_parser_new_expression): Likewise.
(cp_parser_direct_new_declarator): Likewise.
(cp_parser_delete_expression): Likewise.
(cp_parser_cast_expression): Likewise.
(cp_parser_question_colon_clause): Likewise.
(cp_parser_builtin_offsetof): Likewise.
(cp_parser_trait_expr): Likewise.
(cp_parser_label_for_labeled_statement): Likewise.
(cp_parser_compound_statement): Likewise.
(cp_parser_selection_statement): Likewise.
(cp_parser_condition): Likewise.
(cp_parser_iteration_statement): Likewise.
(cp_parser_already_scoped_statement): Likewise.
(cp_parser_simple_declaration): Likewise.
(cp_parser_linkage_specification): Likewise.
(cp_parser_static_assert): Likewise.
(cp_parser_decltype): Likewise.
(cp_parser_conversion_function_id): Likewise.
(cp_parser_operator_function_id): Likewise.
(cp_parser_operator): Likewise.
(cp_parser_type_parameter): Likewise.
(cp_parser_template_id): Likewise.
(cp_parser_explicit_instantiation): Likewise.
(cp_parser_explicit_specialization): Likewise.
(cp_parser_enum_specifier): Likewise.
(cp_parser_namespace_definition): Likewise.
(cp_parser_namespace_alias_definition): Likewise.
(cp_parser_using_declaration): Likewise.
(cp_parser_using_directive): Likewise.
(cp_parser_asm_definition): Likewise.
(cp_parser_direct_declarator): Likewise.
(cp_parser_ptr_operator): Likewise.
(cp_parser_parameter_declaration_clause): Likewise.
(cp_parser_initializer_clause): Likewise.
(cp_parser_class_specifier): Likewise.
(cp_parser_member_specification_opt): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_parser_pure_specifier): Likewise.
(cp_parser_constant_initializer): Likewise.
(cp_parser_base_clause): Likewise.
(cp_parser_exception_specification_opt): Likewise.
(cp_parser_try_block): Likewise.
(cp_parser_function_try_block): Likewise.
(cp_parser_handler): Likewise.
(cp_parser_throw_expression): Likewise.
(cp_parser_asm_operand_list): Likewise.
(cp_parser_attributes_opt): Likewise.
(cp_parser_label_declaration): Likewise.
(cp_parser_constructor_declarator_p): Likewise.
(cp_parser_template_declaration_after_export): Likewise.
(cp_parser_single_declaration): Likewise.
(cp_parser_objc_message_expression): Likewise.
(cp_parser_objc_message_args): Likewise.
(cp_parser_objc_encode_expression): Likewise.
(cp_parser_objc_defs_expression): Likewise.
(cp_parser_objc_protocol_expression): Likewise.
(cp_parser_objc_selector_expression): Likewise.
(cp_parser_objc_protocol_refs_opt): Likewise.
(cp_parser_objc_typename): Likewise.
(cp_parser_objc_method_keyword_params): Likewise.
(cp_parser_objc_superclass_or_category): Likewise.
(cp_parser_objc_try_catch_finally_statement): Likewise.
(cp_parser_objc_synchronized_statement): Likewise.
(cp_parser_objc_throw_statement): Likewise.
(cp_parser_omp_var_list_no_open): Likewise.
(cp_parser_omp_clause_default): Likewise.
(cp_parser_omp_clause_if): Likewise.
(cp_parser_omp_clause_num_threads): Likewise.
(cp_parser_omp_clause_reduction): Likewise.
(cp_parser_omp_clause_schedule): Likewise.
(cp_parser_omp_critical): Likewise.
(cp_parser_omp_for_loop): Likewise.
(cp_parser_omp_sections_scope): Likewise.

From-SVN: r134127

16 years ago* parser.c (cp_parser_template_parameter_list): Simplify.
Volker Reichelt [Wed, 9 Apr 2008 06:32:45 +0000 (06:32 +0000)]
* parser.c (cp_parser_template_parameter_list): Simplify.

From-SVN: r134126

16 years agoDaily bump.
GCC Administrator [Wed, 9 Apr 2008 00:17:25 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r134120

16 years agore PR driver/35665 (FAIL: gfortran.dg/include_2.f90 -O (test for excess error))
John David Anglin [Wed, 9 Apr 2008 00:11:58 +0000 (00:11 +0000)]
re PR driver/35665 (FAIL: gfortran.dg/include_2.f90  -O  (test for excess error))

PR driver/35665
* collect2.c (write_c_file): Don't wrap in "#ifdef __cplusplus".

From-SVN: r134116

16 years agotree-cfg.c (verify_stmt): Print complete bogus stmt.
Richard Guenther [Tue, 8 Apr 2008 22:26:01 +0000 (22:26 +0000)]
tree-cfg.c (verify_stmt): Print complete bogus stmt.

2008-04-09  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_stmt): Print complete bogus stmt.
(dump_function_to_file): Dump function arguments with types.

* gfortran.dg/bind_c_usage_14.f03: Adjust.

From-SVN: r134115

16 years agore PR testsuite/35005 (New testcase execute/20071211-1.c assumes 32 bit integers)
Andy Hutchinson [Tue, 8 Apr 2008 22:17:52 +0000 (22:17 +0000)]
re PR testsuite/35005 (New testcase execute/20071211-1.c assumes 32 bit integers)

PR target/35005
* execute/20071221-1.c: Adapt test for 16 bit int targets.
* execute/pr35163.c: Ditto.

From-SVN: r134114

16 years agofold-const.c (fold_widened_comparison): Do not allow sign-changes that change the...
Richard Guenther [Tue, 8 Apr 2008 21:57:43 +0000 (21:57 +0000)]
fold-const.c (fold_widened_comparison): Do not allow sign-changes that change the result.

2008-04-08  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_widened_comparison): Do not allow
sign-changes that change the result.

* gcc.c-torture/execute/20080408-1.c: New testcase.

From-SVN: r134108

16 years agore PR target/35839 (Altivec with the vectorizer causes an ICE in rs6000_check_sdmode)
Janis Johnson [Tue, 8 Apr 2008 21:17:16 +0000 (21:17 +0000)]
re PR target/35839 (Altivec with the vectorizer causes an ICE in rs6000_check_sdmode)

PR target/35839
* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional
kinds of indirect references.

From-SVN: r134107

16 years agors6000.c (rs6000_output_function_epilogue): Update GNU Fortran language string.
David Edelsohn [Tue, 8 Apr 2008 21:05:41 +0000 (21:05 +0000)]
rs6000.c (rs6000_output_function_epilogue): Update GNU Fortran language string.

        * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update
        GNU Fortran language string.

From-SVN: r134106

16 years agofold-canst.c (tree_call_nonnegative_warnv_p): New.
Rafael Avila de Espindola [Tue, 8 Apr 2008 18:25:09 +0000 (18:25 +0000)]
fold-canst.c (tree_call_nonnegative_warnv_p): New.

2008-04-08  Rafael Espindola  <espindola@google.com>

* fold-canst.c (tree_call_nonnegative_warnv_p): New.
(tree_invalid_nonnegative_warnv_p): Use tree_call_nonnegative_warnv_p.
* tree.h (tree_call_nonnegative_warnv_p): New.

From-SVN: r134102

16 years agogigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
Eric Botcazou [Tue, 8 Apr 2008 18:12:53 +0000 (18:12 +0000)]
gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.

* gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
(fdesc_type_node): Define.
(null_fdesc_node): Likewise.
* decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
uses descriptors for vtables and the type comes from a dispatch table,
return the descriptor type.
* trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
uses descriptors for vtables and the type comes from a dispatch table,
build a descriptor in the static case and copy the existing one in the
non-static case.
(gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
the type is a pointer-to-subprogram coming from a dispatch table,
return the null descriptor.
<N_Unchecked_Type_Conversion>: If the target uses descriptors for
vtables, the source type is the descriptor type and the target type
is a pointer type, first build the pointer.
* utils.c (init_gigi_decls): If the target uses descriptors for vtables
build the descriptor type and the null descriptor.

From-SVN: r134101

16 years agofunction.c (free_after_compilation): Clear out regno_reg_rtx pointer.
Jan Hubicka [Tue, 8 Apr 2008 16:33:46 +0000 (18:33 +0200)]
function.c (free_after_compilation): Clear out regno_reg_rtx pointer.

* function.c (free_after_compilation): Clear out regno_reg_rtx
pointer.

From-SVN: r134097

16 years agoRevert
Peter Bergner [Tue, 8 Apr 2008 14:40:27 +0000 (09:40 -0500)]
Revert
2008-04-07  Peter Bergner  <bergner@vnet.ibm.com>

PR middle-end/PR28690
* rtlanal.c: (commutative_operand_precedence): Give SYMBOL_REF's the
same precedence as REG_POINTER and MEM_POINTER operands.

From-SVN: r134095

16 years agodecl.c (prepend_attributes): Fix typo.
Eric Botcazou [Tue, 8 Apr 2008 12:48:53 +0000 (12:48 +0000)]
decl.c (prepend_attributes): Fix typo.

* decl.c (prepend_attributes): Fix typo.
* trans.c (Pragma_to_gnu): Likewise.
* utils.c (gnat_genericize): Likewise.

From-SVN: r134094

16 years agoada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
Eric Botcazou [Tue, 8 Apr 2008 12:25:49 +0000 (12:25 +0000)]
ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.

* ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
* decl.c (gnat_to_gnu_entity): Adjust for above change.
<E_Record_Type>: Try to get a better form of the component for
packing, even if it has an integral mode.
<E_Record_Subtype>: Likewise.
* trans.c (gnat_to_gnu): Do not require BLKmode for the special
exception suppressing the final conversion between record types.

Co-Authored-By: Richard Kenner <kenner@adacore.com>
From-SVN: r134093

16 years agodecl.c (gnat_to_gnu_entity): If -gnatd.a and not optimizing alignment for space...
Eric Botcazou [Tue, 8 Apr 2008 11:41:59 +0000 (11:41 +0000)]
decl.c (gnat_to_gnu_entity): If -gnatd.a and not optimizing alignment for space...

* decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
alignment for space, promote the alignment of non-scalar variables with
no size and alignment.
* gigi.h (gnat_types_compatible_p): Declare.
* misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
* trans.c (gnat_to_gnu): Revert revision 129339 change.  Minor cleanup.
* utils.c (gnat_types_compatible_p) : New predicate.
(convert): Use it throughout to test for cases where a mere view
conversion is sufficient.
* utils2.c (build_binary_op): Minor tweaks.
(build_unary_op): Likewise.

From-SVN: r134092

16 years agodecl.c (adjust_packed): Expand comment.
Eric Botcazou [Tue, 8 Apr 2008 10:34:15 +0000 (10:34 +0000)]
decl.c (adjust_packed): Expand comment.

* decl.c (adjust_packed): Expand comment.

From-SVN: r134091

16 years agore PR tree-optimization/35834 (building libiberty fails in build2_stat for -mcpu...
Richard Guenther [Tue, 8 Apr 2008 09:53:52 +0000 (09:53 +0000)]
re PR tree-optimization/35834 (building libiberty fails in build2_stat for -mcpu=m32c as of r133403)

2008-04-08  Richard Guenther  <rguenther@suse.de>

PR middle-end/35834
* tree-ssa-address.c (create_mem_ref): Use POINTER_PLUS_EXPR
for adding index to base.

From-SVN: r134090

16 years agoEnable trampoline code for nx-protected stack Windows.
Kai Tietz [Tue, 8 Apr 2008 09:38:15 +0000 (09:38 +0000)]
Enable trampoline code for nx-protected stack Windows.

* config/i386/mingw32.h (ENABLE_EXECUTE_STACK): New.
(MINGW_ENABLE_EXECUTE_STACK): New.
(IN_LIBGCC2): For libgcc include windows.h file for
function declarations.

From-SVN: r134089

16 years agocris.c (cris_address_cost): For a PLUS, swap tem1 and tem2 if tem1 is not a REG or...
Hans-Peter Nilsson [Tue, 8 Apr 2008 09:04:04 +0000 (09:04 +0000)]
cris.c (cris_address_cost): For a PLUS, swap tem1 and tem2 if tem1 is not a REG or MULT.

* config/cris/cris.c (cris_address_cost): For a PLUS, swap tem1
and tem2 if tem1 is not a REG or MULT.

From-SVN: r134088

16 years agofunction.h (incomming_args): Break out of struct function.
Jan Hubicka [Tue, 8 Apr 2008 08:59:34 +0000 (10:59 +0200)]
function.h (incomming_args): Break out of struct function.

* function.h (incomming_args): Break out of struct function.
(function_subsections): Break out of struct function.
(rtl_data): Add args, subsections fields. Break out outgoing_args_size,
return_rtx and hard_reg_initial_vals from struct function.
Kill inl_max_label_num.
(current_function_pops_args, current_function_args_info,
current_function_args_size, current_function_args_size,
current_function_pretend_args_size,
current_function_outgoing_args_size,
current_function_internal_arg_pointer, current_function_return_rtx):
Kill compatibility accestor macros.
* builtins.c (expand_builtin_apply_args_1): Update.
(expand_builtin_next_arg): Update.
* df-scan.c (df_get_call_refs): Update.
* dbxout.c (dbxout_function_end): Update.
* dwarf2out.c (dwarf2out_switch_text_section): Update.
(output_line_info): Update.
(secname_for_decl): Update.
(dwarf2out_var_location): Update.
* function.c (free_after_compilation): Update.
(assign_parm_find_stack_rtl): Update.
(assign_parms): Update.
(expand_dummy_function_end): Update.
(expand_function_end): Update.
* calls.c (mem_overlaps_already_clobbered_arg_p): Update.
(expand_call): Update.
(emit_library_call_value_1): Update.
(store_one_arg): Update.
* varasm.c (initialize_cold_section_name): Update.
(unlikely_text_section): Update.
(unlikely_text_section_p): Update.
(assemble_start_function): Update.
(assemble_end_function): Update.
(default_section_type_flags): Update.
(switch_to_section): Update.
* integrate.c (set_decl_abstract_flags): Update.
(get_hard_reg_initial_val): Update.
(has_hard_reg_initial_val): Update.
(allocate_initial_values): Update.
* resource.c (init_resource_info): Update.
* config/alpha/alpha.c (NUM_ARGS): Update.
(direct_return): Update.
(alpha_va_start): Update.
(alpha_sa_size): Update.
(alpha_initial_elimination_offset): Update.
(alpha_expand_prologue): Update.
(alpha_start_function): Update.
(alpha_expand_epilogue): Update.
(unicosmk_initial_elimination_offset):
* config/alpha/alpha.md (call expander): Update.
* config/s390/s390.c (s390_register_info): Update.
(s390_register_info): Update.
(s390_frame_info): Update.
(s390_initial_elimination_offset): Update.
(s390_build_builtin_va_list): Update.
(s390_va_start): Update.
* config/spu/spu.c (direct_return): Update.
(spu_expand_prologue): Update.
(spu_initial_elimination_offset): Update.
(spu_build_builtin_va_list): Update.
(spu_va_start): Update.
* config/sparc/sparc.c (sparc_init_modes): Update.
(sparc_compute_frame_size): Update.
(function_value): Update.
* config/m32r/m32r.c (m32r_compute_frame_size): Update.
* config/i386/i386.md (return expander): Update.
* config/i386/i386.c (ix86_va_start): Update.
(ix86_can_use_return_insn_p): Update.
(ix86_compute_frame_layout): Update.
(ix86_expand_epilogue): Update.
* config/sh/sh.c (output_stack_adjust): Update.
(calc_live_regs): Update.
(sh_expand_prologue): Update.
(sh_builtin_saveregs): Update.
(sh_va_start): Update.
(initial_elimination_offset): Update.
(sh_allocate_initial_value): Update.
(sh_function_ok_for_sibcall): Update.
(sh_get_pr_initial_val): Update.
* config/sh/sh.md (return expander): Update.
* config/avr/avr.c (frame_pointer_required_p): UPdate.
* config/crx/crx.c (crx_compute_frame): UPdate.
(crx_initial_elimination_offset): UPdate.
* config/xtensa/xtensa.c (compute_frame_size): Update
(xtensa_builtin_saveregs): Update.
(xtensa_va_start): Update.
(order_regs_for_local_alloc): Update.
* config/stormy16/stormy16.c (xstormy16_compute_stack_layout): Update.
(xstormy16_expand_builtin_va_start): Update.
* config/fr30/fr30.c (fr30_compute_frame_size): Update.
* config/m68hc11/m68hc11.md (return expanders): Update.
* config/m68hc11/m68hc11.c (expand_prologue): Update.
(expand_epilogue): Update.
* config/cris/cris.c (cris_initial_frame_pointer_offset): Update.
(cris_simple_epilogue): Update.
(cris_expand_prologue): Update.
(cris_expand_epilogue): Update.
* config/iq2000/iq2000.c (iq2000_va_start): Update.
(compute_frame_size): Update.
* config/mt/mt.c (mt_compute_frame_size): Update.
* config/mn10300/mn10300.c (expand_prologue): Update.
(expand_epilogue): Update.
(initial_offset): Update.
(mn10300_builtin_saveregs):
* config/mn10300/mn10300.md (return expander): Update.
* config/ia64/ia64.c (ia64_compute_frame_size): Update.
(ia64_initial_elimination_offset): Update.
(ia64_initial_elimination_offset): Update.
(ia64_expand_prologue): Update.
* config/m68k/m68k.md (return expander): Update.
* config/rs6000/rs6000.c (rs6000_va_start): Update.
(rs6000_stack_info): Update.
* config/mcore/mcore.c (layout_mcore_frame): Update.
(mcore_expand_prolog): Update.
* config/arc/arc.c (arc_compute_frame_size): Update.
* config/score/score3.c (score3_compute_frame_size): Update.
* config/score/score7.c (score7_compute_frame_size): Update.
* config/arm/arm.c (use_return_insn): Update.
(thumb_find_work_register): Update.
(arm_compute_save_reg_mask): Update.
(arm_output_function_prologue): Update.
(arm_output_epilogue): Update.
(arm_size_return_regs): Update.
(arm_get_frame_offsets): Update.
(arm_expand_prologue): Update.
(thumb_exit): Update.
(thumb_unexpanded_epilogue): Update.
(thumb1_output_function_prologue): Update.
* config/pa/pa.md (return expander): Update.
* config/pa/pa.c (compute_frame_size): Update.
(hppa_builtin_saveregs): Update.
* config/mips/mips.c (mips_va_start): Update.
(mips16_build_function_stub): Update.
(mips_compute_frame_info): Update.
(mips_restore_gp): Update.
(mips_output_function_prologue): Update.
(mips_expand_prologue): Update.
* config/v850/v850.c (compute_frame_size): Update.
(expand_prologue): * config/mmix/mmix.c (along): update.
(mmix_initial_elimination_offset): update.
(mmix_reorg): update.
(mmix_use_simple_return): update.
(mmix_expand_prologue): update.
(mmix_expand_epilogue): Update.
* config/bfin/bfin.c (bfin_initial_elimination_offset): Update.
(emit_link_insn): Update.

From-SVN: r134087

16 years agoparent_ltd_with-child_full_view.adb: New test.
Arnaud Charlet [Tue, 8 Apr 2008 07:24:09 +0000 (09:24 +0200)]
parent_ltd_with-child_full_view.adb: New test.

* gnat.dg/parent_ltd_with-child_full_view.adb: New test.
* gnat.dg/rt1.adb: New test.
* gnat.dg/test_time_stamp.adb: New test.
* gnat.dg/specs/warn_star.ads: New test.
* gnat.dg/specs/aggr1.ads: New test.

From-SVN: r134086

16 years agoparent_ltd_with-child_full_view.adb: New test.
Arnaud Charlet [Tue, 8 Apr 2008 07:22:13 +0000 (09:22 +0200)]
parent_ltd_with-child_full_view.adb: New test.

* gnat.dg/parent_ltd_with-child_full_view.adb: New test.
* gnat.dg/rt1.adb: New test.
* gnat.dg/test_time_stamp.adb: New test.
* gnat.dg/specs/warn_star.ads: New test.
* gnat.dg/specs/aggr1.ads: New test.

From-SVN: r134085

16 years agoResync.
Arnaud Charlet [Tue, 8 Apr 2008 07:21:51 +0000 (09:21 +0200)]
Resync.

From-SVN: r134084

16 years agoRemoved.
Arnaud Charlet [Tue, 8 Apr 2008 07:19:28 +0000 (09:19 +0200)]
Removed.

From-SVN: r134083

16 years agoUpdate comments.
Arnaud Charlet [Tue, 8 Apr 2008 07:18:13 +0000 (09:18 +0200)]
Update comments.

Minor reformatting.

From-SVN: r134082

16 years agoNew file.
Arnaud Charlet [Tue, 8 Apr 2008 07:16:54 +0000 (09:16 +0200)]
New file.

From-SVN: r134081

16 years agoChange name In_Default_Expression => In_Spec_Expression Change name...
Arnaud Charlet [Tue, 8 Apr 2008 07:15:25 +0000 (09:15 +0200)]
Change name In_Default_Expression => In_Spec_Expression Change name...

Change name In_Default_Expression      => In_Spec_Expression
Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve

From-SVN: r134080

16 years ago(Task_Address): New subtype of System.Address
Arnaud Charlet [Tue, 8 Apr 2008 07:13:49 +0000 (09:13 +0200)]
(Task_Address): New subtype of System.Address

(Task_Address): New subtype of System.Address
(Task_Address_Size): New constant size of System.Address
(Alternate_Stack_Size): New constant.

From-SVN: r134079

16 years ago(Task_Address): New subtype
Arnaud Charlet [Tue, 8 Apr 2008 07:12:22 +0000 (09:12 +0200)]
(Task_Address): New subtype

(Task_Address): New subtype
(Task_Address_Size): New constant size of System.Address
(Alternate_Stack_Size): New constant.

From-SVN: r134078

16 years agoUse Task_Address.
Arnaud Charlet [Tue, 8 Apr 2008 07:10:44 +0000 (09:10 +0200)]
Use Task_Address.

From-SVN: r134077

16 years ago(Short_Address_Size): New constant.
Arnaud Charlet [Tue, 8 Apr 2008 07:09:06 +0000 (09:09 +0200)]
(Short_Address_Size): New constant.

From-SVN: r134076

16 years ago(Minimum_Stack_Size): Increase value to 16K
Arnaud Charlet [Tue, 8 Apr 2008 07:07:13 +0000 (09:07 +0200)]
(Minimum_Stack_Size): Increase value to 16K

From-SVN: r134075

16 years ago(malloc32, realloc32): New functions.
Arnaud Charlet [Tue, 8 Apr 2008 07:05:38 +0000 (09:05 +0200)]
(malloc32, realloc32): New functions.

From-SVN: r134074

16 years agoUpdate comments.
Arnaud Charlet [Tue, 8 Apr 2008 07:04:25 +0000 (09:04 +0200)]
Update comments.

From-SVN: r134073

16 years agoUpdate comments.
Arnaud Charlet [Tue, 8 Apr 2008 07:03:32 +0000 (09:03 +0200)]
Update comments.

From-SVN: r134072

16 years ago* makeutl.adb (Path_Or_File_Name): New function
Arnaud Charlet [Tue, 8 Apr 2008 07:02:32 +0000 (09:02 +0200)]
* makeutl.adb (Path_Or_File_Name): New function

From-SVN: r134071

16 years agoUse Task_Address instead of System.Address.
Arnaud Charlet [Tue, 8 Apr 2008 07:01:24 +0000 (09:01 +0200)]
Use Task_Address instead of System.Address.

From-SVN: r134070

16 years agoavr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_EIJMP_EICALL__ macro if...
Anatoly Sokolov [Tue, 8 Apr 2008 07:00:50 +0000 (11:00 +0400)]
avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_EIJMP_EICALL__ macro if...

* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define
__AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL
instructions.
* config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for
atmega103 device.

From-SVN: r134069

16 years agoResync.
Arnaud Charlet [Tue, 8 Apr 2008 07:00:08 +0000 (09:00 +0200)]
Resync.

From-SVN: r134068

16 years ago* Makefile.in: Remove handling of gnatbl.
Arnaud Charlet [Tue, 8 Apr 2008 06:58:58 +0000 (06:58 +0000)]
* Makefile.in: Remove handling of gnatbl.

From-SVN: r134067

16 years agobindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function...
Jerome Lambourg [Tue, 8 Apr 2008 06:58:12 +0000 (08:58 +0200)]
bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function...

2008-04-08  Jerome Lambourg  <lambourg@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
then use __gnat_set_exit_status to report the returned status code.

* comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
messages on .NET, since some constructs of the language are not
properly supported.

* gnatlink.adb (Gnatlink): In case the command line is too long for the
.NET linker, gnatlink now concatenate all .il files and pass this to
ilasm.

From-SVN: r134066

16 years agog-comlin.ads, [...] (Expansion): Remove unreachable return statement.
Emmanuel Briot [Tue, 8 Apr 2008 06:58:02 +0000 (08:58 +0200)]
g-comlin.ads, [...] (Expansion): Remove unreachable return statement.

2008-04-08  Emmanuel Briot  <briot@adacore.com>

* g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
statement.
(Get_Configuration): New subprogram.

* prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
These optional parameters help preserve the casing of the project's name
when pretty-printing.

From-SVN: r134065

16 years agobinde.adb (Gather_All_Links, [...]): units that are mentioned in limited_with_clauses...
Ed Schonberg [Tue, 8 Apr 2008 06:57:48 +0000 (08:57 +0200)]
binde.adb (Gather_All_Links, [...]): units that are mentioned in limited_with_clauses to do create semantic...

2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* binde.adb (Gather_All_Links, Gather_Dependencies): units that are
mentioned in limited_with_clauses to do create semantic dependencies
even though they appear in the ali file.

From-SVN: r134064

16 years agoimpunit.adb: Add Interfaces.Java.JNI...
Robert Dewar [Tue, 8 Apr 2008 06:57:39 +0000 (08:57 +0200)]
impunit.adb: Add Interfaces.Java.JNI...

2008-04-08  Robert Dewar  <dewar@adacore.com>
    Bob Duff  <duff@adacore.com>

* impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp

* s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly

* g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly

* g-trasym.ads: Minor comment improvements

* s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly

* a-sequio.ads, a-direio.ads: improve message for tagged type

* a-strunb.ads: Minor reformatting

* a-tifiio.adb: Minor reformatting

* atree.adb (Fix_Parents): Use clearer names for formals
Cleanup and simplify code
Use named notation in calls

* exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
confusing calls

* uintp.adb: Used named notation for some confusing calls

* bindusg.adb: Minor change in one line of output

* cstand.adb: Minor reformatting of src representation of Standard

* a-assert.ads: Add comment.

* g-decstr.adb: Fix bad indentation

* expander.ads, expander.adb: Code clean up.

* sem_dist.ads, sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting

* i-cstrin.adb: Fix casing error in formal parameter name in call

From-SVN: r134063

16 years agoctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
Eric Botcazou [Tue, 8 Apr 2008 06:57:27 +0000 (08:57 +0200)]
ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>

* ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
Minor reformatting.

From-SVN: r134062

16 years agogen-soccon.c: Bump year in copyright notices.
Thomas Quinot [Tue, 8 Apr 2008 06:57:18 +0000 (08:57 +0200)]
gen-soccon.c: Bump year in copyright notices.

2008-04-08  Thomas Quinot  <quinot@adacore.com>

* gen-soccon.c: Bump year in copyright notices.

* g-soccon-vxworks.ads: Add new constant IP_PKTINFO

From-SVN: r134061

16 years agovms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when AAMP_On_Target...
Vincent Celier [Tue, 8 Apr 2008 06:57:10 +0000 (08:57 +0200)]
vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when AAMP_On_Target is set.

2008-04-08  Vincent Celier  <celier@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
AAMP_On_Target is set.

* vms_data.ads: Add NOxxx to style check switch list
Add entry COMPONENTS for -gnatVe
Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
(/SUBDIRS=).
(GCC_Switches): Add /ALL_BACK_END_WARNINGS.
Add qualifiers for gnatmetric coupling options
Add note that -gnata enables all checks
Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
New warning flag -gnatw.e

* usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
Add entry for -gnatyN (forgotten before)
Line for new warning switch -gnatw.p
New warning flag -gnatw.e

* gnat_ugn.texi: Add documentation fpr project file switch -aP
Document -gnaty - + y
Replace occurences of "package specification" with "package spec"
Define preprocessing symbols in documentation of gnatprep
Clarify reason for distinguishing overflow checking
Add documentation for project-aware tool switches -eL and --subdirs=
Complete list of configuration pragmas
Specify that, even when gnatmake switch -x is used, mains on the command
line need to be sources of project files.
Editing of gnatcheck/gnatmetric doc.
Add documentation for -gnatw.p/-gnatw.P
Add missing documentation for -fno-inline-functions.
Add documentation for -gnatw.e

* gnat_rm.texi: Add documentation for No_Default_Initialization
Replace occurences of "package specification" with "package spec"
Document use of * in Warnings Off string
Update documentation of alignment/component clauses.
Add documentation for Invalid_Value
Document new consistency rule for Optimize_Alignment
Add documentation for Precondition and Postcondition pragmas
Add documentation for Check and Check_Policy pragmas
Document new Enum_Val attribute
Remove requirement for static string in pragma Assert
Add documentation on GNAT.Time_Stamp

* ug_words: add entry for -gnatVe
Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
Add entry for -gnatw.e

* debug.adb: Add missing documentation for d.a flag
Document new -gnatd.a switch.
Add documentation for new gnatmake debug switch -df

From-SVN: r134060

16 years agoa-direct.adb (Start_Search): Check for Name_Error before checking for Use_Error,...
Vincent Celier [Tue, 8 Apr 2008 06:56:58 +0000 (08:56 +0200)]
a-direct.adb (Start_Search): Check for Name_Error before checking for Use_Error, as specified in the RM.

2008-04-08  Vincent Celier  <celier@adacore.com>

* a-direct.adb (Start_Search): Check for Name_Error before checking for
Use_Error, as specified in the RM. Check if directory is open and raise
Use_Error if it is not.

From-SVN: r134059

16 years agovxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
Tristan Gingold [Tue, 8 Apr 2008 06:56:49 +0000 (08:56 +0200)]
vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.

2008-04-08  Tristan Gingold  <gingold@adacore.com>

* vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
Improve error message generation.

From-SVN: r134058

16 years agotypes.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
Bob Duff [Tue, 8 Apr 2008 06:56:36 +0000 (08:56 +0200)]
types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).

2008-04-08  Bob Duff  <duff@adacore.com>

* types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).

From-SVN: r134057

16 years agotree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux to the set of...
Sergey Rybin [Tue, 8 Apr 2008 06:56:27 +0000 (08:56 +0200)]
tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux to the set of the GNAT...

2008-04-08  Sergey Rybin  <rybin@adacore.com>

* tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
to the set of the GNAT components needed by ASIS.

From-SVN: r134056

16 years agostylesw.adb: Implement -gnaty + - y options
Robert Dewar [Tue, 8 Apr 2008 06:56:20 +0000 (08:56 +0200)]
stylesw.adb: Implement -gnaty + - y options

2008-04-08  Robert Dewar  <dewar@adacore.com>

* stylesw.adb: Implement -gnaty + - y options
(Set_GNAT_Style_Check_Options): Includ I in style check string

* stylesw.ads: Add comments for new style switch options

From-SVN: r134055

16 years agostyleg.adb (Check_Comment): Allow special char after -- in non-end-of-line case
Robert Dewar [Tue, 8 Apr 2008 06:56:09 +0000 (08:56 +0200)]
styleg.adb (Check_Comment): Allow special char after -- in non-end-of-line case

2008-04-08  Robert Dewar  <dewar@adacore.com>

* styleg.adb (Check_Comment): Allow special char after -- in
non-end-of-line case

From-SVN: r134054

16 years agostringt.adb (Write_String_Table_Entry): Handle wide characters properly
Robert Dewar [Tue, 8 Apr 2008 06:55:57 +0000 (08:55 +0200)]
stringt.adb (Write_String_Table_Entry): Handle wide characters properly

2008-04-08  Robert Dewar  <dewar@adacore.com>

* stringt.adb (Write_String_Table_Entry): Handle wide characters
properly

From-SVN: r134053

16 years agos-strxdr.adb, [...] (Block_IO_OK): New subprogram.
Hristian Kirtchev [Tue, 8 Apr 2008 06:55:45 +0000 (08:55 +0200)]
s-strxdr.adb, [...] (Block_IO_OK): New subprogram.

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

* s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
subprogram.
Add new subtype S_WWC, unchecked conversion routines From_WWC and
To_WWC.
(I_WWC, O_WWC): New routines for input and output of
Wide_Wide_Character.

From-SVN: r134052

16 years agos-stoele.ads, [...]: Move the location of Dummy_Communication_Block from System.Stora...
Hristian Kirtchev [Tue, 8 Apr 2008 06:55:36 +0000 (08:55 +0200)]
s-stoele.ads, [...]: Move the location of Dummy_Communication_Block from System.Storage_Elements to...

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

* s-stoele.ads, s-soflin.ads: Move the location of
Dummy_Communication_Block from System.Storage_Elements to
System.Soft_Links.

* s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
emulate Communication_Block in certain scenarios.

From-SVN: r134051

16 years agos-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with negative scale
Robert Dewar [Tue, 8 Apr 2008 06:55:17 +0000 (08:55 +0200)]
s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with negative scale

2008-04-08  Robert Dewar  <dewar@adacore.com>

* s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
negative scale
(Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
Properly handle case where Aft > Scale and input number is less than
one.

From-SVN: r134050

16 years agosem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for the ancestor...
Ed Schonberg [Tue, 8 Apr 2008 06:55:06 +0000 (08:55 +0200)]
sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for the ancestor part of an extension aggregate for a...

2008-04-08  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
the ancestor part of an extension aggregate for a limited type.
(Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
enumeration index bounds.
(Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
when array is too short.
(Check_Expr_OK_In_Limited_Aggregate): Move function
Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
change name).
(Resolve_Array_Aggregate.Resolve_Aggr_Expr):
Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
component associations.
(Check_Non_Limited_Type): Moved to outer level and renamed.
(Resolve_Record_Aggregate): In an extension aggregate, an association
with a box initialization can only designate a component of the
extension, not a component inherited from the given ancestor

* sem_case.adb: Use new Is_Standard_Character_Type predicate

From-SVN: r134049

16 years agosem.adb (Analyze): Consider case in which we analyze an empty node that was generated...
Javier Miranda [Tue, 8 Apr 2008 06:54:53 +0000 (08:54 +0200)]
sem.adb (Analyze): Consider case in which we analyze an empty node that was generated by a call to...

2008-04-08  Javier Miranda  <miranda@adacore.com>

* sem.adb (Analyze): Consider case in which we analyze an empty node
that was generated by a call to a runtime function that is not
available under the configurable runtime.

* sem.ads (Inside_Freezing_Actions): New flag.
(Save_Check_Policy_List): New field in scope stack entry

From-SVN: r134048

16 years agoscng.adb (Scan_Identifier): Handle case of identifier starting with wide character...
Robert Dewar [Tue, 8 Apr 2008 06:54:43 +0000 (08:54 +0200)]
scng.adb (Scan_Identifier): Handle case of identifier starting with wide character using UTF-8 encoding.

2008-04-08  Robert Dewar  <dewar@adacore.com>

* scng.adb (Scan_Identifier): Handle case of identifier starting with
wide character using UTF-8 encoding.

From-SVN: r134047

16 years agoprj-util.adb (Executable_Of): New String parameter Language.
Vincent Celier [Tue, 8 Apr 2008 06:54:31 +0000 (08:54 +0200)]
prj-util.adb (Executable_Of): New String parameter Language.

2008-04-08  Vincent Celier  <celier@adacore.com>

* prj-util.adb (Executable_Of): New String parameter Language. When
Ada_Main is False and Language is not empty, attempt to remove the body
suffix or the spec suffix of the language to get the base of the
executable file name.
(Put): New Boolean parameter Lower_Case, defauilted to False. When
Lower_Case is True, put the value in lower case in the name list.
(Executable_Of): If there is no executable suffix in the configuration,
then do not modify Executable_Extension_On_Target.

* prj-util.ads (Executable_Of): New String parameter Language,
defaulted to the empty string.
(Put): New Boolean parameter Lower_Case, defauilted to False

From-SVN: r134046

16 years ago2008-04-08 Ed Schonberg <schonberg@adacore.com>
Ed Schonberg [Tue, 8 Apr 2008 06:54:13 +0000 (08:54 +0200)]
2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
in a type declaration, if this is not an interface declaration or
private type extension.

From-SVN: r134045

16 years agopar-ch11.adb (P_Exception_Handler): Check indentation level for handler
Robert Dewar [Tue, 8 Apr 2008 06:54:03 +0000 (08:54 +0200)]
par-ch11.adb (P_Exception_Handler): Check indentation level for handler

2008-04-08  Robert Dewar  <dewar@adacore.com>

* par-ch11.adb (P_Exception_Handler): Check indentation level for
handler

From-SVN: r134044

16 years agoosint.ads, osint.adb (Get_Libraries_From_Registry): Improve documentation.
Jose Ruiz [Tue, 8 Apr 2008 06:53:51 +0000 (08:53 +0200)]
osint.ads, osint.adb (Get_Libraries_From_Registry): Improve documentation.

2008-04-08  Jose Ruiz  <ruiz@adacore.com>

* osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
documentation.
Update comments.
(Read_Default_Search_Dirs): Do not consider spaces as path separators
because spaces may be part of legal paths.

From-SVN: r134043

16 years agonlists.adb (Is_Non_Empty_List): Remove redundant test.
Thomas Quinot [Tue, 8 Apr 2008 06:53:42 +0000 (08:53 +0200)]
nlists.adb (Is_Non_Empty_List): Remove redundant test.

2008-04-08  Thomas Quinot  <quinot@adacore.com>

* nlists.adb (Is_Non_Empty_List): Remove redundant test. First
(No_List) is defined to return Empty.

From-SVN: r134042

16 years agomlib-prj.adb (Build_Library): Compare with ALI file name in canonical case to decide...
Vincent Celier [Tue, 8 Apr 2008 06:53:22 +0000 (08:53 +0200)]
mlib-prj.adb (Build_Library): Compare with ALI file name in canonical case to decide if...

2008-04-08  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
case to decide if ALI object file is included in library.
(Build_Library): Never attempt to build a library if the project is
externally built.

From-SVN: r134041

16 years agoMake-lang.in: Disable warnings during first stage of bootstrap Get rid of gnatbl.
Arnaud Charlet [Tue, 8 Apr 2008 06:53:10 +0000 (08:53 +0200)]
Make-lang.in: Disable warnings during first stage of bootstrap Get rid of gnatbl.

* Make-lang.in: Disable warnings during first stage of bootstrap
Get rid of gnatbl.
Update dependencies.

From-SVN: r134040

16 years agomake.adb: (Gnatmake_Called): Remove, no longer necessary
Vincent Celier [Tue, 8 Apr 2008 06:52:51 +0000 (08:52 +0200)]
make.adb: (Gnatmake_Called): Remove, no longer necessary

2008-04-08  Vincent Celier  <celier@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* make.adb: (Gnatmake_Called): Remove, no longer necessary
(Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
(Insert_Project_Sources): Take into account index in multi-unit source
files.
After building a library project, delete all temporary files.
(Initialize): Reset current output after parsing project file.
(Collect_Arguments_And_Compile): Never insert in the queue the sources
of library projects that are externally built.
Put file name in error and inform messages if -df is used
(Display): If invoked with -d7, do not display path names, but only
file names.

* makeutl.ads (Path_Or_File_Name): New function
(Path_Or_File_Name): New function

From-SVN: r134039

16 years agolib-xref.adb (Is_On_LHS): Remove dead code
Ed Schonberg [Tue, 8 Apr 2008 06:52:41 +0000 (08:52 +0200)]
lib-xref.adb (Is_On_LHS): Remove dead code

2008-04-08  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* lib-xref.adb (Is_On_LHS): Remove dead code
(Output_Overriden_Op): If the overridden operation is itself inherited,
list the ancestor operation, which is the one whose body or absstract
specification is actually being overridden.

* sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
operation is primitive for the type.
(Declare_Inherited_Private_Subprograms): If the new operation overrides
an inherited private subprogram, set properly the Overridden_Operation
attribute, for better cross-reference information.
(Analyze_Package_Specification): Do late analysis of spec PPCs
(Install_Private_Declaration, Uninstall_Declarations): Save/restore
properly the full view and underlying full views of a private type in a
child unit, whose full view is derived from a private type in a parent
unit, and whose own full view becomes visible in the child body.

* sem_disp.adb (Check_Dispatching_Operation): When a body declares a
primitive operation after the type has been frozen, add an explicit
reference to the type and the operation, because other primitive
references have been emitted already.
(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
dispatching call on VM targets.

From-SVN: r134038

16 years agosprint.adb (Write_Itype): Handle Itypes whose Parent field points to the declaration...
Robert Dewar [Tue, 8 Apr 2008 06:52:20 +0000 (08:52 +0200)]
sprint.adb (Write_Itype): Handle Itypes whose Parent field points to the declaration for some different...

2008-04-08  Robert Dewar  <dewar@adacore.com>

* sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
the declaration for some different entity.
(Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
list is precent (following the parent subtype indication), display
appropriate "and" keyword.

* itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
Remove unnecessary calls to Init_Size_Align and Init_Esize.
Add notes on use of Parent field of an Itype

From-SVN: r134037

16 years agog-socket.ads, [...]: Improve documentation of GNAT.Sockets...
Thomas Quinot [Tue, 8 Apr 2008 06:52:09 +0000 (08:52 +0200)]
g-socket.ads, [...]: Improve documentation of GNAT.Sockets...

2008-04-08  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
add a pointer to generic sockets literature
do not mention that the given example is "typical" usage.
Remove obsolete comment about multicast not being supported on Windows.
(Connect_Socket): Make Server mode IN rather than IN OUT
since this formal is never modified.

From-SVN: r134036

16 years agognatbind.adb (Restriction_Could_Be_Set): New procedure
Robert Dewar [Tue, 8 Apr 2008 06:51:54 +0000 (08:51 +0200)]
gnatbind.adb (Restriction_Could_Be_Set): New procedure

2008-04-08  Robert Dewar  <dewar@adacore.com>

* gnatbind.adb (Restriction_Could_Be_Set): New procedure
(List_Applicable_Restrictions): Do not list existing restrictions

From-SVN: r134035

16 years agognat1drv.adb: Send all messages indicating an error to standard error
Vincent Celier [Tue, 8 Apr 2008 06:51:42 +0000 (08:51 +0200)]
gnat1drv.adb: Send all messages indicating an error to standard error

2008-04-08  Vincent Celier  <celier@adacore.com>

* gnat1drv.adb: Send all messages indicating an error to standard error

From-SVN: r134034

16 years agofreeze.adb (Freeze_Entity): Improve warnings on access types in pure units.
Robert Dewar [Tue, 8 Apr 2008 06:51:27 +0000 (08:51 +0200)]
freeze.adb (Freeze_Entity): Improve warnings on access types in pure units.

2008-04-08  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_Entity): Improve warnings on access types in pure
units.
(Size_Known): Generic formal scalar types have known at compile
time size, so remove check.
Fix casing error in formal parameter name in call
(Freeze_Subprogram): If the subprogram is a user-defined operator,
recheck its overriding indication.

From-SVN: r134033

16 years agoexp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is an Input functio...
Ed Schonberg [Tue, 8 Apr 2008 06:51:16 +0000 (08:51 +0200)]
exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is an Input function for an access type...

2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
an Input function for an access type, do not perform default
initialization on the local variable that receives the value, to
prevent spurious warnings when the type is null-excluding.

From-SVN: r134032

16 years agoexp_dist.ads, [...]: Fix casing error in formal parameter name in call
Thomas Quinot [Tue, 8 Apr 2008 06:51:05 +0000 (08:51 +0200)]
exp_dist.ads, [...]: Fix casing error in formal parameter name in call

2008-04-08  Thomas Quinot  <quinot@adacore.com>

* exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
in call
(Add_RACW_Features): When processing an RACW in another unit than the
main unit, set Body_Decls to No_List to indicate that the bodies of
the type's TSS must not be generated.
(GARLIC_Support.Add_RACW_Read_Attribute,
GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
Body_Decls is No_List.
(PolyORB_Support.Add_RACW_Read_Attribute,
PolyORB_Support.Add_RACW_Write_Attribute,
PolyORB_Support.Add_RACW_From_Any,
PolyORB_Support.Add_RACW_To_Any,
PolyORB_Support.Add_RACW_TypeCode): Same.
(Transmit_As_Unconstrained): New function.
(Build_Ordered_Parameters_List): Use the above to order parameters.
(GARLIC_Support.Build_General_Calling_Stubs):
Use the above to determine which parameters to unmarshall using 'Input
at the point where their temporary is declared (as opposed to later on
with a 'Read call).
(PolyORB_Support.Build_General_Calling_Stubs):
Use the above to determine which parameters to unmarshall using From_Any
at the point where their temporary is declared (as opposed to later on
with an assignment).

From-SVN: r134031

16 years agoexp_ch9.ads, [...] (Build_Protected_Entry, [...]): Generate debug info for declaratio...
Hristian Kirtchev [Tue, 8 Apr 2008 06:50:51 +0000 (08:50 +0200)]
exp_ch9.ads, [...] (Build_Protected_Entry, [...]): Generate debug info for declarations related to the handling of private data in...

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
Build_Unprotected_Subprogram_Body): Generate debug info for
declarations related to the handling of private data in task and
protected types.
(Debug_Private_Data_Declarations): New subprogram.
(Install_Private_Data_Declarations): Remove all debug info flagging.
This is now done by Debug_Private_Data_Declarations at the correct
stage of expansion.
(Build_Simple_Entry_Call): If the task name is a function call, expand
the prefix into an object declaration, and make the surrounding block a
task master.
(Build_Master_Entity): An internal block is a master if it wraps a call.
Code reformatting, update comments. Code clean up.
(Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
(Replicate_Entry_Formals): If the formal is an access parameter or
anonymous access to subprogram, copy the original tree to create new
entities for the formals of the subprogram.
(Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
for tasks to store the value passed using pragma Relative_Deadline.
(Make_Task_Create_Call): Add the Relative_Deadline argument to the
run-time call to create a task.
(Build_Wrapper_Spec): If the controlling argument of the interface
operation is an access parameter with a non-null indicator, use the
non-null indicator on the wrapper.

* sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
present, which it may not be in the case where the type entity is an
incomplete view brought in by a limited with.
(Analyze_Task_Type): Only retrieve the full view when present, which it
may not be in the case where the type entity is an incomplete view
brought in by a limited with.
(Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
private components of a protected type, to prevent the generation of
freeze nodes for which there is no proper scope of elaboration.

* exp_util.ads, exp_util.adb (Remove_Side_Effects): If the expression is
a function call that returns a task, expand into a declaration to invoke
the build_in_place machinery.
(Find_Protection_Object): New routine.
(Remove_Side_Effects): Also make a copy of the value
for attributes whose result is of an elementary type.
(Silly_Boolean_Array_Not_Test): New procedure
(Silly_Boolean_Array_Xor_Test): New procedure
(Is_Volatile_Reference): New function
(Remove_Side_Effects): Use Is_Volatile_Reference
(Possible_Bit_Aligned_Component): Handle slice case properly

* exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
case test to Exp_Util
(Expand_Packed_Xor): Move silly true/true case test to Exp_Util

From-SVN: r134030

16 years agoexp_ch7.adb (Find_Final_List): Change the test for generating a selected component...
Gary Dismukes [Tue, 8 Apr 2008 06:50:34 +0000 (08:50 +0200)]
exp_ch7.adb (Find_Final_List): Change the test for generating a selected component from an access type's...

2008-04-08  Gary Dismukes  <dismukes@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb (Find_Final_List): Change the test for generating a
selected component from an access type's Associated_Final_Chain to
check for the presence of that field, rather than assuming it exists
for all named access types.
(Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
procedure to call at the end of the generated cleanup procedure.
(Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
and an At_End_Proc already exists in the handled sequence of statements
for which cleanup actions are being expanded, the original cleanup
action must be preserved.

From-SVN: r134029

16 years agos-rident.ads: Add No_Default_Initialization restriction
Robert Dewar [Tue, 8 Apr 2008 06:50:21 +0000 (08:50 +0200)]
s-rident.ads: Add No_Default_Initialization restriction

2008-04-08  Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* s-rident.ads: Add No_Default_Initialization restriction

* exp_tss.adb:
(Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
(Set_TSS): Handle No_Default_Initialization case

* exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
No_Default_Initialization
(Expand_N_Subprogram_Body): Remove redundant initialization of out
parameters when Normalize_Scalars is active.
(Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
Fix casing error in formal parameter name in call
(Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
dispatching call on VM targets.

From-SVN: r134028

16 years agoexp_ch2.adb: Minor reformatting.
Hristian Kirtchev [Tue, 8 Apr 2008 06:50:04 +0000 (08:50 +0200)]
exp_ch2.adb: Minor reformatting.

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* exp_ch2.adb: Minor reformatting.
(Expand_Entry_Index_Parameter): Set the type of the identifier.
(Expand_Entry_Reference): Add call to Expand_Protected_Component.
(Expand_Protected_Component): New routine.
(Expand_Protected_Private): Removed.
Add Sure parameter to Note_Possible_Modification calls

* sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
generated subprogram declaration must inherit the overriding indicator
from the instantiation node.
(Validate_Access_Type_Instance): If the designated type of the actual is
a limited view, use the available view in all cases, not only if the
type is an incomplete type.
(Instantiate_Object):  Actual is illegal if the formal is null-excluding
and the actual subtype does not exclude null.
(Process_Default): Handle properly abstract formal subprograms.
(Check_Formal_Package_Instance): Handle properly defaulted formal
subprograms in a partially parameterized formal package.
Add Sure parameter to Note_Possible_Modification calls
(Validate_Derived_Type_Instance): if the formal is non-limited, the
actual cannot be limited.
(Collect_Previous_Instances): Generate instance bodies for subprograms
as well.

* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
try to set RM_Size.
Add Sure parameter to Note_Possible_Modification calls
(Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
(Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
constant overlaid by variable and issue warning.
Use new Is_Standard_Character_Type predicate
(Analyze_Record_Representation_Clause): Check that the specified
Last_Bit is not less than First_Bit - 1.
(Analyze_Attribute_Definition_Clause, case Address): Check for
self-referential address clause

* sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
detection mechanism when the lhs is a prival.
(Analyze_Assignment): Call Check_Unprotected_Access to detect
assignment of a pointer to protected data, to an object declared
outside of the protected object.
(Analyze_Loop_Statement): Check for unreachable code after loop
Add Sure parameter to Note_Possible_Modication calls
Protect analysis from previous syntax error such as a scope mismatch
or a missing begin.
(Analyze_Assignment_Statement): The assignment is illegal if the
left-hand is an interface.

* sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check violation of
restriction No_Implicit_Conditionals
Add Sure parameter to Note_Possible_Modication calls
Use new Is_Standard_Character_Type predicate
(Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
call as operator. Fixes problems (e.g. validity checking) which
come from the result looking as though it does not come from source).
(Resolve_Call): Check case of name in named parameter if style checks
are enabled.
(Resolve_Call): Exclude calls to Current_Task as entry formal defaults
from the checking that such calls should not occur from an entry body.
(Resolve_Call): If the return type of an Inline_Always function
requires the secondary stack, create a transient scope for the call
if the body of the function is not available for inlining.
(Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
that are actuals for in-out formals.
(Try_Object_Operation): If prefix is a tagged protected object,retrieve
primitive operations from base type.
(Analyze_Selected_Component): If the context is a call to a protected
operation the parent may be an indexed component prior to expansion.
(Resolve_Actuals): If an actual is of a protected subtype, use its
base type to determine whether a conversion to the corresponding record
is needed.
(Resolve_Short_Circuit): Handle pragma Check

* sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
Use new Is_Standard_Character_Type predicate
(Eval_Relational_Op): Catch more cases of string comparison

From-SVN: r134027

16 years agosem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of Has_Stream_Attribute_...
Gary Dismukes [Tue, 8 Apr 2008 06:49:47 +0000 (08:49 +0200)]
sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of Has_Stream_Attribute_ Definition when...

2008-04-08  Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
Has_Stream_Attribute_ Definition when checking for available stream
attributes on parameters of a limited type in Ada 2005. Necessary for
proper recognition of visible stream attribute clauses.
(Has_Stream_Attribute_Definition): If the type is derived from a
private type, then use the derived type's underlying type for checking
whether it has stream attributes.
(Validate_Object_Declaration): The check for a user-defined Initialize
procedure applies also to types with controlled components or a
controlled ancestor.
Reject an object declaration in a preelaborated unit if the type is a
controlled type with an overriding Initialize procedure.
(Validate_Remote_Access_To_Class_Wide_Type): Return without further
checking when the parent of a dereference is a selected component and
the name has not been analyzed.

* sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
prefixes that are invalid explicit dereferences of remote
access-to-class-wide values, first checking whether the selected
component is a prefixed form of call to a tagged operation.
(Analyze_Call): Remove code that issues an error for limited function
calls in illegal contexts, as we now support all of the contexts that
were forbidden here.
Allow a function call that returns a task.and appears as the
prefix of a selected component.
(Analyze_Reference): Give error message if we try to make a 'Reference
for an object that is atomic/aliased without its type having the
corresponding attribute.
(Analyze_Call): Remove condition checking for attributes to allow
calls to functions with inherently limited results as prefixes of
attributes. Remove related comment about Class attributes.
(Analyze_Selected_Component): If the prefix is a remote type, check
whether this is a prefixed call before reporting an error.
(Complete_Object_Operation): If the controlling formal is an access to
variable reject an actual that is a constant or an access to one.
(Try_Object_Operation): If prefix is a tagged protected object,retrieve
primitive operations from base type.

* exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
build-in-place
function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
(Expand_N_Selected_Component): Test for prefix that is a build-in-place
function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
(Expand_N_Slice): Test for prefix that is a build-in-place function call
and call Make_Build_In_Place_Call_In_Anonymous_Context.
(Analyze_Call): Remove code that issues an error for limited function
calls in illegal contexts, as we now support all of the contexts that
were forbidden here.
New calling sequence for Get_Simple_Init_Val
(Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
(Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test

From-SVN: r134026

16 years agoexp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine whether an...
Ed Schonberg [Tue, 8 Apr 2008 06:49:26 +0000 (08:49 +0200)]
exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine whether an array aggregate with static bounds...

2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
whether an array aggregate with static bounds and scalar components
should be expanded into a static constant.

From-SVN: r134025

16 years agoerrout.ads: Update comments for new handling of info: messages
Robert Dewar [Tue, 8 Apr 2008 06:49:13 +0000 (08:49 +0200)]
errout.ads: Update comments for new handling of info: messages

2008-04-08  Robert Dewar  <dewar@adacore.com>

* errout.ads: Update comments for new handling of info: messages

* erroutc.adb (Matches): New procedure
(Warning_Specifically_Suppressed): Modified to handle multiple * chars
(Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
 info messages as well as style messages.

* erroutc.ads: Remove unneeded fields from Specific_Warning_Entry

* sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
subprograms.
(Check_A_Call): Special "info: " warnings now have ? in the text
(Elab_Warning): Use info message in static case

From-SVN: r134024