summaryrefslogtreecommitdiffstats
path: root/gcc/ada/gcc-interface
Commit message (Collapse)AuthorAgeFilesLines
...
* * Makefile.in (LIBDEPS): Add libcommon.a.jsm282011-05-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (LIBS): Likewise. (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o. (OBJS-common): Remove diagnostic.o, input.o, intl.o, pretty-print.o and version.o. (OBJS-libcommon): New. (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon). (BACKEND): Add libcommon.a. (MOSTLYCLEANFILES): Likewise. (libcommon.a): New. (xgcc$(exeext)): Don't explicitly use version.o and intl.o. (cpp$(exeext)): Likewise. (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o, pretty-print.o and input.o. (lto-wrapper$(exeext)): Don't explicitly use intl.o. (lto-wrapper.o): Depend on $(DIAGNOSTIC_H). (errors.o): Remove. (mips-tfile): Don't explicitly use version.o. (mips-tdump): Likewise. (gcov.o): Depend on $(DIAGNOSTIC_H). (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H). (GCOV_OBJS): Remove intl.o, version.o and errors.o. (GCOV_DUMP_OBJS): Remove version.o and errors.o. * gcov-dump.c: Include intl.h and diagnostic.h. (main): Initialize diagnostics. * gcov.c: Include diagnostic.h. (fnotice): Remove. (main): Initialize diagnostics. * lto-wrapper.c: Include diagnostic.h. (main): Initialize diagnostics. ada: * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o. * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a instead of version.o. cp: * Make-lang.in (GXX_OBJS): Remove intl.o and version.o. fortran: * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o. go: * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o. java: * Make-lang.in ($(XGCJ)$(exeext)): Don't explicitly use intl.o and version.o. (JCFDUMP_OBJS): Remove errors.o, version.o and intl.o. (JVGENMAIN_OBJS): Remove errors.o and intl.o. (java/jcf-dump.o, java/jvgenmain.o): Depend in $(DIAGNOSTIC_H). * jcf-dump.c: Include diagnostic.h. (main): Initialize diagnostics. * jvgenmain.c: Include diagnostic.h. (main): Initialize diagnostics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173958 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-18 Kai Tietz <ktietz@redhat.com>ktietz2011-05-182-5/+5
| | | | | | | | | | | * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use boolean_false_node instead of integer_zero_node. (convert_with_check): Likewise. * gcc-interface/decl.c (choices_to_gnu): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173846 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if theebotcazou2011-05-121-4/+10
| | | | | | | | type of the parameter is an unconstrained array, convert the actual to the type of the formal in the In Out and Out cases as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173706 138bc75d-0d04-0410-961f-82ee72b054a4
* don't use build_function_type in the Ada FEfroydnj2011-05-111-21/+13
| | | | | | | | | | | * gcc-interface/utils.c (def_fn_type): Don't call build_function_type; call build_function_type_array or build_varargs_function_type_array instead. (create_subprog_type): Don't call build_function_type; call build_function_type_vec instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173664 138bc75d-0d04-0410-961f-82ee72b054a4
* split tree_typefroydnj2011-05-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ada/ * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL. (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL. (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL. gcc/cp/ * cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use TYPE_VALUES_RAW. (UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise. (DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise. (TEMPLATE_TYPE_PARM_INDEX): Likewise. gcc/ * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common. * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to... (unpack_ts_type_common_value_fields): ...this. Update comment. (unpack_value_fields): Adjust for renaming. (lto_input_ts_type_tree_pointers): Split into... (lto_input_ts_type_common_tree_pointer): ...this and... (lto_input_ts_type_non_common_tree_pointers): ...this. (lto_input_tree_pointers): Adjust for above split. * lto-streamer-out.c (pack_ts_type_value_fields): Rename to... (pack_ts_type_common_value_fields): ...this. Update comment. (lto_output_ts_type_tree_pointers): Split into... (lto_output_ts_type_common_tree_pointers): ...this and... (lto_output_ts_type_non_common_tree_pointers): ...this. (lto_output_tree_pointers): Adjust for above split. * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled. * stor-layout.c (vector_type_mode): Adjust location of mode field. * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC): Define. (struct tree_type): Split into... (struct tree_type_common: ...this and... (struct tree_type_with_lang_specific): ...this and... (struct tree_type_non_common): ...this. Adjust accessor macros accordingly. (TYPE_VALUES_RAW): Define. (union tree_node): Update for above changes. * tree.c (tree_node_structure_for_code) [tcc_type]: Return TS_TYPE_NON_COMMON. (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON. Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON. (tree_code_size) [tcc_type]: Use struct tree_type_non_common. * treestructu.def (TS_TYPE): Remove. (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON): Define. gcc/java/ * java-tree.h (TYPE_ARGUMENT_SIGNATURE): Use TYPE_MINVAL. gcc/lto/ * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust location of binfo field. (lto_fixup_prevailing_decls): Likewise. gcc/objc/ * objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors. (CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise. (PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173658 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.ebotcazou2011-05-071-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173536 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>ebotcazou2011-05-072-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return type to bool and adjust comment. * fold-const.c (fold_range_test): Adjust call to global_bindings_p. (fold_mathfn_compare): Remove calls to global_bindings_p. (fold_inf_compare): Likewise. * stor-layout.c (variable_size): Adjust call to global_bindings_p. * c-tree.h (global_bindings_p): Adjust prototype. * c-decl.c (global_bindings_p): Return bool and simplify. ada/ * gcc-interface/gigi.h (global_bindings_p): Adjust prototype. * gcc-interface/utils.c (global_bindings_p): Return bool and simplify. cp/ * name-lookup.h (global_bindings_p): Adjust prototype. * name-lookup.c (global_bindings_p): Return bool. fortran/ * f95-lang.c (global_bindings_p): Return bool and simplify. go/ * go-lang.c (global_bindings_p): Return bool and simplify. java/ * java-tree.h (global_bindings_p): Adjust prototype. * decl.c (global_bindings_p): Return bool. lto/ * lto-lang.c (global_bindings_p): Return bool. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173535 138bc75d-0d04-0410-961f-82ee72b054a4
* generalize build_case_label to the rest of the compilerfroydnj2011-05-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ada/ * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label. gcc/ * except.c (sjlj_emit_dispatch_table): Call build_case_label. * gimplify.c (gimplify_switch_expr): Likewise. * omp-low.c (expand_omp_sections): Likewise. * tree-eh.c (lower_try_finally_switch): Likewise. (lower_eh_dispatch): Likewise. * tree.h (build_case_label): Declare. * tree.c (build_case_label): Define. gcc/c-family/ * c-common.c (c_add_case_label): Omit the loc argument to build_case_label. * c-common.h (build_case_label): Remove. * c-semantics.c (build_case_label): Remove. gcc/cp/ * decl.c (finish_case_label): Omit the loc argument to build_case_label. gcc/fortran/ * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label. * trans-io.c (add_case): Likewise. * trans-stmt.c (gfc_trans_integer_select): Likewise. (gfc_trans_character_select): Likewise. gcc/go/ * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label. gcc/java/ * expr.c (expand_java_switch): Call build_case_label. (expand_java_add_case): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173467 138bc75d-0d04-0410-961f-82ee72b054a4
* don't use TYPE_ARG_TYPES in the Ada frontendfroydnj2011-05-062-17/+24
| | | | | | | | | * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators instead of accessing TYPE_ARG_TYPES directly. * gcc-interface/utils.c (handle_nonnull_attribute): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173466 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/48844ebotcazou2011-05-053-7/+15
| | | | | | | | | | | * gcc-interface/gigi.h (get_variant_part): Declare. * gcc-interface/decl.c (get_variant_part): Make global. * gcc-interface/utils2.c (find_common_type): Do not return T1 if the types have the same constant size, are record types and T1 has a variant part while T2 doesn't. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173442 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (get_pending_sizes): Remove prototype.ebotcazou2011-05-051-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (put_pending_size): Likewise. (put_pending_sizes): Likewise. * stor-layout.c (pending_sizes): Delete. (get_pending_sizes): Likewise. (put_pending_size): Likewise. (put_pending_sizes): Likewise. (variable_size): Do not call put_pending_size and tidy up. * function.h (struct function): Remove dont_save_pending_sizes_p. * lto-streamer-in.c (input_function): Do not stream it. * lto-streamer-out.c (output_function): Likewise. * tree-inline.c (initialize_cfun): Do not copy it. * c-decl.c (store_parm_decls): Do not set it. * omp-low.c (create_task_copyfn): Likewise. * tree-optimize.c (tree_rest_of_compilation): Likewise. cp/ * decl.c (start_preparsed_function): Likewise. fortran/ * trans-decl.c (trans_function_start): Likewise. ada/ * gcc-interface/utils.c (begin_subprog_body): Do not call get_pending_sizes. (end_subprog_body): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173424 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-04 Richard Guenther <rguenther@suse.de>rguenth2011-05-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h (int_const_binop): Remove notrunc argument. * fold-const.c (int_const_binop): Remove notrunc argument. Always create integer constants that are properly truncated. (extract_muldiv_1): Expand one notrunc int_const_binop caller. (const_binop): Remove zero notrunc argument to int_const_binop. (size_binop_loc): Likewise. (fold_div_compare): Likewise. (maybe_canonicalize_comparison_1): Likewise. (fold_comparison): Likewise. (fold_binary_loc): Likewise. (multiple_of_p): Likewise. * expr.c (store_constructor): Likewise. * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise. (maybe_fold_stmt_addition): Likewise. * ipa-prop.c (ipa_modify_call_arguments): Likewise. * stor-layout.c (layout_type): Likewise. * tree-data-ref.c (tree_fold_divides_p): Likewise. * tree-sra.c (build_ref_for_offset): Likewise. (build_user_friendly_ref_for_offset): Likewise. * tree-ssa-address.c (maybe_fold_tmr): Likewise. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. * tree-ssa-loop-niter.c (inverse): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise. * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise. * tree-switch-conversion.c (check_range): Likewise. (build_constructors): Likewise. * tree-vect-generic.c (expand_vector_piecewise): Likewise. * tree-vrp.c (set_and_canonicalize_value_range): Likewise. (extract_range_from_assert): Likewise. (vrp_int_const_binop): Likewise. (extract_range_from_binary_expr): Likewise. (extract_range_from_unary_expr): Likewise. (check_array_ref): Likewise. (find_case_label_range): Likewise. (simplify_div_or_mod_using_ranges): Likewise. * tree-cfg.c (group_case_labels_stmt): Use double-ints for comparing case labels for merging. ada/ * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to int_const_binop. (pos_to_constructor): Likewise. fortran/ * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc argument to int_const_binop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173356 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gigi): Call build_function_type_list insteadebotcazou2011-05-031-87/+64
| | | | | | | | | | of build_function_type. Adjust calls to... (build_raise_check): ...this. Do not take a void_tree parameter. Call build_function_type_list instead of build_function_type. Fix head comment and swap couple of conditional blocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173325 138bc75d-0d04-0410-961f-82ee72b054a4
* ada/matz2011-04-291-0/+1
| | | | | | | | | | | * gcc-interface/misc.c (gnat_handle_option): Set warn_maybe_uninitialized. fortran/ * options.c (options.c): Set warn_maybe_uninitialized. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173154 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPEebotcazou2011-04-221-0/+2
| | | | | | | onto the new type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172863 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAGebotcazou2011-04-224-64/+69
| | | | | | | | | | | | | | | | | | | | parameter. * gcc-interface/utils.c (create_subprog_decl): Likewise. Set DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl. <all>: Do not set flags on the reused DECL node coming from an alias. Set DECL_IGNORED_P on the DECL node built for subprograms if they don't need debug info here... * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here. (gigi): Adjust calls to create_subprog_decl. (build_raise_check): Likewise. (establish_gnat_vms_condition_handler): Likewise. (Compilation_Unit_to_gnu): Likewise. (gnat_to_gnu): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172862 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.ebotcazou2011-04-212-85/+84
| | | | | | | | | | | | | (NO_REORDER_ADAFLAGS): New variable. (EXTRA_GNATTOOLS): Always define. (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h. Clean up and adjust list of files compiled with special options. * gcc-interface/Make-lang.in: Likewise. (ada/decl.o): Cosmetical change. (ada/misc.o): Remove dependency on $(PLUGIN_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172834 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) withebotcazou2011-04-171-1/+1
| | | | | | | $(CFLAGS) on the link line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172622 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare theebotcazou2011-04-171-0/+7
| | | | | | | padded type built for the return type if it is unconstrained. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172608 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada/froydnj2011-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | * gcc-interface/utils.c (gnat_poplevel): Use block_chainon. gcc/ * function.h (block_chainon): Declare. * function.c (block_chainon): Define. gcc/cp/ * decl.c (poplevel): Use block_chainon. gcc/fortran// * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon. gcc/java/ * decl.c (poplevel): Use BLOCK_CHAIN and block_chainon. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172418 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada/froydnj2011-04-132-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * gcc-interface/misc.c (gnat_init_ts): New function. (LANG_HOOKS_INIT_TS): Define. gcc/ * c-decl.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * print-tree.c (print_node): Likewise. * tree-inline.c (copy_tree_r): Likewise. * c-lang.c (LANG_HOOKS_INIT_TS): Define. * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED instead of TS_COMMON. * lto-streamer-out.c (lto_output_tree_pointers): Likewise. * tree.c (initialize_tree_contains_struct): Handle TS_TYPED. (copy_node_stat): Zero TREE_CHAIN only if necessary. (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these... (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL): ...and these... (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these... * tree.h: ...here. (TREE_CHAIN): Check for a TS_COMMON structure. (TREE_TYPE): Check for a TS_TYPED structure. gcc/c-family/ * c-common.h (c_common_init_ts): Declare. * c-common.c (c_common_init_ts): Define. gcc/cp/ * cp-lang.c (cp_init_ts): Call cp_common_init_ts. Move tree_contains_struct initialization to... * cp-objcp-common.c (cp_common_init_ts): ...here. Use MARK_* macros. * cp-objcp-common.h (cp_common_init_ts): Declare. * cp-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/fortran/ * f95-lang.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/go/ * go-lang.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/java/ * java-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/lto/ * lto-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * lto.c (lto_fixup_common): Likewise. gcc/objc/ * objc-lang.c (objc_init_ts): Move code for this function... * objc-act.c (objc_common_init_ts): ...here. Define. * objc-act.h (objc_common_init_ts): Declare. gcc/objcp/ * objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and cp_common_init_ts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172359 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-04-12 Martin Jambor <mjambor@suse.cz>jamborm2011-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraph.h (cgraph_node): Remove function declaration. (cgraph_create_node): Declare. (cgraph_get_create_node): Likewise. * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1. Updated all callers. (cgraph_node): Renamed to cgraph_create_node, assert that a node for the decl does not already exist. Call cgraph_get_create_node instead of cgraph_node. (cgraph_get_create_node): New function. (cgraph_same_body_alias): Update comment. (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node, assert it does not return NULL. (cgraph_update_edges_for_call_stmt): Likewise. (cgraph_clone_edge): Likewise. (cgraph_create_virtual_clone): Likewise. (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node instead of cgraph_node. (cgraph_add_new_function): Call cgraph_create_node or cgraph_get_create_node instead of cgraph_node. * cgraphbuild.c (record_reference): Call cgraph_get_create_node instead of cgraph_node. (record_eh_tables): Likewise. (mark_address): Likewise. (mark_load): Likewise. (build_cgraph_edges): Call cgraph_get_create_node instead of cgraph_node. (rebuild_cgraph_edges): Likewise. * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node instead of cgraph_node. (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of cgraph_node. * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call cgraph_create_node instead of cgraph_node. * c-decl.c (finish_function): Call cgraph_get_create_node instead of cgraph_node. * lto-cgraph.c (input_node): Likewise. * lto-streamer-in.c (input_function): Likewise. * varasm.c (mark_decl_referenced): Likewise. (assemble_alias): Likewise. gcc/c-family/ * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead of cgraph_node. gcc/cp/ * cp/class.c (cp_fold_obj_type_ref): Call cgraph_get_create_node instead of cgraph_node. * cp/decl2.c (cxx_callgraph_analyze_expr): Likewise. (cp_write_global_declarations): Likewise. * cp/optimize.c (maybe_clone_body): Likewise. * cp/semantics.c (maybe_add_lambda_conv_op): Likewise. * cp/mangle.c (mangle_decl): Likewise. * cp/method.c (make_alias_for_thunk): Likewise. (use_thunk): Likewise. gcc/ada/ * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node instead of cgraph_node. gcc/fortran/ * trans-decl.c (gfc_generate_function_code): Call cgraph_get_create_node instead of cgraph_node. gcc/objc/ * objc-act.c (mark_referenced_methods): Call cgraph_get_create_node instead of cgraph_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172307 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimumebotcazou2011-04-081-0/+3
| | | | | | | | alignment on fields of the RETURN type built for the Copy-In Copy-Out mechanism. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172210 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializersebotcazou2011-04-081-2/+6
| | | | | | | of aggregate types that contain a placeholder. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172209 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada/froydnj2011-04-081-13/+2
| | | | | | | | | | | | | | | | | | * gcc-interface/utils.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES (handle_type_generic_attribute): Likewise. gcc/c-family/ * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES. (handle_type_generic_attribute): Likewise. gcc/lto/ * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES. (handle_type_generic_attribute): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172200 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (build_allocator): In the unconstrained arrayebotcazou2011-04-021-12/+3
| | | | | | | type case, do not strip a padding type around the array type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171888 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (update_pointer_to): Finalize named pointerebotcazou2011-04-021-1/+8
| | | | | | | types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171887 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.ebotcazou2011-04-022-25/+2
| | | | | | | | | * gcc-interface/misc.c (gnat_handle_option): Remove special handling code for -feliminate-unused-debug-types (gnat_post_options): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171886 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificialebotcazou2011-04-021-2/+6
| | | | | | | | declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a distinct copy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171885 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force theebotcazou2011-04-021-3/+1
| | | | | | | DECL_ARTIFICIAL flag on enumeration types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171884 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not makeebotcazou2011-04-021-9/+20
| | | | | | | | | fat pointer types artificial unconditionally. <E_Array_Subtype>: Attach the base array type as a parallel type if it isn't artificial. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171883 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (get_dummy_type): Declare.ebotcazou2011-04-023-174/+171
| | | | | | | | | | | | | | | | | | | (build_dummy_unc_pointer_types): Likewise. (finish_fat_pointer_type): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy fat pointer type has been built, complete it in place. <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat and thin pointers. Remove useless variable. (finish_fat_pointer_type): Make global and move to... * gcc-interface/utils.c (finish_fat_pointer_type): ...here. (get_dummy_type): New function. (build_dummy_unc_pointer_types): Likewise. (gnat_pushdecl): Propage the name to the anonymous variants only. (update_pointer_to): Only adjust the pointer types in the unconstrained array case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171882 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.ebotcazou2011-04-024-10/+51
| | | | | | | | | | | | | | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it if this is a Taft amendment type and the full declaration is available. * gcc-interface/trans.c (process_type): Likewise. If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P. (process_freeze_entity): Likewise. * gcc-interface/utils.c (dummy_global): New static variable. (gnat_write_global_declarations): If there are types declared as used at the global level, insert them in the global hash table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171881 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.ebotcazou2011-04-023-13/+28
| | | | | | | | | | | | * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct copy. (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL flag of the type accordingly. * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171880 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Deferebotcazou2011-04-021-36/+41
| | | | | | | | | finalizing types when updating the pointers to the designated type. <all>: Finalize the deferred types even if we didn't defer processing of incomplete types in this invocation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171879 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.ebotcazou2011-04-011-1/+14
| | | | | | | | | | | | | | | | | (add_gnat_descriptive_type_attribute): New function. (gen_array_type_die): Call it. (gen_enumeration_type_die): Likewise. (gen_struct_or_union_type_die): Likewise. (modified_type_die): Likewise. * langhooks.h (lang_hooks_for_types): New descriptive_type hook. * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE. ada/ * gcc-interface/misc.c (gnat_descriptive_type): New function. (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171862 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-28 Kai Tietz <ktietz@redhat.com>ktietz2011-03-281-0/+5
| | | | | | | | | | | | | * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native windows targets. (EH_MECHANISM): Make sure we use gcc's exception mechanism for all native windows target. * system-mingw.ads (System): Change ZCX_By_Default default to True. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171599 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-28 Tristan Gingold <gingold@adacore.com>gingold2011-03-282-23/+38
| | | | | | | | | | | | | | | | | | | | PR ada/44431 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replaces ada/b_gnat1.c. Use ada output of gnatbind. (ada/b_gnatb.adb): Ditto. (ada/b_gnat1.o, ada/b_gnatb.o): New rules. (ada.mostlyclean, ada.stage1) (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile) (ada.stagefeedback): Adjust. * gcc-interface/Makefile.in (b_gnatl.adb): Replaces b_gnatl.c Use ada output of gnatbind. (b_gnatm.adb): Ditto. (b_gnatl.o, b_gnatm.o): New rules. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171593 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECLebotcazou2011-03-261-3/+14
| | | | | | | for the padded type built to support a specified size or alignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171554 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.ebotcazou2011-03-263-50/+47
| | | | | | | | | | | | | | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer unconditionally to the end of the unit when the designated type is limited_with'ed. <all>: Rename local variable. Attempt to un-defer types only and do it for limited_with'ed types as well. (finalize_from_with_types): Adjust comment. Rename variable and tidy. * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT consistently and remove redundant call to finalize_from_with_types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171552 138bc75d-0d04-0410-961f-82ee72b054a4
* * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls toebotcazou2011-03-262-14/+15
| | | | | | | | | | | | subprograms without a previous spec declared in the same unit. * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined subprograms at the end of the unit instead of at the beginning. * gcc-interface/utils.c (create_subprog_decl): Check that the entity isn't public for the special handling of non-inline functions nested inside inline external functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171551 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missinglaw2011-03-251-0/+1
| | | | | | | | | | | | | | va_end. * c-family/c-common.c (def_fn_type): Likewise. * ada/gcc-interface/utils.c (def_fn_type): Likewise. * emit-rtl.c (gen_rtvec): Likewise. * lto/lto-lang.c (def_fn_type): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171466 138bc75d-0d04-0410-961f-82ee72b054a4
* * einfo.ads (Size_Depends_On_Discriminant): Adjust description.ebotcazou2011-03-241-1/+10
| | | | | | | | | | | | | | * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure to compute Set_Size_Depends_On_Discriminant. (Layout_Type): Call it on array types in back-end layout mode. * sem_util.adb (Requires_Transient_Scope): Return true for array types only if the size depends on the value of discriminants. * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS type if the RHS is a call to a function that returns an unconstrained type with default discriminant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171402 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case ofebotcazou2011-03-241-15/+7
| | | | | | | non-conversion to the nominal result type at the end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171398 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (create_temporary): New function taken from...ebotcazou2011-03-231-71/+110
| | | | | | | | | | | (create_init_temporary): ...here. Call it. (call_to_gnu): Create the temporary for the return value early, if any. Create it for a function with copy-in/copy-out parameters if there is no target; in other cases of copy-in/copy-out, use another temporary. Push the new binding level lazily. Add and rename local variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171345 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (validate_size): Improve comments and tweakebotcazou2011-03-231-29/+28
| | | | | | | | error message. (set_rm_size): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171343 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECLebotcazou2011-03-231-13/+24
| | | | | | | | for the padded type built in order to support a specified alignment. Fix incorrect formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171342 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/48216ebotcazou2011-03-211-10/+11
| | | | | | | * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171254 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (components_to_record): Add REORDER parameter,ebotcazou2011-03-211-53/+114
| | | | | | | | | | | rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter to the end of the list. Adjust recursive call. Rename local variable. If REORDER is true, reorder components of the record type. (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to components_to_record and adjust the parameter list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171228 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (elaborate_expression_1): When optimization isebotcazou2011-03-211-6/+14
| | | | | | | disabled, use the variable for bounds of loop iteration scheme. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171220 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud