summaryrefslogtreecommitdiffstats
path: root/gcc/ada/gcc-interface
Commit message (Collapse)AuthorAgeFilesLines
...
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify theebotcazou2009-05-231-6/+11
| | | | | | | original type because of the alignment when there is an address clause. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147818 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Whenebotcazou2009-05-201-11/+19
| | | | | | | | | discriminants affect the shape of the subtype, retrieve the GCC type directly from the original field if the GNAT types for the field and the original field are the same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147732 138bc75d-0d04-0410-961f-82ee72b054a4
* * dbxout.c (dbxout_range_type): Add LOW and HIGH parameters. Use themebotcazou2009-05-157-167/+295
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for bounds. (print_int_cst_bounds_in_octal_p): Likewise. (dbxout_type): Adjust calls to above functions. Be prepared to deal with subtypes. * dwarf2out.c (base_type_die): Likewise. (is_subrange_type): Delete. (subrange_type_die): Add LOW and HIGH parameters. Use them for bounds. (modified_type_die): Call subrange_type_for_debug_p on subtypes. * fold-const.c (fold_truth_not_expr) <CONVERT_EXPR>: Do not strip it if the destination type is boolean. (build_range_check): Do not special-case subtypes. (fold_sign_changed_comparison): Likewise. (fold_unary): Likewise. * langhooks-def.h (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_GET_SUBRANGE_BOUNDS. * langhooks.h (lang_hooks_for_types): Add get_subrange_bounds. * tree.c (subrange_type_for_debug_p): New predicate based on the former is_subrange_type. * tree.h (subrange_type_for_debug_p): Declare. * tree-chrec.c (avoid_arithmetics_in_type_p): Delete. (convert_affine_scev): Remove call to above function. (chrec_convert_aggressive): Likewise. * tree-ssa.c (useless_type_conversion_p_1): Do not specifically return false for conversions involving subtypes. * tree-vrp.c (vrp_val_max): Do not special-case subtypes. (vrp_val_min): Likewise. (needs_overflow_infinity): Likewise. (extract_range_from_unary_expr): Likewise. ada/ * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE): New macros. (TYPE_RM_VALUES): Likewise. (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES. (SET_TYPE_RM_SIZE): New macro. (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise. (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise. (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine. * gcc-interface/gigi.h (create_range_type): Declare. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type> Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type. <E_Signed_Integer_Subtype>: Build a regular integer type first and then set the RM bounds. Use SET_TYPE_RM_SIZE to set the RM size. <E_Floating_Point_Subtype>: Build a regular floating-point type first and then set the RM bounds. <E_Array_Type>: Use create_range_type instead of build_range_type. <E_Array_Subtype>: Build a regular integer type first and then set the RM bounds for the extra subtype. <E_String_Literal_Subtype>: Use create_range_type instead of build_range_type. <all>: Set the RM bounds for enumeration types and the GCC bounds for floating-point types. (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size. (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE to set the bounds. Use SET_TYPE_RM_SIZE to set the RM size. (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain types and with RM bounds for subtypes. * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define. (gnat_print_type) <REAL_TYPE>: New case. <ENUMERAL_TYPE>: Fall through to above case. (gnat_get_subrange_bounds): New function. * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any. * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8 for booleans. Adjust and use SET_TYPE_RM_SIZE to set the RM size. (create_range_type): New function. (create_param_decl): Build a regular integer type first and then set the RM bounds for the extra subtype. (unchecked_convert): Remove kludge for 'Valid. * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert the index to sizetype instead of TYPE_DOMAIN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147563 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPRebotcazou2009-05-142-125/+97
| | | | | | | | | | | | | | | | parameter and move check for static expression to... (elaborate_expression): ...here. Adjust call to above function. (gnat_to_gnu_entity): Likewise for all calls. Use correct arguments in calls to elaborate_expression. (elaborate_entity): Likewise. (substitution_list): Likewise. (maybe_variable): Fix formatting. (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add missing guard. * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147530 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependenciescharlet2009-05-071-80/+85
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147227 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-06 Laurent GUERBY <laurent@guerby.net>guerby2009-05-061-3/+59
| | | | | | | | | | | | | | * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads: Define sa_handler_pos. * s-osinte-linux.ads: Use it. * s-linux-mipsel.ads: New. * system-linux-mips64el.ads: New. * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and mips64el-linux. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147207 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.charlet2009-05-062-17/+19
| | | | | | | | | | Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks * gcc-interface/Make-lang.in: Update dependencies git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147165 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependenciescharlet2009-04-291-30/+28
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146978 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-29 Nicolas Setton <setton@adacore.com>charlet2009-04-291-0/+8
| | | | | | | | | * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146930 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Putebotcazou2009-04-251-1/+6
| | | | | | | back kludge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146766 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix nitebotcazou2009-04-241-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146679 138bc75d-0d04-0410-961f-82ee72b054a4
* * fe.h (Set_Identifier_Casing): Add const to second parameter.ebotcazou2009-04-241-5/+8
| | | | | | | | | | * gcc-interface/misc.c (internal_error_function): Make copy of retur from pp_formatted_text before assigning BUFFER to it. (gnat_init): Likewise for main_input_filename and gnat_argv. (gnat_printable_name): Remove cast from call to Set_Identifier_Casing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146678 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix nitsebotcazou2009-04-242-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146676 138bc75d-0d04-0410-961f-82ee72b054a4
* * ttypes.ads (Target_Double_Float_Alignment): New variable.ebotcazou2009-04-245-27/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Target_Double_Scalar_Alignment): Likewise. * get_targ.ads (Get_Strict_Alignment): Adjust external name. (Get_Double_Float_Alignment): New imported function. (Get_Double_Scalar_Alignment): Likewise. * layout.adb (Set_Elem_Alignment): Take into account specific caps for the alignment of "double" floating-point types and "double" or larger scalar types, as parameterized by Target_Double_Float_Alignment and Target_Double_Scalar_Alignment respectively. * gcc-interface/gigi.h (double_float_alignment): Declare. (double_scalar_alignment): Likewise. (is_double_float_or_array): Likewise. (is_double_scalar_or_array): Likewise. (get_target_double_float_alignment): Likewise. (get_target_double_scalar_alignment): Likewise. * gcc-interface/targtyps.c (get_strict_alignment): Rename into... (get_target_strict_alignment): ...this. (get_target_double_float_alignment): New function. (get_target_double_scalar_alignment): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Test the presence of an alignment clause for under-aligned integer types. Take into account specific caps for the alignment of "double" floating-point types and "double" or larger scalar types, as parameterized by Target_Double_Float_Alignment and Target_Double_Scalar_Alignment respectively. (validate_alignment): Likewise. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise. (gigi): Initialize double_float_alignment and double_scalar_alignment. * gcc-interface/utils.c (double_float_alignment): New global variable. (double_scalar_alignment): Likewise. (is_double_float_or_array): New predicate. (is_double_scalar_or_array): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146675 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead ofebotcazou2009-04-241-19/+15
| | | | | | | the conditional expression only if it is common to both arms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146673 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.ebotcazou2009-04-243-57/+39
| | | | | | | | | | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct arguments to build_allocator. * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment. Remove code handling special allocator and assert its uselessness. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146671 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If anebotcazou2009-04-241-4/+39
| | | | | | | | | alignment is specified, do not promote that of the component type beyond it. <E_Array_Subtype>: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146670 138bc75d-0d04-0410-961f-82ee72b054a4
* * gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a directebotcazou2009-04-231-0/+12
| | | | | | | | | | | | | | | | | | assignment from the constructor either if the target is volatile. ada/ * einfo.ads (Is_True_Constant): Lift restriction on atomic objects. * sinfo.ads (Object Declaration): Likewise. (Assignment Statement): Likewise. * freeze.adb (Expand_Atomic_Aggregate): Remove useless test. Do not force Is_True_Constant to false on the temporary. (Freeze_Entity): Do not force Is_True_Constant to false on names on the RHS of object declarations. * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>: New case. Return 1 if the object is atomic. <N_Assignment_Statement>: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146652 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>ebotcazou2009-04-231-15/+45
| | | | | | | | | | For packed array types, make the original array type a parallel type for the modular type and its JM wrapper if the type is bit-packed. <E_Array_Subtype>: Likewise. Do not generate the special XA parallel record type for packed array types. Remove kludge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146647 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (create_index_type): Adjust head comment.ebotcazou2009-04-236-61/+62
| | | | | | | | | | | | | | | | | | | | | | | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Use front-end predicates to compute signedness and precision. <E_String_Literal_Subtype>: Fold range type. Make sure to set longest_float_type_node to a scalar type. (elaborate_entity): Use consistent Constraint_Error spelling. (substitute_in_type) <INTEGER_TYPE>: Always copy the type. * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief output for the modulus, if any. <ENUMERAL_TYPE>: Likewise for the RM size. * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error spelling. * gcc-interface/utils.c (finish_record_type): Really test the alignment of BLKmode bit-fields to compute their addressability. (create_index_type): Adjust comments. (create_param_decl): Create the biased subtype manually. * gcc-interface/utils2.c (build_component_ref): Use consistent Constraint_Error spelling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146644 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/cuintp.c: Clean up include directives.ebotcazou2009-04-238-82/+55
| | | | | | | | | | | | | * gcc-interface/targtyps.c: Likewise. * gcc-interface/decl.c: Likewise. * gcc-interface/misc.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. * gcc-interface/utils2.c: Likewise. * gcc-interface/Make-lang.in: Adjust dependencies accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146643 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.ebotcazou2009-04-234-100/+112
| | | | | | | | | | | | | | | | | | | (SET_TYPE_LANG_SPECIFIC): Likewise. Fix formatting. (SET_DECL_LANG_SPECIFIC): Likewise. Reorder macros. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Update comment about use of build_range_type. <E_Array_Type, E_Array_Subtype>: Use consistent naming convention. <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add check for other cases of overloading. * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst. * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error. Use size_int in lieu of build_int_cst. (build_call_alloc_dealloc): Use build_index_2_type in lieu of build_range_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146639 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation'sebotcazou2009-04-221-7/+11
| | | | | | | | type is an enumeral or a boolean type, change it to an integer type with the same mode and signedness. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146625 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (create_var_decl_1): Do not emit debug infoebotcazou2009-04-221-0/+9
| | | | | | | for an external constant whose initializer is not absolute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146620 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-21 Taras Glek <tglek@mozilla.com>dnovillo2009-04-223-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/hashtab.h: Update GTY annotations to new syntax * include/splay-tree.h: Likewise gcc/ChangeLog 2009-04-21 Taras Glek <tglek@mozilla.com> * alias.c: Update GTY annotations to new syntax * basic-block.h: Likewise * bitmap.h: Likewise * c-common.h: Likewise * c-decl.c: Likewise * c-parser.c: Likewise * c-pragma.c: Likewise * c-tree.h: Likewise * cfgloop.h: Likewise * cgraph.h: Likewise * config/alpha/alpha.c: Likewise * config/arm/arm.h: Likewise * config/avr/avr.h: Likewise * config/bfin/bfin.c: Likewise * config/cris/cris.c: Likewise * config/darwin.c: Likewise * config/frv/frv.c: Likewise * config/i386/i386.c: Likewise * config/i386/i386.h: Likewise * config/i386/winnt.c: Likewise * config/ia64/ia64.h: Likewise * config/iq2000/iq2000.c: Likewise * config/mips/mips.c: Likewise * config/mmix/mmix.h: Likewise * config/pa/pa.c: Likewise * config/pa/pa.h: Likewise * config/rs6000/rs6000.c: Likewise * config/s390/s390.c: Likewise * config/sparc/sparc.c: Likewise * config/xtensa/xtensa.c: Likewise * cselib.h: Likewise * dbxout.c: Likewise * dwarf2out.c: Likewise * except.c: Likewise * except.h: Likewise * fixed-value.h: Likewise * function.c: Likewise * function.h: Likewise * gimple.h: Likewise * integrate.c: Likewise * optabs.c: Likewise * output.h: Likewise * real.h: Likewise * rtl.h: Likewise * stringpool.c: Likewise * tree-data-ref.c: Likewise * tree-flow.h: Likewise * tree-scalar-evolution.c: Likewise * tree-ssa-address.c: Likewise * tree-ssa-alias.h: Likewise * tree-ssa-operands.h: Likewise * tree.c: Likewise * tree.h: Likewise * varasm.c: Likewise * varray.h: Likewise * vec.h: Likewise * coretypes.h: Do not define GTY macro if it is already defined * doc/gty.texi: Update GTY documentation to new syntax * gengtype-lex.l: Enforce attribute-like syntax for GTY annotations on structs * gengtype-parse.c: Likewise gcc/ada/ChangeLog 2009-04-21 Taras Glek <tglek@mozilla.com> * gcc-interface/ada-tree.h: Update GTY annotations to new syntax * gcc-interface/trans.c: Likewise * gcc-interface/utils.c: Likewise gcc/cp/ChangeLog 2009-04-21 Taras Glek <tglek@mozilla.com> * cp-tree.h: Update GTY annotations to new syntax * decl.c: Likewise * mangle.c: Likewise * name-lookup.c: Likewise * name-lookup.h: Likewise * parser.c: Likewise * pt.c: Likewise * rtti.c: Likewise * semantics.c: Likewise * typeck2.c: Likewise gcc/fortran/ChangeLog 2009-04-21 Taras Glek <tglek@mozilla.com> * f95-lang.c: Update GTY annotations to new syntax * trans-intrinsic.c: Likewise * trans-io.c: Likewise * trans.h: Likewise gcc/java/ChangeLog 2009-04-21 Taras Glek <tglek@mozilla.com> * builtins.c: Update GTY annotations to new syntax * decl.c: Likewise * java-tree.h: Likewise * jcf.h: Likewise * lang.c: Likewise gcc/objc/ChangeLog 2009-04-21 Taras Glek <tglek@mozilla.com> * objc-act.c: Update GTY annotations to new syntax * objc-act.h: Likewise libcpp/ChangeLog 2009-04-21 Taras Glek <tglek@mozilla.com> * include/cpp-id-data.h: Update GTY annotations to new syntax * include/cpplib.h: Likewise * include/line-map.h: Likewise * include/symtab.h: Likewise git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146607 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-22 Bob Duff <duff@adacore.com>charlet2009-04-221-11/+15
| | | | | | | | | | | | | | | | | | | * exp_pakd.adb: Minor comment fixes. * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb sem_ch12.adb: Change the meaning of the Library_Unit attribute to include units containing instantiations, as well as units that are generic instantiations. * sem.adb: Include dependents and corresponding specs/bodies in the unit walk. * gcc-interface/Make-lang.in: sem now depends on s-bitops, because of the packed array of Booleans. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146556 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.def: Fix formatting nits.ebotcazou2009-04-227-260/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (REGION_STMT): Delete. (HANDLER_STMT): Likewise. * gcc-interface/ada-tree.h: Fix formatting nits. (IS_STMT): Delete. (REGION_STMT_BODY): Likewise. (REGION_STMT_HANDLE): Likewise. (REGION_STMT_BLOCK): Likewise. (HANDLER_STMT_ARG): Likewise. (HANDLER_STMT_LIST): Likewise. (HANDLER_STMT_BLOCK): Likewise. * gcc-interface/gigi.h (fp_prec_to_size): Update comment. (fp_size_to_prec): Likewise. (largest_move_alignment): Delete. (gnat_compute_largest_alignment): Likewise. Fix minor nits. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Remove redundant code. <E_Array_Type>: Remove redundant assert. <E_Array_Subtype>: Exit early from index computation in pathological cases. Rewrite conditional assignment. (make_type_from_size): Likewise. * gcc-interface/misc.c (largest_move_alignment): Delete. (gnat_finish_incomplete_decl): Likewise. (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise. (asm_out_file): Likewise (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case. (gnat_dwarf_name): Move around. * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits. (gigi): Remove call to gnat_compute_largest_alignment. * utils.c (create_field_decl): Rewrite conditional assignment. Fix minor nits. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146551 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicateebotcazou2009-04-222-152/+139
| | | | | | | | | | | | | | | | on entry. Defer common processing for types. Reorder and clean up. Compute the equivalent GNAT node and the default size for types only. <E_Modular_Integer_Type>: Directly use Esize for the type's precision. <E_Access_Type>: For an unconstrained designated type, do not pretend that a dummy type is always made. <all> Fix nits in comments. (validate_size): Fix formatting nits and comments. (set_rm_size): Likewise. * gcc-interface/utils.c (create_param_decl): Replace bogus argument passed to TARGET_PROMOTE_PROTOTYPES hook. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146549 138bc75d-0d04-0410-961f-82ee72b054a4
* * fe.h (Get_External_Name): Declare.ebotcazou2009-04-223-114/+106
| | | | | | | | | | | | | | | | | | | | | | | | * gcc-interface/gigi.h (concat_id_with_name): Rename to... (concat_name): ...this. * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to gnu_entity_name and adjust for above renaming. <E_Access_Type>: Use create_concat_name to get the name of the various types associated with unconstrained array types. (make_aligning_type): Adjust for above renaming. (maybe_pad_type): Likewise. (components_to_record): Likewise.  Use get_identifier_with_length for the encoding of the variant. (get_entity_name): Use get_identifier_with_length. (create_concat_name): Likewise.  Use Get_External_Name if no suffix. Do not fiddle with Name_Buffer. (concat_id_with_name): Rename to... (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle with Name_Buffer. * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for above renaming. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146547 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (c_common_truthvalue_conversion): Use LOCATION to buildebotcazou2009-04-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | NE_EXPR operations as well. * c-parser.c (c_parser_condition): Do not set location information on the condition. (c_parser_conditional_expression): Likewise. (c_parser_binary_expression): Set location information on operators. * c-typeck.c (build_unary_op) <TRUTH_NOT_EXPR>: Reset the location if TRUTH_NOT_EXPR has been folded. * fold-const.c (fold_truth_not_expr): Copy location information from the incoming expression to the outgoing one. * gimplify.c (shortcut_cond_r): Add locus parameter. Pass it to recursive calls on the LHS of the operator but pass that of the operator to recursive calls on the RHS of the operator. Set it on the COND_EXPR. (shortcut_cond_expr): Set the locus of the operator on the second COND_EXPR and that of the expression on the first in degenerate cases. Pass the locus of the expression to calls to shortcut_cond_r. Set the locus of the 'then' block on the associated jump, if any. (gimplify_boolean_expr): Add locus parameter. Set it on the COND_EXPR. (gimplify_expr) <TRUTH_ANDIF_EXPR>: Pass the locus of the outer expression to call to gimplify_boolean_expr. ada/ * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146532 138bc75d-0d04-0410-961f-82ee72b054a4
* * ada-tree.h (TYPE_RM_SIZE_NUM): Delete.ebotcazou2009-04-215-78/+68
| | | | | | | | | | | | | | | | | | | | | | | (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types. * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>: Remove useless support code for packed array types and assert its uselessness. <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and adjust for TYPE_RM_SIZE change. <all> Fix nits in comments. Use Original_Array_Type accessor instead of Associated_Node_For_Itype accessor for packed array types. (make_packable_type): Likewise. (maybe_pad_type): Likewise. (set_rm_size): Likewise. Rework conditional statement. Adjust for TYPE_RM_SIZE change. (make_type_from_size): Adjust for TYPE_RM_SIZE change. (rm_size): Fix nits in comments. Rework conditional statements. * misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE change. * trans.c (Attribute_to_gnu): Fix nits in comments. * utils.c (gnat_init_decl_processing): Use more appropriate function to initialize the size_type_node. Adjust for TYPE_RM_SIZE change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146530 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_globalebotcazou2009-04-211-7/+6
| | | | | | | for imported subprograms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146469 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not makeebotcazou2009-04-211-8/+5
| | | | | | | constant objects covered by 13.3(19) volatile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146468 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (create_type_decl): Do not pass declarationsebotcazou2009-04-211-4/+8
| | | | | | | of dummy fat pointer types to the debug back-end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146467 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.ebotcazou2009-04-201-26/+37
| | | | | | | | | <E_Signed_Integer_Subtype>: Set the RM size on the integer type before wrapping it up in the record type. Do not overwrite the Ada size of the record type with the Esize. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146452 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.ebotcazou2009-04-201-1/+49
| | | | | | | | | | (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression if the conversion is on the LHS of an assignment and a no-op. <all> Do not convert the result to the result type if the Parent node is such a conversion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146450 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.ebotcazou2009-04-203-139/+97
| | | | | | | | | | | * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension of types with unknown discriminants. (substitute_in_type): Rewrite and restrict to formal substitutions. * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P. (update_pointer_to): Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146447 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-20 Arnaud Charlet <charlet@adacore.com>charlet2009-04-202-184/+195
| | | | | | | | | | | * gcc-interface/Make-lang.in: Update dependencies * gcc-interface/Makefile.in: Link run-time against winsock2 lib under Windows. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146423 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (check_for_eliminated_entity): Remove.ebotcazou2009-04-201-23/+0
| | | | | | | | (Attribute_to_gnu): Do not call check_for_eliminated_entity. (call_to_gnu): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146400 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gigi): Declare the name of the compilationebotcazou2009-04-201-7/+7
| | | | | | | unit as the first global name at the very beginning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146398 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependencies.charlet2009-04-201-24/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146377 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (call_to_gnu): When creating the copy for aebotcazou2009-04-201-7/+14
| | | | | | | | | non-addressable parameter passed by reference, do not convert the actual if its type is already the nominal type, unless it is of self-referential size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146367 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor typeebotcazou2009-04-191-18/+19
| | | | | | | a builtin type and give it a name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146347 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/misc.c (gnat_expand_expr): Remove.dnovillo2009-04-171-43/+0
| | | | | | | | (LANG_HOOKS_EXPAND_EXPR): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146277 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependencies.charlet2009-04-171-45/+48
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146265 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependencies.charlet2009-04-171-297/+283
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146234 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust previous check-in, which set the wrong install_name for libgnarlcharlet2009-04-171-2/+3
| | | | | | | under Darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146233 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-17 Nicolas Setton <setton@adacore.com>charlet2009-04-171-1/+2
| | | | | | | | * gcc-interface/Makefile.in: Under darwin, build shared libraries with install_name starting with "@rpath/". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146225 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplementedcharlet2009-04-161-5/+43
| | | | | | | for the targets where GNAT.Traceback.Symbolic is not supported. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146181 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependencies.charlet2009-04-161-250/+253
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146178 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud