-2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * 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 <ebotcazou@adacore.com>
-
- * 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 <ebotcazou@adacore.com>
-
- PR 40989
- * gcc-interface/misc.c (gnat_handle_option): Fix long line.
-
-2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
-
-2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 40989
- * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
-
-2010-05-02 Giuseppe Scrivano <gscrivano@gnu.org>
-
- * gnathtml.pl: Use 755 as mask for new directories.
-
-2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
- constant constructors before taking their address.
-
-2010-04-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_dbug.ads: Fix outdated description. Mention link between XVS
- and XVZ objects.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
- XVZ variable as unit size of XVS type.
- (maybe_pad_type): Likewise.
-
-2010-04-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
- use memmove if the array type is bit-packed.
-
-2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_init): Remove second argument in call to
- build_common_tree_nodes.
-
-2010-04-18 Ozkan Sezer <sezeroz@gmail.com>
-
- * gsocket.h: Make sure that winsock2.h is included before windows.h.
-
-2010-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
- issue warning.
-
-2010-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * uintp.h (UI_Lt): Declare.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
- computation in sizetype.
- <E_Array_Subtype>: 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) <MINUS_EXPR>: 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 <ebotcazou@adacore.com>
-
- * 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) <E_Array_Subtype>: 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 <ebotcazou@adacore.com>
-
- * 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) <E_Array_Subtype>: 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) <INTEGER_CST>: 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) <Attr_Pool_Address>: Fold
- double negation.
- (gnat_to_gnu) <N_Free_Statement>: 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 <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
- <object>: 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) <N_Attribute_Reference>: Constify
- variable and remove obsolete comment.
- * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
- (convert_vms_descriptor32): Likewise.
- (convert): Remove dead code.
- <UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
- the reference to the P_ARRAY pointer.
- <POINTER_TYPE>: Likewise.
- (maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
- (gnat_init_decl_processing): Delete, move contents to...
- * gcc-interface/misc.c (gnat_init): ...here.
-
-2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * 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 <ebotcazou@adacore.com>
-
- * 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) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
- TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case. Check that the result type
- is a boolean type.
- <GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
- <EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
- <PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
- <TRUTH_NOT_EXPR>: 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 <ebotcazou@adacore.com>
-
- * 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) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.
-
-2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * 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) <INTEGER_CST>: 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) <tcc_binary>: Do not special-case
- TYPE_MAX_VALUE.
-
-2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: 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 <ebotcazou@adacore.com>
-
- * 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.
- <Attr_Size>: 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.
- <ATTR_MACHINE_ATTRIBUTE>: 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 <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
- (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
- before translating the top-level node.
- (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
- <N_Object_Declaration>: Likewise.
- <N_Assignment_Statement>: Likewise.
- <N_Unchecked_Type_Conversion>: Likewise.
- (call_to_gnu): Remove kludge.
- (gnat_to_gnu) <N_Return_Statement>: 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) <ADDR_EXPR>: Call build_fold_addr_expr.
- <INDIRECT_REF>: Call build_fold_indirect_ref.
-
-2010-04-15 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * 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 <ebotcazou@adacore.com>
* gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
unless necessary. Reuse the tree for an associated class-wide type
only if processing its root type.
-2010-04-13 Joel Sherrill <joel.sherrill@oarcorp.com>
+2010-04-13 Joel Sherrill <joel.sherrill@oarcorp.com>
* gsocket.h: Run-time can no longer be built without network
OS headers available. Changing RTEMS GNAT build procedure to