+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
+ expressions of variant part of record types declared at library level.
+
+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.