aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-04-04re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])Tobias Burnus16-136/+705
2011-04-04 Tobias Burnus <burnus@net-b.de> Mikael Morin <mikael.morin@sfr.fr> PR fortran/18918 * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE. * expr.c (gfc_is_coindexed): Ditto. * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE. * interface.c (compare_parameter): Use gfc_expr_attr and gfc_is_coindexed. * resolve.c (check_dimension, compare_spec_to_ref, resolve_allocate_expr, check_data_variable): Update for DIMEN_THIS_IMAGE. * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image, gfc_simplify_ucobound): Allow non-constant bounds. * trans-array.c (gfc_set_loop_bounds_from_array_spec, gfc_trans_create_temp_array, gfc_trans_constant_array_constructor, gfc_set_vector_loop_bounds, gfc_conv_array_index_offset, gfc_start_scalarized_body, gfc_trans_scalarizing_loops, gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride, gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_trans_array_bounds, gfc_conv_expr_descriptor, gfc_walk_variable_expr): Handle codimen. * trans-decl.c (gfc_build_qualified_array): Save cobounds. * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2. (conv_intrinsic_cobound): New function. (gfc_conv_intrinsic_function): Call it. (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle ucobound, lcobound, this_image. * fortran/trans-types.c (gfc_build_array_type): Save cobounds. (gfc_get_dtype): Honour corank. (gfc_get_nodesc_array_type): Save corank and codimensions. (gfc_get_array_type_bounds): Save cobound. * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item. (gfc_array_kind): Add corank item. (GFC_TYPE_ARRAY_CORANK): New macro. 2011-04-04 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray_10.f90: Add coarray descriptor diagnostic check. * gfortran.dg/coarray_13.f90: Add checks for run-time cobounds. * gfortran.dg/coarray_15.f90: New. Co-Authored-By: Mikael Morin <mikael.morin@sfr.fr> From-SVN: r171949
2011-04-04cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.Steven Bosscher2-161/+86
* cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'. (expr_equiv_p): Remove. (insert_set_in_table): Look at <dest, src> pair instead of expr. (hash_scan_set): Update call to insert_set_in_table. (dump_hash_table): Dump <dest, src> pair. (lookup_set): Simplify. Lookup <dest, src> pair. (compute_transp): Remove, fold heavily simplified code into... (compute_local_properties): ...here. Expect COMP and TRANSP unconditionally. (find_avail_set): Take set directly from struct expr. (find_bypass-set): Likewise. (bypass_block): Likewise. (cprop_insn): Likewise. Remove redundant INSN_P test. From-SVN: r171947
2011-04-04cprop.c (implicit_set_cond_p): Assume nothing about COND...Steven Bosscher2-48/+103
* cprop.c (implicit_set_cond_p): Assume nothing about COND, move checks on form of COND from find_implicit_sets to here. (find_implicit_sets): Cleanup control flow. Split critical edges if it exposes implicit sets. Allocate/resize implicit_sets as necessary. (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass changed something. Run df_analyze after find_implicit_sets if any edges were split. Do not allocate implicit_sets here. From-SVN: r171946
2011-04-04cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.Steven Bosscher2-52/+40
* cprop.c: s/gcse/cprop/ everywhere except for flag_gcse. (gcse_obstack): Renamed to cprop_obstack. (GNEW, GNEWVEC, GNEWVAR): Remove. (gmalloc): Remove. (alloc_hash_table): Use XNEWVAR instead of GNEWVAR. (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming. (gcse_alloc): Likewise, and rename to cprop_alloc. (alloc_gcse_men, free_gcse_mem): Remove. (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers. (compute_hash_table_work): Allocate and free reg_set_bitmap here. (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming. From-SVN: r171945
2011-04-04cprop.c (oprs_not_set_p): Remove.Steven Bosscher2-104/+22
* cprop.c (oprs_not_set_p): Remove. (mark_set, mark_clobber): Remove. (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache. (reg_not_set_p): New function. (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p. (cprop_insn): Likewise. (cprop_jump): Use FOR_EACH_EDGE. From-SVN: r171944
2011-04-04re PR ada/47163 (Failure building target-libada for MingW64)Eric Botcazou2-0/+6
PR ada/47163 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change. From-SVN: r171943
2011-04-04re PR bootstrap/48403 (bootstrap comparison failure)Bernd Schmidt2-37/+70
Fix PR bootstrap/48403. 2011-04-04 Bernd Schmidt <bernds@codesourcery.com> PR bootstrap/48403 * haifa-sched.c (nonscheduled_insns_begin): New static variable. (rank_for_schedule): Use scheduled_insns vector instead of last_scheduled_insn. (ok_for_early_queue_removal): Likewise. (queue_to_ready): Search forward in nonscheduled_insns_begin if we have a dbg_cnt. (choose_ready): Likewise. (commit_schedule): Use VEC_iterate. (schedule_block): Initialize nonscheduled_insns_begin. If we have a dbg_cnt, use it and ensure the first insn is in the ready list. (haifa_sched_init): Allocate scheduled_insns. (sched_extend_ready_list): Don't allocate it; reserve space. (haifa_sched_finish): Free it. From-SVN: r171942
2011-04-04bessel_6.f90: Use dg-add-options ieee.Rainer Orth3-0/+7
* gfortran.dg/bessel_6.f90: Use dg-add-options ieee. * gfortran.dg/bessel_7.f90: Likewise. From-SVN: r171939
2011-04-04optc-gen.awk: Always remove type from Variable entry before recording in ↵Joseph Myers2-5/+11
var_seen. * optc-gen.awk: Always remove type from Variable entry before recording in var_seen. From-SVN: r171938
2011-04-04cfghooks.c (tidy_fallthru_edges): Add ??? comment.Eric Botcazou3-3/+9
* cfghooks.c (tidy_fallthru_edges): Add ??? comment. * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove call to tidy_fallthru_edges. From-SVN: r171936
2011-04-04options.texi (ToLower): Document.Joseph Myers8-7/+41
* doc/options.texi (ToLower): Document. * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field. * opts-common.c (decode_cmdline_option): Handle cl_tolower. * opts.h (cl_option): Add cl_tolower field. * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu= arguments with lowercase strings. * config/rx/rx.opt (mcpu=): Add ToLower. * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu= argument. From-SVN: r171932
2011-04-04re PR debug/48401 (ICE: RTL check: access of elt 4 of 'var_location' with ↵Jakub Jelinek1-1/+1
last elt 2 in expand_gimple_basic_block, at cfgexpand.c:3585) PR debug/48401 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment. Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC. From-SVN: r171930
2011-04-04pdp11.h (IRA_COVER_CLASSES): Delete.Richard Sandiford2-10/+4
gcc/ * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete. From-SVN: r171929
2011-04-04vax.c: Include reload.h.Richard Sandiford2-0/+5
gcc/ * config/vax/vax.c: Include reload.h. From-SVN: r171928
2011-04-04* gcc/ChangeLog: Fix formatting.Uros Bizjak2-23/+16
From-SVN: r171927
2011-04-04re PR ada/47163 (Failure building target-libada for MingW64)Kai Tietz2-0/+11
2011-04-04 Kai Tietz <ktietz@redhat.com> PR ada/47163 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets to flag value. From-SVN: r171926
2011-04-04sparc.h (PREFERRED_RELOAD_CLASS): Remove.Anatoly Sokolov3-28/+38
* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove. * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define. (sparc_preferred_reload_class): New function. From-SVN: r171925
2011-04-04re PR debug/48401 (ICE: RTL check: access of elt 4 of 'var_location' with ↵Jakub Jelinek2-3/+9
last elt 2 in expand_gimple_basic_block, at cfgexpand.c:3585) PR debug/48404 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment. Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC. From-SVN: r171924
2011-04-04tree.h (struct tree_const_decl): Inherit from tree_decl_common.Nathan Froyd3-3/+7
* tree.h (struct tree_const_decl): Inherit from tree_decl_common. * tree.c (initialize_tree_contains_struct): Adjust accordingly. From-SVN: r171923
2011-04-04Daily bump.GCC Administrator1-1/+1
From-SVN: r171922
2011-04-03Start using backend interface separate from gofrontend.Ian Lance Taylor8-12/+361
* go-gcc.cc: New file. * Make-lang.in (GO_OBJS): Add go/go-gcc.o. (go/go-gcc.o): New target. (go/go.o): Depend on go/gofrontend/backend.h. (go/statements.o): Likewise. From-SVN: r171917
2011-04-03re PR middle-end/48422 (bootstrap failure for i686-*-* targets by ICE)Kai Tietz2-1/+7
2011-04-03 Kai Tietz <ktietz@redhat.com> PR middle-end/48422 * Make-lang.in (f95-lang.o): Add some missing dependencies. From-SVN: r171916
2011-04-03avr.h (ASM_OUTPUT_BSS): Remove.Anatoly Sokolov2-2/+7
* config/avr/avr.h (ASM_OUTPUT_BSS): Remove. (ASM_OUTPUT_ALIGNED_BSS): Define. From-SVN: r171915
2011-04-03bessel_6.f90: Reduce mymax for Tru64.Tobias Burnus2-3/+8
2011-04-03 Tobias Burnus <burnus@net-b.de> * gfortran.dg/bessel_6.f90: Reduce mymax for Tru64. From-SVN: r171912
2011-04-03be.po, [...]: Update.Joseph Myers18-138225/+142984
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: Update. From-SVN: r171907
2011-04-03lto-streamer.h (struct lto_streamer_cache_d): Remove offsets and next_slot ↵Michael Matz11-257/+207
members. * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets and next_slot members. (lto_streamer_cache_insert, lto_streamer_cache_insert_at, lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes. (lto_streamer_cache_append): Declare. * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use unsigned index, remove offset parameter, ensure that we append or update existing entries. (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p parameter, update next_slot for append. (lto_streamer_cache_insert): Use unsigned index, remove offset_p parameter. (lto_streamer_cache_insert_at): Likewise. (lto_streamer_cache_append): New function. (lto_streamer_cache_lookup): Use unsigned index. (lto_streamer_cache_get): Likewise. (lto_record_common_node): Don't test tree_node_can_be_shared. (preload_common_node): Adjust call to lto_streamer_cache_insert. (lto_streamer_cache_delete): Don't free offsets member. * lto-streamer-out.c (eq_string_slot_node): Use memcmp. (lto_output_string_with_length): Use lto_output_data_stream. (lto_output_tree_header): Remove ix parameter, don't write it. (lto_output_builtin_tree): Likewise. (lto_write_tree): Adjust callers to above, don't track and write offset, write unsigned index. (output_unreferenced_globals): Don't emit all global vars. (write_global_references): Use unsigned indices. (lto_output_decl_state_refs): Likewise. (write_symbol): Likewise. * lto-streamer-in.c (lto_input_chain): Move earlier. (input_function): Use unsigned index. (input_alias_pairs): Don't read and then ignore all global vars. (lto_materialize_tree): Remove ix_p parameter, don't read index, don't pass it back, use lto_streamer_cache_append. (lto_register_var_decl_in_symtab): Use unsigned index. (lto_register_function_decl_in_symtab): Likewise. (lto_get_pickled_tree): Don't read in or handle offset, read unsigned index. (lto_get_builtin_tree): Don't read index, use lto_streamer_cache_append. (lto_read_tree): Adjust call to lto_materialize_tree. * ipa-inline.c (cgraph_edge_badness): Move growth calculaton, don't use function calls in arguments to MIN. * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC twice. * gimple.c (gimple_type_leader_entry): Mark deletable. lto/ * lto.c (lto_materialize_function): Don't read and then discard sections in WPA mode. (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get. * lto-lang.c (registered_builtin_fndecls): Remove. (lto_getdecls): Return NULL_TREE. (lto_builtin_function): Don't remember in registered_builtin_fndecls. From-SVN: r171906
2011-04-03dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.Alan Modra2-3/+5
* dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM. From-SVN: r171905
2011-04-03tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not an integer.Michael Matz3-1/+14
* tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not an integer. * tree.h (tree_decl_non_common.vindex): Adjust comment. From-SVN: r171904
2011-04-03cgraphbuild.c (record_reference): Canonicalize constructor values.Michael Matz4-4/+23
* cgraphbuild.c (record_reference): Canonicalize constructor values. * gimple-fold.c (canonicalize_constructor_val): Accept being called without function context. * cgraphunit.c (cgraph_finalize_compilation_unit): Clear current_function_decl and cfun. From-SVN: r171903
2011-04-03tree.c (decl_init_priority_insert): Don't create entry for default priority.Michael Matz4-52/+17
* tree.c (decl_init_priority_insert): Don't create entry for default priority. (decl_fini_priority_insert): Ditto. (fields_compatible_p, find_compatible_field): Remove. * tree.h (fields_compatible_p, find_compatible_field): Remove. * gimple.c (gimple_compare_field_offset): Adjust block comment. From-SVN: r171902
2011-04-03* combine.c (try_combine): Remove useless local variable.Eric Botcazou2-16/+10
From-SVN: r171901
2011-04-03tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all ↵Richard Guenther5-16/+122
non-variable offsets and compare the remaining bases of the two... * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all non-variable offsets and compare the remaining bases of the two accesses instead of looking for exact same data-ref. Co-Authored-By: Ira Rosen <ira.rosen@linaro.org> From-SVN: r171900
2011-04-03Daily bump.GCC Administrator1-1/+1
From-SVN: r171899
2011-04-02re PR target/48416 (Revision 171890 failed to build)Kai Tietz2-1/+4
2011-04-02 Kai Tietz <ktietz@redhat.com> PR target/48416 * i386.c (ix86_function_arg_boundary): Fix printf formatter. From-SVN: r171892
2011-04-02Restore old state for accidentially escaped local change.Kai Tietz1-3/+1
From-SVN: r171891
2011-04-02i386.c (ix86_is_msabi_thiscall): New helper function.Kai Tietz2-15/+71
2011-04-02 Kai Tietz <ktietz@redhat.com> * i386.c (ix86_is_msabi_thiscall): New helper function. (ix86_is_type_thiscall): New helper function. (ix86_comp_type_attributes): Handle thiscall for method-functions special. (init_cumulative_args): Likewise. (find_drap_reg): Likewise. (ix86_static_chain): Likewise. (x86_this_parameter): Likewise. (x86_output_mi_thunk): Likewise. From-SVN: r171890
2011-04-02utils2.c (build_allocator): In the unconstrained array type case...Eric Botcazou4-12/+26
* gcc-interface/utils2.c (build_allocator): In the unconstrained array type case, do not strip a padding type around the array type. From-SVN: r171888
2011-04-02utils.c (update_pointer_to): Finalize named pointer types.Eric Botcazou8-2/+120
* gcc-interface/utils.c (update_pointer_to): Finalize named pointer types. From-SVN: r171887
2011-04-02lang.opt (feliminate-unused-debug-types): Delete.Eric Botcazou3-25/+9
* gcc-interface/lang.opt (feliminate-unused-debug-types): Delete. * gcc-interface/misc.c (gnat_handle_option): Remove special handling code for -feliminate-unused-debug-types (gnat_post_options): Likewise. From-SVN: r171886
2011-04-02utils.c (gnat_pushdecl): If this is a non-artificial declaration of a ↵Eric Botcazou2-2/+12
pointer type... * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a distinct copy. From-SVN: r171885
2011-04-02decl.c (gnat_to_gnu_entity): Do not force the DECL_ARTIFICIAL flag on ↵Eric Botcazou2-3/+6
enumeration types. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the DECL_ARTIFICIAL flag on enumeration types. From-SVN: r171884
2011-04-02decl.c (gnat_to_gnu_entity): Do not make fat pointer types artificial ↵Eric Botcazou2-9/+27
unconditionally. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make fat pointer types artificial unconditionally. <E_Array_Subtype>: Attach the base array type as a parallel type if it isn't artificial. From-SVN: r171883
2011-04-02gigi.h (get_dummy_type): Declare.Eric Botcazou4-174/+188
* gcc-interface/gigi.h (get_dummy_type): Declare. (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. From-SVN: r171882
2011-04-02ada-tree.h (DECL_TAFT_TYPE_P): New flag.Eric Botcazou5-10/+63
* gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag. * 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. From-SVN: r171881
2011-04-02gigi.h (record_builtin_type): Add ARTIFICIAL_P param.Eric Botcazou4-13/+38
* gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param. * 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. From-SVN: r171880
2011-04-02decl.c (gnat_to_gnu_entity): Defer finalizing types when updating the ↵Eric Botcazou2-47/+55
pointers to the designated type. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer 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. From-SVN: r171879
2011-04-02Daily bump.GCC Administrator1-1/+1
From-SVN: r171867
2011-04-01dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.Olivier Hainque6-6/+90
* dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type. (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. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> Co-Authored-By: Nicolas Setton <setton@adacore.com> From-SVN: r171862
2011-04-01* go.test/go-test.exp (go-set-goarch): Recognize alpha*-*-*.Uros Bizjak2-0/+7
From-SVN: r171861
2011-04-01re PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)Jakub Jelinek3-4/+18
PR bootstrap/48148 * dwarf2out.c (resolve_addr): Don't call force_decl_die if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN. Revert: 2011-03-17 Richard Guenther <rguenther@suse.de> PR bootstrap/48148 * lto-cgraph.c (input_overwrite_node): Clear the abstract origin for decls in other ltrans units. (input_varpool_node): Likewise. From-SVN: r171856