aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface
AgeCommit message (Collapse)AuthorFilesLines
2016-06-29re PR ada/48835 (porting GNAT to m68k-linux)Eric Botcazou5-57/+82
PR ada/48835 PR ada/61954 * gcc-interface/gigi.h (enum standard_datatypes): Add ADT_realloc_decl (realloc_decl): New macro. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use local variable for the entity type and translate it as void pointer if the entity has convention C. (gnat_to_gnu_entity) <E_Function>: If this is not a definition and the external name matches that of malloc_decl or realloc_decl, return the correspoding node directly. (gnat_to_gnu_subprog_type): Likewise for parameter and return types. * gcc-interface/trans.c (gigi): Initialize void_list_node here, not... Initialize realloc_decl. * gcc-interface/utils.c (install_builtin_elementary_types): ...here. (build_void_list_node): Delete. * gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Return the alignment of the system allocator for malloc_decl and realloc_decl. Do not take alignment from void pointer types either. From-SVN: r237850
2016-06-29misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Reorder.Eric Botcazou1-6/+5
* gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Reorder. (LANG_HOOKS_INIT_TS): Likewise. From-SVN: r237848
2016-06-21tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if they are ↵Eric Botcazou2-27/+36
both PLACEHOLDER_EXPRs. * tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if they are both PLACEHOLDER_EXPRs. ada/ * gcc-interface/decl.c (set_nonaliased_component_on_array_type): New function. (set_reverse_storage_order_on_array_type): Likewise. (gnat_to_gnu_entity) <E_Array_Type>: Call them to set the flags. <E_Array_Subtype>: Likewise. <E_String_Literal_Subtype>: Likewise. (substitute_in_type) <ARRAY_TYPE>: Likewise. * gcc-interface/utils.c (gnat_pushdecl): Always create a variant for the DECL_ORIGINAL_TYPE of a type. From-SVN: r237658
2016-06-13decl.c (gnat_to_gnu_subprog_type): Build only a minimal PARM_DECL when the ↵Eric Botcazou2-2/+5
parameter type is dummy. * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only a minimal PARM_DECL when the parameter type is dummy. * gcc-interface/trans.c (Call_to_gnu): Translate formal types before formal objects. From-SVN: r237362
2016-06-13decl.c (gnat_to_gnu_entity): Deal with PLUS_EXPR in the expression of a ↵Eric Botcazou1-0/+1
renaming. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with PLUS_EXPR in the expression of a renaming. From-SVN: r237360
2016-06-13utils2.c (known_alignment): Deal specially with calls to malloc.Eric Botcazou1-0/+4
* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially with calls to malloc. From-SVN: r237356
2016-06-11trans.c (build_binary_op_trapv): If no operand is a constant, use the ↵Eric Botcazou1-127/+122
generic implementation of the middle-end... * gcc-interface/trans.c (build_binary_op_trapv): If no operand is a constant, use the generic implementation of the middle-end; otherwise turn the dynamic conditions into static conditions and simplify. From-SVN: r237328
2016-06-11* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.Eric Botcazou1-3/+10
From-SVN: r237326
2016-06-11decl.c (gnat_to_gnu_entity): Do not clobber gnat_entity_name with temporary ↵Pierre-Marie de Rodat1-9/+11
names for XUP and XUT types. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not clobber gnat_entity_name with temporary names for XUP and XUT types. From-SVN: r237324
2016-06-10PR c/71392 - SEGV calling integer overflow built-ins with a null pointerMartin Sebor1-2/+6
gcc/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro. (ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same. * builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use them. (BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same. (BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same. (BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same. (BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same. (BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same. (BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same. (BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same. (BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW): gcc/ada/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept the nonnull attribute in type-generic builtins. gcc/c-family/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept the nonnull attribute in type-generic builtins. gcc/lto/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull attribute in type-generic builtins. gcc/testsuite/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * c-c++-common/builtin-arith-overflow-1.c: Add test cases. From-SVN: r237314
2016-06-06decl.c (Gigi_Equivalent_Type): Make sure equivalent types are present before ↵Eric Botcazou1-9/+12
returning them. * gcc-interface/decl.c (Gigi_Equivalent_Type): Make sure equivalent types are present before returning them. Remove final assertion. (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Adjust to above change. <E_Protected_Type>: Likewise. From-SVN: r237130
2016-06-06trans.c (elaborate_all_entities_for_package): Also do not elaborate Itypes.Eric Botcazou1-0/+2
* gcc-interface/trans.c (elaborate_all_entities_for_package): Also do not elaborate Itypes. From-SVN: r237129
2016-06-06utils.c (gnat_internal_attribute_table): Add support for noinline and ↵Eric Botcazou1-0/+51
noclone attributes. * gcc-interface/utils.c (gnat_internal_attribute_table): Add support for noinline and noclone attributes. (handle_noinline_attribute): New handler. (handle_noclone_attribute): Likewise. From-SVN: r237127
2016-06-06* gcc-interface/trans.c (process_type): Beef up comment.Eric Botcazou1-1/+3
From-SVN: r237126
2016-06-06utils2.c (build_call_alloc_dealloc): Do not substitute placeholder ↵Eric Botcazou2-13/+18
expressions here but... * gcc-interface/utils2.c (build_call_alloc_dealloc): Do not substitute placeholder expressions here but... * gcc-interface/trans.c (gnat_to_gnu) <N_Free_Statement>: ...here. Make an exception to the protection of a CALL_EXPR result with an unconstrained type only in the same cases as Call_to_gnu. From-SVN: r237125
2016-06-06trans.c (gnat_to_gnu): Rework special code dealing with boolean rvalues and ↵Eric Botcazou1-11/+20
set the location directly. * gcc-interface/trans.c (gnat_to_gnu): Rework special code dealing with boolean rvalues and set the location directly. Do not set the location in the other cases for a simple name. (gnat_to_gnu_external): Clear the location on the expression. From-SVN: r237123
2016-06-06decl.c (gnat_to_gnu_entity): Remove useless 'else' statements and tidy up.Eric Botcazou2-83/+85
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Remove useless 'else' statements and tidy up. <E_Array_Subtype>: Fully deal with the declaration here. <E_Incomplete_Type>: Use properly-typed constant. Assert that we don't apply the special type treatment to dummy types. Separate this treatment from the final back-annotation and simplify the condition for the RM size. (gnat_to_gnu_param): Add GNU_PARAM_TYPE parameter and adjust. (gnat_to_gnu_subprog_type): Ajust call to gnat_to_gnu_param. * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Declaration>: Add comment. (process_freeze_entity): Remove obsolete code. (process_type): Minor tweaks. From-SVN: r237122
2016-06-06gigi.h (finish_subprog_decl): Add ASM_NAME parameter.Eric Botcazou3-151/+256
* gcc-interface/gigi.h (finish_subprog_decl): Add ASM_NAME parameter. * gcc-interface/decl.c (gnu_ext_name_for_subprog): New function. (gnat_to_gnu_entity) <E_Subprogram_Type>: Do not check compatibility of profiles for builtins here... Call gnu_ext_name_for_subprog. Also update profiles if pointers to limited_with'ed types are updated. (gnat_to_gnu_param): Restore the correct source location information for vector ABI warnings. (associate_subprog_with_dummy_type): Add comment about AI05-019. Set TYPE_DUMMY_IN_PROFILE_P flag unconditionally. (update_profile): Deal with builtin declarations. Call gnu_ext_name_for_subprog. Adjust call to finish_subprog_decl. (update_profiles_with): Add comment. (gnat_to_gnu_subprog_type): Reuse the return type if it is complete. Likewise for parameter declarations in most cases. Do not change the return type for the CICO mechanism if the profile is incomplete. ...but here instead. Always reset the slot for the parameters. * gcc-interface/utils.c (create_subprog_decl): Call gnu_ext_name_for_subprog. Do not set the assembler name here but... (finish_subprog_decl): ...but here instead. Add ASM_NAME parameter. From-SVN: r237119
2016-05-20tree-vrp.c (compare_values_warnv): Simplify handling of symbolic ranges by ↵Eric Botcazou2-5/+23
calling get_single_symbol and tidy up. * tree-vrp.c (compare_values_warnv): Simplify handling of symbolic ranges by calling get_single_symbol and tidy up. Look more closely into NAME + CST1 vs CST2 comparisons if type overflow is undefined. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Make same-sized subtypes of signed base types signed. * gcc-interface/utils.c (make_type_from_size): Adjust to above change. (unchecked_convert): Likewise. From-SVN: r236548
2016-05-16decl.c (gnat_to_gnu_entity): Do not build a specific type for the object if ↵Eric Botcazou1-3/+0
it is deemed a constant. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build a specific type for the object if it is deemed a constant. From-SVN: r236283
2016-05-16trans.c (elaborate_all_entities_for_package): Also skip formal objects.Eric Botcazou1-0/+4
* gcc-interface/trans.c (elaborate_all_entities_for_package): Also skip formal objects. From-SVN: r236280
2016-05-16* doc/gnat_rm/implementation_defined_attributes.rstEric Botcazou3-88/+60
(Scalar_Storage_Order): Adjust restriction for packed array types. * einfo.ads (Is_Bit_Packed_Array): Adjust description. (Is_Packed): Likewise. (Is_Packed_Array_Impl_Type): Likewise. (Packed_Array_Impl_Type): Likewise. * exp_ch4.adb (Expand_N_Indexed_Component): Do not do anything special if the prefix is not a packed array implemented specially. * exp_ch6.adb (Expand_Actuals): Expand indexed components only for bit-packed array types. * exp_pakd.adb (Install_PAT): Set Is_Packed_Array_Impl_Type flag on the PAT before analyzing its declaration. (Create_Packed_Array_Impl_Type): Remove redundant statements. * freeze.adb (Check_Component_Storage_Order): Reject packed array components only if they are bit packed. (Freeze_Array_Type): Fix logic detecting bit packing and do not bit pack for composite types whose size is multiple of a byte. Create the implementation type for packed array types only when it is needed, i.e. bit packing or packing because of holes in index types. Make sure the Has_Non_Standard_Rep and Is_Packed flags agree. * gcc-interface/gigi.h (make_packable_type): Add MAX_ALIGN parameter. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Call maybe_pad_type instead of building the padding type manually. (gnat_to_gnu_entity) <E_Array_Subtype>: Do not assert that Packed_Array_Impl_Type is present for packed arrays. (gnat_to_gnu_component_type): Also handle known alignment for packed types by passing it to make_packable_type. * gcc-interface/utils.c (make_packable_type): Add MAX_ALIGN parameter and deal with it in the array case. Adjust recursive call. Simplify computation of new size and cap the alignment to BIGGEST_ALIGNMENT. From-SVN: r236279
2016-05-16configure.ac: Add ACX_NONCANONICAL_HOST.Eric Botcazou1-4/+4
gnattools/ * configure.ac: Add ACX_NONCANONICAL_HOST. * configure: Regenerate. * Makefile.in: Replace host_alias with host_noncanonical. (gnattools-cross): Do not rename the tools. gcc/ * configure.ac: Add ACX_NONCANONICAL_HOST. * configure: Regenerate. * Makefile.in: Set host_noncanonical. gcc/ada * gcc-interface/Make-lang.in (GNATMAKE_FOR_HOST): In the canadian cross case, use host_noncanonical instead of host as prefix. (GNATBIND_FOR_HOST): Likewise. (GNATLINK_FOR_HOST): Likewise. (GNATLS_FOR_HOST): Likewise. From-SVN: r236267
2016-05-02Fix make install-gcc-specs with empty GCC_SPEC_FILESRainer Orth1-4/+3
* gcc-interface/Makefile.in (install-gcc-specs): Use foreach. Honor DESTDIR. From-SVN: r235754
2016-05-02decl.c (elaborate_reference_1): Do not bother about operand #2 for ↵Eric Botcazou3-18/+18
COMPONENT_REF. * gcc-interface/decl.c (elaborate_reference_1): Do not bother about operand #2 for COMPONENT_REF. * gcc-interface/utils2.c (gnat_save_expr): Likewise. (gnat_protect_expr): Likewise. (gnat_stabilize_reference_1): Likewise. (gnat_rewrite_reference): Do not bother about operand #3 for ARRAY_REF. (get_inner_constant_reference): Likewise. (gnat_invariant_expr): Likewise. * gcc-interface/trans.c (fold_constant_decl_in_expr): Likewise. From-SVN: r235701
2016-05-02trans.c (Range_to_gnu): New static function.Eric Botcazou1-27/+36
* gcc-interface/trans.c (Range_to_gnu): New static function. (Raise_Error_to_gnu) <N_In>: Call it to translate the range. (gnat_to_gnu) <N_In>: Likewise. From-SVN: r235699
2016-04-30Make-lang.in (ACATSCMD): New variable.Eric Botcazou1-3/+4
ada/ * gcc-interface/Make-lang.in (ACATSCMD): New variable. (check-acats): Use it. (check_acats_targets): Likewise. testsuite/ * ada/acats/run_acats: Rename into... * ada/acats/run_acats.sh: ...this. Only export BASE variable. * ada/acats/run_all.sh: Remove redundant test. (target_run): Move around. (target_gnatchop): Use newly built executable. (target_gnatmake): Likewise. Check that the compilation of impbit succeeds. From-SVN: r235678
2016-04-27sem_aux.adb (Is_By_Reference_Type): Also return true for a tagged incomplete ↵Eric Botcazou6-844/+928
type without full view. * sem_aux.adb (Is_By_Reference_Type): Also return true for a tagged incomplete type without full view. * sem_ch6.adb (Exchange_Limited_Views): Change into a function and return the list of changes. (Restore_Limited_Views): New procedure to undo the transformation made by Exchange_Limited_Views. (Analyze_Subprogram_Body_Helper): Adjust call to Exchange_Limited_Views and call Restore_Limited_Views at the end, if need be. (Possible_Freeze): Do not delay freezing because of incomplete types. (Process_Formals): Remove kludges for class-wide types. * types.h (By_Copy_Return): Delete. * gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): Move around. (TYPE_DUMMY_IN_PROFILE_P): New macro. * gcc-interface/gigi.h (update_profiles_with): Declare. (finish_subprog_decl): Likewise. (get_minimal_subprog_decl): Delete. (create_subprog_type): Likewise. (create_param_decl): Adjust prototype. (create_subprog_decl): Likewise. * gcc-interface/decl.c (defer_limited_with): Rename into... (defer_limited_with_list): ...this. (gnat_to_gnu_entity): Adjust to above renaming. (finalize_from_limited_with): Likewise. (tree_entity_vec_map): New structure. (gt_pch_nx): New helpers. (dummy_to_subprog_map): New hash table. (gnat_to_gnu_param): Set the SLOC here. Remove MECH parameter and add FIRST parameter. Deal with the mechanism here instead of... Do not make read-only variant of types. Simplify expressions. In the by-ref case, test the mechanism before must_pass_by_ref and also TYPE_IS_BY_REFERENCE_P before building the reference type. (gnat_to_gnu_subprog_type): New static function extracted from... Do not special-case the type_annotate_only mode. Call gnat_to_gnu_profile_type instead of gnat_to_gnu_type on return type. Deal with dummy return types. Likewise for parameter types. Deal with by-reference types explicitly and add a kludge for null procedures with untagged incomplete types. Remove assertion on the types and be prepared for multiple elaboration of the declarations. Skip the whole CICO processing if the profile is incomplete. Handle the completion of a previously incomplete profile. (gnat_to_gnu_entity) <E_Variable>: Rename local variable. Adjust couple of calls to create_param_decl. <E_Access_Subprogram_Type, E_Anonymous_Access_Subprogram_Type>: Remove specific deferring code. <E_Access_Type>: Also deal with E_Subprogram_Type designated type. Simplify handling of dummy types and remove obsolete comment. Constify a couple of variables. Do not set TYPE_UNIVERSAL_ALIASING_P on dummy types. <E_Access_Subtype>: Tweak comment and simplify condition. <E_Subprogram_Type>: ...here. Call it and clean up handling. Remove obsolete comment and adjust call to gnat_to_gnu_param. Adjust call to create_subprog_decl. <E_Incomplete_Type>: Add a couple of 'const' qualifiers and get rid of inner break statements. Tidy up condition guarding direct use of the full view. (get_minimal_subprog_decl): Delete. (finalize_from_limited_with): Call update_profiles_with on dummy types with TYPE_DUMMY_IN_PROFILE_P set. (is_from_limited_with_of_main): Delete. (associate_subprog_with_dummy_type): New function. (update_profile): Likewise. (update_profiles_with): Likewise. (gnat_to_gnu_profile_type): Likewise. (init_gnat_decl): Initialize dummy_to_subprog_map. (destroy_gnat_decl): Destroy dummy_to_subprog_map. * gcc-interface/misc.c (gnat_get_alias_set): Add guard for accessing TYPE_UNIVERSAL_ALIASING_P. (gnat_get_array_descr_info): Minor tweak. * gcc-interface/trans.c (gigi): Adjust calls to create_subprog_decl. (build_raise_check): Likewise. (Compilation_Unit_to_gnu): Likewise. (Identifier_to_gnu): Accept mismatches coming from a limited context. (Attribute_to_gnu): Remove kludge for dispatch table entities. (process_freeze_entity): Do not retrieve old definition if there is an address clause on the entity. Call update_profiles_with on dummy types with TYPE_DUMMY_IN_PROFILE_P set. * gcc-interface/utils.c (build_dummy_unc_pointer_types): Also set TYPE_REFERENCE_TO to the fat pointer type. (create_subprog_type): Delete. (create_param_decl): Remove READONLY parameter. (finish_subprog_decl): New function extracted from... (create_subprog_decl): ...here. Call it. Remove CONST_FLAG and VOLATILE_FLAG parameters and adjust. (update_pointer_to): Also clear TYPE_REFERENCE_TO in the unconstrained case. From-SVN: r235521
2016-04-27gigi.h (gnat_to_gnu_entity): Adjust prototype.Eric Botcazou5-120/+121
* gcc-interface/gigi.h (gnat_to_gnu_entity): Adjust prototype. (maybe_pad_type): Adjust comment. (finish_record_type): Likewise. (rest_of_record_type_compilation): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity): Change DEFINITION type parameter from integer to boolean. Adjust recursive calls. <E_Subprogram_Type>: Use copy_type and remove redundant assignments. <E_Signed_Integer_Subtype>: Adjust comment. Remove call to rest_of_record_type_compilation. Set TYPE_PADDING_P flag earlier. Pass false to finish_record_type. Set the debug type later. <E_Record_Subtype>: Remove call to rest_of_record_type_compilation. (gnat_to_gnu_component_type): Fix formatting. (gnat_to_gnu_field_decl): Adjust call to gnat_to_gnu_entity. (gnat_to_gnu_type): Likewise. * gcc-interface/trans.c (Identifier_to_gnu): Likewise. (Loop_Statement_to_gnu): Likewise. (Subprogram_Body_to_gnu): Likewise. (Exception_Handler_to_gnu_fe_sjlj): Likewise. (Exception_Handler_to_gnu_gcc): Likewise. (Compilation_Unit_to_gnu): Likewise. (gnat_to_gnu): Likewise. (push_exception_label_stack): Likewise. (elaborate_all_entities_for_package): Likewise. (process_freeze_entity): Likewise. (process_decls): Likewise. (process_type): Likewise. * gcc-interface/utils.c (struct deferred_decl_context_node): Tweak. (maybe_pad_type): Adjust comments. Set the debug type later. Remove call to rest_of_record_type_compilation. (rest_of_record_type_compilation): Use copy_type. (copy_type): Use correctly typed constants. (gnat_signed_or_unsigned_type_for): Use copy_type. * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise. (build_goto_raise): Adjust call tognat_to_gnu_entity. From-SVN: r235479
2016-04-27re PR ada/70759 (Ada rts fails to build with -mabi=ilp32)Eric Botcazou1-3/+0
PR ada/70759 * stor-layout.h (internal_reference_types): Delete. * stor-layout.c (reference_types_internal): Likewise. (internal_reference_types): Likewise. (layout_type) <REFERENCE_TYPE>: Adjust. ada/ * gcc-interface/misc.c (gnat_init): Do not call internal_reference_types. From-SVN: r235472
2016-04-27Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb.Svante Signell1-1/+1
* gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb. * s-osinte-gnu.ads: Small tweaks. * s-osinte-gnu.adb: New file. From-SVN: r235467
2016-04-18tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.Michael Matz2-43/+46
* tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount. (SET_TYPE_ALIGN, SET_DECL_ALIGN): New. * tree-core.h (tree_type_common.align): Use bit-field. (tree_type_common.spare): New. (tree_decl_common.off_align): Make smaller. (tree_decl_common.align): Use bit-field. * expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN. * omp-low.c (install_var_field): Use SET_DECL_ALIGN. (scan_sharing_clauses): Ditto. (finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN. (omp_finish_file): Ditto. * stor-layout.c (do_type_align): Use SET_DECL_ALIGN. (layout_decl): Ditto. (relayout_decl): Ditto. (finalize_record_size): Use SET_TYPE_ALIGN. (finalize_type_size): Ditto. (finish_builtin_struct): Ditto. (layout_type): Ditto. (initialize_sizetypes): Ditto. * targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN. * tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN. (lookup_field_for_decl): Use SET_DECL_ALIGN. (get_chain_field): Ditto. (get_trampoline_type): Ditto. (get_nl_goto_field): Ditto. * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use SET_DECL_ALIGN. (unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN. * gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN. * tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN. (build_qualified_type): Use SET_TYPE_ALIGN. (build_aligned_type, build_range_type_1): Ditto. (build_atomic_base): Ditto. (build_common_tree_nodes): Ditto. * cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN. (expand_one_stack_var_at): Ditto. * coverage.c (build_var): Use SET_DECL_ALIGN. * except.c (init_eh): Ditto. * function.c (assign_parm_setup_block): Ditto. * symtab.c (increase_alignment_1): Ditto. * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto. * tree-vect-stmts.c (ensure_base_align): Ditto. * varasm.c (align_variable): Ditto. (assemble_variable): Ditto. (build_constant_desc): Ditto. (output_constant_def_contents): Ditto. * config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN. * config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN. * config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto. * config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto. * config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN. (gnat_to_gnu_field): Ditto. (components_to_record): Ditto. (create_variant_part_from): Ditto. (copy_and_substitute_in_size): Ditto. (substitute_in_type): Ditto. * gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN. (make_packable_type): Ditto. (maybe_pad_type): Ditto. (finish_fat_pointer_type): Ditto. (finish_record_type): Ditto and use SET_DECL_ALIGN. (rest_of_record_type_compilation): Use SET_TYPE_ALIGN. (create_field_decl): Use SET_DECL_ALIGN. c-family/ * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN and SET_DECL_ALIGN. c/ * c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN. (grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN. cp/ * class.c (build_vtable): Use SET_DECL_ALIGN and SET_TYPE_ALIGN. (layout_class_type): Ditto. (build_base_field): Use SET_DECL_ALIGN. (fixup_attribute_variants): Use SET_TYPE_ALIGN. * decl.c (duplicate_decls): Use SET_DECL_ALIGN. (record_unknown_type): Use SET_TYPE_ALIGN. (cxx_init_decl_processing): Ditto. (copy_type_enum): Ditto. (grokfndecl): Use SET_DECL_ALIGN. (copy_type_enum): Use SET_TYPE_ALIGN. * pt.c (instantiate_class_template_1): Use SET_TYPE_ALIGN. (tsubst): Ditto. * tree.c (cp_build_qualified_type_real): Use SET_TYPE_ALIGN. * lambda.c (maybe_add_lambda_conv_op): Use SET_DECL_ALIGN. * method.c (implicitly_declare_fn): Use SET_DECL_ALIGN. * rtti.c (emit_tinfo_decl): Ditto. fortran/ * trans-io.c (gfc_build_io_library_fndecls): Use SET_TYPE_ALIGN. * trans-common.c (build_common_decl): Use SET_DECL_ALIGN. * trans-types.c (gfc_add_field_to_struct): Use SET_DECL_ALIGN. go/ * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN. java/ * class.c (add_method_1): Use SET_DECL_ALIGN. (make_class_data): Ditto. (emit_register_classes_in_jcr_section): Ditto. * typeck.c (build_java_array_type): Ditto. objc/ * objc-act.c (objc_build_struct): Use SET_DECL_ALIGN. libcc1/ * plugin.cc (plugin_finish_record_or_union): Use SET_TYPE_ALIGN. From-SVN: r235172
2016-04-18* gcc-interface/decl.c: Rename Descendent -> DescendantVincent Celier1-2/+2
From-SVN: r235104
2016-04-02decl.c (components_to_record): Restrict the previous change to fields with ↵Eric Botcazou1-5/+7
variable size. * gcc-interface/decl.c (components_to_record): Restrict the previous change to fields with variable size. From-SVN: r234696
2016-03-27decl.c (components_to_record): Add special case for single field with ↵Eric Botcazou1-0/+17
representation clause at offset 0. * gcc-interface/decl.c (components_to_record): Add special case for single field with representation clause at offset 0. From-SVN: r234494
2016-03-16Makefile.in: Add support for x86 GNU/Hurd.Svante Signell1-1/+30
* gcc-interface/Makefile.in: Add support for x86 GNU/Hurd. * s-osinte-gnu.ads: New file. From-SVN: r234252
2016-03-07trans.c (statement_node_p): New predicate.Eric Botcazou1-12/+39
* gcc-interface/trans.c (statement_node_p): New predicate. (gnat_to_gnu): Invoke it to detect statement nodes. In ASIS mode, do not return dummy results for expressions attached to packed array implementation types. From-SVN: r234020
2016-03-07decl.c (gnat_to_gnu_entity): Always mark the expression of a renaming ↵Eric Botcazou1-6/+4
manually in case #3. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark the expression of a renaming manually in case #3. From-SVN: r234018
2016-02-29Replace ENABLE_CHECKING macro with flag_checking in GNATMartin Liska1-5/+7
* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type): Replace ENABLE_CHECKING macro with flag_checking. From-SVN: r233815
2016-02-29decl.c (gnat_to_gnu_entity): Retrofit handling of unconstrained array types ↵Eric Botcazou1-51/+23
as designated types into common... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit handling of unconstrained array types as designated types into common processing. Also handle array types as incomplete designated types. From-SVN: r233807
2016-02-29decl.c (gnat_to_gnu_entity): In ASIS mode, fully lay out the minimal record ↵Eric Botcazou1-1/+2
type. * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In ASIS mode, fully lay out the minimal record type. From-SVN: r233806
2016-02-29trans.c (finalize_nrv_r): Remove obsolete code.Eric Botcazou1-47/+30
* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code. (build_return_expr): Likewise. (Call_to_gnu): If this is a function call and there is no target, create a temporary for the return value for all aggregate types, but never create it for a return statement. Push a binding level around the call in more cases. Remove obsolete code. From-SVN: r233805
2016-02-29ada-tree.h (DECL_RETURN_VALUE_P): New macro.Eric Botcazou6-40/+109
* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro. * gcc-interface/gigi.h (gigi): Remove useless attribute. (gnat_gimplify_expr): Likewise. (gnat_to_gnu_external): Declare. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out code dealing with the expression of external constants into... Invoke gnat_to_gnu_external instead. <E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects when not for a definition. Deal with COMPOUND_EXPR and variables with DECL_RETURN_VALUE_P set for renamings and with the case of a dangling 'reference to a function call in a renaming. Remove obsolete test and adjust associated comment. * gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the temporaries created to hold the return value, if any. (gnat_to_gnu_external): ...this. New function. * gcc-interface/utils.c (create_var_decl): Detect a constant created to hold 'reference to function call. * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case. From-SVN: r233804
2016-02-17exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if the ↵Eric Botcazou1-0/+3
prefix denotes an entity which Has_Atomic_Components. * exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if the prefix denotes an entity which Has_Atomic_Components. * gcc-interface/trans.c (node_is_atomic): Return true if the prefix denotes an entity which Has_Atomic_Components. From-SVN: r233485
2016-02-17utils2.c (gnat_protect_expr): Make a SAVE_EXPR only for fat pointer or ↵Eric Botcazou1-5/+4
scalar types. * gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only for fat pointer or scalar types. From-SVN: r233484
2016-02-16gigi.h (maybe_debug_type): New inline function.Eric Botcazou3-11/+25
* gcc-interface/gigi.h (maybe_debug_type): New inline function. * gcc-interface/misc.c (gnat_get_array_descr_info): Use it. Call maybe_character_value on the array bounds. Get to the base type of the index type and call maybe_debug_type on it. * gcc-interface/utils.c (finish_character_type): Add special treatment From-SVN: r233469
2016-02-16misc.c (gnat_enum_underlying_base_type): New function.Eric Botcazou1-0/+11
* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function. (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above. From-SVN: r233467
2016-02-08Remove -fshort-doubleBernd Schmidt1-1/+1
PR target/60410 * tree.c (build_common_tree_nodes): Remove short_double argument. All callers changed. * tree.h (build_common_tree_nodes): Adjust declaration. * doc/invoke.texi (-fshort-double): Remove documentation. * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Remove -fshort-double variant. * lto-wrapper.c (merge_and_complain, append_compiler_options, append_linker_options): Don't handle OPT_fshort_double. c-family/ PR target/60410 * c.opt (fshort-double): Remove. testsuite/ PR target/60410 * gcc.dg/lto/pr55113_0.c: Remove test. From-SVN: r233218
2016-02-08utils.c (create_var_decl): Set again DECL_COMMON and DECL_IGNORED_P last.Eric Botcazou1-18/+18
* gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and DECL_IGNORED_P last. From-SVN: r233210
2016-01-28gigi.h (enum attr_type): Rename into...Eric Botcazou2-6/+6
* gcc-interface/gigi.h (enum attr_type): Rename into... (enum attrib_type): ...this. (struct attrib): Adjust. * gcc-interface/decl.c (prepend_one_attribute): Likewise. From-SVN: r232923