X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2FChangeLog;h=6a7827885c48a9a633d4450cf1cc036886ea8f38;hb=d51eba1a266862e911669b771b53de79a4ed8ec2;hp=b62b913c4d44ec89b988ff5cdf6615d762717225;hpb=cfc3dd357931bfbc550006ceaf6af6c5230d07d8;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index b62b913c4d4..6a7827885c4 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,396 @@ +2010-05-08 Eric Botcazou + + * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter. + * gcc-interface/utils.c (create_field_decl): Move PACKED parameter. + (rest_of_record_type_compilation): Adjust call to create_field_decl. + (make_descriptor_field): Likewise and pass correctly typed constants. + (build_unc_object_type): Likewise. + (unchecked_convert): Likewise. + * gcc-interface/decl.c (elaborate_expression_2): New static function. + (gnat_to_gnu_entity): Use it to make alignment factors explicit. + Adjust call to create_field_decl. + (make_aligning_type): Likewise. + (make_packable_type): Likewise. + (maybe_pad_type): Likewise. + (gnat_to_gnu_field): Likewise. + (components_to_record): Likewise. + (create_field_decl_from): Likewise. + (create_variant_part_from): Remove superfluous test. + * gcc-interface/trans.c (gigi): Adjust call to create_field_decl. + +2010-05-08 Eric Botcazou + + * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param. + (build_unc_object_type_from_ptr): Likewise. + * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param + and pass it to create_type_decl. Declare the type. Simplify. + (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass + it to build_unc_object_type. + * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change. + * gcc-interface/trans.c (Attribute_to_gnu): Likewise. + (gnat_to_gnu): Likewise. + * gcc-interface/utils2.c (build_allocator): Likewise. + +2010-05-07 Eric Botcazou + + PR 40989 + * gcc-interface/misc.c (gnat_handle_option): Fix long line. + +2010-05-06 Rainer Orth + + * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support. + +2010-05-06 Manuel López-Ibáñez + + PR 40989 + * gcc-interface/misc.c (gnat_handle_option): Add argument kind. + +2010-05-02 Giuseppe Scrivano + + * gnathtml.pl: Use 755 as mask for new directories. + +2010-04-28 Eric Botcazou + + * gcc-interface/trans.c (gnat_gimplify_expr) : Uniquize + constant constructors before taking their address. + +2010-04-25 Eric Botcazou + + * exp_dbug.ads: Fix outdated description. Mention link between XVS + and XVZ objects. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Set + XVZ variable as unit size of XVS type. + (maybe_pad_type): Likewise. + +2010-04-25 Eric Botcazou + + * gcc-interface/trans.c (gnat_to_gnu) : Do not + use memmove if the array type is bit-packed. + +2010-04-18 Eric Botcazou + + * gcc-interface/misc.c (gnat_init): Remove second argument in call to + build_common_tree_nodes. + +2010-04-18 Ozkan Sezer + + * gsocket.h: Make sure that winsock2.h is included before windows.h. + +2010-04-17 Eric Botcazou + + * gcc-interface/utils2.c (build_unary_op) : Do not + issue warning. + +2010-04-17 Eric Botcazou + + * uintp.h (UI_Lt): Declare. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Do the size + computation in sizetype. + : Use unified handling for all index types. Do not + generate MAX_EXPR-based expressions, only COND_EXPR-based ones. Add + bypass for PATs. + (annotate_value): Change test for negative values. + (validate_size): Apply test for negative values on GNAT nodes. + (set_rm_size): Likewise. + * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes. + * gcc-interface/utils.c (rest_of_record_type_compilation): Change test + for negative values. + (max_size) : Do not reassociate a COND_EXPR on the LHS. + (builtin_type_for_size): Adjust definition of signed_size_type_node. + * gcc-interface/utils2.c (compare_arrays): Optimize comparison of + lengths against zero. + +2010-04-17 Eric Botcazou + + * back-end.adb (Call_Back_End): Pass Standard_Character to gigi. + * gcc-interface/gigi.h (gigi): Add standard_character parameter. + (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, + LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE, + LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Call + rm_size. + * gcc-interface/misc.c (gnat_init): Set signedness of char as per + flag_signed_char. Tag sizetype with "size_type" moniker. + * gcc-interface/trans.c (gigi): Add standard_character parameter. + Remove useless built-in types. Equate unsigned_char_type_node to + Standard.Character. Use it instead of char_type_node throughout. + (Attribute_to_gnu): Likewise. + (gnat_to_gnu): Likewise. + * gcc-interface/utils2.c (build_call_raise): Likewise. + +2010-04-17 Eric Botcazou + + * gcc-interface/gigi.h (enum standard_datatypes): Add new values + ADT_sbitsize_one_node and ADT_sbitsize_unit_node. + (sbitsize_one_node): New macro. + (sbitsize_unit_node): Likewise. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Fix + latent bug in the computation of subrange_p. Fold wider_p predicate. + (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do + the final comparison. + (make_aligning_type): Build real negation and use sizetype throughout + the offset computation. + (maybe_pad_type): Do not issue the warning when the new size expression + is too complex. + (annotate_value) : Simplify code handling negative values. + * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and + sbitsize_unit_node. + * gcc-interface/trans.c (Attribute_to_gnu) : Fold + double negation. + (gnat_to_gnu) : Likewise. + * gcc-interface/utils.c (convert): Use sbitsize_unit_node. + * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use + constants in sizetype. Remove dead code and tweak comments. Generate + equality instead of inequality comparisons for zero length tests. + +2010-04-16 Eric Botcazou + + * gcc-interface/gigi.h (gnat_init_decl_processing): Delete. + * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables. + : Do not create the fake PARM_DECL if no debug info is needed. + Do not create the corresponding VAR_DECL of a CONST_DECL for debugging + purposes if no debug info is needed. + Fix formatting. Reorder and add comments. + * gcc-interface/trans.c (gnat_to_gnu) : Constify + variable and remove obsolete comment. + * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment. + (convert_vms_descriptor32): Likewise. + (convert): Remove dead code. + : Pass the field instead of its name to build + the reference to the P_ARRAY pointer. + : Likewise. + (maybe_unconstrained_array) : Likewise. + (gnat_init_decl_processing): Delete, move contents to... + * gcc-interface/misc.c (gnat_init): ...here. + +2010-04-16 Eric Botcazou + + * gcc-interface/trans.c (unchecked_conversion_nop): Handle function + calls. Return true for conversion from a record subtype to its type. + +2010-04-16 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in + lieu of integer_type_node for boolean operations. + (choices_to_gnu): Likewise. + * gcc-interface/trans.c (Attribute_to_gnu): Likewise. + (Loop_Statement_to_gnu): Likewise. + (establish_gnat_vms_condition_handler): Likewise. + (Exception_Handler_to_gnu_sjlj): Likewise. + (gnat_to_gnu): Likewise. + (build_unary_op_trapv): Likewise. + (build_binary_op_trapv): Likewise. + (emit_range_check): Likewise. + (emit_index_check): Likewise. + (convert_with_check): Likewise. + * gcc-interface/utils.c (convert_vms_descriptor64): Likewise. + (convert_vms_descriptor32): Likewise. + (convert_vms_descriptor): Likewise. + * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise. + (compare_arrays): Use boolean instead of integer constants. + (build_binary_op) : New case. Check that the result type + is a boolean type. + : Remove obsolete assertion. + : Check that the result type is a boolean type. + : Delete. + : Check that the result type is a boolean type. + (build_unary_op): Use boolean_type_node in lieu of integer_type_node + for boolean operations. + (fill_vms_descriptor): Likewise. Fix formatting nits. + +2010-04-16 Eric Botcazou + + * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes. + * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND): + Merge into... + (LOOP_STMT_COND): ...this. + (LOOP_STMT_BOTTOM_COND_P): New flag. + (LOOP_STMT_TOP_UPDATE_P): Likewise. + * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function. + (can_equal_min_val_p): New static inline function. + (can_equal_max_val_p): Likewise. + (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to + new LOOP_STMT semantics. Use two different strategies depending on + whether optimization is enabled to translate the loop. + (gnat_gimplify_stmt) : Adjust to new LOOP_STMT semantics. + +2010-04-16 Eric Botcazou + + * uintp.adb (UI_From_Dint): Remove useless code. + (UI_From_Int): Likewise. + * uintp.h: Reorder declarations. + (UI_From_gnu): Declare. + (UI_Base): Likewise. + (Vector_Template): Likewise. + (Vector_To_Uint): Likewise. + (Uint_0): Remove. + (Uint_1): Likewise. + * gcc-interface/gigi.h: Tweak comments. + * gcc-interface/cuintp.c (UI_From_gnu): New global function. + * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size + overflows. + (annotate_value) : Call UI_From_gnu. + * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne. + (post_error_ne_tree): Call UI_From_gnu and post_error_ne. + * gcc-interface/utils.c (max_size) : Do not special-case + TYPE_MAX_VALUE. + +2010-04-16 Eric Botcazou + + * gcc-interface/decl.c (make_type_from_size) : Just copy + TYPE_NAME. + * gcc-interface/trans.c (smaller_packable_type_p): Rename into... + (smaller_form_type_p): ...this. Change parameter and variable names. + (call_to_gnu): Use the nominal type of the parameter to create the + temporary if it's a smaller form of the actual type. + (addressable_p): Return false if the actual type is integral and its + size is greater than that of the expected type. + +2010-04-15 Eric Botcazou + + * gcc-interface/cuintp.c (UI_To_gnu): Fix long line. + * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class. + (process_attributes): Delete. + (post_error_ne_num): Change parameter name. + * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info + with -g3. Remove a couple of obsolete lines. Minor tweaks. + If type annotating mode, operate on trees to compute the adjustment to + the sizes of tagged types. Fix long line. + (cannot_be_superflat_p): Tweak head comment. + (annotate_value): Fold local constant. + (set_rm_size): Fix long line. + * gcc-interface/trans.c (Identifier_to_gnu): Rework comments. + (Attribute_to_gnu): Fix long line. + : Remove useless assertion. + Reorder statements. Use size_binop routine. + (Loop_Statement_to_gnu): Use build5 in lieu of build_nt. + Create local variables for the label and the test. Tweak comments. + (Subprogram_Body_to_gnu): Reset cfun to NULL. + (Compilation_Unit_to_gnu): Use the Sloc of the Unit node. + (process_inlined_subprograms): Integrate into... + (Compilation_Unit_to_gnu): ...this. + (gnat_to_gnu): Fix long line. + (post_error_ne_num): Change parameter name. + * gcc-interface/utils.c (process_attributes): Static-ify. + : Set input_location before proceeding. + (create_type_decl): Add comment. + (create_var_decl_1): Process the attributes after adding the VAR_DECL + to the current binding level. + (create_subprog_decl): Likewise for the FUNCTION_DECL. + (end_subprog_body): Do not reset cfun to NULL. + (build_vms_descriptor32): Fix long line. + (build_vms_descriptor): Likewise. + (handle_nonnull_attribute): Likewise. + (convert_vms_descriptor64): Likewise. + * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line. + (gnat_protect_expr): Fix thinko. + +2010-04-15 Eric Botcazou + + * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions. + (gnat_to_gnu) : Restore the value of input_location + before translating the top-level node. + (lvalue_required_p) : Return 1 if !constant. + : Likewise. + : Likewise. + : Likewise. + (call_to_gnu): Remove kludge. + (gnat_to_gnu) : When not optimizing, force labels + associated with user returns to be preserved. + (gnat_to_gnu): Add special code to deal with boolean rvalues. + * gcc-interface/utils2.c (compare_arrays): Set input_location on all + comparisons. + (build_unary_op) : Call build_fold_addr_expr. + : Call build_fold_indirect_ref. + +2010-04-15 Joel Sherrill + + * g-socket.adb: A target can have multiple missing errno's. This + will result in multiple errno's being defined as -1. Because of this + we can not use a case but must use a series of if's to avoid + a duplicate case error in GNAT.Sockets.Resolve_Error. + +2010-04-15 Eric Botcazou + + * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is + a statement. Otherwise, if at top-level, push the processing of the + elaboration routine. In the misaligned case, issue the error messages + again on entry and create the temporary explicitly. Do not issue them + for CONSTRUCTORs. + For a function call, emit the range check if necessary. + In the copy-in copy-out case, create the temporary for the return + value explicitly. + Do not unnecessarily convert by-ref parameters to the formal's type. + Remove obsolete guards in conditions. + (gnat_to_gnu) : For a function call, pass the + target to call_to_gnu in all cases. + (gnat_gimplify_expr) : Remove handling of SAVE_EXPR. + (addressable_p) : Return false if not static. + : New case. + * gcc-interface/utils2.c (build_unary_op) : Fold a compound + expression if it has unconstrained array type. + (gnat_mark_addressable) : New case. + (gnat_stabilize_reference) : Stabilize operands on an + individual basis. + +2010-04-15 Eric Botcazou + + * gcc-interface/trans.c (gigi): Do not start statement group. + (Compilation_Unit_to_gnu): Set current_function_decl to NULL. + Start statement group and push binding level here... + (gnat_to_gnu) : ...and not here. + Do not push fake contexts at top level. Remove redundant code. + (call_to_gnu): Rename a local variable and constify another. + * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits. + (set_current_block_context): Set it as the group's block. + (gnat_init_decl_processing): Delete unrelated init code. + (end_subprog_body): Use NULL_TREE. + +2010-04-15 Eric Botcazou + + * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force + side-effects of actual parameters before the call. + +2010-04-15 Eric Botcazou + + * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test + and warning. + (set_rm_size): Reorder and remove obsolete test. + +2010-04-14 Eric Botcazou + + * gcc-interface/gigi.h: Reorder declarations and tweak comments. + (gigi): Adjust ATTRIBUTE_UNUSED markers. + * gcc-interface/gadaint.h: New file. + * gcc-interface/trans.c: Include it in lieu of adaint.h. Reorder. + (__gnat_to_canonical_file_spec): Remove declaration. + (number_names): Delete. + (number_files): Likewise. + (gigi): Adjust. + * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to + above change. + +2010-04-14 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Fix + comment. + * gcc-interface/trans.c (process_freeze_entity): Use local copy of + Ekind. Return early for class-wide types. Do not compute initializer + unless necessary. Reuse the tree for an associated class-wide type + only if processing its root type. + +2010-04-13 Joel Sherrill + + * gsocket.h: Run-time can no longer be built without network + OS headers available. Changing RTEMS GNAT build procedure to + reflect this and letting run-time build use network .h files. + +2010-04-13 Duncan Sands + + * gcc-interface/misc.c (gnat_eh_type_covers): Remove. + * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment. + 2010-04-13 Eric Botcazou * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.