1. 25 Jan, 2017 1 commit
    • re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer:… · e5e391d6
      re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco")
      
      PR lto/79061
      
      gcc/
      
      	* asan.c (get_translation_unit_decl): New function.
      	(asan_add_global): Extract modules file name from globals
      	TRANSLATION_UNIT_DECL name.
      
      gcc/fortran/
      
      	* f95-lang.c (gfc_create_decls): Include stringpool.h.
      	Pass main_input_filename to build_translation_unit_decl.
      
      gcc/ada/
      
      	* gcc-interface/utils.c (get_global_context): Pass main_input_filename
      	to build_translation_unit_decl.
      
      gcc/c/
      
      	* c-decl.c (pop_scope): Pass main_input_filename to
      	build_translation_unit_decl.
      
      gcc/cp/
      
      	* decl.c (cxx_init_decl_processing): Pass main_input_filename
      	to build_translation_unit_decl.
      
      From-SVN: r244890
      Maxim Ostapenko committed
  2. 01 Jan, 2017 1 commit
  3. 23 Nov, 2016 1 commit
    • backport: hsa-builtins.def: New file. · 56b1c60e
      Merge from HSA branch to trunk
      
      2016-11-23  Martin Jambor  <mjambor@suse.cz>
      	    Martin Liska  <mliska@suse.cz>
      
      gcc/
      	* hsa-builtins.def: New file.
      	* Makefile.in (BUILTINS_DEF): Add hsa-builtins.def dependency.
      	* builtins.def: Include hsa-builtins.def.
      	(DEF_HSA_BUILTIN): New macro.
      	* dumpfile.h (OPTGROUP_OPENMP): Define.
      	* dumpfile.c (optgroup_options): Added OPTGROUP_OPENMP.
      	* gimple.h (gf_mask): Added elements GF_OMP_FOR_GRID_INTRA_GROUP and
      	GF_OMP_FOR_GRID_GROUP_ITER.
      	(gimple_omp_for_grid_phony): Added checking assert.
      	(gimple_omp_for_set_grid_phony): Likewise.
      	(gimple_omp_for_grid_intra_group): New function.
      	(gimple_omp_for_set_grid_intra_group): Likewise.
      	(gimple_omp_for_grid_group_iter): Likewise.
      	(gimple_omp_for_set_grid_group_iter): Likewise.
      	* omp-low.c (check_omp_nesting_restrictions): Allow GRID loop where
      	previosuly only distribute loop was permitted.
      	(lower_lastprivate_clauses): Allow non tcc_comparison predicates.
      	(grid_get_kernel_launch_attributes): Support multiple HSA grid
      	dimensions.
      	(grid_expand_omp_for_loop): Likewise and also support standalone
      	distribute constructs.  New parameter INTRA_GROUP, updated both users.
      	(grid_expand_target_grid_body): Support standalone distribute
      	constructs.
      	(pass_data_expand_omp): Changed optinfo_flags to OPTGROUP_OPENMP.
      	(pass_data_expand_omp_ssa): Likewise.
      	(pass_data_omp_device_lower): Likewsie.
      	(pass_data_lower_omp): Likewise.
      	(pass_data_diagnose_omp_blocks): Likewise.
      	(pass_data_oacc_device_lower): Likewise.
      	(pass_data_omp_target_link): Likewise.
      	(grid_lastprivate_predicate): New function.
      	(lower_omp_for_lastprivate): Call grid_lastprivate_predicate for
      	gridified loops.
      	(lower_omp_for): Support standalone distribute constructs.
      	(grid_prop): New type.
      	(grid_safe_assignment_p): Check for assignments to group_sizes, new
      	parameter GRID.
      	(grid_seq_only_contains_local_assignments): New parameter GRID, pass
      	it to callee.
      	(grid_find_single_omp_among_assignments_1): Likewise, improve missed
      	optimization info messages.
      	(grid_find_single_omp_among_assignments): Likewise.
      	(grid_find_ungridifiable_statement): Do not bail out for SIMDs.
      	(grid_parallel_clauses_gridifiable): New function.
      	(grid_inner_loop_gridifiable_p): Likewise.
      	(grid_dist_follows_simple_pattern): Likewise.
      	(grid_gfor_follows_tiling_pattern): Likewise.
      	(grid_call_permissible_in_distribute_p): Likewise.
      	(grid_handle_call_in_distribute): Likewise.
      	(grid_dist_follows_tiling_pattern): Likewise.
      	(grid_target_follows_gridifiable_pattern): Support standalone distribute
      	constructs.
      	(grid_var_segment): New enum.
      	(grid_mark_variable_segment): New function.
      	(grid_copy_leading_local_assignments): Call grid_mark_variable_segment
      	if a new argument says so.
      	(grid_process_grid_body): New function.
      	(grid_eliminate_combined_simd_part): Likewise.
      	(grid_mark_tiling_loops): Likewise.
      	(grid_mark_tiling_parallels_and_loops): Likewise.
      	(grid_process_kernel_body_copy): Support standalone distribute
      	constructs.
      	(grid_attempt_target_gridification): New grid variable holding overall
      	gridification state.  Support standalone distribute constructs and
      	collapse clauses.
      	* doc/optinfo.texi (Optimization groups): Document OPTGROUP_OPENMP.
      	* hsa.h (hsa_bb): Add method method append_phi.
      	(hsa_insn_br): Renamed to hsa_insn_cbr, renamed all
      	occurences in all files too.
      	(hsa_insn_br): New class, now the ancestor of hsa_incn_cbr.
      	(is_a_helper <hsa_insn_br *>::test): New function.
      	(is_a_helper <hsa_insn_cbr *>::test): Adjust to only cover conditional
      	branch instructions.
      	(hsa_insn_signal): Make a direct descendant of
      	hsa_insn_basic.  Add memorder constructor parameter and
      	m_memory_order and m_signalop member variables.
      	(hsa_insn_queue): Changed constructor parameters to common form.
      	Added m_segment and m_memory_order member variables.
      	(hsa_summary_t): Add private member function
      	process_gpu_implementation_attributes.
      	(hsa_function_summary): Rename m_binded_function to
      	m_bound_function.
      	(hsa_insn_basic_p): Remove typedef.
      	(hsa_op_with_type): Change hsa_insn_basic_p into plain pointers.
      	(hsa_op_reg_p): Remove typedef.
      	(hsa_function_representation): Change hsa_op_reg_p into plain
      	pointers.
      	(hsa_insn_phi): Removed new and delete operators.
      	(hsa_insn_br): Likewise.
      	(hsa_insn_cbr): Likewise.
      	(hsa_insn_sbr): Likewise.
      	(hsa_insn_cmp): Likewise.
      	(hsa_insn_mem): Likewise.
      	(hsa_insn_atomic): Likewise.
      	(hsa_insn_signal): Likewise.
      	(hsa_insn_seg): Likewise.
      	(hsa_insn_call): Likewise.
      	(hsa_insn_arg_block): Likewise.
      	(hsa_insn_comment): Likewise.
      	(hsa_insn_srctype): Likewise.
      	(hsa_insn_packed): Likewise.
      	(hsa_insn_cvt): Likewise.
      	(hsa_insn_alloca): Likewise.
      	* hsa.c (hsa_destroy_insn): Also handle instances of hsa_insn_br.
      	(process_gpu_implementation_attributes): New function.
      	(link_functions): Move some functionality into it.  Adjust after
      	renaming m_binded_functions to m_bound_functions.
      	(hsa_insn_basic::op_output_p): Add BRIG_OPCODE_DEBUGTRAP
      	to the list of instructions with no output registers.
      	(get_in_type): Return this if it is a register of
      	matching size.
      	(hsa_get_declaration_name): Moved to...
              * hsa-gen.c (hsa_get_declaration_name): ...here.  Allocate
      	temporary string on an obstack instead from ggc.
      	(query_hsa_grid): Renamed to query_hsa_grid_dim, reimplemented, cut
      	down to two overloads.
      	(hsa_allocp_operand_address): Removed.
      	(hsa_allocp_operand_immed): Likewise.
      	(hsa_allocp_operand_reg): Likewise.
      	(hsa_allocp_operand_code_list): Likewise.
      	(hsa_allocp_operand_operand_list): Likewise.
      	(hsa_allocp_inst_basic): Likewise.
      	(hsa_allocp_inst_phi): Likewise.
      	(hsa_allocp_inst_mem): Likewise.
      	(hsa_allocp_inst_atomic): Likewise.
      	(hsa_allocp_inst_signal): Likewise.
      	(hsa_allocp_inst_seg): Likewise.
      	(hsa_allocp_inst_cmp): Likewise.
      	(hsa_allocp_inst_br): Likewise.
      	(hsa_allocp_inst_sbr): Likewise.
      	(hsa_allocp_inst_call): Likewise.
      	(hsa_allocp_inst_arg_block): Likewise.
      	(hsa_allocp_inst_comment): Likewise.
      	(hsa_allocp_inst_queue): Likewise.
      	(hsa_allocp_inst_srctype): Likewise.
      	(hsa_allocp_inst_packed): Likewise.
      	(hsa_allocp_inst_cvt): Likewise.
      	(hsa_allocp_inst_alloca): Likewise.
      	(hsa_allocp_bb): Likewise.
      	(hsa_obstack): New.
      	(hsa_init_data_for_cfun): Initialize obstack.
      	(hsa_deinit_data_for_cfun): Release memory of the obstack.
      	(hsa_op_immed::operator new): Use obstack instead of object_allocator.
      	(hsa_op_reg::operator new): Likewise.
      	(hsa_op_address::operator new): Likewise.
      	(hsa_op_code_list::operator new): Likewise.
      	(hsa_op_operand_list::operator new): Likewise.
      	(hsa_insn_basic::operator new): Likewise.
      	(hsa_insn_phi::operator new): Likewise.
      	(hsa_insn_br::operator new): Likewise.
      	(hsa_insn_sbr::operator new): Likewise.
      	(hsa_insn_cmp::operator new): Likewise.
      	(hsa_insn_mem::operator new): Likewise.
      	(hsa_insn_atomic::operator new): Likewise.
      	(hsa_insn_signal::operator new): Likewise.
      	(hsa_insn_seg::operator new): Likewise.
      	(hsa_insn_call::operator new): Likewise.
      	(hsa_insn_arg_block::operator new): Likewise.
      	(hsa_insn_comment::operator new): Likewise.
      	(hsa_insn_srctype::operator new): Likewise.
      	(hsa_insn_packed::operator new): Likewise.
      	(hsa_insn_cvt::operator new): Likewise.
      	(hsa_insn_alloca::operator new): Likewise.
      	(hsa_init_new_bb): Likewise.
      	(hsa_bb::append_phi): New function.
      	(gen_hsa_phi_from_gimple_phi): Use it.
      	(get_symbol_for_decl): Fix dinstinguishing between
      	global and local functions.  Put local variables into a segment
      	according to their attribute or static flag, if there is one.
      	(hsa_insn_br::hsa_insn_br): New.
      	(hsa_insn_br::operator new): Likewise.
      	(hsa_insn_cbr::hsa_insn_cbr): Set width via ancestor constructor.
      	(query_hsa_grid_nodim): New function.
      	(multiply_grid_dim_characteristics): Likewise.
      	(gen_get_num_threads): Likewise.
      	(gen_get_num_teams): Reimplemented.
      	(gen_get_team_num): Likewise.
      	(gen_hsa_insns_for_known_library_call): Updated calls to the above
      	helper functions.
      	(get_memory_order_name): Removed.
      	(get_memory_order): Likewise.
      	(hsa_memorder_from_tree): New function.
      	(gen_hsa_ternary_atomic_for_builtin): Renamed to
      	gen_hsa_atomic_for_builtin, can also create signals.
      	(gen_hsa_insns_for_call): Handle many new builtins.  Adjust to use
      	hsa_memory_order_from_tree and gen_hsa_atomic_for_builtin.
      	(hsa_insn_atomic): Fix function comment.
      	(hsa_insn_signal::hsa_insn_signal): Fix comment.  Update call to
      	ancestor constructor and initialization of new member variables.
      	(hsa_insn_queue::hsa_insn_queue): Added initialization of new
      	member variables.
      	(hsa_get_host_function): Handle functions with no bound CPU
      	implementation.  Fix binded to bound.
      	(get_brig_function_name): Likewise.
      	(HSA_SORRY_ATV): Remove semicolon after macro.
      	(HSA_SORRY_AT): Likewise.
      	(omp_simple_builtin::generate): Add missing semicolons.
      	(hsa_insn_phi::operator new): Removed.
      	(hsa_insn_br::operator new): Likewise.
      	(hsa_insn_cbr::operator new): Likewise.
      	(hsa_insn_sbr::operator new): Likewise.
      	(hsa_insn_cmp::operator new): Likewise.
      	(hsa_insn_mem::operator new): Likewise.
      	(hsa_insn_atomic::operator new): Likewise.
      	(hsa_insn_signal::operator new): Likewise.
      	(hsa_insn_seg::operator new): Likewise.
      	(hsa_insn_call::operator new): Likewise.
      	(hsa_insn_arg_block::operator new): Likewise.
      	(hsa_insn_comment::operator new): Likewise.
      	(hsa_insn_srctype::operator new): Likewise.
      	(hsa_insn_packed::operator new): Likewise.
      	(hsa_insn_cvt::operator new): Likewise.
      	(hsa_insn_alloca::operator new): Likewise.
      	(get_symbol_for_decl): Accept CONST_DECLs, put them to
      	readonly segment.
      	(gen_hsa_addr): Also process CONST_DECLs.
      	(gen_hsa_addr_insns): Process CONST_DECLs by creating private
      	copies.
      	(gen_hsa_unary_operation): Make sure the function does
      	not use bittype source type for firstbit and lastbit operations.
      	(gen_hsa_popcount_to_dest): Make sure the function uses a bittype
      	source type.
      	* hsa-brig.c (emit_insn_operands): Cope with zero operands in an
      	instruction.
      	(emit_branch_insn): Renamed to emit_cond_branch_insn.
      	Emit the width stored in the class.
      	(emit_generic_branch_insn): New function.
      	(emit_insn): Call emit_generic_branch_insn.
      	(emit_signal_insn): Remove obsolete comment.  Update
      	member variable name, pick a type according to profile.
      	(emit_alloca_insn): Remove obsolete comment.
      	(emit_atomic_insn): Likewise.
      	(emit_queue_insn): Get segment and memory order from the IR object.
      	(hsa_brig_section): Make allocate_new_chunk, chunks
      	and cur_chunk provate, add a default NULL parameter to add method.
      	(hsa_brig_section::add): Added a new parameter, store pointer to
      	output data there if it is non-NULL.
      	(emit_function_directives): Use this new parameter instead of
      	calculating the pointer itself, fix function comment.
      	(hsa_brig_emit_function): Add forgotten endian conversion.
      	(hsa_output_kernels): Remove unnecessary building of
      	kernel_dependencies_vector_type.
      	(emit_immediate_operand): Declare.
      	(emit_directive_variable): Also emit initializers of CONST_DECLs.
      	(gen_hsa_insn_for_internal_fn_call): Also handle IFN_RSQRT.
      	(verify_function_arguments): Properly detect variadic
      	arguments.
      	* hsa-dump.c (hsa_width_specifier_name): New function.
      	(dump_hsa_insn_1): Dump generic branch instructions, update signal
      	member variable name.  Special dumping for queue objects.
      	* ipa-hsa.c (process_hsa_functions): Adjust after renaming
      	m_binded_functions to m_bound_functions.  Copy externally visible flag
      	to the node.
      	(ipa_hsa_write_summary): Likewise.
      	(ipa_hsa_read_section): Likewise.
      
      
      	gcc/fortran/
              * f95-lang.c (DEF_HSA_BUILTIN): New macro.
      
      gcc/testsuite/
      	* c-c++-common/gomp/gridify-1.c: Update scan string.
      	* gfortran.dg/gomp/gridify-1.f90: Likewise.
      	* c-c++-common/gomp/gridify-2.c: New test.
      	* c-c++-common/gomp/gridify-3.c: Likewise.
      
      libgomp/
      	* testsuite/libgomp.hsa.c/bits-insns.c: New test.
      	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
      	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
      
      
      Co-Authored-By: Martin Liska <mliska@suse.cz>
      
      From-SVN: r242761
      Martin Jambor committed
  4. 10 Nov, 2016 1 commit
    • omp-low.c (lower_omp_target): Fix up argument to is_reference. · b4c3a85b
      gcc/
      	* omp-low.c (lower_omp_target): Fix up argument to is_reference.
      	(expand_omp_ordered_sink): Handle TREE_PURPOSE of deps being
      	TRUNC_DIV_EXPR.
      	* gimplify.c (gimplify_scan_omp_clauses): Likewise.  Set
      	ctx->target_map_scalars_firstprivate on OMP_TARGET even for Fortran.
      	Remove omp_no_lastprivate callers.  Propagate lastprivate on combined
      	teams distribute parallel for simd even to distribute and teams
      	construct.  For OMP_CLAUSE_DEPEND add missing break at the end of
      	OMP_CLAUSE_DEPEND_SINK case.
      	(omp_notice_variable): Use lang_hooks.decls.omp_scalar_p.
      	(omp_no_lastprivate): Removed.
      	(gimplify_adjust_omp_clauses): Remove omp_no_lastprivate callers.
      	(gimplify_omp_for): Likewise.
      	(computable_teams_clause): Fail for automatic vars from current
      	function not yet seen in bind expr.
      	* langhooks.c (lhd_omp_scalar_p): New function.
      	* langhooks.h (struct lang_hooks_for_decls): Add omp_scalar_p.
      	* varpool.c (varpool_node::get_create): Set node->offloading
      	even for DECL_EXTERNAL decls.
      	* langhooks-def.h (lhd_omp_scalar_p): New prototype.
      	(LANG_HOOKS_OMP_SCALAR_P): Define.
      	(LANG_HOOKS_DECLS): Use it.
      gcc/fortran/
      	* openmp.c (gfc_free_omp_clauses): Free critical_name, grainsize,
      	hint, num_tasks, priority and if_exprs.
      	(gfc_match_omp_to_link, gfc_match_omp_depend_sink): New functions.
      	(enum omp_mask1, enum omp_mask2): New enums.
      	Change all OMP_CLAUSE_* defines into enum values, and change their
      	values from ((uint64_t) 1 << bit) to just bit.
      	(omp_mask, omp_inv_mask): New classes.  Add ctors and operators.
      	(gfc_match_omp_clauses): Change mask argument from uint64_t to
      	const omp_mask.  Assert OMP_MASK1_LAST and OMP_MASK2_LAST are
      	at most 64.  Move delete clause handling to where it
      	alphabetically belongs.  Parse defaultmap, grainsize, hint,
      	is_device_ptr, nogroup, nowait, num_tasks, priority, simd, threads
      	and use_device_ptr clauses.  Parse if clause modifier.  Parse map
      	clause always modifier, and release and delete kinds.  Parse ordered
      	clause with argument.  Parse schedule clause modifiers.  Differentiate
      	device clause parsing based on openacc flag.  Guard link clause
      	parsing with openacc flag.  Add support for parsing
      	linear clause modifiers.  Parse depend(source) and depend(sink: ...).
      	Use gfc_match_omp_to_link for to and link clauses in declare target
      	construct.
      	(match_acc): Change mask type from uint64_t to const omp_mask.
      	(OMP_SINGLE_CLAUSES, OMP_ORDERED_CLAUSES,
      	OMP_DECLARE_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES,
      	OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES): Define.
      	(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES,
      	OACC_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES, OACC_DECLARE_CLAUSES,
      	OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES, OACC_WAIT_CLAUSES,
      	OACC_ROUTINE_CLAUSES, OMP_PARALLEL_CLAUSES, OMP_DECLARE_SIMD_CLAUSES,
      	OMP_SECTIONS_CLAUSES, OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES):
      	Replace first or only OMP_CLAUSE_* value in bitset with
      	omp_mask (OMP_CLAUSE_*).
      	(OMP_DO_CLAUSES): Likewise.  Add OMP_CLAUSE_LINEAR.
      	(OMP_SIMD_CLAUSES): Replace first or only OMP_CLAUSE_* value in
      	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_SIMDLEN.
      	(OACC_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in
      	bitset with omp_mask (OMP_CLAUSE_*).  Replace OMP_CLAUSE_OACC_DEVICE
      	with OMP_CLAUSE_DEVICE.
      	(OMP_TASK_CLAUSES): Replace first or only OMP_CLAUSE_* value in
      	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_PRIORITY.
      	(OMP_TARGET_CLAUSES): Replace first or only OMP_CLAUSE_* value in
      	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_DEPEND,
      	OMP_CLAUSE_NOWAIT, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE,
      	OMP_CLAUSE_DEFAULTMAP and OMP_CLAUSE_IS_DEVICE_PTR.
      	(OMP_TARGET_DATA_CLAUSES): Replace first or only OMP_CLAUSE_* value in
      	bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_USE_DEVICE_PTR.
      	(OMP_TARGET_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value
      	in bitset with omp_mask (OMP_CLAUSE_*).  Add OMP_CLAUSE_DEPEND and
      	OMP_CLAUSE_NOWAIT.
      	(match_omp): Change mask argument from unsigned int to
      	const omp_mask.
      	(gfc_match_omp_critical): Parse optional clauses and use omp_clauses
      	union member instead of omp_name.
      	(gfc_match_omp_end_critical): New function.
      	(gfc_match_omp_distribute_parallel_do): Remove ordered and linear
      	clauses from the mask.
      	(gfc_match_omp_distribute_parallel_do_simd): Use
      	& ~(omp_mask (OMP_CLAUSE_*)) instead of & ~OMP_CLAUSE_*.
      	(gfc_match_omp_target_teams_distribute_parallel_do_simd): Likewise.
      	(gfc_match_omp_teams_distribute_parallel_do_simd): Likewise.
      	(gfc_match_omp_do_simd): Likewise.  Don't remove ordered clause from
      	the mask.
      	(gfc_match_omp_parallel_do_simd): Likewise.
      	(gfc_match_omp_target_teams_distribute_parallel_do): Likewise.
      	(gfc_match_omp_teams_distribute_parallel_do): Likewise.
      	(gfc_match_omp_declare_simd): If not using the form with
      	(proc-name), require space before first clause.  Make (proc-name)
      	optional.  If not present, set proc_name to NULL.
      	(gfc_match_omp_declare_target): Rewritten for OpenMP 4.5.
      	(gfc_match_omp_single): Use OMP_SINGLE_CLAUSES.
      	(gfc_match_omp_task, gfc_match_omp_taskwait, gfc_match_omp_taskyield):
      	Move around to where they belong alphabetically.
      	(gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data,
      	gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do,
      	gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
      	gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd):
      	New functions.
      	(gfc_match_omp_ordered): Parse clauses.
      	(gfc_match_omp_ordered_depend): New function.
      	(gfc_match_omp_cancel, gfc_match_omp_end_single): Use
      	omp_mask (OMP_CLAUSE_*) instead of OMP_CLAUSE_*.
      	(resolve_oacc_scalar_int_expr): Renamed to ...
      	(resolve_scalar_int_expr): ... this.  Fix up formatting.
      	(resolve_oacc_positive_int_expr): Renamed to ...
      	(resolve_positive_int_expr): ... this.  Fix up formatting.
      	(resolve_nonnegative_int_expr): New function.
      	(resolve_omp_clauses): Adjust callers, use the above functions
      	even for OpenMP clauses, add handling of new OpenMP 4.5 clauses.
      	Require orderedc >= collapse if specified. Handle depend(sink:)
      	and depend(source) restrictions.  Disallow linear clause when
      	orderedc is non-zero.  Diagnose linear clause modifiers when not in
      	declare simd.  Only check for integer type if ref modifier
      	is not used.  Remove diagnostics for required VALUE attribute.
      	Diagnose VALUE attribute with ref or uval modifiers.  Allow
      	non-constant linear-step, if it is a dummy argument alone and is
      	mentioned in uniform clause.  Diagnose map kinds not allowed
      	for various constructs.  Diagnose target {enter ,exit ,}data without
      	any map clauses.  Add dummy OMP_LIST_IS_DEVICE_PTR and
      	OMP_LIST_USE_DEVICE_PTR cases.
      	(gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to orderedc
      	if non-zero.
      	(gfc_resolve_omp_parallel_blocks): Handle new OpenMP 4.5 constructs,
      	replace underscores with spaces in a few construct names.
      	(resolve_omp_do): Set collapse to orderedc if non-zero.  Handle new
      	OpenMP 4.5 constructs.
      	(resolve_oacc_loop_blocks): Call resolve_positive_int_expr instead
      	of resolve_oacc_positive_int_expr.
      	(gfc_resolve_omp_directive): Handle new OpenMP 4.5 constructs.
      	(gfc_resolve_omp_declare_simd): Allow ods->proc_name to be NULL.
      	* trans-openmp.c (gfc_omp_scalar_p): New function.
      	(doacross_steps): New variable.
      	(gfc_trans_omp_clauses): Handle new OpenMP 4.5 clauses and new clause
      	modifiers.
      	(gfc_trans_omp_critical): Adjust EXEC_OMP_CRITICAL handling.
      	(gfc_trans_omp_do): Handle doacross loops.  Clear sched_simd flag.
      	Handle EXEC_OMP_TASKLOOP.
      	(gfc_trans_omp_ordered): Translate omp clauses, allow NULL
      	code->block.
      	(GFC_OMP_SPLIT_TASKLOOP, GFC_OMP_MASK_TASKLOOP): New enum constants.
      	(gfc_split_omp_clauses): Copy orderedc together with ordered.  Change
      	firstprivate and lastprivate handling for OpenMP 4.5.
      	Handle EXEC_OMP_TARGET_SIMD, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
      	and EXEC_OMP_TASKLOOP{,_SIMD}.  Add handling for new OpenMP 4.5
      	clauses and clause modifiers and handle if clause without/with
      	modifiers.
      	(gfc_trans_omp_teams): Add omp_clauses argument, add it to other
      	teams clauses.  Don't wrap into OMP_TEAMS if -fopenmp-simd.
      	(gfc_trans_omp_target): For -fopenmp, translate num_teams and
      	thread_limit clauses on combined target teams early and pass to
      	gfc_trans_omp_teams.  Set OMP_TARGET_COMBINED if needed.
      	Handle EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and
      	EXEC_OMP_TARGET_SIMD.
      	(gfc_trans_omp_taskloop, gfc_trans_omp_target_enter_data,
      	gfc_trans_omp_target_exit_data): New functions.
      	(gfc_trans_omp_directive): Handle EXEC_OMP_TARGET_{ENTER,EXIT}_DATA
      	EXEC_OMP_TASKLOOP{,_SIMD}, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD}
      	and EXEC_OMP_TARGET_SIMD.  Adjust gfc_trans_omp_teams caller.
      	* symbol.c (check_conflict): Handle omp_declare_target_link.
      	(gfc_add_omp_declare_target_link): New function.
      	(gfc_copy_attr): Copy omp_declare_target_link.
      	* dump-parse-tree.c (show_omp_namelist): Handle OMP_DEPEND_SINK_FIRST
      	depend_op.  Print linear clause modifiers.
      	(show_omp_clauses): Adjust for OpenMP 4.5 clause changes.
      	(show_omp_node): Print clauses for EXEC_OMP_ORDERED.  Allow NULL
      	c->block for EXEC_OMP_ORDERED.  Formatting fixes.  Adjust handling of
      	EXEC_OMP_CRITICAL, handle new OpenMP 4.5 constructs and some
      	forgotten OpenMP 4.0 constructs.
      	(show_code_node): Handle new OpenMP 4.5 constructs and some forgotten
      	OpenMP 4.0 constructs.
      	* gfortran.h (symbol_attribute): Add omp_declare_target_link bitfield.
      	(struct gfc_omp_namelist): Add u.common and u.linear_op fields.
      	(struct gfc_common_head): Change omp_declare_target into bitfield.
      	Add omp_declare_target_link bitfield.
      	(gfc_add_omp_declare_target_link): New prototype.
      	(enum gfc_statement): Add ST_OMP_TARGET_PARALLEL,
      	ST_OMP_END_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO,
      	ST_OMP_END_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
      	ST_OMP_END_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_ENTER_DATA,
      	ST_OMP_TARGET_EXIT_DATA, ST_OMP_TARGET_SIMD, ST_OMP_END_TARGET_SIMD,
      	ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_TASKLOOP_SIMD,
      	ST_OMP_END_TASKLOOP_SIMD and ST_OMP_ORDERED_DEPEND.
      	(enum gfc_omp_depend_op): Add OMP_DEPEND_SINK_FIRST and
      	OMP_DEPEND_SINK.
      	(enum gfc_omp_linear_op): New.
      	(struct gfc_omp_clauses): Add critical_name, depend_source,
      	orderedc, defaultmap, nogroup, sched_simd, sched_monotonic,
      	sched_nonmonotonic, simd, threads, grainsize, hint, num_tasks,
      	priority and if_exprs fields.
      	(enum gfc_exec_op): Add EXEC_OMP_END_CRITICAL,
      	EXEC_OMP_TARGET_ENTER_DATA, EXEC_OMP_TARGET_EXIT_DATA,
      	EXEC_OMP_TARGET_PARALLEL, EXEC_OMP_TARGET_PARALLEL_DO,
      	EXEC_OMP_TARGET_PARALLEL_DO_SIMD, EXEC_OMP_TARGET_SIMD,
      	EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD.
      	(enum gfc_omp_map_op): Add OMP_MAP_RELEASE,
      	OMP_MAP_ALWAYS_TO, OMP_MAP_ALWAYS_FROM and OMP_MAP_ALWAYS_TOFROM.
      	(OMP_LIST_IS_DEVICE_PTR, OMP_LIST_USE_DEVICE_PTR): New.
      	(enum gfc_omp_if_kind): New.
      	* module.c (enum ab_attribute): Add AB_OMP_DECLARE_TARGET_LINK.
      	(attr_bits): Add AB_OMP_DECLARE_TARGET_LINK entry.
      	(mio_symbol_attribute): Save and restore omp_declare_target_link bit.
      	* trans.h (gfc_omp_scalar_p): New prototype.
      	* frontend-passes.c (gfc_code_walker): Handle new OpenMP 4.5
      	expressions.
      	* trans.c (trans_code): Handle new OpenMP 4.5 constructs.
      	* resolve.c (gfc_resolve_blocks): Likewise.
      	(gfc_resolve_code): Likewise.
      	* f95-lang.c (LANG_HOOKS_OMP_SCALAR_P): Redefine to gfc_omp_scalar_p.
      	(gfc_attribute_table): Add "omp declare target link".
      	* st.c (gfc_free_statement): Handle EXEC_OMP_END_CRITICAL like
      	EXEC_OMP_CRITICAL before, free clauses for EXEC_OMP_CRITICAL
      	and new OpenMP 4.5 constructs.  Free omp clauses even for
      	EXEC_OMP_ORDERED.
      	* match.c (match_exit_cycle): Rename collapse variable to count,
      	set it to orderedc if non-zero, instead of collapse.
      	* trans-decl.c (add_attributes_to_decl): Add "omp declare target link"
      	instead of "omp declare target" for omp_declare_target_link.
      	* trans-common.c (build_common_decl): Likewise.
      	* match.h (gfc_match_omp_target_enter_data,
      	gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel,
      	gfc_match_omp_target_parallel_do,
      	gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd,
      	gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd,
      	gfc_match_omp_end_critical, gfc_match_omp_ordered_depend): New
      	prototypes.
      	* parse.c (decode_omp_directive): Use gfc_match_omp_end_critical
      	instead of gfc_match_omp_critical for !$omp end critical.
      	Handle new OpenMP 4.5 constructs.  If ordered directive has
      	depend clause as the first of the clauses, use
      	gfc_match_omp_ordered_depend and ST_OMP_ORDERED_DEPEND instead of
      	gfc_match_omp_ordered and ST_OMP_ORDERED.
      	(case_executable): Add ST_OMP_TARGET_ENTER_DATA,
      	ST_OMP_TARGET_EXIT_DATA and ST_OMP_ORDERED_DEPEND cases.
      	(case_exec_markers): Add ST_OMP_TARGET_PARALLEL,
      	ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
      	ST_OMP_TARGET_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD cases.
      	(gfc_ascii_statement): Handle new OpenMP 4.5 constructs.
      	(parse_omp_do): Handle ST_OMP_TARGET_PARALLEL_DO,
      	ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and
      	ST_OMP_TASKLOOP_SIMD.
      	(parse_omp_structured_block): Handle EXEC_OMP_END_CRITICAL instead
      	of EXEC_OMP_CRITICAL, adjust for EXEC_OMP_CRITICAL having omp clauses
      	now.
      	(parse_executable): Handle ST_OMP_TARGET_PARALLEL,
      	ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD,
      	ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD.
      gcc/testsuite/
      	* gfortran.dg/gomp/pr77516.f90: Add dg-warning.
      	* gfortran.dg/gomp/target1.f90: Remove ordered clause where it is
      	no longer allowed and corresponding ordered construct.
      	* gfortran.dg/gomp/linear-1.f90: New test.
      	* gfortran.dg/gomp/declare-simd-2.f90: New test.
      	* gfortran.dg/gomp/declare-target-1.f90: New test.
      	* gfortran.dg/gomp/declare-target-2.f90: New test.
      libgomp/
      	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90
      	(fib_wrapper): Add map(from: x) clause.
      	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90
      	(e_53_2): Likewise.
      	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90
      	(accum): Add map(tmp) clause.
      	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90
      	(accum): Add map(tofrom: tmp) clause.
      	* testsuite/libgomp.fortran/examples-4/target_data-3.f90
      	(gramSchmidt): Likewise.
      	* testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
      	map(tofrom: sum) clause.
      	* testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
      	map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
      	* testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
      	only allowed on the loop iterator.
      	* testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
      	* testsuite/libgomp.fortran/taskloop2.f90: New test.
      	* testsuite/libgomp.fortran/taskloop4.f90: New test.
      	* testsuite/libgomp.fortran/doacross1.f90: New test.
      	* testsuite/libgomp.fortran/doacross3.f90: New test.
      	* testsuite/libgomp.fortran/taskloop1.f90: New test.
      	* testsuite/libgomp.fortran/taskloop3.f90: New test.
      	* testsuite/libgomp.fortran/doacross2.f90: New test.
      	* testsuite/libgomp.c/doacross-1.c (main): Add missing
      	#pragma omp atomic read.
      	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
      	* testsuite/libgomp.c/doacross-3.c (main): Likewise.
      
      From-SVN: r242037
      Jakub Jelinek committed
  5. 01 Jul, 2016 1 commit
    • re PR fortran/71687 (ICE in omp_add_variable, at gimplify.c:5821) · 79a592e3
      	PR fortran/71687
      	* f95-lang.c (struct binding_level): Add reversed field.
      	(clear_binding_level): Adjust initializer.
      	(getdecls): If reversed is clear, set it and nreverse the names
      	chain before returning it.
      	(poplevel): Use getdecls.
      	* trans-decl.c (gfc_generate_function_code, gfc_process_block_locals):
      	Use nreverse to pushdecl decls in the declaration order.
      
      	* gfortran.dg/gomp/pr71687.f90: New test.
      
      From-SVN: r237926
      Jakub Jelinek committed
  6. 29 Jun, 2016 1 commit
    • re PR middle-end/71002 (-fstrict-aliasing breaks Boost's short string optimization implementation) · 4aa83879
      2016-06-29  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/71002
      	* alias.c (component_uses_parent_alias_set_from): Handle
      	type punning through union accesses by using the union alias set.
      	* gimple.c (gimple_get_alias_set): Remove union type punning case.
      
      	c-family/
      	* c-common.c (c_common_get_alias_set): Remove union type punning case.
      	
      	fortran/
      	* f95-lang.c (LANG_HOOKS_GET_ALIAS_SET): Remove (un-)define.
      	(gfc_get_alias_set): Remove.
      
      	* g++.dg/torture/pr71002.C: Adjust testcase.
      
      From-SVN: r237839
      Richard Biener committed
  7. 08 Feb, 2016 1 commit
    • Remove -fshort-double · a011cd92
      	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
      Bernd Schmidt committed
  8. 04 Jan, 2016 1 commit
  9. 30 Nov, 2015 1 commit
    • tree-nested.c (convert_nonlocal_omp_clauses): Add support for… · db941d7e
      tree-nested.c (convert_nonlocal_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
      
      	gcc/
      	* tree-nested.c (convert_nonlocal_omp_clauses): Add support for
      	OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
      	(convert_local_omp_clauses): Likewise.
      
      	gcc/fortran/
      	* f95-lang.c (gfc_attribute_table): Add an "oacc function"
      	attribute.
      	* gfortran.h (symbol_attribute): Add an oacc_function bit-field.
      	(gfc_oacc_routine_name): New struct;
      	(gfc_get_oacc_routine_name): New macro.
      	(gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and
      	oacc_routine fields.
      	(gfc_exec_op): Add EXEC_OACC_ROUTINE.
      	* openmp.c (OACC_ROUTINE_CLAUSES): New mask.
      	(gfc_oacc_routine_dims): New function.
      	(gfc_match_oacc_routine): Add support for named routines and the
      	gang, worker vector and seq clauses.
      	* parse.c (is_oacc): Add EXEC_OACC_ROUTINE.
      	* resolve.c (gfc_resolve_blocks): Likewise.
      	* st.c (gfc_free_statement): Likewise.
      	* trans-decl.c (add_attributes_to_decl): Attach an 'oacc function'
      	attribute and shape geometry for acc routine.
      
      	gcc/testsuite/
      	* gfortran.dg/goacc/routine-3.f90: New test.
      	* gfortran.dg/goacc/routine-4.f90: New test.
      	* gfortran.dg/goacc/routine-5.f90: New test.
      	* gfortran.dg/goacc/routine-6.f90: New test.
      	* gfortran.dg/goacc/subroutines: New test.
      
      	libgomp/
      	* libgomp.oacc-fortran/routine-5.f90: New test.
      	* libgomp.oacc-fortran/routine-7.f90: New test.
      	* libgomp.oacc-fortran/routine-9.f90: New test.
      
      From-SVN: r231081
      Cesar Philippidis committed
  10. 11 Nov, 2015 1 commit
    • decl.c: Remove unused header files. · 69f293c9
      ada
      
      	* gcc-interface/decl.c: Remove unused header files.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/targtyps.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      c
      
      	* c-array-notation.c: Remove unused header files.
      	* c-aux-info.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-errors.c: Likewise.
      	* c-lang.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      	* gccspec.c: Likewise.
      
      c-family
      
      	* array-notation-common.c: Remove unused header files.
      	* c-ada-spec.c: Likewise.
      	* c-cilkplus.c: Likewise.
      	* c-common.c: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-format.c: Likewise.
      	* c-gimplify.c: Likewise.
      	* c-indentation.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pch.c: Likewise.
      	* c-ppoutput.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-ubsan.c: Likewise.
      	* cilk.c: Likewise.
      	* stub-objc.c: Likewise.
      
      cp
      
      	* call.c: Remove unused header files.
      	* class.c: Likewise.
      	* constexpr.c: Likewise.
      	* cp-array-notation.c: Likewise.
      	* cp-cilkplus.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* cp-lang.c: Likewise.
      	* cp-objcp-common.c: Likewise.
      	* cp-ubsan.c: Likewise.
      	* cvt.c: Likewise.
      	* cxx-pretty-print.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* dump.c: Likewise.
      	* error.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* friend.c: Likewise.
      	* g++spec.c: Likewise.
      	* init.c: Likewise.
      	* lambda.c: Likewise.
      	* lex.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* name-lookup.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* ptree.c: Likewise.
      	* repo.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      	* vtable-class-hierarchy.c: Likewise.
      
      Fortran
      
      	* array.c: Remove unused header files.
      	* convert.c: Likewise.
      	* cpp.c: Likewise.
      	* decl.c: Likewise.
      	* f95-lang.c: Likewise.
      	* frontend-passes.c: Likewise.
      	* iresolve.c: Likewise.
      	* match.c: Likewise.
      	* module.c: Likewise.
      	* options.c: Likewise.
      	* parse.c: Likewise.
      	* target-memory.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-common.c: Likewise.
      	* trans-const.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-expr.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-io.c: Likewise.
      	* trans-openmp.c: Likewise.
      	* trans-stmt.c: Likewise.
      	* trans-types.c: Likewise.
      	* trans.c: Likewise.
      
      go
      
      	* go-backend.c: Remove unused header files.
      	* go-gcc.cc: Likewise.
      	* go-lang.c: Likewise.
      	* gospec.c: Likewise.
      
      Java
      
      	* boehm.c: Remove unused header files.
      	* builtins.c: Likewise.
      	* class.c: Likewise.
      	* constants.c: Likewise.
      	* decl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* java-gimplify.c: Likewise.
      	* jcf-dump.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* jvgenmain.c: Likewise.
      	* lang.c: Likewise.
      	* mangle.c: Likewise.
      	* mangle_name.c: Likewise.
      	* resource.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      	* verify-impl.c: Likewise.
      	* zextract.c: Likewise.
      
      jit
      
      	* dummy-frontend.c: Remove unused header files.
      	* jit-builtins.c: Likewise.
      	* jit-playback.c: Likewise.
      	* jit-recording.c: Likewise.
      	* jit-spec.c: Likewise.
      	* libgccjit.c: Likewise.
      
      lto
      
      	* lto-lang.c: Remove unused header files.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      objc
      
      	* objc-act.c: Remove unused header files.
      	* objc-encoding.c: Likewise.
      	* objc-gnu-runtime-abi-01.c: Likewise.
      	* objc-lang.c: Likewise.
      	* objc-map.c: Likewise.
      	* objc-next-runtime-abi-01.c: Likewise.
      	* objc-next-runtime-abi-02.c: Likewise.
      	* objc-runtime-shared-support.c: Likewise.
      
      objcp
      
      	* objcp-decl.c: Remove unused header files.
      	* objcp-lang.c: Likewise.
      
      From-SVN: r230166
      Andrew MacLeod committed
  11. 29 Oct, 2015 2 commits
    • decl.c: Reorder #include's and remove duplicates. · 2adfab87
      ada
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/decl.c: Reorder #include's and remove duplicates.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/targtyps.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	
      c
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c: Reorder #include's and remove duplicates.
      	* c-aux-info.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-errors.c: Likewise.
      	* c-lang.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      
      c-family
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c: Reorder #include's and remove duplicates.
      	* c-ada-spec.c: Likewise.
      	* c-cilkplus.c: Likewise.
      	* c-common.c: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-format.c: Likewise.
      	* c-gimplify.c: Likewise.
      	* c-indentation.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pch.c: Likewise.
      	* c-ppoutput.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-ubsan.c: Likewise.
      	* cilk.c: Likewise.
      	* stub-objc.c: Likewise.
      
      cp
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c: Reorder #include's and remove duplicates.
      	* class.c: Likewise.
      	* constexpr.c: Likewise.
      	* cp-array-notation.c: Likewise.
      	* cp-cilkplus.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* cp-lang.c: Likewise.
      	* cp-objcp-common.c: Likewise.
      	* cp-ubsan.c: Likewise.
      	* cvt.c: Likewise.
      	* cxx-pretty-print.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* dump.c: Likewise.
      	* error.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* friend.c: Likewise.
      	* init.c: Likewise.
      	* lambda.c: Likewise.
      	* lex.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* name-lookup.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* ptree.c: Likewise.
      	* repo.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      	* vtable-class-hierarchy.c: Likewise.
      
      fortran
      
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array.c: Reorder #include's and remove duplicates.
      	* convert.c: Likewise.
      	* cpp.c: Likewise.
      	* decl.c: Likewise.
      	* f95-lang.c: Likewise.
      	* frontend-passes.c: Likewise.
      	* iresolve.c: Likewise.
      	* match.c: Likewise.
      	* module.c: Likewise.
      	* options.c: Likewise.
      	* parse.c: Likewise.
      	* resolve.c: Likewise.
      	* simplify.c: Likewise.
      	* target-memory.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-common.c: Likewise.
      	* trans-const.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-expr.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-io.c: Likewise.
      	* trans-openmp.c: Likewise.
      	* trans-stmt.c: Likewise.
      	* trans-types.c: Likewise.
      	* trans.c: Likewise.
      
      go
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c: Reorder #include's and remove duplicates.
      	* go-lang.c: Likewise.
      
      java
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c: Reorder #include's and remove duplicates.
      	* builtins.c: Likewise.
      	* class.c: Likewise.
      	* constants.c: Likewise.
      	* decl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* java-gimplify.c: Likewise.
      	* jcf-dump.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* jvgenmain.c: Likewise.
      	* lang.c: Likewise.
      	* mangle.c: Likewise.
      	* mangle_name.c: Likewise.
      	* resource.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      	* verify-impl.c: Likewise.
      
      jit
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c: Reorder #include's and remove duplicates.
      	* jit-builtins.c: Likewise.
      	* jit-playback.c: Likewise.
      	* jit-recording.c: Likewise.
      	* libgccjit.c: Likewise.
      
      lto
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c: Reorder #include's and remove duplicates.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      objc
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-lang.c: Reorder #include's and remove duplicates.
      	* objc-map.c: Likewise.
      
      objcp
      2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c: Reorder #include's and remove duplicates.
      	* objcp-lang.c: Likewise.
      
      From-SVN: r229533
      Andrew MacLeod committed
    • gimple-match-head.c (gimple_simplify): Remove premature checking of… · 384aedfc
      gimple-match-head.c (gimple_simplify): Remove premature checking of builtin_decl_implicit of function calls we simplify.
      
      2015-10-29  Richard Biener  <rguenther@suse.de>
      
      	* gimple-match-head.c (gimple_simplify): Remove premature checking
      	of builtin_decl_implicit of function calls we simplify.
      
      	fortran/
      	* f95-lang.c: Properly build variadic types for classification
      	and comparison builtins.
      
      From-SVN: r229515
      Richard Biener committed
  12. 13 Oct, 2015 1 commit
    • builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. · d9a6bd32
      gcc/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Aldy Hernandez  <aldyh@redhat.com>
      	    Ilya Verbin  <ilya.verbin@intel.com>
      
      	* builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
      	BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
      	BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
      	BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
      	BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
      	BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
      	BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
      	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
      	BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
      	* cgraph.h (enum cgraph_simd_clone_arg_type): Add
      	SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP,
      	SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
      	SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
      	(struct cgraph_simd_clone_arg): Adjust comment.
      	* coretypes.h (struct gomp_ordered): New forward decl.
      	* gimple.c (gimple_build_omp_critical): Add CLAUSES argument,
      	set critical clauses to it.
      	(gimple_build_omp_ordered): Return gomp_ordered * instead of
      	gimple *.  Add CLAUSES argument, set ordered clauses to it.
      	(gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and
      	GIMPLE_OMP_ORDERED.
      	* gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to
      	GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS.
      	* gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP.  Add another bit
      	to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber
      	GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP.  Adjust
      	GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO.
      	Add another bit to GF_OMP_TARGET_KIND_MASK mask.  Add
      	GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA,
      	renumber
      	GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}.
      	(gomp_critical): Add clauses field.
      	(gomp_ordered): New struct.
      	(is_a_helper <gomp_ordered *>::test): New inline.
      	(gimple_build_omp_critical): Add CLAUSES argument.
      	(gimple_build_omp_ordered): Likewise.  Return gomp_ordered *
      	instead of gimple *.
      	(gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr,
      	gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses,
      	gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses,
      	gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
      	inline functions.
      	* gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
      	(dump_gimple_omp_target): Handle enter data and exit data.
      	(dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here.
      	(dump_gimple_omp_critical): Print clauses.
      	(dump_gimple_omp_ordered): New function.
      	(dump_gimple_omp_task): Handle taskloop.
      	(pp_gimple_stmt_1): Use dump_gimple_omp_ordered for
      	GIMPLE_OMP_ORDERED.
      	* gimple-walk.c (walk_gimple_op): Walk clauses on
      	GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED.
      	* gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY.
      	(enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE.
      	(struct gimplify_omp_ctx): Add loop_iter_var,
      	target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays
      	and target_firstprivatize_array_bases fields.
      	(delete_omp_context): Release loop_iter_var.
      	(gimplify_bind_expr): Handle ORT_NONE.
      	(maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of
      	ORT_COMBINED_TARGET.
      	(is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and
      	OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}.
      	(omp_firstprivatize_variable): Handle ORT_NONE.  Adjust check for
      	ORT_TARGET for the addition of ORT_COMBINED_TARGET.  Handle
      	ctx->target_map_scalars_firstprivate.
      	(omp_add_variable): Handle ORT_NONE.  Allow map clause together with
      	data sharing clauses.  For data sharing clause with VLA decl
      	on omp target/target data don't add firstprivate for the pointer.
      	Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P.
      	(omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for
      	the addition of ORT_COMBINED_TARGET.
      	(omp_notice_variable): Handle ORT_NONE.  Adjust check for ORT_TARGET
      	for the addition of ORT_COMBINED_TARGET.  Handle implicit mapping of
      	pointers as zero length array sections and
      	ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate
      	data sharing.
      	(omp_check_private): Handle omp_member_access_dummy_var vars.
      	(find_decl_expr): New function.
      	(gimplify_scan_omp_clauses): Add CODE argument.  For OMP_CLAUSE_IF
      	complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code.
      	Handle OMP_CLAUSE_GANG separately.  Handle
      	OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
      	clauses.  Diagnose linear clause on combined
      	distribute {, parallel for} simd construct, unless it is the loop
      	iterator.  Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER.
      	Handle map clauses with COMPONENT_REF.  Initialize
      	ctx->target_map_scalars_firstprivate,
      	ctx->target_firstprivatize_array_bases and
      	ctx->target_map_pointers_as_0len_arrays.  Add firstprivate for
      	linear clause even to target region if combined.  Remove
      	map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from
      	OMP_TARGET_{,ENTER_,EXIT_}DATA.  For GOMP_MAP_FIRSTPRIVATE_POINTER
      	map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias.
      	Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}.  Handle
      	OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.
      	For linear clause on worksharing loop combined with parallel add
      	shared clause on the parallel.  Handle OMP_CLAUSE_REDUCTION
      	with MEM_REF OMP_CLAUSE_DECL.  Set DECL_NAME on
      	omp_member_access_dummy_var vars.  Add lastprivate clause to outer
      	taskloop if needed.
      	(gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY.
      	If gimplify_omp_ctxp->target_firstprivatize_array_bases, use
      	GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of
      	GOMP_MAP_POINTER.
      	(gimplify_adjust_omp_clauses): Add CODE argument.  Handle removal
      	of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen
      	in target body.  Handle removal of struct mapping if struct is not
      	seen in target body.  Remove GOMP_MAP_STRUCT map clause on
      	OMP_TARGET_EXIT_DATA.  Adjust check for ORT_TARGET for the
      	addition of ORT_COMBINED_TARGET.  Use GOMP_MAP_FIRSTPRIVATE_POINTER
      	instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases
      	for VLAs.  Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map
      	clause appear together.  Handle
      	OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.  Don't remove map
      	clause if it has map-type-modifier always.  Handle
      	OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
      	clauses.
      	(gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task):
      	Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses
      	callers.
      	(gimplify_omp_for): Likewise.  Handle OMP_TASKLOOP.  Initialize
      	loop_iter_var.  Use OMP_FOR_ORIG_DECLS.  Fix handling of lastprivate
      	iterators in doacross loops.
      	(gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and
      	gimplify_adjust_omp_clauses callers.  Use ORT_COMBINED_TARGET
      	for OMP_TARGET_COMBINED.  Adjust check for ORT_TARGET
      	for the addition of ORT_COMBINED_TARGET.
      	(gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and
      	gimplify_adjust_omp_clauses callers.  Handle OMP_TARGET_ENTER_DATA
      	and OMP_TARGET_EXIT_DATA.
      	(gimplify_omp_ordered): New function.
      	(gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and
      	OMP_TARGET_EXIT_DATA.  Use gimplify_omp_ordered for OMP_ORDERED.
      	Gimplify clauses on OMP_CRITICAL.
      	* internal-fn.c (expand_GOMP_SIMD_ORDERED_START,
      	expand_GOMP_SIMD_ORDERED_END): New functions.
      	* internal-fn.def (GOMP_SIMD_ORDERED_START,
      	GOMP_SIMD_ORDERED_END): New internal functions.
      	* omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
      	BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
      	BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
      	BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
      	BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
      	BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
      	BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
      	BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT,
      	BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT,
      	BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP,
      	BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins.
      	(BUILT_IN_GOMP_TASK): Add INT argument to the end.
      	(BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41,
      	adjust type.
      	(BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to
      	GOMP_target_data_41, adjust type.
      	(BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to
      	GOMP_target_update_41, adjust type.
      	* omp-low.c (struct omp_region): Adjust comments, add ord_stmt
      	field.
      	(struct omp_for_data): Add ordered and simd_schedule fields.
      	(omp_member_access_dummy_var, unshare_and_remap_1,
      	unshare_and_remap, is_taskloop_ctx): New functions.
      	(is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx.
      	(extract_omp_for_data): Handle taskloops and doacross loops
      	and simd schedule modifier.
      	(omp_adjust_chunk_size): New function.
      	(get_ws_args_for): Use it.
      	(lookup_sfield): Change first argument to splay_tree_key,
      	add overload with first argument tree.
      	(maybe_lookup_field): Likewise.
      	(use_pointer_for_field): Handle omp_member_access_dummy_var.
      	(omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in
      	task_shared_vars, clear TREE_ADDRESSABLE on the copy.
      	(build_outer_var_ref): Add LASTPRIVATE argument, handle
      	taskloops and omp_member_access_dummy_var vars.
      	(build_sender_ref): Change first argument to splay_tree_key,
      	add overload with first argument tree.
      	(install_var_field): For mask & 8 use &DECL_UID as key instead
      	of the tree itself.
      	(fixup_child_record_type): Const qualify *.omp_data_i.
      	(scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE,
      	C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses,
      	OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and
      	OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause
      	on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE.
      	(create_omp_child_function): Set TREE_READONLY on .omp_data_i.
      	(find_combined_for): Allow searching for different GIMPLE_OMP_FOR
      	kinds.
      	(add_taskreg_looptemp_clauses): New function.
      	(scan_omp_parallel): Use it.
      	(scan_omp_task): Likewise.
      	(finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
      	For taskloop, move fields for the first two _LOOPTEMP_ clauses first.
      	(check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA
      	and GF_OMP_TARGET_KIND_EXIT_DATA.  Formatting fixes.  Allow the
      	sandwiched taskloop constructs.  Type check
      	OMP_CLAUSE_DEPEND_{KIND,SOURCE}.  Allow ordered simd inside of simd
      	region.  Diagnose depend(source) or depend(sink:...) on
      	target constructs or task/taskloop.
      	(handle_simd_reference): Use get_name.
      	(lower_rec_input_clauses): Likewise.  Ignore all
      	OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct.
      	Allow _LOOPTEMP_ clause on GOMP_TASK.  Unshare new_var
      	before passing it to omp_clause_{default,copy}_ctor.  Handle
      	OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL.  Set
      	lastprivate_firstprivate flag for linear that needs copyin and
      	copyout.  Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA.
      	(lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE
      	on taskloop lookup decl in outer context.  Pass true to
      	build_outer_var_ref lastprivate argument.  Handle
      	OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global
      	outside of outer taskloop for.
      	(lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF
      	OMP_CLAUSE_DECL.
      	(lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop
      	GOMP_TASK.  Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.  Handle
      	omp_member_access_dummy_var vars.  Handle OMP_CLAUSE_REDUCTION
      	with MEM_REF OMP_CLAUSE_DECL.  Use new lookup_sfield overload.
      	(lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL
      	abstract origin.  Handle omp_member_access_dummy_var vars.
      	(expand_parallel_call): Use expand_omp_build_assign.
      	(expand_task_call): Handle taskloop construct expansion.  Add
      	REGION argument.  Use GOMP_TASK_* defines instead of hardcoded
      	integers.  Add priority argument to GOMP_task* calls.  Or in
      	GOMP_TASK_FLAG_PRIORITY into flags if priority is present for
      	GOMP_task call.
      	(expand_omp_build_assign): Add prototype.  Add AFTER
      	argument, if true emit statements after *GSI_P and continue linking.
      	(expand_omp_taskreg): Adjust expand_task_call caller.
      	(expand_omp_for_init_counts): Rename zero_iter_bb argument to
      	zero_iter1_bb and first_zero_iter to first_zero_iter1, add
      	zero_iter2_bb and first_zero_iter2 arguments, handle computation
      	of counts even for ordered loops.
      	(expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
      	(expand_omp_ordered_source, expand_omp_ordered_sink,
      	expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New
      	functions.
      	(expand_omp_for_generic): Use omp_adjust_chunk_size.  Handle linear
      	clauses on worksharing loop.  Handle DOACROSS loop expansion.
      	(expand_omp_for_static_nochunk): Handle linear clauses on
      	worksharing loop.  Adjust expand_omp_for_init_counts
      	callers.
      	(expand_omp_for_static_chunk): Likewise.  Use omp_adjust_chunk_size.
      	(expand_omp_simd): Handle addressable fd->loop.v.  Adjust
      	expand_omp_for_init_counts callers.
      	(expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
      	functions.
      	(expand_omp_for): Call expand_omp_taskloop_for_* for taskloop.
      	Handle doacross loops.
      	(expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
      	GF_OMP_TARGET_KIND_EXIT_DATA.  Pass flags and depend arguments to
      	GOMP_target_{41,update_41,enter_exit_data} libcalls.
      	(expand_omp): Don't expand ordered depend constructs here, record
      	ord_stmt instead for later expand_omp_for_generic.
      	(build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
      	GF_OMP_TARGET_KIND_EXIT_DATA.  Treat GIMPLE_OMP_ORDERED with depend
      	clause as stand-alone directive.
      	(lower_omp_ordered_clauses): New function.
      	(lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND
      	don't lower anything.
      	(lower_omp_for_lastprivate): Use last _looptemp_ clause
      	on taskloop for comparison.
      	(lower_omp_for): Handle taskloop constructs.  Adjust OMP_CLAUSE_DECL
      	and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during
      	expansion for linear adjustments.
      	(create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
      	(lower_depend_clauses): Assert not seeing sink/source depend kinds.
      	Set TREE_ADDRESSABLE on array.  Change first argument from gimple *
      	to tree * pointing to the stmt's clauses.
      	(lower_omp_taskreg): Adjust lower_depend_clauses caller.
      	(lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA
      	and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses,
      	GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT}
      	map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR
      	clauses.  Always use short kind and 8-bit align shift.
      	(lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro.
      	(struct lower_omp_regimplify_operands_data): New type.
      	(lower_omp_regimplify_operands_p, lower_omp_regimplify_operands):
      	New functions.
      	(lower_omp_1): Use lower_omp_regimplify_operands instead of
      	gimple_regimplify_operands.
      	(make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
      	GF_OMP_TARGET_KIND_EXIT_DATA.  Treat GIMPLE_OMP_ORDERED with depend
      	clause as stand-alone directive.
      	(simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND.
      	(simd_clone_mangle): Mangle the various linear kinds
      	per the new ABI.
      	(simd_clone_adjust_argument_types): Handle
      	SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP.
      	(simd_clone_init_simd_arrays): Don't do anything for uval.
      	(simd_clone_adjust): Handle
      	SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
      	SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.
      	Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP.
      	* omp-low.h (omp_member_access_dummy_var): New prototype.
      	* passes.def (pass_simduid_cleanup): Schedule another copy of the
      	pass after all optimizations.
      	* tree.c (omp_clause_code_name): Add entries for
      	OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
      	and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
      	(omp_clause_num_ops): Likewise.  Bump number of OMP_CLAUSE_REDUCTION
      	arguments to 5 and for OMP_CLAUSE_ORDERED to 1.
      	(walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and
      	OMP_CLAUSE_REDUCTION 5 arguments.  Handle
      	OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
      	and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
      	clauses.
      	* tree-core.h (enum omp_clause_linear_kind): New.
      	(struct tree_omp_clause): Change type of map_kind
      	from unsigned char to unsigned int.  Add subcode.if_modifier
      	and subcode.linear_kind fields.
      	(enum omp_clause_code): Add
      	OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
      	and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
      	(OMP_CLAUSE_REDUCTION): Document
      	OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
      	(enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}.
      	* tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand.
      	(OMP_CRITICAL): Move before OMP_SINGLE.  Add OMP_CRITICAL_CLAUSES
      	operand.
      	(OMP_ORDERED): Move before OMP_SINGLE.  Add OMP_ORDERED_CLAUSES
      	operand.
      	(OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree
      	codes.
      	* tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP.
      	(OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned
      	char.
      	(OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd.
      	(OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix.
      	(OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA.
      	(OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED,
      	OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER,
      	OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES,
      	OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV,
      	OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD,
      	OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER,
      	OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES,
      	OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES,
      	OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR,
      	OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define.
      	* tree-inline.c (remap_gimple_stmt): Handle clauses on
      	GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL.  For
      	IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops.
      	* tree-nested.c (convert_nonlocal_omp_clauses): Handle
      	OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
      	and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
      	clauses.  Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
      	(convert_local_omp_clauses): Likewise.
      	* tree-pretty-print.c (dump_omp_clause): Handle
      	OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
      	and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
      	clauses.  Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR,
      	OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND,
      	OMP_CLAUSE_DEPEND_{SOURCE,SINK}.  Use "delete" for
      	GOMP_MAP_FORCE_DEALLOC.  Handle
      	GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}.
      	(dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA
      	and clauses on OMP_ORDERED and OMP_CRITICAL.
      	* tree-vectorizer.c (adjust_simduid_builtins): Adjust comment.
      	Remove IFN_GOMP_SIMD_ORDERED_{START,END}.
      	(vectorize_loops): Adjust comments.
      	(pass_simduid_cleanup::execute): Likewise.
      	* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
      	SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP.
      	* wide-int.h (wi::gcd): New.
      gcc/c-family/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Aldy Hernandez  <aldyh@redhat.com>
      
      	* c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
      	DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
      	(c_define_builtins): Likewise.
      	* c-common.h (enum c_omp_clause_split): Add
      	C_OMP_CLAUSE_SPLIT_TASKLOOP.
      	(c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
      	(c_finish_omp_for): Add ORIG_DECLV argument.
      	* c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
      	201511 instead of 201307.
      	* c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
      	OMP_CRITICAL_CLAUSES to it.
      	(c_finish_omp_ordered): Add CLAUSES argument, set
      	OMP_ORDERED_CLAUSES to it.
      	(c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
      	to it if OMP_FOR.  Clear DECL_INITIAL on the IVs.
      	(c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
      	constructs and new OpenMP 4.5 clauses.  Clear
      	OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD.  Add
      	verification code.
      	* c-pragma.c (omp_pragmas_simd): Add taskloop.
      	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
      	(enum pragma_omp_clause): Add
      	PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
      	and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
      gcc/c/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Aldy Hernandez  <aldyh@redhat.com>
      
      	* c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
      	(c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
      	(c_parser_omp_variable_list): Handle structure elements for
      	map, to and from clauses.  Handle array sections in reduction
      	clause.  Formatting fixes.
      	(c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
      	if clause modifiers.
      	(c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
      	c_parser_omp_clause_priority, c_parser_omp_clause_hint,
      	c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
      	c_parser_omp_clause_is_device_ptr): New functions.
      	(c_parser_omp_clause_ordered): Parse optional parameter.
      	(c_parser_omp_clause_reduction): Handle array reductions.
      	(c_parser_omp_clause_schedule): Parse optional simd modifier.
      	(c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
      	functions.
      	(c_parser_omp_clause_linear): Parse linear clause modifiers.
      	(c_parser_omp_clause_depend_sink): New function.
      	(c_parser_omp_clause_depend): Parse source/sink depend kinds.
      	(c_parser_omp_clause_map): Parse release/delete map kinds and
      	optional always modifier.
      	(c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
      	and c_finish_omp_clauses callers.
      	(c_parser_omp_all_clauses): Likewise.  Parse OpenMP 4.5 clauses.
      	Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
      	(c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
      	(OMP_CRITICAL_CLAUSE_MASK): Define.
      	(c_parser_omp_critical): Parse critical clauses.
      	(c_parser_omp_for_loop): Handle doacross loops, adjust
      	c_finish_omp_for and c_finish_omp_clauses callers.
      	(OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
      	(c_parser_omp_simd): Allow ordered clause if it has no parameter.
      	(OMP_FOR_CLAUSE_MASK): Add linear clause.
      	(c_parser_omp_for): Disallow ordered clause when combined with
      	distribute.  Disallow linear clause when combined with distribute
      	and not combined with simd.
      	(OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
      	(c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
      	parse clauses and if depend clause is found, don't parse a body.
      	(c_parser_omp_parallel): Disallow copyin clause on target parallel.
      	Allow target parallel without for after it.
      	(OMP_TASK_CLAUSE_MASK): Add priority clause.
      	(OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
      	(c_parser_omp_target_data): Diagnose no map clauses or clauses with
      	invalid kinds.
      	(OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
      	(OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
      	OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
      	(c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
      	functions.
      	(OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
      	defaultmap and is_device_ptr clauses.
      	(c_parser_omp_target): Parse target parallel and target simd.  Set
      	OMP_TARGET_COMBINED on combined constructs.  Parse target enter data
      	and target exit data.  Diagnose invalid map kinds.
      	(OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
      	(c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
      	construct.
      	(c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
      	&omp_priv.
      	(OMP_TASKLOOP_CLAUSE_MASK): Define.
      	(c_parser_omp_taskloop): New function.
      	(c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
      	handle PRAGMA_OMP_TASKLOOP.
      	(c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
      	* c-tree.h (c_finish_omp_clauses): Add two new arguments.
      	* c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
      	Add IS_OMP argument, handle structure element bases, diagnose
      	bitfields, pass IS_OMP recursively, diagnose known zero length
      	array sections in depend clauses, handle array sections in reduction
      	clause, diagnose negative length even for pointers.
      	(handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
      	types, pass IS_OMP down to handle_omp_array_sections_1, handle
      	array sections in reduction clause, set
      	OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
      	length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
      	(c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
      	Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
      gcc/cp/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Aldy Hernandez  <aldyh@redhat.com>
      
      	* class.c (finish_struct_1): Call finish_omp_declare_simd_methods.
      	* cp-gimplify.c (cp_gimplify_expr): Handle OMP_TASKLOOP.
      	(cp_genericize_r): Likewise.
      	(cxx_omp_finish_clause): Don't diagnose references.
      	(cxx_omp_disregard_value_expr): New function.
      	* cp-objcp-common.h (LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR): Redefine.
      	* cp-tree.h (OMP_FOR_GIMPLIFYING_P): Document for OMP_TASKLOOP.
      	(DECL_OMP_PRIVATIZED_MEMBER): Define.
      	(finish_omp_declare_simd_methods, push_omp_privatization_clauses,
      	pop_omp_privatization_clauses, save_omp_privatization_clauses,
      	restore_omp_privatization_clauses, omp_privatize_field,
      	cxx_omp_disregard_value_expr): New prototypes.
      	(finish_omp_clauses): Add two new arguments.
      	(finish_omp_for): Add ORIG_DECLV argument.
      	* parser.c (cp_parser_lambda_body): Call
      	save_omp_privatization_clauses and restore_omp_privatization_clauses.
      	(cp_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
      	(cp_parser_omp_var_list_no_open): Handle structure elements for
      	map, to and from clauses.  Handle array sections in reduction
      	clause.  Parse this keyword.  Formatting fixes.
      	(cp_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
      	if clause modifiers.
      	(cp_parser_omp_clause_num_tasks, cp_parser_omp_clause_grainsize,
      	cp_parser_omp_clause_priority, cp_parser_omp_clause_hint,
      	cp_parser_omp_clause_defaultmap): New functions.
      	(cp_parser_omp_clause_ordered): Parse optional parameter.
      	(cp_parser_omp_clause_reduction): Handle array reductions.
      	(cp_parser_omp_clause_schedule): Parse optional simd modifier.
      	(cp_parser_omp_clause_nogroup, cp_parser_omp_clause_orderedkind):
      	New functions.
      	(cp_parser_omp_clause_linear): Parse linear clause modifiers.
      	(cp_parser_omp_clause_depend_sink): New function.
      	(cp_parser_omp_clause_depend): Parse source/sink depend kinds.
      	(cp_parser_omp_clause_map): Parse release/delete map kinds and
      	optional always modifier.
      	(cp_parser_oacc_all_clauses): Adjust cp_parser_omp_clause_if
      	and finish_omp_clauses callers.
      	(cp_parser_omp_all_clauses): Likewise.  Parse OpenMP 4.5 clauses.
      	Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
      	(OMP_CRITICAL_CLAUSE_MASK): Define.
      	(cp_parser_omp_critical): Parse critical clauses.
      	(cp_parser_omp_for_incr): Use cp_tree_equal if
      	processing_template_decl.
      	(cp_parser_omp_for_loop_init): Return tree instead of bool.  Handle
      	non-static data member iterators.
      	(cp_parser_omp_for_loop): Handle doacross loops, adjust
      	finish_omp_for and finish_omp_clauses callers.
      	(cp_omp_split_clauses): Adjust finish_omp_clauses caller.
      	(OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
      	(cp_parser_omp_simd): Allow ordered clause if it has no parameter.
      	(OMP_FOR_CLAUSE_MASK): Add linear clause.
      	(cp_parser_omp_for): Disallow ordered clause when combined with
      	distribute.  Disallow linear clause when combined with distribute
      	and not combined with simd.
      	(OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
      	(cp_parser_omp_ordered): Add CONTEXT argument, return bool instead
      	of tree, parse clauses and if depend clause is found, don't parse
      	a body.
      	(cp_parser_omp_parallel): Disallow copyin clause on target parallel.
      	Allow target parallel without for after it.
      	(OMP_TASK_CLAUSE_MASK): Add priority clause.
      	(OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
      	(cp_parser_omp_target_data): Diagnose no map clauses or clauses with
      	invalid kinds.
      	(OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
      	(OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
      	OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
      	(cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data): New
      	functions.
      	(OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
      	defaultmap and is_device_ptr clauses.
      	(cp_parser_omp_target): Parse target parallel and target simd.  Set
      	OMP_TARGET_COMBINED on combined constructs.  Parse target enter data
      	and target exit data.  Diagnose invalid map kinds.
      	(cp_parser_oacc_cache): Adjust finish_omp_clauses caller.
      	(OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
      	(cp_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
      	construct.
      	(OMP_TASKLOOP_CLAUSE_MASK): Define.
      	(cp_parser_omp_taskloop): New function.
      	(cp_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
      	handle PRAGMA_OMP_TASKLOOP.
      	(cp_parser_pragma): Handle PRAGMA_OMP_ORDERED here directly,
      	handle PRAGMA_OMP_TASKLOOP, call push_omp_privatization_clauses
      	and pop_omp_privatization_clauses around parsing calls.
      	(cp_parser_cilk_for): Adjust finish_omp_clauses caller.
      	* pt.c (apply_late_template_attributes): Adjust tsubst_omp_clauses
      	and finish_omp_clauses callers.
      	(tsubst_omp_clause_decl): Return NULL if decl is NULL.
      	For TREE_LIST, copy over OMP_CLAUSE_DEPEND_SINK_NEGATIVE bit.
      	Use tsubst_expr instead of tsubst_copy, undo convert_from_reference
      	effects.
      	(tsubst_omp_clauses): Add ALLOW_FIELDS argument.  Handle new
      	OpenMP 4.5 clauses.  Use tsubst_omp_clause_decl for more clauses.
      	If ALLOW_FIELDS, handle non-static data members in the clauses.
      	Clear OMP_CLAUSE_LINEAR_STEP if it has been cleared before.
      	(omp_parallel_combined_clauses): New variable.
      	(tsubst_omp_for_iterator): Add ORIG_DECLV argument, recur on
      	OMP_FOR_ORIG_DECLS, handle non-static data member iterators.
      	Improve handling of clauses on combined constructs.
      	(tsubst_expr): Call push_omp_privatization_clauses and
      	pop_omp_privatization_clauses around instantiation of certain
      	OpenMP constructs, improve handling of clauses on combined
      	constructs, handle OMP_TASKLOOP, adjust tsubst_omp_for_iterator,
      	tsubst_omp_clauses and finish_omp_for callers, handle clauses on
      	critical and ordered, handle OMP_TARGET_{ENTER,EXIT}_DATA.
      	(instantiate_decl): Call save_omp_privatization_clauses and
      	restore_omp_privatization_clauses around instantiation.
      	(dependent_omp_for_p): Fix up comment typo.  Handle SCOPE_REF.
      	* semantics.c (omp_private_member_map, omp_private_member_vec,
      	omp_private_member_ignore_next): New variables.
      	(finish_non_static_data_member): Return dummy decl for privatized
      	non-static data members.
      	(omp_clause_decl_field, omp_clause_printable_decl,
      	omp_note_field_privatization, omp_privatize_field): New functions.
      	(handle_omp_array_sections_1): Fix comment typo.
      	Add IS_OMP argument, handle structure element bases, diagnose
      	bitfields, pass IS_OMP recursively, diagnose known zero length
      	array sections in depend clauses, handle array sections in reduction
      	clause, diagnose negative length even for pointers.
      	(handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
      	types, pass IS_OMP down to handle_omp_array_sections_1, handle
      	array sections in reduction clause, set
      	OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
      	length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
      	(finish_omp_reduction_clause): Handle array sections and arrays.
      	Use omp_clause_printable_decl.
      	(finish_omp_declare_simd_methods, cp_finish_omp_clause_depend_sink):
      	New functions.
      	(finish_omp_clauses): Add ALLOW_FIELDS and DECLARE_SIMD arguments.
      	Handle new OpenMP 4.5 clauses and new restrictions for the old
      	ones, handle non-static data members, reject this keyword when not
      	allowed.
      	(push_omp_privatization_clauses, pop_omp_privatization_clauses,
      	save_omp_privatization_clauses, restore_omp_privatization_clauses):
      	New functions.
      	(handle_omp_for_class_iterator): Handle OMP_TASKLOOP class iterators.
      	Add collapse and ordered arguments.  Fix handling of lastprivate
      	iterators in doacross loops.
      	(finish_omp_for): Add ORIG_DECLV argument, handle doacross loops,
      	adjust c_finish_omp_for, handle_omp_for_class_iterator and
      	finish_omp_clauses callers.  Fill in OMP_CLAUSE_LINEAR_STEP on simd
      	loops with non-static data member iterators.
      gcc/fortran/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Ilya Verbin  <ilya.verbin@intel.com>
      
      	* f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
      	DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
      	* trans-openmp.c (gfc_trans_omp_clauses): Set
      	OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
      	to NULL.
      	(gfc_trans_omp_critical): Adjust for addition of clauses.
      	(gfc_trans_omp_ordered): Likewise.
      	* types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
      	BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
      	BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
      	BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
      	BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
      	BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
      	BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
      	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
      	BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
      	BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
      gcc/lto/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      
      	* lto-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
      	DEF_FUNCTION_TYPE_11): Define.
      gcc/jit/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      
      	* jit-builtins.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
      	DEF_FUNCTION_TYPE_11): Define.
      	* jit-builtins.h (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
      	DEF_FUNCTION_TYPE_11): Define.
      gcc/ada/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      
      	* gcc-interface/utils.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
      	DEF_FUNCTION_TYPE_11): Define.
      gcc/testsuite/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Aldy Hernandez  <aldyh@redhat.com>
      
      	* c-c++-common/gomp/cancel-1.c (f2): Add map clause to target data.
      	* c-c++-common/gomp/clauses-1.c: New test.
      	* c-c++-common/gomp/clauses-2.c: New test.
      	* c-c++-common/gomp/clauses-3.c: New test.
      	* c-c++-common/gomp/clauses-4.c: New test.
      	* c-c++-common/gomp/declare-target-1.c: New test.
      	* c-c++-common/gomp/declare-target-2.c: New test.
      	* c-c++-common/gomp/depend-3.c: New test.
      	* c-c++-common/gomp/depend-4.c: New test.
      	* c-c++-common/gomp/doacross-1.c: New test.
      	* c-c++-common/gomp/if-1.c: New test.
      	* c-c++-common/gomp/if-2.c: New test.
      	* c-c++-common/gomp/linear-1.c: New test.
      	* c-c++-common/gomp/map-2.c: New test.
      	* c-c++-common/gomp/map-3.c: New test.
      	* c-c++-common/gomp/nesting-1.c (f_omp_parallel,
      	f_omp_target_data): Add map clause to target data.
      	* c-c++-common/gomp/nesting-warn-1.c (f_omp_target): Likewise.
      	* c-c++-common/gomp/ordered-1.c: New test.
      	* c-c++-common/gomp/ordered-2.c: New test.
      	* c-c++-common/gomp/ordered-3.c: New test.
      	* c-c++-common/gomp/pr61486-1.c (foo): Remove linear clause
      	on non-iterator.
      	* c-c++-common/gomp/pr61486-2.c (test, test2): Remove ordered
      	clause and ordered construct where no longer allowed.
      	* c-c++-common/gomp/priority-1.c: New test.
      	* c-c++-common/gomp/reduction-1.c: New test.
      	* c-c++-common/gomp/schedule-simd-1.c: New test.
      	* c-c++-common/gomp/sink-1.c: New test.
      	* c-c++-common/gomp/sink-2.c: New test.
      	* c-c++-common/gomp/sink-3.c: New test.
      	* c-c++-common/gomp/sink-4.c: New test.
      	* c-c++-common/gomp/udr-1.c: New test.
      	* c-c++-common/taskloop-1.c: New test.
      	* c-c++-common/cpp/openmp-define-3.c: Adjust for the new
      	value of _OPENMP macro.
      	* c-c++-common/cilk-plus/PS/body.c (foo): Adjust expected diagnostics.
      	* c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_parallel,
      	f_acc_kernels, f_acc_data, f_acc_loop): Add map clause to target data.
      	* gcc.dg/gomp/clause-1.c:
      	* gcc.dg/gomp/reduction-1.c: New test.
      	* gcc.dg/gomp/sink-fold-1.c: New test.
      	* gcc.dg/gomp/sink-fold-2.c: New test.
      	* gcc.dg/gomp/sink-fold-3.c: New test.
      	* gcc.dg/vect/vect-simd-clone-15.c: New test.
      	* g++.dg/gomp/clause-1.C (T::test): Remove dg-error on privatization
      	of non-static data members.
      	* g++.dg/gomp/clause-3.C (foo): Remove one dg-error directive.
      	Add some linear clause tests.
      	* g++.dg/gomp/declare-simd-3.C: New test.
      	* g++.dg/gomp/linear-1.C: New test.
      	* g++.dg/gomp/member-1.C: New test.
      	* g++.dg/gomp/member-2.C: New test.
      	* g++.dg/gomp/pr66571-2.C: New test.
      	* g++.dg/gomp/pr67504.C (foo): Add test for ordered clause with
      	dependent argument.
      	* g++.dg/gomp/pr67522.C (foo): Add test for invalid array section
      	in reduction clause.
      	* g++.dg/gomp/reference-1.C: New test.
      	* g++.dg/gomp/sink-1.C: New test.
      	* g++.dg/gomp/sink-2.C: New test.
      	* g++.dg/gomp/sink-3.C: New test.
      	* g++.dg/gomp/task-1.C: Remove both dg-error directives.
      	* g++.dg/gomp/this-1.C: New test.
      	* g++.dg/gomp/this-2.C: New test.
      	* g++.dg/vect/simd-clone-2.cc: New test.
      	* g++.dg/vect/simd-clone-2.h: New test.
      	* g++.dg/vect/simd-clone-3.cc: New test.
      	* g++.dg/vect/simd-clone-4.cc: New test.
      	* g++.dg/vect/simd-clone-4.h: New test.
      	* g++.dg/vect/simd-clone-5.cc: New test.
      include/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Ilya Verbin  <ilya.verbin@intel.com>
      
      	* gomp-constants.h (GOMP_MAP_FLAG_ALWAYS): Define.
      	(enum gomp_map_kind): Add GOMP_MAP_FIRSTPRIVATE,
      	GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_USE_DEVICE_PTR,
      	GOMP_MAP_ZERO_LEN_ARRAY_SECTION, GOMP_MAP_ALWAYS_TO,
      	GOMP_MAP_ALWAYS_FROM, GOMP_MAP_ALWAYS_TOFROM, GOMP_MAP_STRUCT,
      	GOMP_MAP_DELETE_ZERO_LEN_ARRAY_SECTION, GOMP_MAP_DELETE,
      	GOMP_MAP_RELEASE, GOMP_MAP_FIRSTPRIVATE_POINTER.
      	(GOMP_MAP_ALWAYS_TO_P, GOMP_MAP_ALWAYS_FROM_P): Define.
      	(GOMP_TASK_FLAG_UNTIED, GOMP_TASK_FLAG_FINAL, GOMP_TASK_FLAG_MERGEABLE,
      	GOMP_TASK_FLAG_DEPEND, GOMP_TASK_FLAG_PRIORITY, GOMP_TASK_FLAG_UP,
      	GOMP_TASK_FLAG_GRAINSIZE, GOMP_TASK_FLAG_IF, GOMP_TASK_FLAG_NOGROUP,
      	GOMP_TARGET_FLAG_NOWAIT, GOMP_TARGET_FLAG_EXIT_DATA,
      	GOMP_TARGET_FLAG_UPDATE): Define.
      libgomp/
      2015-10-13  Jakub Jelinek  <jakub@redhat.com>
      	    Aldy Hernandez  <aldyh@redhat.com>
      	    Ilya Verbin  <ilya.verbin@intel.com>
      
      	* config/linux/affinity.c (omp_get_place_num_procs,
      	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
      	* config/linux/doacross.h: New file.
      	* config/posix/affinity.c (omp_get_place_num_procs,
      	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
      	* config/posix/doacross.h: New file.
      	* env.c: Include gomp-constants.h.
      	(struct gomp_task_icv): Rename run_sched_modifier to
      	run_sched_chunk_size.
      	(gomp_max_task_priority_var): New variable.
      	(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
      	(handle_omp_display_env): Change _OPENMP value from 201307 to
      	201511.  Print OMP_MAX_TASK_PRIORITY.
      	(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
      	(omp_set_schedule, omp_get_schedule): Rename modifier argument to
      	chunk_size and run_sched_modifier to run_sched_chunk_size.
      	(omp_get_max_task_priority, omp_get_initial_device,
      	omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
      	omp_get_partition_place_nums): New functions.
      	* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
      	omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
      	to chunk_size.
      	(omp_get_num_places_, omp_get_place_num_procs_,
      	omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
      	omp_get_place_proc_ids_8_, omp_get_place_num_,
      	omp_get_partition_num_places_, omp_get_partition_place_nums_,
      	omp_get_partition_place_nums_8_, omp_get_initial_device_,
      	omp_get_max_task_priority_): New functions.
      	* libgomp_g.h (GOMP_loop_doacross_static_start,
      	GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
      	GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
      	GOMP_loop_ull_doacross_dynamic_start,
      	GOMP_loop_ull_doacross_guided_start,
      	GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
      	GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
      	GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
      	GOMP_target_data_41, GOMP_target_update_41,
      	GOMP_target_enter_exit_data): New prototypes.
      	(GOMP_task): Add prototype argument.
      	* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
      	(struct gomp_doacross_work_share): New type.
      	(struct gomp_work_share): Add doacross field.
      	(struct gomp_task_icv): Rename run_sched_modifier to
      	run_sched_chunk_size.
      	(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
      	GOMP_TASK_UNDEFERRED.  Add comments.
      	(struct gomp_task_depend_entry): Add comments.
      	(struct gomp_task): Likewise.
      	(struct gomp_taskgroup): Likewise.
      	(struct gomp_target_task): New type.
      	(struct gomp_team): Add comment.
      	(gomp_get_place_proc_ids_8, gomp_doacross_init,
      	gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
      	gomp_create_target_task, gomp_target_task_fn): New prototypes.
      	(struct target_var_desc): New type.
      	(struct target_mem_desc): Adjust comment.  Use struct
      	target_var_desc instead of splay_tree_key for list.
      	(REFCOUNT_INFINITY): Define.
      	(struct splay_tree_key_s): Remove copy_from field.
      	(struct gomp_device_descr): Add dev2dev_func field.
      	(enum gomp_map_vars_kind): New enum.
      	(gomp_map_vars): Add one argument.
      	* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
      	omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
      	omp_get_place_num_procs, omp_get_place_num_procs_,
      	omp_get_place_num_procs_8_, omp_get_place_proc_ids,
      	omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
      	omp_get_place_num_, omp_get_partition_num_places,
      	omp_get_partition_num_places_, omp_get_partition_place_nums,
      	omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
      	omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
      	omp_target_free, omp_target_is_present, omp_target_memcpy,
      	omp_target_memcpy_rect, omp_target_associate_ptr and
      	omp_target_disassociate_ptr.
      	(GOMP_4.0.2): Renamed to ...
      	(GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
      	GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
      	GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
      	GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
      	GOMP_loop_doacross_static_start, GOMP_doacross_post,
      	GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
      	GOMP_loop_ull_doacross_guided_start,
      	GOMP_loop_ull_doacross_runtime_start,
      	GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
      	GOMP_doacross_ull_wait.
      	* libgomp.texi: Document omp_get_max_task_priority.
      	Rename modifier argument to chunk_size for omp_set_schedule and
      	omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
      	* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
      	to run_sched_chunk_size renaming.
      	(GOMP_loop_ordered_runtime_start): Likewise.
      	(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
      	gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
      	GOMP_parallel_loop_runtime_start): New functions.
      	(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
      	to run_sched_chunk_size renaming.
      	(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
      	GOMP_loop_doacross_guided_start): New functions or aliases.
      	* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
      	run_sched_modifier to run_sched_chunk_size renaming.
      	(GOMP_loop_ull_ordered_runtime_start): Likewise.
      	(gomp_loop_ull_doacross_static_start,
      	gomp_loop_ull_doacross_dynamic_start,
      	gomp_loop_ull_doacross_guided_start,
      	GOMP_loop_ull_doacross_runtime_start): New functions.
      	(GOMP_loop_ull_doacross_static_start,
      	GOMP_loop_ull_doacross_dynamic_start,
      	GOMP_loop_ull_doacross_guided_start): New functions or aliases.
      	* oacc-mem.c (acc_map_data, present_create_copy,
      	gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
      	to gomp_map_vars.
      	(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
      	* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
      	instead of false to gomp_map_vars.
      	(GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
      	* omp.h.in (omp_lock_hint_t): New type.
      	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
      	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
      	omp_get_place_num, omp_get_partition_num_places,
      	omp_get_partition_place_nums, omp_get_initial_device,
      	omp_get_max_task_priority, omp_target_alloc, omp_target_free,
      	omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
      	omp_target_associate_ptr, omp_target_disassociate_ptr): New
      	prototypes.
      	* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
      	(omp_lock_hint_none, omp_lock_hint_uncontended,
      	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
      	omp_lock_hint_speculative): New parameters.
      	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
      	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
      	omp_get_place_num, omp_get_partition_num_places,
      	omp_get_partition_place_nums, omp_get_initial_device,
      	omp_get_max_task_priority): New interfaces.
      	(omp_set_schedule, omp_get_schedule): Rename modifier argument
      	to chunk_size.
      	* omp_lib.h.in (omp_lock_hint_kind): New parameter.
      	(omp_lock_hint_none, omp_lock_hint_uncontended,
      	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
      	omp_lock_hint_speculative): New parameters.
      	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
      	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
      	omp_get_place_num, omp_get_partition_num_places,
      	omp_get_partition_place_nums, omp_get_initial_device,
      	omp_get_max_task_priority): New functions and subroutines.
      	* ordered.c: Include stdarg.h and string.h.
      	(MAX_COLLAPSED_BITS): Define.
      	(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
      	gomp_doacross_ull_init, GOMP_doacross_ull_post,
      	GOMP_doacross_ull_wait): New functions.
      	* target.c: Include errno.h.
      	(resolve_device): If device is not initialized, call
      	gomp_init_device on it.
      	(gomp_map_lookup): New function.
      	(gomp_map_vars_existing): Add tgt_var argument, fill it in.
      	Don't bump refcount if REFCOUNT_INFINITY.  Handle
      	GOMP_MAP_ALWAYS_TO_P.
      	(get_kind): Rename is_openacc argument to short_mapkind.
      	(gomp_map_pointer): Use gomp_map_lookup.
      	(gomp_map_fields_existing): New function.
      	(gomp_map_vars): Rename is_openacc argument to short_mapkind
      	and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
      	handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
      	GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
      	Adjust for tgt->list changed type and copy_from living in there.
      	(gomp_copy_from_async): Adjust for tgt->list changed type and
      	copy_from living in there.
      	(gomp_unmap_vars): Likewise.
      	(gomp_update): Likewise.  Rename is_openacc argument to
      	short_mapkind.  Don't fail if object is not mapped.
      	(gomp_load_image_to_device): Initialize refcount to
      	REFCOUNT_INFINITY.
      	(gomp_target_fallback): New function.
      	(gomp_get_target_fn_addr): Likewise.
      	(GOMP_target): Adjust gomp_map_vars caller, use
      	gomp_get_target_fn_addr and gomp_target_fallback.
      	(GOMP_target_41): New function.
      	(gomp_target_data_fallback): New function.
      	(GOMP_target_data): Use it, adjust gomp_map_vars caller.
      	(GOMP_target_data_41): New function.
      	(GOMP_target_update): Adjust gomp_update caller.
      	(GOMP_target_update_41): New function.
      	(gomp_exit_data, GOMP_target_enter_exit_data,
      	gomp_target_task_fn, omp_target_alloc, omp_target_free,
      	omp_target_is_present, omp_target_memcpy,
      	omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
      	omp_target_associate_ptr, omp_target_disassociate_ptr,
      	gomp_load_plugin_for_device): New functions.
      	* task.c: Include gomp-constants.h.  Include taskloop.c
      	twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
      	(gomp_task_handle_depend): New function.
      	(GOMP_task): Use it.  Add priority argument.  Use
      	gomp-constant.h constants instead of hardcoded numbers.
      	Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
      	(gomp_create_target_task): New function.
      	(verify_children_queue, verify_taskgroup_queue,
      	verify_task_queue): New functions.
      	(gomp_task_run_pre): Call verify_*_queue functions.
      	If an upcoming tied task is about to leave the sibling or
      	taskgroup queues in an invalid state, adjust appropriately.
      	Remove taskgroup argument.  Add comments.
      	(gomp_task_run_post_handle_dependers): Add comments.
      	(gomp_task_run_post_remove_parent): Likewise.
      	(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
      	(GOMP_taskwait): Likewise.  Add comments.
      	(gomp_task_maybe_wait_for_dependencies): Fix scheduling
      	problem such that the first non parent_depends_on task does not
      	end up at the end of the children queue.
      	(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
      	GOMP_TASK_UNDEFERRED.
      	(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
      	* taskloop.c: New file.
      	* testsuite/lib/libgomp.exp
      	(check_effective_target_offload_device_nonshared_as): New proc.
      	* testsuite/libgomp.c/affinity-2.c: New test.
      	* testsuite/libgomp.c/doacross-1.c: New test.
      	* testsuite/libgomp.c/doacross-2.c: New test.
      	* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
      	Add map clause to target.
      	* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
      	* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
      	* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
      	* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
      	* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
      	Likewise.
      	* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
      	* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
      	* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
      	* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
      	not defined.  Use those where needed.
      	* testsuite/libgomp.c/for-4.c: New test.
      	* testsuite/libgomp.c/for-5.c: New test.
      	* testsuite/libgomp.c/for-6.c: New test.
      	* testsuite/libgomp.c/linear-1.c: New test.
      	* testsuite/libgomp.c/ordered-4.c: New test.
      	* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
      	only allowed on the loop iterator.
      	* testsuite/libgomp.c/pr66199-3.c: New test.
      	* testsuite/libgomp.c/pr66199-4.c: New test.
      	* testsuite/libgomp.c/reduction-7.c: New test.
      	* testsuite/libgomp.c/reduction-8.c: New test.
      	* testsuite/libgomp.c/reduction-9.c: New test.
      	* testsuite/libgomp.c/reduction-10.c: New test.
      	* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
      	map(tofrom:s).
      	* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
      	* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
      	* testsuite/libgomp.c/target-11.c: New test.
      	* testsuite/libgomp.c/target-12.c: New test.
      	* testsuite/libgomp.c/target-13.c: New test.
      	* testsuite/libgomp.c/target-14.c: New test.
      	* testsuite/libgomp.c/target-15.c: New test.
      	* testsuite/libgomp.c/target-16.c: New test.
      	* testsuite/libgomp.c/target-17.c: New test.
      	* testsuite/libgomp.c/target-18.c: New test.
      	* testsuite/libgomp.c/target-19.c: New test.
      	* testsuite/libgomp.c/target-20.c: New test.
      	* testsuite/libgomp.c/target-21.c: New test.
      	* testsuite/libgomp.c/target-22.c: New test.
      	* testsuite/libgomp.c/target-23.c: New test.
      	* testsuite/libgomp.c/target-24.c: New test.
      	* testsuite/libgomp.c/target-25.c: New test.
      	* testsuite/libgomp.c/target-26.c: New test.
      	* testsuite/libgomp.c/target-27.c: New test.
      	* testsuite/libgomp.c/taskloop-1.c: New test.
      	* testsuite/libgomp.c/taskloop-2.c: New test.
      	* testsuite/libgomp.c/taskloop-3.c: New test.
      	* testsuite/libgomp.c/taskloop-4.c: New test.
      	* testsuite/libgomp.c++/ctor-13.C: New test.
      	* testsuite/libgomp.c++/doacross-1.C: New test.
      	* testsuite/libgomp.c++/examples-4/declare_target-2.C:
      	Replace offload_device with offload_device_nonshared_as.
      	* testsuite/libgomp.c++/for-12.C: New test.
      	* testsuite/libgomp.c++/for-13.C: New test.
      	* testsuite/libgomp.c++/for-14.C: New test.
      	* testsuite/libgomp.c++/linear-1.C: New test.
      	* testsuite/libgomp.c++/member-1.C: New test.
      	* testsuite/libgomp.c++/member-2.C: New test.
      	* testsuite/libgomp.c++/member-3.C: New test.
      	* testsuite/libgomp.c++/member-4.C: New test.
      	* testsuite/libgomp.c++/member-5.C: New test.
      	* testsuite/libgomp.c++/ordered-1.C: New test.
      	* testsuite/libgomp.c++/reduction-5.C: New test.
      	* testsuite/libgomp.c++/reduction-6.C: New test.
      	* testsuite/libgomp.c++/reduction-7.C: New test.
      	* testsuite/libgomp.c++/reduction-8.C: New test.
      	* testsuite/libgomp.c++/reduction-9.C: New test.
      	* testsuite/libgomp.c++/reduction-10.C: New test.
      	* testsuite/libgomp.c++/reference-1.C: New test.
      	* testsuite/libgomp.c++/simd14.C: New test.
      	* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
      	* testsuite/libgomp.c++/target-5.C: New test.
      	* testsuite/libgomp.c++/target-6.C: New test.
      	* testsuite/libgomp.c++/target-7.C: New test.
      	* testsuite/libgomp.c++/target-8.C: New test.
      	* testsuite/libgomp.c++/target-9.C: New test.
      	* testsuite/libgomp.c++/target-10.C: New test.
      	* testsuite/libgomp.c++/target-11.C: New test.
      	* testsuite/libgomp.c++/target-12.C: New test.
      	* testsuite/libgomp.c++/taskloop-1.C: New test.
      	* testsuite/libgomp.c++/taskloop-2.C: New test.
      	* testsuite/libgomp.c++/taskloop-3.C: New test.
      	* testsuite/libgomp.c++/taskloop-4.C: New test.
      	* testsuite/libgomp.c++/taskloop-5.C: New test.
      	* testsuite/libgomp.c++/taskloop-6.C: New test.
      	* testsuite/libgomp.c++/taskloop-7.C: New test.
      	* testsuite/libgomp.c++/taskloop-8.C: New test.
      	* testsuite/libgomp.c++/taskloop-9.C: New test.
      	* testsuite/libgomp.fortran/affinity1.f90: New test.
      	* testsuite/libgomp.fortran/affinity2.f90: New test.
      liboffloadmic/
      2015-10-13  Ilya Verbin  <ilya.verbin@intel.com>
      
      	* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_dev2dev): New
      	function.
      	* plugin/offload_target_main.cpp (__offload_target_tgt2tgt): New
      	static function, register it in liboffloadmic.
      
      From-SVN: r228777
      Jakub Jelinek committed
  13. 28 Sep, 2015 1 commit
    • gomp-constants.h (GOMP_VERSION_NVIDIA_PTX): Increment. · 3e32ee19
      	inlude/
      	* gomp-constants.h (GOMP_VERSION_NVIDIA_PTX): Increment.
      	(GOMP_DIM_GANG, GOMP_DIM_WORKER, GOMP_DIM_VECTOR, GOMP_DIM_MAX,
      	GOMP_DIM_MASK): New.
      	(GOMP_LAUNCH_DIM, GOMP_LAUNCH_ASYNC, GOMP_LAUNCH_WAIT): New.
      	(GOMP_LAUNCH_CODE_SHIFT, GOMP_LAUNCH_DEVICE_SHIFT,
      	GOMP_LAUNCH_OP_SHIFT): New.
      	(GOMP_LAUNCH_PACK, GOMP_LAUNCH_CODE, GOMP_LAUNCH_DEVICE,
      	GOMP_LAUNCH_OP): New.
      	(GOMP_LAUNCH_OP_MAX): New.
      
      	libgomp/
      	* libgomp.h (acc_dispatch_t): Replace separate geometry args with
      	array.
      	* libgomp.map (GOACC_parallel_keyed): New.
      	* oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
      	all callers.
      	(GOACC_parallel_keyed): New interface.  Lose geometry arguments
      	and take keyed varargs list.  Adjust call to exec_func.
      	(GOACC_parallel): Force host fallback.
      	* libgomp_g.h (GOACC_parallel): Remove.
      	(GOACC_parallel_keyed): Declare.
      	* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
      	(stuct targ_gn_descriptor): Replace name field with launch field.
      	(nvptx_exec): Lose separate geometry args, take array.  Process
      	dynamic dimensions and adjust.
      	(struct nvptx_tdata): Replace fn_names field with fn_descs.
      	(GOMP_OFFLOAD_load_image): Adjust for change in function table
      	data.
      	(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
      	passing.
      	* oacc-host.c (host_openacc_exec): Adjust for change in dimension
      	passing.
      
      	gcc/
      	* config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
      	(nvptx_record_offload_symbol): Record function execution geometry.
      	* config/nvptx/mkoffload.c (process): Include launch geometry in
      	function data.
      	* omp-low.c (oacc_launch_pack): New.
      	(replace_oacc_fn_attrib): New.
      	(set_oacc_fn_attrib): New.
      	(get_oacc_fn_attrib): New.
      	(expand_omp_target): Create keyed varargs for GOACC_parallel call
      	generation.
      	* omp-low.h (get_oacc_fn_attrib): Declare.
      	* builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
      	(DEF_FUNCTION_TYPE_VAR_11): Delete.
      	* tree.h (OMP_CLAUSE_EXPR): New.
      	* omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
      
      	gcc/lto/
      	* lto-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
      	(DEF_FUNCTION_TYPE_VAR_11): Delete.
      
      	gcc/c-family/
      	* c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
      	(DEF_FUNCTION_TYPE_VAR_11): Delete.
      
      	gcc/fortran/
      	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
      	(DEF_FUNCTION_TYPE_VAR_11): Delete.
      	* types.def (DEF_FUNCTION_TYPE_VAR_6): New.
      	(DEF_FUNCTION_TYPE_VAR_11): Delete.
      
      	gcc/ada/
      	* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_6): Define
      
      From-SVN: r228220
      Nathan Sidwell committed
  14. 16 Aug, 2015 1 commit
  15. 08 Jul, 2015 1 commit
    • tree-core.h: Include symtab.h. · c7131fb2
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* tree-core.h: Include symtab.h.
      	* rtl.h: Include hard-reg-set.h but not flags.h.
      	(HARD_CONST): Remove condition compilation involving HARD_CONST since 
      	hard-reg-set.h is always included.
      	* regs.h: Don't include hard-reg-set.h or rtl.h.
      	* cfg.h: Include dominance.h.
      	* gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
      	* backend.h: New.  Aggregate commonly used backend header files.
      	* gimple-ssa.h: Don't include tree-hasher.h.
      	* ssa.h: New.  Aggregate commonly used SSA header files.
      	* regset.h: Remove bitmap.h and hard-reg-set.h #includes.
      	* sel-sched-ir.h: Flatten includes.
      	* lra-int.h: Flatten completely.
      	* sel-sched-dump.h: Flatten includes.
      	* ira-int.h: Flatten includes.
      	* gimple-streamer.h: Remove all includes.
      	* cfgloop.h: Remove all #includes except cfgloopmanip.h.
      	* resource.h: Flatten hard-reg-set.h and df.h.
      	* sched-int.h: Flatten insn-arrt.h and df.h.
      	* valtrack.h: flatten bitmap.h, df.h, and rtl.h
      	* df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
      	* genattrtab.c (write_header): Adjust generated includes.
      	* genautomata.c (main): Likewise.
      	* genconditions.c (write-header): Likewise.
      	* genemit.c (main): Likewise.
      	* gengtype.c (open_base_files): Likewise.
      	* genopinit.c (main): Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c (main): Likewise.
      	* genpreds.c (write_insn_preds_c): Likewise.
      	* genrecog.c (write_header): Likewise.
      	* alias.c: Adjust includes.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* ccmp.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* cppbuiltin.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* debug.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dfp.c: Likewise.
      	* dojump.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* dse.c: Likewise.
      	* dumpfile.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fixed-value.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcc-plugin.h: Likewise.
      	* gcse-common.c: Likewise.
      	* gcse.c: Likewise.
      	* generic-match-head.c: Likewise.
      	* ggc-page.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-match-head.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* gimplify.c: Likewise.
      	* godump.c: Likewise.
      	* graph.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-isl-ast-to-gimple.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* ifcvt.c: Likewise.
      	* init-regs.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* real.c: Likewise.
      	* realmpfr.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl-chkp.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtlhooks.c: Likewise.
      	* sanopt.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* symtab.c: Likewise.
      	* target-globals.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp-opt.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-scopedtables.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* vtable-verify.c: Likewise.
      	* web.c: Likewise.
      	* wide-int.cc: Likewise.
      	* xcoffout.c: Likewise.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/aarch-common.c: Likewise.
      	* config/arm/arm-builtins.c: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-c.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/ft32/ft32.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386-c.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/msformat-c.c: Likewise.
      	* config/i386/winnt-cxx.c: Likewise.
      	* config/i386/winnt-stubs.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64-c.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c-pragma.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze-c.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430-c.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/nvptx/nvptx.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78-c.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390-c.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh-c.c: Likewise.
      	* config/sh/sh-mem.cc: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sol2-c.c: Likewise.
      	* config/sol2-cxx.c: Likewise.
      	* config/sol2-stubs.c: Likewise.
      	* config/sol2.c: Likewise.
      	* config/sparc/sparc-c.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/mul-tables.c: Likewise.
      	* config/tilegx/tilegx-c.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/mul-tables.c: Likewise.
      	* config/tilepro/tilepro-c.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850-c.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/visium/visium.c: Likewise.
      	* config/vms/vms-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      ada
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/cuintp.c: Adjust includes.
      	* gcc-interface/decl.c: Likewise.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/targtyps.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	* gcc-interface/utils2.c: Likewise.
      
      c
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c: Adjust includes.
      	* c-aux-info.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-errors.c: Likewise.
      	* c-lang.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      
      c-family
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c: Adjust includes.
      	* c-ada-spec.c: Likewise.
      	* c-cilkplus.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-format.c: Likewise.
      	* c-gimplify.c: Likewise.
      	* c-indentation.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pch.c: Likewise.
      	* c-ppoutput.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-ubsan.c: Likewise.
      	* cilk.c: Likewise.
      	* stub-objc.c: Likewise.
      
      cp
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c: Adjust includes.
      	* class.c: Likewise.
      	* constexpr.c: Likewise.
      	* cp-array-notation.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* cp-lang.c: Likewise.
      	* cp-objcp-common.c: Likewise.
      	* cp-ubsan.c: Likewise.
      	* cvt.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* dump.c: Likewise.
      	* error.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* friend.c: Likewise.
      	* init.c: Likewise.
      	* lambda.c: Likewise.
      	* lex.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* name-lookup.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* ptree.c: Likewise.
      	* repo.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      
      fortran
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* convert.c: Adjust includes.
      	* cpp.c: Likewise.
      	* decl.c: Likewise.
      	* f95-lang.c: Likewise.
      	* iresolve.c: Likewise.
      	* match.c: Likewise.
      	* module.c: Likewise.
      	* options.c: Likewise.
      	* target-memory.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-common.c: Likewise.
      	* trans-const.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-expr.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-io.c: Likewise.
      	* trans-openmp.c: Likewise.
      	* trans-stmt.c: Likewise.
      	* trans-types.c: Likewise.
      	* trans.c: Likewise.
      
      go
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c: Adjust includes.
      	* go-gcc.cc: Likewise.
      	* go-lang.c: Likewise.
      
      java
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c: Adjust includes.
      	* builtins.c: Likewise.
      	* class.c: Likewise.
      	* constants.c: Likewise.
      	* decl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* java-gimplify.c: Likewise.
      	* jcf-dump.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* jvgenmain.c: Likewise.
      	* lang.c: Likewise.
      	* mangle.c: Likewise.
      	* mangle_name.c: Likewise.
      	* resource.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      
      jit
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c: Adjust includes.
      	* jit-common.h: Likewise.
      	* jit-playback.c: Likewise.
      
      lto
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c: Adjust includes.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      objc
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-act.c: Adjust includes.
      	* objc-encoding.c: Likewise.
      	* objc-gnu-runtime-abi-01.c: Likewise.
      	* objc-lang.c: Likewise.
      	* objc-map.c: Likewise.
      	* objc-next-runtime-abi-01.c: Likewise.
      	* objc-next-runtime-abi-02.c: Likewise.
      	* objc-runtime-shared-support.c: Likewise.
      
      objcp
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c: Adjust includes.
      	* objcp-lang.c: Likewise.
      
      From-SVN: r225531
      Andrew MacLeod committed
  16. 25 Jun, 2015 1 commit
    • function.h (ipa_opt_pass, [...]): Move forward declarations. · f0889939
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
      	* cgraph.h: Include ipa-ref.h and plugin-api.h.
      	(ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
      	(symtab_node::address_can_be_compared_p): Move function.
      	* cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
      	definition here.
      	* asan.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* coverage.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dbxout.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* ggc-page.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* langhooks.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* ree.c: Likewise.
      	* sanopt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* symtab.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/tilegx/mul-tables.c: Likewise.
      
      ada
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include
      	list.
      	* gcc-interface/utils.c: Likewise.
      
      c
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* c-parser.c: Likewise.
      
      c-family
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* c-gimplify.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-ubsan.c: Likewise.
      	* cilk.c: Likewise.
      
      cp
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* class.c: Likewise.
      	* cp-ubsan.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* lambda.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* vtable-class-hierarchy.c: Likewise.
      
      fortran
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* trans-decl.c: Likewise.
      
      go
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
      
      java
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* class.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* decl.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* resource.c: Likewise.
      
      jit
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* jit-playback.c: Likewise.
      
      lto
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-tree.h: Likewise.
      	* lto.c: Likewise.
      
      objc
      2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-act.c: Remove ipa-ref.h and plugin-api.h from include list.
      
      From-SVN: r224986
      Andrew MacLeod committed
  17. 17 Jun, 2015 1 commit
    • coretypes.h: Include input.h and as-a.h. · abb226c9
      2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
      
      	* coretypes.h: Include input.h and as-a.h.
      	* rtl.h: Include input.h and as-a.h for generator files.
      	* hwint.c: Include input.h.
      	* vec.c: Include input.h.
      	* alias.c: Do not include input.h, line-map.h or is-a.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* ccmp.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* cppbuiltin.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* debug.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic-core.h: Likewise.
      	* diagnostic.c: Likewise.
      	* dojump.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* dse.c: Likewise.
      	* dumpfile.c: Likewise.
      	* dumpfile.h: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fixed-value.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcc-plugin.h: Likewise.
      	* gcse.c: Likewise.
      	* generic-match-head.c: Likewise.
      	* ggc-page.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-match-head.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-streamer.h: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* gimplify.c: Likewise.
      	* godump.c: Likewise.
      	* graph.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-isl-ast-to-gimple.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* ifcvt.c: Likewise.
      	* init-regs.c: Likewise.
      	* input.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* opts-global.c: Likewise.
      	* opts.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* real.c: Likewise.
      	* realmpfr.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl-chkp.c: Likewise.
      	* rtl-error.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtlhooks.c: Likewise.
      	* sanopt.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* streamer-hooks.c: Likewise.
      	* stringpool.c: Likewise.
      	* symtab.c: Likewise.
      	* target-globals.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp-opt.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-scopedtables.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* vtable-verify.c: Likewise.
      	* web.c: Likewise.
      	* wide-int.cc: Likewise.
      	* xcoffout.c: Likewise.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/aarch-common.c: Likewise.
      	* config/arm/arm-builtins.c: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-c.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/default-c.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/ft32/ft32.c: Likewise.
      	* config/glibc-c.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386-c.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/msformat-c.c: Likewise.
      	* config/i386/winnt-cxx.c: Likewise.
      	* config/i386/winnt-stubs.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64-c.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c-pragma.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze-c.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430-c.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/nvptx/nvptx.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78-c.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390-c.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh-c.c: Likewise.
      	* config/sh/sh-mem.cc: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sol2-c.c: Likewise.
      	* config/sol2-cxx.c: Likewise.
      	* config/sol2-stubs.c: Likewise.
      	* config/sol2.c: Likewise.
      	* config/sparc/sparc-c.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/mul-tables.c: Likewise.
      	* config/tilegx/tilegx-c.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/mul-tables.c: Likewise.
      	* config/tilepro/tilepro-c.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850-c.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/visium/visium.c: Likewise.
      	* config/vms/vms-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/winnt-c.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      ada
      	* ada/gcc-interface/cuintp.c: Do not include input.h, line-map.h or
      	is-a.h.
      	* ada/gcc-interface/decl.c: Likewise.
      	* ada/gcc-interface/misc.c: Likewise.
      	* ada/gcc-interface/targtyps.c: Likewise.
      	* ada/gcc-interface/trans.c: Likewise.
      	* ada/gcc-interface/utils.c: Likewise.
      	* ada/gcc-interface/utils2.c: Likewise.
      
      c
      	* c/c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
      	* c/c-aux-info.c: Likewise.
      	* c/c-convert.c: Likewise.
      	* c/c-decl.c: Likewise.
      	* c/c-errors.c: Likewise.
      	* c/c-lang.c: Likewise.
      	* c/c-objc-common.c: Likewise.
      	* c/c-parser.c: Likewise.
      	* c/c-typeck.c: Likewise.
      
      c-family
      	* c-family/array-notation-common.c: Do not include input.h, line-map.h
      	or is-a.h.
      	* c-family/c-ada-spec.c: Likewise.
      	* c-family/c-cilkplus.c: Likewise.
      	* c-family/c-common.c: Likewise.
      	* c-family/c-common.h: Likewise.
      	* c-family/c-cppbuiltin.c: Likewise.
      	* c-family/c-dump.c: Likewise.
      	* c-family/c-format.c: Likewise.
      	* c-family/c-gimplify.c: Likewise.
      	* c-family/c-indentation.c: Likewise.
      	* c-family/c-lex.c: Likewise.
      	* c-family/c-omp.c: Likewise.
      	* c-family/c-opts.c: Likewise.
      	* c-family/c-pch.c: Likewise.
      	* c-family/c-ppoutput.c: Likewise.
      	* c-family/c-pragma.c: Likewise.
      	* c-family/c-pretty-print.c: Likewise.
      	* c-family/c-semantics.c: Likewise.
      	* c-family/c-ubsan.c: Likewise.
      	* c-family/cilk.c: Likewise.
      	* c-family/stub-objc.c: Likewise.
      
      common
      	* common/common-target.h: Do not include input.h, line-map.h or is-a.h.
      	* common/common-targhooks.c: Likewise.
      
      cp
      	* cp/call.c: Do not include input.h, line-map.h or is-a.h.
      	* cp/class.c: Likewise.
      	* cp/constexpr.c: Likewise.
      	* cp/cp-array-notation.c: Likewise.
      	* cp/cp-gimplify.c: Likewise.
      	* cp/cp-lang.c: Likewise.
      	* cp/cp-objcp-common.c: Likewise.
      	* cp/cp-tree.h: Likewise.
      	* cp/cp-ubsan.c: Likewise.
      	* cp/cvt.c: Likewise.
      	* cp/decl.c: Likewise.
      	* cp/decl2.c: Likewise.
      	* cp/dump.c: Likewise.
      	* cp/error.c: Likewise.
      	* cp/except.c: Likewise.
      	* cp/expr.c: Likewise.
      	* cp/friend.c: Likewise.
      	* cp/init.c: Likewise.
      	* cp/lambda.c: Likewise.
      	* cp/lex.c: Likewise.
      	* cp/mangle.c: Likewise.
      	* cp/method.c: Likewise.
      	* cp/name-lookup.c: Likewise.
      	* cp/optimize.c: Likewise.
      	* cp/parser.c: Likewise.
      	* cp/pt.c: Likewise.
      	* cp/ptree.c: Likewise.
      	* cp/repo.c: Likewise.
      	* cp/rtti.c: Likewise.
      	* cp/search.c: Likewise.
      	* cp/semantics.c: Likewise.
      	* cp/tree.c: Likewise.
      	* cp/typeck.c: Likewise.
      	* cp/typeck2.c: Likewise.
      	* cp/vtable-class-hierarchy.c: Likewise.
      
      fortran
      	* fortran/convert.c: Do not include input.h, line-map.h or is-a.h.
      	* fortran/cpp.c: Likewise.
      	* fortran/decl.c: Likewise.
      	* fortran/f95-lang.c: Likewise.
      	* fortran/gfortran.h: Likewise.
      	* fortran/iresolve.c: Likewise.
      	* fortran/match.c: Likewise.
      	* fortran/module.c: Likewise.
      	* fortran/options.c: Likewise.
      	* fortran/target-memory.c: Likewise.
      	* fortran/trans-array.c: Likewise.
      	* fortran/trans-common.c: Likewise.
      	* fortran/trans-const.c: Likewise.
      	* fortran/trans-decl.c: Likewise.
      	* fortran/trans-expr.c: Likewise.
      	* fortran/trans-intrinsic.c: Likewise.
      	* fortran/trans-io.c: Likewise.
      	* fortran/trans-openmp.c: Likewise.
      	* fortran/trans-stmt.c: Likewise.
      	* fortran/trans-types.c: Likewise.
      	* fortran/trans.c: Likewise.
      
      go
      	* go/go-backend.c: Do not include input.h, line-map.h or is-a.h.
      	* go/go-gcc.cc: Likewise.
      	* go/go-lang.c: Likewise.
      	* go/go-system.h: Likewise.
      
      java
      	* java/boehm.c: Do not include input.h, line-map.h or is-a.h.
      	* java/builtins.c: Likewise.
      	* java/class.c: Likewise.
      	* java/constants.c: Likewise.
      	* java/decl.c: Likewise.
      	* java/except.c: Likewise.
      	* java/expr.c: Likewise.
      	* java/java-gimplify.c: Likewise.
      	* java/jcf-dump.c: Likewise.
      	* java/jcf-io.c: Likewise.
      	* java/jcf-parse.c: Likewise.
      	* java/jvgenmain.c: Likewise.
      	* java/lang.c: Likewise.
      	* java/mangle.c: Likewise.
      	* java/mangle_name.c: Likewise.
      	* java/resource.c: Likewise.
      	* java/typeck.c: Likewise.
      	* java/verify-glue.c: Likewise.
      	* java/verify-impl.c: Likewise.
      
      jit
      	* jit/dummy-frontend.c: Do not include input.h, line-map.h or is-a.h.
      	* jit/jit-common.h: Likewise.
      	* jit/jit-playback.c: Likewise.
      
      lto
      	* lto/lto-lang.c: Do not include input.h, line-map.h or is-a.h.
      	* lto/lto-object.c: Likewise.
      	* lto/lto-partition.c: Likewise.
      	* lto/lto-symtab.c: Likewise.
      	* lto/lto.c: Likewise.
      
      objc
      	* objc/objc-act.c: Do not include input.h, line-map.h or is-a.h.
      	* objc/objc-encoding.c: Likewise.
      	* objc/objc-gnu-runtime-abi-01.c: Likewise.
      	* objc/objc-lang.c: Likewise.
      	* objc/objc-map.c: Likewise.
      	* objc/objc-next-runtime-abi-01.c: Likewise.
      	* objc/objc-next-runtime-abi-02.c: Likewise.
      	* objc/objc-runtime-shared-support.c: Likewise.
      
      objcp
      	* objcp/objcp-decl.c: Do not include input.h, line-map.h or is-a.h.
      	* objcp/objcp-lang.c: Likewise.
      
      From-SVN: r224562
      Andrew MacLeod committed
  18. 11 Jun, 2015 1 commit
    • Restore DW_AT_abstract_origin for cross-unit call sites · 881a5e60
      PR debug/66503
      
      gcc/ChangeLog:
      	* debug.h (struct gcc_debug_hooks): Add a
      	register_main_translation_unit hook.
      	* debug.c (do_nothing_debug_hooks): Provide a function for this
      	new hook.
      	* dbxout.c (dbx_debug_hooks): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
      	* dwarf2out.c (main_translation_unit): New global variable.
      	(dwarf2out_register_main_translation_unit): New function
      	implementing the new hook.
      	(dwarf2_debug_hooks): Assign
      	dwarf2out_register_main_translation_unit to this new hook.
      	(dwarf2out_init): Associate any main translation unit to
      	comp_unit_die ().
      	* c/c-decl.c (pop_scope): Register the main translation unit
      	through the new debug hook.
      	* cp/decl.c (cxx_init_decl_processing): Likewise.
      
      gcc/ada/ChangeLog:
      	* gcc-interface/utils.c (get_global_context): Register the main
      	translation unit through the new debug hook.
      
      gcc/fortran/ChangeLog:
      	* f95-lang.c (gfc_create_decls): Register the main translation
      	unit through the new debug hook.
      
      From-SVN: r224371
      Pierre-Marie de Rodat committed
  19. 08 Jun, 2015 1 commit
    • coretypes.h: Include hash-table.h and hash-set.h for host files. · 13fdf2e2
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* coretypes.h: Include hash-table.h and hash-set.h for host files.
      	* ggc.h: Don't include statistics.h>
      	* hash-map.h: Remove all includes.
      	* hash-set.h: Likewise.
      	* hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
      	the include list. Remove <new>.
      	* inchash.h: Remove all includes.
      	* mem-stats.h: Likewise.
      	* vec.h: No special processing for generators or ggc.  
      	* alias.c : Adjust include files.
      	* alloc-pool.c : Likewise.
      	* alloc-pool.h : Likewise.
      	* asan.c : Likewise.
      	* attribs.c : Likewise.
      	* auto-inc-dec.c : Likewise.
      	* auto-profile.c : Likewise.
      	* bb-reorder.c : Likewise.
      	* bitmap.c : Likewise.
      	* bitmap.h : Likewise.
      	* bt-load.c : Likewise.
      	* builtins.c : Likewise.
      	* caller-save.c : Likewise.
      	* calls.c : Likewise.
      	* ccmp.c : Likewise.
      	* cfg.c : Likewise.
      	* cfganal.c : Likewise.
      	* cfgbuild.c : Likewise.
      	* cfgcleanup.c : Likewise.
      	* cfgexpand.c : Likewise.
      	* cfghooks.c : Likewise.
      	* cfgloop.c : Likewise.
      	* cfgloop.h : Likewise.
      	* cfgloopanal.c : Likewise.
      	* cfgloopmanip.c : Likewise.
      	* cfgrtl.c : Likewise.
      	* cgraph.c : Likewise.
      	* cgraphbuild.c : Likewise.
      	* cgraphclones.c : Likewise.
      	* cgraphunit.c : Likewise.
      	* cilk-common.c : Likewise.
      	* combine-stack-adj.c : Likewise.
      	* combine.c : Likewise.
      	* compare-elim.c : Likewise.
      	* context.c : Likewise.
      	* convert.c : Likewise.
      	* coverage.c : Likewise.
      	* cppbuiltin.c : Likewise.
      	* cprop.c : Likewise.
      	* cse.c : Likewise.
      	* cselib.c : Likewise.
      	* data-streamer-in.c : Likewise.
      	* data-streamer-out.c : Likewise.
      	* data-streamer.c : Likewise.
      	* data-streamer.h : Likewise.
      	* dbxout.c : Likewise.
      	* dce.c : Likewise.
      	* ddg.c : Likewise.
      	* debug.c : Likewise.
      	* df-core.c : Likewise.
      	* df-problems.c : Likewise.
      	* df-scan.c : Likewise.
      	* df.h : Likewise.
      	* dfp.c : Likewise.
      	* dojump.c : Likewise.
      	* dominance.c : Likewise.
      	* domwalk.c : Likewise.
      	* double-int.c : Likewise.
      	* dse.c : Likewise.
      	* dumpfile.c : Likewise.
      	* dwarf2asm.c : Likewise.
      	* dwarf2cfi.c : Likewise.
      	* dwarf2out.c : Likewise.
      	* emit-rtl.c : Likewise.
      	* et-forest.c : Likewise.
      	* except.c : Likewise.
      	* except.h : Likewise.
      	* explow.c : Likewise.
      	* expmed.c : Likewise.
      	* expr.c : Likewise.
      	* final.c : Likewise.
      	* fixed-value.c : Likewise.
      	* fold-const.c : Likewise.
      	* function.c : Likewise.
      	* fwprop.c : Likewise.
      	* gcc-plugin.h : Likewise.
      	* gcc.c : Likewise.
      	* gcse-common.c : Likewise.
      	* gcse.c : Likewise.
      	* genattrtab.c : Likewise.
      	* genautomata.c : Likewise.
      	* genconditions.c : Likewise.
      	* genemit.c : Likewise.
      	* generic-match-head.c : Likewise.
      	* genextract.c : Likewise.
      	* gengtype-state.c : Likewise.
      	* gengtype.c : Likewise.
      	* genhooks.c : Likewise.
      	* genmatch.c : Likewise.
      	* genmodes.c : Likewise.
      	* genrecog.c : Likewise.
      	* gensupport.c : Likewise.
      	* ggc-common.c : Likewise.
      	* ggc-internal.h : Likewise.
      	* ggc-none.c : Likewise.
      	* ggc-page.c : Likewise.
      	* gimple-builder.c : Likewise.
      	* gimple-expr.c : Likewise.
      	* gimple-fold.c : Likewise.
      	* gimple-iterator.c : Likewise.
      	* gimple-low.c : Likewise.
      	* gimple-match-head.c : Likewise.
      	* gimple-pretty-print.c : Likewise.
      	* gimple-ssa-isolate-paths.c : Likewise.
      	* gimple-ssa-strength-reduction.c : Likewise.
      	* gimple-ssa.h : Likewise.
      	* gimple-streamer-in.c : Likewise.
      	* gimple-streamer-out.c : Likewise.
      	* gimple-streamer.h : Likewise.
      	* gimple-walk.c : Likewise.
      	* gimple.c : Likewise.
      	* gimplify-me.c : Likewise.
      	* gimplify.c : Likewise.
      	* godump.c : Likewise.
      	* graph.c : Likewise.
      	* graphds.c : Likewise.
      	* graphite-blocking.c : Likewise.
      	* graphite-dependences.c : Likewise.
      	* graphite-interchange.c : Likewise.
      	* graphite-isl-ast-to-gimple.c : Likewise.
      	* graphite-optimize-isl.c : Likewise.
      	* graphite-poly.c : Likewise.
      	* graphite-scop-detection.c : Likewise.
      	* graphite-sese-to-poly.c : Likewise.
      	* graphite.c : Likewise.
      	* haifa-sched.c : Likewise.
      	* hard-reg-set.h : Likewise.
      	* hw-doloop.c : Likewise.
      	* ifcvt.c : Likewise.
      	* inchash.c : Likewise.
      	* incpath.c : Likewise.
      	* init-regs.c : Likewise.
      	* input.c : Likewise.
      	* internal-fn.c : Likewise.
      	* ipa-chkp.c : Likewise.
      	* ipa-comdats.c : Likewise.
      	* ipa-cp.c : Likewise.
      	* ipa-devirt.c : Likewise.
      	* ipa-icf-gimple.c : Likewise.
      	* ipa-icf.c : Likewise.
      	* ipa-inline-analysis.c : Likewise.
      	* ipa-inline-transform.c : Likewise.
      	* ipa-inline.c : Likewise.
      	* ipa-polymorphic-call.c : Likewise.
      	* ipa-profile.c : Likewise.
      	* ipa-prop.c : Likewise.
      	* ipa-pure-const.c : Likewise.
      	* ipa-ref.c : Likewise.
      	* ipa-reference.c : Likewise.
      	* ipa-split.c : Likewise.
      	* ipa-utils.c : Likewise.
      	* ipa-visibility.c : Likewise.
      	* ipa.c : Likewise.
      	* ira-build.c : Likewise.
      	* ira-color.c : Likewise.
      	* ira-conflicts.c : Likewise.
      	* ira-costs.c : Likewise.
      	* ira-emit.c : Likewise.
      	* ira-lives.c : Likewise.
      	* ira.c : Likewise.
      	* jump.c : Likewise.
      	* langhooks.c : Likewise.
      	* lcm.c : Likewise.
      	* libfuncs.h : Likewise.
      	* lists.c : Likewise.
      	* loop-doloop.c : Likewise.
      	* loop-init.c : Likewise.
      	* loop-invariant.c : Likewise.
      	* loop-iv.c : Likewise.
      	* loop-unroll.c : Likewise.
      	* lower-subreg.c : Likewise.
      	* lra-assigns.c : Likewise.
      	* lra-coalesce.c : Likewise.
      	* lra-constraints.c : Likewise.
      	* lra-eliminations.c : Likewise.
      	* lra-lives.c : Likewise.
      	* lra-remat.c : Likewise.
      	* lra-spills.c : Likewise.
      	* lra.c : Likewise.
      	* lto-cgraph.c : Likewise.
      	* lto-compress.c : Likewise.
      	* lto-opts.c : Likewise.
      	* lto-section-in.c : Likewise.
      	* lto-section-out.c : Likewise.
      	* lto-streamer-in.c : Likewise.
      	* lto-streamer-out.c : Likewise.
      	* lto-streamer.c : Likewise.
      	* lto-streamer.h : Likewise.
      	* mcf.c : Likewise.
      	* mode-switching.c : Likewise.
      	* modulo-sched.c : Likewise.
      	* omega.c : Likewise.
      	* omp-low.c : Likewise.
      	* optabs.c : Likewise.
      	* opts-global.c : Likewise.
      	* opts.h : Likewise.
      	* passes.c : Likewise.
      	* plugin.c : Likewise.
      	* postreload-gcse.c : Likewise.
      	* postreload.c : Likewise.
      	* predict.c : Likewise.
      	* print-rtl.c : Likewise.
      	* print-tree.c : Likewise.
      	* profile.c : Likewise.
      	* read-md.c : Likewise.
      	* read-md.h : Likewise.
      	* read-rtl.c : Likewise.
      	* real.c : Likewise.
      	* realmpfr.c : Likewise.
      	* recog.c : Likewise.
      	* ree.c : Likewise.
      	* reg-stack.c : Likewise.
      	* regcprop.c : Likewise.
      	* reginfo.c : Likewise.
      	* regrename.c : Likewise.
      	* regstat.c : Likewise.
      	* reload.c : Likewise.
      	* reload1.c : Likewise.
      	* reorg.c : Likewise.
      	* resource.c : Likewise.
      	* rtl-chkp.c : Likewise.
      	* rtl.c : Likewise.
      	* rtl.h : Likewise.
      	* rtlanal.c : Likewise.
      	* rtlhash.c : Likewise.
      	* rtlhash.h : Likewise.
      	* rtlhooks.c : Likewise.
      	* sanopt.c : Likewise.
      	* sched-deps.c : Likewise.
      	* sched-ebb.c : Likewise.
      	* sched-rgn.c : Likewise.
      	* sched-vis.c : Likewise.
      	* sdbout.c : Likewise.
      	* sel-sched-dump.c : Likewise.
      	* sel-sched-ir.c : Likewise.
      	* sel-sched-ir.h : Likewise.
      	* sel-sched.c : Likewise.
      	* sese.c : Likewise.
      	* shrink-wrap.c : Likewise.
      	* shrink-wrap.h : Likewise.
      	* simplify-rtx.c : Likewise.
      	* stack-ptr-mod.c : Likewise.
      	* statistics.c : Likewise.
      	* stmt.c : Likewise.
      	* stor-layout.c : Likewise.
      	* store-motion.c : Likewise.
      	* stringpool.c : Likewise.
      	* symtab.c : Likewise.
      	* target-globals.c : Likewise.
      	* targhooks.c : Likewise.
      	* tlink.c : Likewise.
      	* toplev.c : Likewise.
      	* tracer.c : Likewise.
      	* trans-mem.c : Likewise.
      	* tree-affine.c : Likewise.
      	* tree-affine.h : Likewise.
      	* tree-browser.c : Likewise.
      	* tree-call-cdce.c : Likewise.
      	* tree-cfg.c : Likewise.
      	* tree-cfgcleanup.c : Likewise.
      	* tree-chkp-opt.c : Likewise.
      	* tree-chkp.c : Likewise.
      	* tree-chrec.c : Likewise.
      	* tree-complex.c : Likewise.
      	* tree-data-ref.c : Likewise.
      	* tree-dfa.c : Likewise.
      	* tree-diagnostic.c : Likewise.
      	* tree-dump.c : Likewise.
      	* tree-eh.c : Likewise.
      	* tree-eh.h : Likewise.
      	* tree-emutls.c : Likewise.
      	* tree-hasher.h : Likewise.
      	* tree-if-conv.c : Likewise.
      	* tree-inline.c : Likewise.
      	* tree-inline.h : Likewise.
      	* tree-into-ssa.c : Likewise.
      	* tree-iterator.c : Likewise.
      	* tree-loop-distribution.c : Likewise.
      	* tree-nested.c : Likewise.
      	* tree-nrv.c : Likewise.
      	* tree-object-size.c : Likewise.
      	* tree-outof-ssa.c : Likewise.
      	* tree-parloops.c : Likewise.
      	* tree-phinodes.c : Likewise.
      	* tree-predcom.c : Likewise.
      	* tree-pretty-print.c : Likewise.
      	* tree-profile.c : Likewise.
      	* tree-scalar-evolution.c : Likewise.
      	* tree-sra.c : Likewise.
      	* tree-ssa-address.c : Likewise.
      	* tree-ssa-alias.c : Likewise.
      	* tree-ssa-ccp.c : Likewise.
      	* tree-ssa-coalesce.c : Likewise.
      	* tree-ssa-copy.c : Likewise.
      	* tree-ssa-copyrename.c : Likewise.
      	* tree-ssa-dce.c : Likewise.
      	* tree-ssa-dom.c : Likewise.
      	* tree-ssa-dse.c : Likewise.
      	* tree-ssa-forwprop.c : Likewise.
      	* tree-ssa-ifcombine.c : Likewise.
      	* tree-ssa-live.c : Likewise.
      	* tree-ssa-loop-ch.c : Likewise.
      	* tree-ssa-loop-im.c : Likewise.
      	* tree-ssa-loop-ivcanon.c : Likewise.
      	* tree-ssa-loop-ivopts.c : Likewise.
      	* tree-ssa-loop-manip.c : Likewise.
      	* tree-ssa-loop-niter.c : Likewise.
      	* tree-ssa-loop-prefetch.c : Likewise.
      	* tree-ssa-loop-unswitch.c : Likewise.
      	* tree-ssa-loop.c : Likewise.
      	* tree-ssa-math-opts.c : Likewise.
      	* tree-ssa-operands.c : Likewise.
      	* tree-ssa-phiopt.c : Likewise.
      	* tree-ssa-phiprop.c : Likewise.
      	* tree-ssa-pre.c : Likewise.
      	* tree-ssa-propagate.c : Likewise.
      	* tree-ssa-reassoc.c : Likewise.
      	* tree-ssa-sccvn.c : Likewise.
      	* tree-ssa-scopedtables.c : Likewise.
      	* tree-ssa-sink.c : Likewise.
      	* tree-ssa-strlen.c : Likewise.
      	* tree-ssa-structalias.c : Likewise.
      	* tree-ssa-tail-merge.c : Likewise.
      	* tree-ssa-ter.c : Likewise.
      	* tree-ssa-threadedge.c : Likewise.
      	* tree-ssa-threadupdate.c : Likewise.
      	* tree-ssa-uncprop.c : Likewise.
      	* tree-ssa-uninit.c : Likewise.
      	* tree-ssa.c : Likewise.
      	* tree-ssanames.c : Likewise.
      	* tree-stdarg.c : Likewise.
      	* tree-streamer-in.c : Likewise.
      	* tree-streamer-out.c : Likewise.
      	* tree-streamer.c : Likewise.
      	* tree-streamer.h : Likewise.
      	* tree-switch-conversion.c : Likewise.
      	* tree-tailcall.c : Likewise.
      	* tree-vect-data-refs.c : Likewise.
      	* tree-vect-generic.c : Likewise.
      	* tree-vect-loop-manip.c : Likewise.
      	* tree-vect-loop.c : Likewise.
      	* tree-vect-patterns.c : Likewise.
      	* tree-vect-slp.c : Likewise.
      	* tree-vect-stmts.c : Likewise.
      	* tree-vectorizer.c : Likewise.
      	* tree-vectorizer.h : Likewise.
      	* tree-vrp.c : Likewise.
      	* tree.c : Likewise.
      	* tsan.c : Likewise.
      	* ubsan.c : Likewise.
      	* valtrack.c : Likewise.
      	* valtrack.h : Likewise.
      	* value-prof.c : Likewise.
      	* var-tracking.c : Likewise.
      	* varasm.c : Likewise.
      	* varpool.c : Likewise.
      	* vec.c: Likewise.
      	* vmsdbgout.c : Likewise.
      	* vtable-verify.c : Likewise.
      	* vtable-verify.h : Likewise.
      	* web.c : Likewise.
      	* wide-int.cc : Likewise.
      	* xcoffout.c : Likewise.
      	* config/aarch64/aarch64-builtins.c : Likewise.
      	* config/aarch64/aarch64.c : Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c : Likewise.
      	* config/alpha/alpha.c : Likewise.
      	* config/arc/arc.c : Likewise.
      	* config/arm/aarch-common.c : Likewise.
      	* config/arm/arm-builtins.c : Likewise.
      	* config/arm/arm-c.c : Likewise.
      	* config/arm/arm.c : Likewise.
      	* config/avr/avr-c.c : Likewise.
      	* config/avr/avr-log.c : Likewise.
      	* config/avr/avr.c : Likewise.
      	* config/bfin/bfin.c : Likewise.
      	* config/c6x/c6x.c : Likewise.
      	* config/cr16/cr16.c : Likewise.
      	* config/cris/cris.c : Likewise.
      	* config/darwin-c.c : Likewise.
      	* config/darwin.c : Likewise.
      	* config/default-c.c : Likewise.
      	* config/epiphany/epiphany.c : Likewise.
      	* config/epiphany/mode-switch-use.c : Likewise.
      	* config/epiphany/resolve-sw-modes.c : Likewise.
      	* config/fr30/fr30.c : Likewise.
      	* config/frv/frv.c : Likewise.
      	* config/ft32/ft32.c : Likewise.
      	* config/glibc-c.c : Likewise.
      	* config/h8300/h8300.c : Likewise.
      	* config/i386/i386-c.c : Likewise.
      	* config/i386/i386.c : Likewise.
      	* config/i386/msformat-c.c : Likewise.
      	* config/i386/winnt-cxx.c : Likewise.
      	* config/i386/winnt-stubs.c : Likewise.
      	* config/i386/winnt.c : Likewise.
      	* config/ia64/ia64-c.c : Likewise.
      	* config/ia64/ia64.c : Likewise.
      	* config/iq2000/iq2000.c : Likewise.
      	* config/lm32/lm32.c : Likewise.
      	* config/m32c/m32c-pragma.c : Likewise.
      	* config/m32c/m32c.c : Likewise.
      	* config/m32r/m32r.c : Likewise.
      	* config/m68k/m68k.c : Likewise.
      	* config/mcore/mcore.c : Likewise.
      	* config/mep/mep-pragma.c : Likewise.
      	* config/mep/mep.c : Likewise.
      	* config/microblaze/microblaze-c.c : Likewise.
      	* config/microblaze/microblaze.c : Likewise.
      	* config/mips/mips.c : Likewise.
      	* config/mmix/mmix.c : Likewise.
      	* config/mn10300/mn10300.c : Likewise.
      	* config/moxie/moxie.c : Likewise.
      	* config/msp430/msp430-c.c : Likewise.
      	* config/msp430/msp430.c : Likewise.
      	* config/nds32/nds32-cost.c : Likewise.
      	* config/nds32/nds32-fp-as-gp.c : Likewise.
      	* config/nds32/nds32-intrinsic.c : Likewise.
      	* config/nds32/nds32-isr.c : Likewise.
      	* config/nds32/nds32-md-auxiliary.c : Likewise.
      	* config/nds32/nds32-memory-manipulation.c : Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c : Likewise.
      	* config/nds32/nds32-predicates.c : Likewise.
      	* config/nds32/nds32.c : Likewise.
      	* config/nios2/nios2.c : Likewise.
      	* config/nvptx/nvptx.c : Likewise.
      	* config/pa/pa.c : Likewise.
      	* config/pdp11/pdp11.c : Likewise.
      	* config/rl78/rl78-c.c : Likewise.
      	* config/rl78/rl78.c : Likewise.
      	* config/rs6000/rs6000-c.c : Likewise.
      	* config/rs6000/rs6000.c : Likewise.
      	* config/rx/rx.c : Likewise.
      	* config/s390/s390-c.c : Likewise.
      	* config/s390/s390.c : Likewise.
      	* config/sh/sh-c.c : Likewise.
      	* config/sh/sh-mem.cc : Likewise.
      	* config/sh/sh.c : Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc : Likewise.
      	* config/sh/sh_treg_combine.cc : Likewise.
      	* config/sol2-c.c : Likewise.
      	* config/sol2-cxx.c : Likewise.
      	* config/sol2-stubs.c : Likewise.
      	* config/sol2.c : Likewise.
      	* config/sparc/sparc-c.c : Likewise.
      	* config/sparc/sparc.c : Likewise.
      	* config/spu/spu-c.c : Likewise.
      	* config/spu/spu.c : Likewise.
      	* config/stormy16/stormy16.c : Likewise.
      	* config/tilegx/mul-tables.c : Likewise.
      	* config/tilegx/tilegx-c.c : Likewise.
      	* config/tilegx/tilegx.c : Likewise.
      	* config/tilepro/mul-tables.c : Likewise.
      	* config/tilepro/tilepro-c.c : Likewise.
      	* config/tilepro/tilepro.c : Likewise.
      	* config/v850/v850-c.c : Likewise.
      	* config/v850/v850.c : Likewise.
      	* config/vax/vax.c : Likewise.
      	* config/visium/visium.c : Likewise.
      	* config/vms/vms-c.c : Likewise.
      	* config/vms/vms.c : Likewise.
      	* config/vxworks.c : Likewise.
      	* config/winnt-c.c : Likewise.
      	* config/xtensa/xtensa.c : Likewise.
      
      ada
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/cuintp.c : Adjust include files.
      	* gcc-interface/decl.c : Likewise.
      	* gcc-interface/misc.c : Likewise.
      	* gcc-interface/targtyps.c : Likewise.
      	* gcc-interface/trans.c : Likewise.
      	* gcc-interface/utils.c : Likewise.
      	* gcc-interface/utils2.c : Likewise.
      	
      c
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c : Adjust include files.
      	* c-aux-info.c : Likewise.
      	* c-convert.c : Likewise.
      	* c-decl.c : Likewise.
      	* c-errors.c : Likewise.
      	* c-lang.c : Likewise.
      	* c-lang.h : Likewise.
      	* c-objc-common.c : Likewise.
      	* c-parser.c : Likewise.
      	* c-typeck.c : Likewise.
      
      cfamily
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c : Adjust include files.
      	* c-ada-spec.c : Likewise.
      	* c-cilkplus.c : Likewise.
      	* c-common.c : Likewise.
      	* c-common.h : Likewise.
      	* c-cppbuiltin.c : Likewise.
      	* c-dump.c : Likewise.
      	* c-format.c : Likewise.
      	* c-gimplify.c : Likewise.
      	* c-indentation.c : Likewise.
      	* c-lex.c : Likewise.
      	* c-omp.c : Likewise.
      	* c-opts.c : Likewise.
      	* c-pch.c : Likewise.
      	* c-ppoutput.c : Likewise.
      	* c-pragma.c : Likewise.
      	* c-pretty-print.c : Likewise.
      	* c-semantics.c : Likewise.
      	* c-ubsan.c : Likewise.
      	* cilk.c : Likewise.
      	* stub-objc.c : Likewise.
      
      cp
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c : Adjust include files.
      	* class.c : Likewise.
      	* constexpr.c : Likewise.
      	* cp-array-notation.c : Likewise.
      	* cp-cilkplus.c : Likewise.
      	* cp-gimplify.c : Likewise.
      	* cp-lang.c : Likewise.
      	* cp-objcp-common.c : Likewise.
      	* cp-tree.h : Likewise.
      	* cp-ubsan.c : Likewise.
      	* cvt.c : Likewise.
      	* decl.c : Likewise.
      	* decl2.c : Likewise.
      	* dump.c : Likewise.
      	* error.c : Likewise.
      	* except.c : Likewise.
      	* expr.c : Likewise.
      	* friend.c : Likewise.
      	* init.c : Likewise.
      	* lambda.c : Likewise.
      	* lex.c : Likewise.
      	* mangle.c : Likewise.
      	* method.c : Likewise.
      	* name-lookup.c : Likewise.
      	* optimize.c : Likewise.
      	* parser.c : Likewise.
      	* pt.c : Likewise.
      	* ptree.c : Likewise.
      	* repo.c : Likewise.
      	* rtti.c : Likewise.
      	* search.c : Likewise.
      	* semantics.c : Likewise.
      	* tree.c : Likewise.
      	* typeck.c : Likewise.
      	* typeck2.c : Likewise.
      	* vtable-class-hierarchy.c : Likewise.
      
      fortran
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* convert.c : Adjust include files.
      	* cpp.c : Likewise.
      	* decl.c : Likewise.
      	* f95-lang.c : Likewise.
      	* gfortran.h : Likewise.
      	* iresolve.c : Likewise.
      	* match.c : Likewise.
      	* module.c : Likewise.
      	* openmp.c : Likewise.
      	* options.c : Likewise.
      	* target-memory.c : Likewise.
      	* trans-array.c : Likewise.
      	* trans-common.c : Likewise.
      	* trans-const.c : Likewise.
      	* trans-decl.c : Likewise.
      	* trans-expr.c : Likewise.
      	* trans-intrinsic.c : Likewise.
      	* trans-io.c : Likewise.
      	* trans-openmp.c : Likewise.
      	* trans-stmt.c : Likewise.
      	* trans-types.c : Likewise.
      	* trans.c : Likewise.
      
      
      go
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c : Adjust include files.
      	* go-gcc.cc : Likewise.
      	* go-lang.c : Likewise.
      
      java
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c : Adjust include files.
      	* builtins.c : Likewise.
      	* class.c : Likewise.
      	* constants.c : Likewise.
      	* decl.c : Likewise.
      	* except.c : Likewise.
      	* expr.c : Likewise.
      	* java-gimplify.c : Likewise.
      	* java-tree.h : Likewise.
      	* jcf-dump.c : Likewise.
      	* jcf-io.c : Likewise.
      	* jcf-parse.c : Likewise.
      	* jcf-reader.c : Likewise.
      	* jvgenmain.c : Likewise.
      	* lang.c : Likewise.
      	* mangle.c : Likewise.
      	* mangle_name.c : Likewise.
      	* resource.c : Likewise.
      	* typeck.c : Likewise.
      	* verify-glue.c : Likewise.
      	* verify-impl.c : Likewise.
      
      jit
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c : Adjust include files.
      	* jit-common.h : Likewise.
      	* jit-playback.c : Likewise.
      
      lto
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c : Adjust include files.
      	* lto-object.c : Likewise.
      	* lto-partition.c : Likewise.
      	* lto-partition.h : Likewise.
      	* lto-symtab.c : Likewise.
      	* lto.c : Likewise.
      	* lto.h : Likewise.
      
      objc
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-act.c : Adjust include files.
      	* objc-encoding.c : Likewise.
      	* objc-gnu-runtime-abi-01.c : Likewise.
      	* objc-lang.c : Likewise.
      	* objc-map.c : Likewise.
      	* objc-next-runtime-abi-01.c : Likewise.
      	* objc-next-runtime-abi-02.c : Likewise.
      	* objc-runtime-shared-support.c : Likewise.
      
      objcp
      2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c : Adjust include files.
      	* objcp-lang.c : Likewise.
      
      From-SVN: r224250
      Andrew MacLeod committed
  20. 05 Jun, 2015 1 commit
    • Merge debug-early branch into mainline. · d7438551
      	* dwarf2out.c: Remove deferred_locations*.
      	(dwarf2_debug_hooks): Add early_finish hook.
      	Remove global_decl hook.
      	Add early_global_decl and late_global_decl hook.
      	New global early_dwarf.
      	New structure set_early_dwarf.
      	(output_die): Indicate whether a DIE was generated early
      	when generating assembly with -dA.
      	(struct limbo_die_struct): Document created_for field.
      	Remove file_table_last_lookup.
      	(remove_AT): Return TRUE if successful.
      	(remove_child_TAG): Clear die_parent.
      	(reparent_child): New function abstracted from...
      	(splice_child_die): ...here.
      	(new_die): ICE if a DIE ends up in limbo too late.
      	(check_die): New.
      	(defer_location): Remove.
      	(add_subscript_info): Reuse DW_TAG_subrange_type if available.
      	(fill_variable_array_bounds): New.
      	(decl_start_label): Call fill_variable_array_bounds.
      	(gen_formal_parameter_die): Rewrite to reuse previously generated
      	DIEs.
      	(gen_subprogram_die): Same.
      	(gen_variable_die): Same.
      	(gen_const_die): Same.
      	(gen_label_die): Same.
      	(gen_lexical_block_die): Same.
      	(decl_will_get_specification_p): New.
      	(local_function_static): New.
      	(gen_struct_or_union_type_die): Fill in variable-length fields.
      	(gen_typedef_die): Fill in variable-length typedefs.
      	(gen_tagged_type_die): Gracefully return on error_mark_node.
      	Handle re-entrancy.
      	(gen_type_die_with_usage): Handle variable-length types.
      	Remove duplicate code for ARRAY_TYPE case.
      	(process_scope_var): Only process imported modules during early
      	dwarf.
      	(dwarf2out_early_global_decl): New.
      	(dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
      	(dwarf2out_type_decl): Set early_dwarf while calling
      	dwarf2out_decl.
      	(dwarf2out_decl): Verify that we did not recreate a previously
      	generated DIE.
      	Do not return on DECL_EXTERNALs in VAR_DECLs.
      	Abstract some code to local_function_static.
      	(lookup_filename): Remove use of file_table_last_lookup.
      	Gracefully exit on missing file_name.
      	(dwarf2out_finish): Verify limbo list.
      	Remove deferred_locations_list use.
      	Move deferred_asm_name and limbo flushing to...
      	(dwarf2out_early_finish): ...here.  New.
      	(dwarf2out_c_finalize): Remove set of deferred_location_list,
      	deferred_asm_name, and file_table_last_lookup.
      	* cgraph.h (referred_to_p): Add default argument.
      	* cgraphunit.c (referred_to_p): Add and handle include_self
      	argument.
      	(analyze_functions): Add first_time argument.
      	Call check_global_declaration for all symbols.
      	Call late_global_decl for nodes for moribund nodes.
      	(finalize_compilation_unit): Add new argument to
      	analyze_functions.
      	Call early_global_decl for functions.
      	Call early_finish debug hook.
      	* dbxout.c (dbxout_early_global_decl): New.
      	(dbxout_late_global_decl): New.  Adapted from dbxout_global_decl.
      	(dbx_debug_hooks): Add new hooks.
      	(xcoff_debug_hooks): Same.
      	* debug.c (do_nothing_debug_hooks): Add early_finish field.
      	Add early and late debug hooks.
      	Remove global_decl hook.
      	* debug.h (struct gcc_debug_hooks): Add early_finish,
      	early_global_decl, and late_global_decl fields.
      	Remove global_decl field.
      	Document gcc_debug_hooks.
      	* gengtype.c (output_typename): Remove.
      	* godump.c (go_early_global_decl): New.
      	(go_late_global_decl): New.
      	(go_global_decl): Remove.
      	(dump_go_spec_init): Remove global_decl.  Add
      	{early,late}_global_decl.
      	* langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
      	(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
      	* langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
      	(write_global_declarations): Remove.
      	(global_decl_processing): New.
      	* langhooks.h (struct lang_hooks_for_decls): Remove
      	final_write_globals field.
      	Add post_compilation_parsing_cleanups field.
      	* passes.c (rest_of_decl_compilation): Call early_global_decl.
      	* sdbout.c: Add early and late_global_decl hooks.  Remove
      	sdbout_global_decl hook.
      	Add early_finish field for sdb_debug_hooks.
      	(sdbout_global_decl): Remove.
      	(sdbout_early_global_decl): New.
      	(sdbout_late_global_decl): New.
      	* timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
      	* toplev.c (check_global_declaration): Rename from
      	check_global_declaration_1.
      	Adapt to use symtab infrastructure.
      	(check_global_declarations): Remove.
      	(emit_debug_global_declarations): Remove.
      	(compile_file): Remove call to final_write_globals langhook.
      	Run the actual compilation process.
      	Perform any post compilation parser cleanups.
      	Generate late debug info.
      	* toplev.h (check_global_declaration): New.
      	(check_global_declaration_1): Remove.
      	(check_global_declarations): Remove.
      	(write_global_declarations): Remove.
      	(emit_debug_global_declarations): Remove.
      	(global_decl_processing): New.
      	* tree-core.h (struct tree_block): Add DIE field.
      	* tree.h (BLOCK_DIE): New.
      	* vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
      	throughout.
      	(vmsdbgout_early_global_decl): New.
      	(vmsdbgout_late_global_decl): New.
      	Add early_finish debug hook field to vmsdbg_debug_hooks.
      	Remove vmsdbgout_decl to vmsdbgout_function_decl.
      	Add early and late_global_decl debug hooks.
      
      From-SVN: r224161
      Aldy Hernandez committed
  21. 04 Jun, 2015 1 commit
    • coretypes.h: Include machmode.h... · ecb9f223
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
      	real.h, and fixed-value.h when included in host source files.
      	* double-int.h: Remove redundant #includes listed above.
      	* fixed-value.h: Likewise.
      	* real.h: Likewise.
      	* wide-int.h: Likewise.
      	* inchash.h: Likewise.
      	* rtl.h: Add some include files When included from a generator file.
      	* target.h: Remove wide-int.h and insn-modes.h from the include list.
      	* internal-fn.h: Don't include coretypes.h.
      	* alias.c: Adjust includes for restructured coretypes.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* ccmp.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* cppbuiltin.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* debug.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* dojump.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* dse.c: Likewise.
      	* dumpfile.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fixed-value.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcc-plugin.h: Likewise.
      	* gcse.c: Likewise.
      	* generic-match-head.c: Likewise.
      	* ggc-page.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-match-head.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-streamer.h: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* gimplify.c: Likewise.
      	* godump.c: Likewise.
      	* graph.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-isl-ast-to-gimple.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hooks.h: Likewise.
      	* hw-doloop.c: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* real.c: Likewise.
      	* realmpfr.c: Likewise.
      	* realmpfr.h: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl-chkp.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtlhooks.c: Likewise.
      	* sanopt.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* shrink-wrap.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* symtab.c: Likewise.
      	* target-globals.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp-opt.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-pretty-print.h: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-loop.h: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-scopedtables.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* vtable-verify.c: Likewise.
      	* web.c: Likewise.
      	* wide-int-print.cc: Likewise.
      	* wide-int-print.h: Likewise.
      	* wide-int.cc: Likewise.
      	* xcoffout.c: Likewise.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/aarch-common.c: Likewise.
      	* config/arm/arm-builtins.c: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-c.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/default-c.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/ft32/ft32.c: Likewise.
      	* config/glibc-c.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386-c.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/msformat-c.c: Likewise.
      	* config/i386/winnt-cxx.c: Likewise.
      	* config/i386/winnt-stubs.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64-c.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c-pragma.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze-c.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430-c.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/nvptx/nvptx.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78-c.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390-c.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh-c.c: Likewise.
      	* config/sh/sh-mem.cc: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sol2-c.c: Likewise.
      	* config/sol2-cxx.c: Likewise.
      	* config/sol2-stubs.c: Likewise.
      	* config/sol2.c: Likewise.
      	* config/sparc/sparc-c.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/mul-tables.c: Likewise.
      	* config/tilegx/tilegx-c.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/mul-tables.c: Likewise.
      	* config/tilepro/tilepro-c.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850-c.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/visium/visium.c: Likewise.
      	* config/vms/vms-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/winnt-c.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      	* common/config/bfin/bfin-common.c: Likewise.
      ada
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/cuintp.c: Adjust includes for restructured coretypes.h.
      	* gcc-interface/decl.c: Likewise.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/targtyps.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	* gcc-interface/utils2.c: Likewise.
      
      
      c
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c: Adjust includes for restructured coretypes.h.
      	* c-aux-info.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-errors.c: Likewise.
      	* c-lang.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      
      
      c-family
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c: Adjust includes for restructured coretypes.h.
      	* c-ada-spec.c: Likewise.
      	* c-cilkplus.c: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-format.c: Likewise.
      	* c-gimplify.c: Likewise.
      	* c-indentation.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pch.c: Likewise.
      	* c-ppoutput.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-ubsan.c: Likewise.
      	* cilk.c: Likewise.
      	* stub-objc.c: Likewise.
      
      
      cp
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c: Adjust includes for restructured coretypes.h.
      	* class.c: Likewise.
      	* constexpr.c: Likewise.
      	* cp-array-notation.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* cp-lang.c: Likewise.
      	* cp-objcp-common.c: Likewise.
      	* cp-tree.h: Likewise.
      	* cp-ubsan.c: Likewise.
      	* cvt.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* dump.c: Likewise.
      	* error.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* friend.c: Likewise.
      	* init.c: Likewise.
      	* lambda.c: Likewise.
      	* lex.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* name-lookup.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* ptree.c: Likewise.
      	* repo.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      	* vtable-class-hierarchy.c: Likewise.
      
      
      fortran
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* convert.c: Adjust includes for restructured coretypes.h.
      	* cpp.c: Likewise.
      	* decl.c: Likewise.
      	* f95-lang.c: Likewise.
      	* iresolve.c: Likewise.
      	* match.c: Likewise.
      	* module.c: Likewise.
      	* options.c: Likewise.
      	* target-memory.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-common.c: Likewise.
      	* trans-const.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-expr.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-io.c: Likewise.
      	* trans-openmp.c: Likewise.
      	* trans-stmt.c: Likewise.
      	* trans-types.c: Likewise.
      	* trans.c: Likewise.
      
      
      go
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c: Adjust includes for restructured coretypes.h.
      	* go-c.h: Likewise.
      	* go-gcc.cc: Likewise.
      	* go-lang.c: Likewise.
      
      
      java
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c: Adjust includes for restructured coretypes.h.
      	* builtins.c: Likewise.
      	* class.c: Likewise.
      	* constants.c: Likewise.
      	* decl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* java-gimplify.c: Likewise.
      	* jcf-dump.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* jvgenmain.c: Likewise.
      	* lang.c: Likewise.
      	* mangle.c: Likewise.
      	* mangle_name.c: Likewise.
      	* resource.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      	* verify-impl.c: Likewise.
      
      
      jit
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c: Adjust includes for restructured coretypes.h.
      	* jit-common.h: Likewise.
      	* jit-playback.c: Likewise.
      
      
      lto
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c: Adjust includes for restructured coretypes.h.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      
      objc
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-act.c: Adjust includes for restructured coretypes.h.
      	* objc-encoding.c: Likewise.
      	* objc-gnu-runtime-abi-01.c: Likewise.
      	* objc-lang.c: Likewise.
      	* objc-map.c: Likewise.
      	* objc-next-runtime-abi-01.c: Likewise.
      	* objc-next-runtime-abi-02.c: Likewise.
      	* objc-runtime-shared-support.c: Likewise.
      
      
      objcp
      2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c: Adjust includes for restructured coretypes.h.
      	* objcp-lang.c: Likewise.
      
      From-SVN: r224136
      Andrew MacLeod committed
  22. 23 May, 2015 1 commit
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · fea70c99
      re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
      
      gcc/fortran/ChangeLog:
      
      2015-05-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* gfortran.h (struct gfc_error_buf): Rename as
      	gfc_error_buffer. Move closer to push, pop and free
      	methods. Reimplement using an output_buffer.
      	* error.c (errors, warnings, warning_buffer, cur_error_buffer):
      	Delete everywhere in this file.
      	(error_char): Delete all contents.
      	(gfc_increment_error_count): Delete.
      	(gfc_error_now): Update comment. Set error_buffer.flag.
      	(gfc_warning_check): Do not handle warning_buffer.
      	(gfc_error_1): Delete.
      	(gfc_error_now_1): Delete.
      	(gfc_error_check): Simplify.
      	(gfc_move_error_buffer_from_to): Renamed from
      	gfc_move_output_buffer_from_to.
      	(gfc_push_error): Handle only gfc_error_buffer.
      	(gfc_pop_error): Likewise.
      	(gfc_free_error): Likewise.
      	(gfc_get_errors): Remove warnings and errors.
      	(gfc_diagnostics_init): Use static error_buffer.
      	(gfc_error_1,gfc_error_now_1): Delete declarations.
      	* symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
      	frontend-passes.c, resolve.c, match.c, parse.c: Replace
      	gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
      	everywhere.
      	* f95-lang.c (gfc_be_parse_file): Do not update errorcount and
      	warningcount here.
      	* primary.c (match_complex_constant): Replace gfc_error_buf and
      	output_buffer with gfc_error_buffer.
      
      From-SVN: r223614
      Manuel López-Ibáñez committed
  23. 24 Feb, 2015 1 commit
    • [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter. · 56a9f6bc
      Fixup for r219836: adjust builtin function prototypes.
      
      	PR libgomp/64625
      	gcc/
      	* omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
      	BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
      	BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
      	(BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
      	BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
      	BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
      	(BUILT_IN_GOACC_PARALLEL): Specify as
      	BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
      	BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
      	* builtin-types.def
      	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
      	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
      	Remove function types.
      	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
      	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
      	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
      	New function types.
      	gcc/ada/
      	* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
      	(DEF_FUNCTION_TYPE_VAR_12): Remove macros.
      	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
      	gcc/c-family/
      	* c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
      	Remove macros.
      	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
      	gcc/fortran/
      	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
      	Remove macros.
      	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
      	* types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
      	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
      	Remove function types.
      	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
      	(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
      	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
      	New function types.
      	gcc/jit/
      	* jit-builtins.c (DEF_FUNCTION_TYPE_VAR_8)
      	(DEF_FUNCTION_TYPE_VAR_12): Remove macros.
      	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
      	* jit-builtins.h (DEF_FUNCTION_TYPE_VAR_8)
      	(DEF_FUNCTION_TYPE_VAR_12): Remove macros.
      	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
      	gcc/lto/
      	* lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
      	Remove macros.
      	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
      
      From-SVN: r220944
      Thomas Schwinge committed
  24. 30 Jan, 2015 1 commit
    • Always pass explicit location to fatal_error. · 40fecdd6
      The patch <https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00698.html>
      adding an overload for fatal_error that passes an explicit location
      broke gcc.pot regeneration because xgettext cannot handle function
      overloads with the diagnostic string argument in different positions.
      
      As the desired direction is for all diagnostics to have explicit
      locations, this patch addresses the regression by removing the version
      of fatal_error that does not pass a location, passing explicit
      input_location everywhere (in the hope that those will incrementally
      be changed to other locations, much as with the addition of a location
      argument to pedwarn some time ago - a lot of cases aren't meaningfully
      associated with a source file so UNKNOWN_LOCATION may be better).
      
      Note that this patch does not attempt to fix any existing issues with
      these diagnostics (such as wrongly starting with capital letters or
      ending with '.' or '\n'); it just adds the input_location argument.
      
      Bootstrapped with no regressions for x86_64-unknown-linux-gnu (Go
      excluded).
      
      gcc:
      	* diagnostic.c (fatal_error (const char *, ...)): Remove function.
      	* diagnostic-core.h (fatal_error (const char *, ...)): Remove
      	prototype.
      	* toplev.h (init_asm_output): Update comment on use of
      	UNKNOWN_LOCATION with fatal_error.
      	* cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
      	config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
      	config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
      	config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
      	config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
      	config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
      	config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
      	ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
      	lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
      	lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
      	tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
      	fatal_error changed to pass input_location as first argument.
      
      gcc/c-family:
      	* c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
      	to pass input_location as first argument.
      
      gcc/cp:
      	* class.c, except.c, parser.c, pt.c: All callers of fatal_error
      	changed to pass input_location as first argument.
      
      gcc/fortran:
      	* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
      	callers of fatal_error changed to pass input_location as first
      	argument.
      
      gcc/java:
      	* class.c, expr.c, jcf-parse.c, jvspec.c: All callers of
      	fatal_error changed to pass input_location as first argument.
      
      gcc/lto:
      	* lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
      	changed to pass input_location as first argument.
      
      libcc1:
      	* plugin.cc: All callers of fatal_error changed to pass
      	input_location as first argument.
      
      From-SVN: r220293
      Joseph Myers committed
  25. 15 Jan, 2015 1 commit
    • Merge current set of OpenACC changes from gomp-4_0-branch. · 41dbbb37
      	contrib/
      	* gcc_update (files_and_dependencies): Update rules for new
      	libgomp/plugin/Makefrag.am and libgomp/plugin/configfrag.ac files.
      	gcc/
      	* builtin-types.def (BT_FN_VOID_INT_INT_VAR)
      	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
      	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
      	New function types.
      	* builtins.c: Include "gomp-constants.h".
      	(expand_builtin_acc_on_device): New function.
      	(expand_builtin, is_inexpensive_builtin): Handle
      	BUILT_IN_ACC_ON_DEVICE.
      	* builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
      	New macros.
      	* cgraph.c (cgraph_node::create): Consider flag_openacc next to
      	flag_openmp.
      	* config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
      	<*-intelmic-* | *-intelmicemul-*> (tm_file): Add
      	i386/intelmic-offload.h.
      	* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
      	to libgomp and its dependencies.
      	* config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
      	* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
      	* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
      	* config/ia64/hpux.h (LIB_SPEC): Likewise.
      	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
      	* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
      	* doc/generic.texi: Update for OpenACC changes.
      	* doc/gimple.texi: Likewise.
      	* doc/invoke.texi: Likewise.
      	* doc/sourcebuild.texi: Likewise.
      	* gimple-pretty-print.c (dump_gimple_omp_for): Handle
      	GF_OMP_FOR_KIND_OACC_LOOP.
      	(dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
      	GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
      	GF_OMP_TARGET_KIND_OACC_UPDATE,
      	GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
      	Dump more data.
      	* gimple.c: Update comments for OpenACC changes.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	(enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
      	GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
      	GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
      	GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
      	(gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
      	appropriate place.
      	(is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
      	* gimplify.c: Include "gomp-constants.h".
      	Update comments for OpenACC changes.
      	(is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
      	OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
      	OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
      	(gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
      	OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
      	OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
      	OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
      	OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
      	OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
      	OMP_CLAUSE_SEQ.
      	(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
      	GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
      	OMP_CLAUSE_SET_MAP_KIND.
      	(gimplify_oacc_cache): New function.
      	(gimplify_omp_for): Handle OACC_LOOP.
      	(gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
      	OACC_DATA.
      	(gimplify_omp_target_update): Handle OACC_ENTER_DATA,
      	OACC_EXIT_DATA, OACC_UPDATE.
      	(gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
      	OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
      	OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
      	(gimplify_body): Consider flag_openacc next to flag_openmp.
      	* lto-streamer-out.c: Include "gomp-constants.h".
      	* omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
      	(BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
      	(BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
      	(BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
      	(BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
      	(BUILT_IN_ACC_ON_DEVICE): New builtins.
      	* omp-low.c: Include "gomp-constants.h".
      	Update comments for OpenACC changes.
      	(struct omp_context): Add reduction_map, gwv_below, gwv_this
      	members.
      	(extract_omp_for_data, use_pointer_for_field, install_var_field)
      	(new_omp_context, delete_omp_context, scan_sharing_clauses)
      	(create_omp_child_function, scan_omp_for, scan_omp_target)
      	(check_omp_nesting_restrictions, lower_reduction_clauses)
      	(build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
      	Update for OpenACC changes.
      	(scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
      	OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
      	OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
      	OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
      	OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
      	OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ.  Use GOMP_MAP_* instead of
      	OMP_CLAUSE_MAP_*.
      	(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
      	Handle GF_OMP_FOR_KIND_OACC_LOOP.
      	(expand_omp_target, lower_omp_target): Handle
      	GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
      	GF_OMP_TARGET_KIND_OACC_UPDATE,
      	GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
      	GF_OMP_TARGET_KIND_OACC_DATA.
      	(pass_expand_omp::execute, execute_lower_omp)
      	(pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
      	flag_openmp.
      	(offload_symbol_decl): New variable.
      	(oacc_get_reduction_array_id, oacc_max_threads)
      	(get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
      	(maybe_lookup_oacc_reduction, enclosing_target_ctx)
      	(oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
      	(oacc_gimple_assign, oacc_initialize_reduction_data)
      	(oacc_finalize_reduction_data, oacc_process_reduction_data): New
      	functions.
      	(is_targetreg_ctx): Remove function.
      	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
      	OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
      	OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
      	OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
      	OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
      	OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
      	* tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
      	* tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
      	(OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
      	(OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
      	(OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
      	(OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
      	* tree-core.h: Update comments for OpenACC changes.
      	(enum omp_clause_map_kind): Remove.
      	(struct tree_omp_clause): Change type of map_kind member from enum
      	omp_clause_map_kind to unsigned char.
      	* tree-inline.c: Update comments for OpenACC changes.
      	* tree-nested.c: Likewise.  Include "gomp-constants.h".
      	(convert_nonlocal_reference_stmt, convert_local_reference_stmt)
      	(convert_tramp_reference_stmt, convert_gimple_call): Update for
      	OpenACC changes.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
      	OMP_CLAUSE_SET_MAP_KIND.
      	* tree-pretty-print.c: Include "gomp-constants.h".
      	(dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
      	OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
      	OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
      	OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
      	OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
      	OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT.  Use GOMP_MAP_*
      	instead of OMP_CLAUSE_MAP_*.
      	(dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
      	OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
      	OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
      	* tree-streamer-in.c: Include "gomp-constants.h".
      	(unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
      	OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
      	* tree-streamer-out.c: Include "gomp-constants.h".
      	(pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
      	OMP_CLAUSE_MAP_*.
      	* tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
      	(OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
      	(OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
      	* tree.c (omp_clause_num_ops): Update accordingly.
      	* tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
      	Likewise.
      	(OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
      	(OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
      	(OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
      	(OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
      	(OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
      	(OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
      	* tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
      	(OMP_CLAUSE_SET_MAP_KIND): New macro.
      	* varpool.c (varpool_node::get_create): Consider flag_openacc next
      	to flag_openmp.
      	* config/i386/intelmic-offload.h: New file.
      	* config/nvptx/offload.h: Likewise.
      	gcc/ada/
      	* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
      	(DEF_FUNCTION_TYPE_VAR_12): New macros.
      	gcc/c-family/
      	* c.opt (fopenacc): New option.
      	* c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
      	* c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
      	New macros.
      	* c-common.h (c_finish_oacc_wait): New prototype.
      	* c-omp.c: Include "omp-low.h" and "gomp-constants.h".
      	(c_finish_oacc_wait): New function.
      	* c-pragma.c (oacc_pragmas): New variable.
      	(c_pp_lookup_pragma, init_pragma): Handle it.
      	* c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
      	PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
      	PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
      	PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
      	(enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
      	PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
      	PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
      	PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
      	PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
      	PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
      	PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
      	PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
      	PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
      	PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
      	PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
      	PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
      	PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
      	PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
      	PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
      	PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
      	PRAGMA_OACC_CLAUSE_WORKER.
      	gcc/c/
      	* c-parser.c: Include "gomp-constants.h".
      	(c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
      	omp_clause_map_kind.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
      	Use OMP_CLAUSE_SET_MAP_KIND.
      	(c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
      	PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
      	(c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
      	PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
      	PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
      	(c_parser_omp_clause_name): Handle "auto", "async", "copy",
      	"copyout", "create", "delete", "deviceptr", "gang", "host",
      	"num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
      	"present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
      	"present_or_create", "pcreate", "seq", "self", "vector",
      	"vector_length", "wait", "worker".
      	(OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
      	(OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
      	(OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
      	(OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
      	(c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
      	(c_parser_oacc_wait_list, c_parser_oacc_data_clause)
      	(c_parser_oacc_data_clause_deviceptr)
      	(c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
      	(c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
      	(c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
      	(c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
      	(c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
      	(c_parser_oacc_parallel, c_parser_oacc_update)
      	(c_parser_oacc_wait): New functions.
      	* c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
      	(c_finish_oacc_data): New prototypes.
      	* c-typeck.c: Include "gomp-constants.h".
      	(handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR.  Use
      	GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
      	OMP_CLAUSE_SET_MAP_KIND.
      	(c_finish_oacc_parallel, c_finish_oacc_kernels)
      	(c_finish_oacc_data): New functions.
      	(c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
      	OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
      	OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
      	OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
      	OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
      	GOMP_MAP_FORCE_DEVICEPTR.
      	gcc/cp/
      	* parser.c: Include "gomp-constants.h".
      	(cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
      	omp_clause_map_kind.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
      	Use OMP_CLAUSE_SET_MAP_KIND.
      	(cp_parser_omp_construct, cp_parser_pragma): Handle
      	PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
      	PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
      	PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
      	(cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
      	"create", "delete", "deviceptr", "host", "num_gangs",
      	"num_workers", "present", "present_or_copy", "pcopy",
      	"present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
      	"present_or_create", "pcreate", "vector_length", "wait".
      	(OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
      	(OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
      	(OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
      	(OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
      	(cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
      	(cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
      	(cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
      	(cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
      	(cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
      	(cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
      	(cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
      	(cp_parser_oacc_kernels, cp_parser_oacc_loop)
      	(cp_parser_oacc_parallel, cp_parser_oacc_update)
      	(cp_parser_oacc_wait): New functions.
      	* cp-tree.h (finish_oacc_data, finish_oacc_kernels)
      	(finish_oacc_parallel): New prototypes.
      	* semantics.c: Include "gomp-constants.h".
      	(handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR.  Use
      	GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
      	OMP_CLAUSE_SET_MAP_KIND.
      	(finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
      	OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
      	Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
      	(finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
      	functions.
      	gcc/fortran/
      	* lang.opt (fopenacc): New option.
      	* cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
      	* dump-parse-tree.c (show_omp_node): Split part of it into...
      	(show_omp_clauses): ... this new function.
      	(show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
      	EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
      	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
      	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
      	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
      	(show_namespace): Update for OpenACC.
      	* f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
      	(DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
      	(DEF_GOACC_BUILTIN_COMPILER): New macros.
      	* types.def (BT_FN_VOID_INT_INT_VAR)
      	(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
      	(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
      	New function types.
      	* gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
      	ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
      	ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
      	ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
      	ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
      	ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
      	ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
      	ST_OACC_ROUTINE.
      	(struct gfc_expr_list): New data type.
      	(gfc_get_expr_list): New macro.
      	(gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
      	OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
      	OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
      	(OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
      	(OMP_LIST_CACHE): New enumerators.
      	(struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
      	vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
      	wait_list, tile_list, async, gang, worker, vector, seq,
      	independent, wait, par_auto, gang_static, and loc members.
      	(struct gfc_namespace): Add oacc_declare_clauses member.
      	(gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
      	EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
      	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
      	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
      	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
      	(gfc_free_expr_list, gfc_resolve_oacc_directive)
      	(gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
      	(gfc_resolve_oacc_blocks): New prototypes.
      	* match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
      	EXEC_OACC_PARALLEL_LOOP.
      	* match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
      	(gfc_match_oacc_update, gfc_match_oacc_declare)
      	(gfc_match_oacc_loop, gfc_match_oacc_host_data)
      	(gfc_match_oacc_data, gfc_match_oacc_kernels)
      	(gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
      	(gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
      	(gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
      	prototypes.
      	* openmp.c: Include "diagnostic.h" and "gomp-constants.h".
      	(gfc_free_omp_clauses): Update for members added to struct
      	gfc_omp_clauses.
      	(gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
      	openacc parameter.
      	(resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
      	(struct fortran_omp_context): Add is_openmp member.
      	(gfc_resolve_omp_parallel_blocks): Initialize it.
      	(gfc_resolve_do_iterator): Update for OpenACC.
      	(gfc_resolve_omp_directive): Call
      	resolve_omp_directive_inside_oacc_region.
      	(OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
      	(OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
      	(OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
      	(OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
      	(OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
      	(OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
      	(OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
      	(OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
      	(OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
      	(OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
      	(OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
      	(OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
      	(OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
      	(OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
      	(OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
      	(OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
      	(OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
      	(OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
      	(OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
      	(OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
      	(OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
      	(OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
      	(gfc_match_omp_clauses): Handle those.
      	(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
      	(OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
      	(OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
      	(OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
      	(OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
      	(OACC_WAIT_CLAUSES): New macros.
      	(gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
      	(gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
      	(gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
      	(gfc_match_oacc_kernels, gfc_match_oacc_data)
      	(gfc_match_oacc_host_data, gfc_match_oacc_loop)
      	(gfc_match_oacc_declare, gfc_match_oacc_update)
      	(gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
      	(gfc_match_oacc_wait, gfc_match_oacc_cache)
      	(gfc_match_oacc_routine, oacc_is_loop)
      	(resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
      	(check_symbol_not_pointer, check_array_not_assumed)
      	(resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
      	(oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
      	(omp_code_to_statement, oacc_code_to_statement)
      	(resolve_oacc_directive_inside_omp_region)
      	(resolve_omp_directive_inside_oacc_region)
      	(resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
      	(resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
      	(resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
      	(gfc_resolve_oacc_directive): New functions.
      	* parse.c (next_free): Update for OpenACC.  Move some code into...
      	(verify_token_free): ... this new function.
      	(next_fixed): Update for OpenACC.  Move some code into...
      	(verify_token_fixed): ... this new function.
      	(case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
      	ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
      	(case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
      	ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
      	ST_OACC_KERNELS_LOOP.
      	(case_decl): Add ST_OACC_ROUTINE.
      	(push_state, parse_critical_block, parse_progunit): Update for
      	OpenACC.
      	(gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
      	ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
      	ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
      	ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
      	ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
      	ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
      	ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
      	ST_OACC_ROUTINE.
      	(verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
      	(parse_executable): Handle ST_OACC_PARALLEL_LOOP,
      	ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
      	ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
      	(decode_oacc_directive, parse_oacc_structured_block)
      	(parse_oacc_loop, is_oacc): New functions.
      	* parse.h (struct gfc_state_data): Add oacc_declare_clauses
      	member.
      	(is_oacc): New prototype.
      	* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
      	EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
      	EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
      	EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
      	EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
      	EXEC_OACC_EXIT_DATA.
      	(resolve_codes): Call gfc_resolve_oacc_declare.
      	* scanner.c (openacc_flag, openacc_locus): New variables.
      	(skip_free_comments): Update for OpenACC.  Move some code into...
      	(skip_omp_attribute): ... this new function.
      	(skip_oacc_attribute): New function.
      	(skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
      	* st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
      	EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
      	EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
      	EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
      	EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
      	* trans-decl.c (gfc_generate_function_code): Update for OpenACC.
      	* trans-openmp.c: Include "gomp-constants.h".
      	(gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
      	instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
      	(gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
      	OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
      	OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
      	OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
      	OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
      	independent, wait_list, num_gangs_expr, num_workers_expr,
      	vector_length_expr, vector, vector_expr, worker, worker_expr,
      	gang, gang_expr members.
      	(gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
      	(gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
      	(gfc_trans_oacc_executable_directive)
      	(gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
      	(gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
      	* trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
      	* trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
      	New prototypes.
      	* trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
      	EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
      	EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
      	EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
      	EXEC_OACC_EXIT_DATA.
      	* gfortran.texi: Update for OpenACC.
      	* intrinsic.texi: Likewise.
      	* invoke.texi: Likewise.
      	gcc/lto/
      	* lto-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
      	New macros.
      	* lto.c: Include "gomp-constants.h".
      	gcc/testsuite/
      	* lib/target-supports.exp (check_effective_target_fopenacc): New
      	procedure.
      	* g++.dg/goacc-gomp/goacc-gomp.exp: New file.
      	* g++.dg/goacc/goacc.exp: Likewise.
      	* gcc.dg/goacc-gomp/goacc-gomp.exp: Likewise.
      	* gcc.dg/goacc/goacc.exp: Likewise.
      	* gfortran.dg/goacc/goacc.exp: Likewise.
      	* c-c++-common/cpp/openacc-define-1.c: New file.
      	* c-c++-common/cpp/openacc-define-2.c: Likewise.
      	* c-c++-common/cpp/openacc-define-3.c: Likewise.
      	* c-c++-common/goacc-gomp/nesting-1.c: Likewise.
      	* c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
      	* c-c++-common/goacc/acc_on_device-2-off.c: Likewise.
      	* c-c++-common/goacc/acc_on_device-2.c: Likewise.
      	* c-c++-common/goacc/asyncwait-1.c: Likewise.
      	* c-c++-common/goacc/cache-1.c: Likewise.
      	* c-c++-common/goacc/clauses-fail.c: Likewise.
      	* c-c++-common/goacc/collapse-1.c: Likewise.
      	* c-c++-common/goacc/data-1.c: Likewise.
      	* c-c++-common/goacc/data-2.c: Likewise.
      	* c-c++-common/goacc/data-clause-duplicate-1.c: Likewise.
      	* c-c++-common/goacc/deviceptr-1.c: Likewise.
      	* c-c++-common/goacc/deviceptr-2.c: Likewise.
      	* c-c++-common/goacc/deviceptr-3.c: Likewise.
      	* c-c++-common/goacc/if-clause-1.c: Likewise.
      	* c-c++-common/goacc/if-clause-2.c: Likewise.
      	* c-c++-common/goacc/kernels-1.c: Likewise.
      	* c-c++-common/goacc/loop-1.c: Likewise.
      	* c-c++-common/goacc/loop-private-1.c: Likewise.
      	* c-c++-common/goacc/nesting-1.c: Likewise.
      	* c-c++-common/goacc/nesting-data-1.c: Likewise.
      	* c-c++-common/goacc/nesting-fail-1.c: Likewise.
      	* c-c++-common/goacc/parallel-1.c: Likewise.
      	* c-c++-common/goacc/pcopy.c: Likewise.
      	* c-c++-common/goacc/pcopyin.c: Likewise.
      	* c-c++-common/goacc/pcopyout.c: Likewise.
      	* c-c++-common/goacc/pcreate.c: Likewise.
      	* c-c++-common/goacc/pragma_context.c: Likewise.
      	* c-c++-common/goacc/present-1.c: Likewise.
      	* c-c++-common/goacc/reduction-1.c: Likewise.
      	* c-c++-common/goacc/reduction-2.c: Likewise.
      	* c-c++-common/goacc/reduction-3.c: Likewise.
      	* c-c++-common/goacc/reduction-4.c: Likewise.
      	* c-c++-common/goacc/sb-1.c: Likewise.
      	* c-c++-common/goacc/sb-2.c: Likewise.
      	* c-c++-common/goacc/sb-3.c: Likewise.
      	* c-c++-common/goacc/update-1.c: Likewise.
      	* gcc.dg/goacc/acc_on_device-1.c: Likewise.
      	* gfortran.dg/goacc/acc_on_device-1.f95: Likewise.
      	* gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise.
      	* gfortran.dg/goacc/acc_on_device-2.f95: Likewise.
      	* gfortran.dg/goacc/assumed.f95: Likewise.
      	* gfortran.dg/goacc/asyncwait-1.f95: Likewise.
      	* gfortran.dg/goacc/asyncwait-2.f95: Likewise.
      	* gfortran.dg/goacc/asyncwait-3.f95: Likewise.
      	* gfortran.dg/goacc/asyncwait-4.f95: Likewise.
      	* gfortran.dg/goacc/branch.f95: Likewise.
      	* gfortran.dg/goacc/cache-1.f95: Likewise.
      	* gfortran.dg/goacc/coarray.f95: Likewise.
      	* gfortran.dg/goacc/continuation-free-form.f95: Likewise.
      	* gfortran.dg/goacc/cray.f95: Likewise.
      	* gfortran.dg/goacc/critical.f95: Likewise.
      	* gfortran.dg/goacc/data-clauses.f95: Likewise.
      	* gfortran.dg/goacc/data-tree.f95: Likewise.
      	* gfortran.dg/goacc/declare-1.f95: Likewise.
      	* gfortran.dg/goacc/enter-exit-data.f95: Likewise.
      	* gfortran.dg/goacc/fixed-1.f: Likewise.
      	* gfortran.dg/goacc/fixed-2.f: Likewise.
      	* gfortran.dg/goacc/fixed-3.f: Likewise.
      	* gfortran.dg/goacc/fixed-4.f: Likewise.
      	* gfortran.dg/goacc/host_data-tree.f95: Likewise.
      	* gfortran.dg/goacc/if.f95: Likewise.
      	* gfortran.dg/goacc/kernels-tree.f95: Likewise.
      	* gfortran.dg/goacc/list.f95: Likewise.
      	* gfortran.dg/goacc/literal.f95: Likewise.
      	* gfortran.dg/goacc/loop-1.f95: Likewise.
      	* gfortran.dg/goacc/loop-2.f95: Likewise.
      	* gfortran.dg/goacc/loop-3.f95: Likewise.
      	* gfortran.dg/goacc/loop-tree-1.f90: Likewise.
      	* gfortran.dg/goacc/omp.f95: Likewise.
      	* gfortran.dg/goacc/parallel-kernels-clauses.f95: Likewise.
      	* gfortran.dg/goacc/parallel-kernels-regions.f95: Likewise.
      	* gfortran.dg/goacc/parallel-tree.f95: Likewise.
      	* gfortran.dg/goacc/parameter.f95: Likewise.
      	* gfortran.dg/goacc/private-1.f95: Likewise.
      	* gfortran.dg/goacc/private-2.f95: Likewise.
      	* gfortran.dg/goacc/private-3.f95: Likewise.
      	* gfortran.dg/goacc/pure-elemental-procedures.f95: Likewise.
      	* gfortran.dg/goacc/reduction-2.f95: Likewise.
      	* gfortran.dg/goacc/reduction.f95: Likewise.
      	* gfortran.dg/goacc/routine-1.f90: Likewise.
      	* gfortran.dg/goacc/routine-2.f90: Likewise.
      	* gfortran.dg/goacc/sentinel-free-form.f95: Likewise.
      	* gfortran.dg/goacc/several-directives.f95: Likewise.
      	* gfortran.dg/goacc/sie.f95: Likewise.
      	* gfortran.dg/goacc/subarrays.f95: Likewise.
      	* gfortran.dg/gomp/map-1.f90: Likewise.
      	* gfortran.dg/openacc-define-1.f90: Likewise.
      	* gfortran.dg/openacc-define-2.f90: Likewise.
      	* gfortran.dg/openacc-define-3.f90: Likewise.
      	* g++.dg/gomp/block-1.C: Update for changed compiler output.
      	* g++.dg/gomp/block-2.C: Likewise.
      	* g++.dg/gomp/block-3.C: Likewise.
      	* g++.dg/gomp/block-5.C: Likewise.
      	* g++.dg/gomp/target-1.C: Likewise.
      	* g++.dg/gomp/target-2.C: Likewise.
      	* g++.dg/gomp/taskgroup-1.C: Likewise.
      	* g++.dg/gomp/teams-1.C: Likewise.
      	* gcc.dg/cilk-plus/jump-openmp.c: Likewise.
      	* gcc.dg/cilk-plus/jump.c: Likewise.
      	* gcc.dg/gomp/block-1.c: Likewise.
      	* gcc.dg/gomp/block-10.c: Likewise.
      	* gcc.dg/gomp/block-2.c: Likewise.
      	* gcc.dg/gomp/block-3.c: Likewise.
      	* gcc.dg/gomp/block-4.c: Likewise.
      	* gcc.dg/gomp/block-5.c: Likewise.
      	* gcc.dg/gomp/block-6.c: Likewise.
      	* gcc.dg/gomp/block-7.c: Likewise.
      	* gcc.dg/gomp/block-8.c: Likewise.
      	* gcc.dg/gomp/block-9.c: Likewise.
      	* gcc.dg/gomp/target-1.c: Likewise.
      	* gcc.dg/gomp/target-2.c: Likewise.
      	* gcc.dg/gomp/taskgroup-1.c: Likewise.
      	* gcc.dg/gomp/teams-1.c: Likewise.
      	include/
      	* gomp-constants.h: New file.
      	libgomp/
      	* Makefile.am (search_path): Add $(top_srcdir)/../include.
      	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
      	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
      	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
      	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
      	Include $(top_srcdir)/plugin/Makefrag.am.
      	(nodist_libsubinclude_HEADERS): Add openacc.h.
      	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
      	openacc.f90, openacc.mod, openacc_kinds.mod.
      	(omp_lib.mod): Generalize into...
      	(%.mod): ... this new rule.
      	(openacc_kinds.mod, openacc.mod): New rules.
      	* plugin/configfrag.ac: New file.
      	* configure.ac: Move plugin/offloading support into it.  Include
      	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
      	* plugin/Makefrag.am: New file.
      	* testsuite/Makefile.am (OFFLOAD_TARGETS)
      	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
      	export.
      	(libgomp-test-support.exp): New rule.
      	(all-local): Depend on it.
      	* Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      	* config.h.in: Likewise.
      	* configure: Likewise.
      	* configure.tgt: Harden shell syntax.
      	* env.c: Include "oacc-int.h".
      	(parse_acc_device_type): New function.
      	(gomp_debug_var, goacc_device_type, goacc_device_num): New
      	variables.
      	(initialize_env): Initialize those.  Call
      	goacc_runtime_initialize.
      	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
      	(gomp_fatal): Call gomp_vfatal.
      	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
      	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
      	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
      	(splay_tree_node, splay_tree, splay_tree_key)
      	(struct target_mem_desc, struct splay_tree_key_s)
      	(struct gomp_memory_mapping, struct acc_dispatch_t)
      	(struct gomp_device_descr, gomp_acc_insert_pointer)
      	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
      	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
      	(gomp_free_memmap, gomp_fini_device): New declarations.
      	(gomp_vdebug, gomp_debug): New macros.
      	Include "splay-tree.h".
      	* libgomp.map (OACC_2.0): New symbol version.  Use for
      	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
      	acc_set_device_type_h_, acc_get_device_type,
      	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
      	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
      	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
      	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
      	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
      	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
      	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
      	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
      	acc_copyin_array_h_, acc_present_or_copyin,
      	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
      	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
      	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
      	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
      	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
      	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
      	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
      	acc_update_device, acc_update_device_32_h_,
      	acc_update_device_64_h_, acc_update_device_array_h_,
      	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
      	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
      	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
      	acc_is_present_64_h_, acc_is_present_array_h_,
      	acc_memcpy_to_device, acc_memcpy_from_device,
      	acc_get_current_cuda_device, acc_get_current_cuda_context,
      	acc_get_cuda_stream, acc_set_cuda_stream.
      	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
      	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
      	GOACC_update, GOACC_wait, GOACC_get_thread_num,
      	GOACC_get_num_threads.
      	(GOMP_PLUGIN_1.0): New symbol version.  Use for
      	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
      	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
      	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
      	GOMP_PLUGIN_acc_thread.
      	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
      	environment variable.
      	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
      	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
      	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
      	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
      	(splay_tree_remove): New declarations.
      	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
      	(splay_tree_remove, splay_tree_lookup): Move into...
      	* splay-tree.c: ... this new file.
      	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
      	(splay_tree_node, splay_tree, splay_tree_key)
      	(struct target_mem_desc, struct splay_tree_key_s)
      	(struct gomp_device_descr): Don't declare.
      	(num_devices_openmp): New variable.
      	(gomp_get_num_devices ): Use it.
      	(gomp_init_targets_once): New function.
      	(gomp_get_num_devices ): Use it.
      	(get_kind, gomp_copy_from_async, gomp_free_memmap)
      	(gomp_fini_device, gomp_register_image_for_device): New functions.
      	(gomp_map_vars): Add devaddrs parameter.
      	(gomp_update): Add mm parameter.
      	(gomp_init_device): Move most of it into...
      	(gomp_init_tables): ... this new function.
      	(gomp_register_images_for_device): Remove function.
      	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
      	Make them hidden instead of static.
      	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
      	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
      	(GOMP_target_end_data, GOMP_target_update)
      	(gomp_load_plugin_for_device, gomp_target_init): Update for
      	OpenACC changes.
      	* oacc-async.c: New file.
      	* oacc-cuda.c: Likewise.
      	* oacc-host.c: Likewise.
      	* oacc-init.c: Likewise.
      	* oacc-int.h: Likewise.
      	* oacc-mem.c: Likewise.
      	* oacc-parallel.c: Likewise.
      	* oacc-plugin.c: Likewise.
      	* oacc-plugin.h: Likewise.
      	* oacc-ptx.h: Likewise.
      	* openacc.f90: Likewise.
      	* openacc.h: Likewise.
      	* openacc_lib.h: Likewise.
      	* plugin/plugin-host.c: Likewise.
      	* plugin/plugin-nvptx.c: Likewise.
      	* libgomp-plugin.c: Likewise.
      	* libgomp-plugin.h: Likewise.
      	* libgomp_target.h: Remove file after merging content into the
      	former file.  Update all users.
      	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
      	(offload_targets_s, offload_targets_s_openacc): New variables.
      	(check_effective_target_openacc_nvidia_accel_present)
      	(check_effective_target_openacc_nvidia_accel_selected): New
      	procedures.
      	(libgomp_init): Update for OpenACC changes.
      	* testsuite/libgomp-test-support.exp.in: New file.
      	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
      	* testsuite/libgomp.oacc-c/c.exp: Likewise.
      	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
      	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
      	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
      	liboffloadmic/
      	* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_get_name)
      	(GOMP_OFFLOAD_get_caps, GOMP_OFFLOAD_fini_device): New functions.
      
      Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Dmitry Bocharnikov <dmitry.b@samsung.com>
      Co-Authored-By: Evgeny Gavrin <e.gavrin@samsung.com>
      Co-Authored-By: Ilmir Usmanov <i.usmanov@samsung.com>
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      Co-Authored-By: James Norris <jnorris@codesourcery.com>
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r219682
      Thomas Schwinge committed
  26. 09 Jan, 2015 1 commit
    • genattrtab.c (write_header): Include hash-set.h... · 40e23961
      2015-01-09  Michael Collison  <michael.collison@linaro.org>
      	
      	* genattrtab.c (write_header): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-attrtab.c.
      	* genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-automata.c.
      	* genemit.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-emit.c.
      	* gengtype.c (open_base_files): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	gtype-desc.c.
      	* genopinit.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-opinit.c.
      	* genoutput.c (output_prologue): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-output.c.
      	* genpeep.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-peep.c.
      	* genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-preds.c.
      	* optc-save-gen-awk: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	options-save.c.
      	* opth-gen.awk: Change include guard from GCC_C_COMMON_H to GCC_C_COMMON_C
      	when generating options.h.
      	* ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/decl.c: ditto.
      	* ada/gcc-interface/misc.c: ditto.
      	* ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
      	fold-const.h, wide-int.h, inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/utils2.c: ditto.
      	* alias.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* asan.c: ditto.
      	* attribs.c: ditto.
      	* auto-inc-dec.c: ditto.
      	* auto-profile.c: ditto
      	* bb-reorder.c: ditto.
      	* bt-load.c: Include symtab.h due to flattening of tree.h.
      	* builtins.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c/c-array-notation.c: ditto.
      	* c/c-aux-info.c: ditto.
      	* c/c-convert.c: ditto.
      	* c/c-decl.c: ditto.
      	* c/c-errors.c: ditto.
      	* c/c-lang.c: dittoxs.
      	* c/c-objc-common.c: ditto.
      	* c/c-parser.c: ditto.
      	* c/c-typeck.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* calls.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ccmp.c: ditto.
      	* c-family/array-notation-common.c: ditto.
      	* c-family/c-ada-spec.c: ditto.
      	* c-family/c-cilkplus.c: ditto.
      	* c-family/c-common.c: Include input.h due to flattening of tree.h.
      	Define macro GCC_C_COMMON_C.
      	* c-family/c-common.h: Flatten tree.h header files into c-common.h.
      	Remove include of tree-core.h.
      	* c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-dump.c: ditto.
      	* c-family/c-format.c: Flatten tree.h header files into c-common.h.
      	* c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-dump.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-format.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, inchash.h and real.h due to
      	flattening of tree.h.
      	* c-family/c-gimplify.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/cilk.c: ditto.
      	* c-family/c-lex.c: ditto.
      	* c-family/c-omp.c: ditto.
      	* c-family/c-opts.c: ditto.
      	* c-family/c-pch.c: ditto.
      	* c-family/c-ppoutput.c: ditto.
      	* c-family/c-pragma.c: ditto.
      	* c-family/c-pretty-print.c: ditto.
      	* c-family/c-semantics.c: ditto.
      	* c-family/c-ubsan.c: ditto.
      	* c-family/stub-objc.c: ditto.
      	* cfgbuild.c: ditto.
      	* cfg.c: ditto.
      	* cfgcleanup.c: ditto.
      	* cfgexpand.c: ditto.
      	* cfghooks.c: ditto.
      	* cfgloop.c: Include symtab.h, fold-const.h, and
      	inchash.h due to flattening of tree.h.
      	* cfgloopmanip.c: ditto.
      	* cfgrtl.c:  Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* cgraphbuild.c: ditto.
      	* cgraph.c: ditto.
      	* cgraphclones.c: ditto.
      	* cgraphunit.c: ditto.
      	* cilk-common.c: ditto.
      	* combine.c: ditto.
      	* combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
      	* config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/aarch64/aarch64.c: ditto.
      	* config/alpha/alpha.c: ditto.
      	* config/arc/arc.c: ditto.
      	* config/arm/aarch-common.c: ditto.
      	* config/arm/arm-builtins.c: ditto.
      	* config/arm/arm.c: ditto.
      	* config/arm/arm-c.c: ditto.
      	* config/avr/avr.c: ditto.
      	* config/avr/avr-c.c: ditto.
      	* config/avr/avr-log.c: ditto.
      	* config/bfin/bfin.c: ditto.
      	* config/c6x/c6x.c: ditto.
      	* config/cr16/cr16.c: ditto.
      	* config/cris/cris.c: ditto.
      	* config/darwin.c: ditto.
      	* config/darwin-c.c: ditto.
      	* config/default-c.c: ditto.
      	* config/epiphany/epiphany.c: ditto.
      	* config/fr30/fr30.c: ditto.
      	* config/frv/frv.c: ditto.
      	* config/glibc-c.c: ditto.
      	* config/h8300/h8300.c: ditto.
      	* config/i386/i386.c: ditto.
      	* config/i386/i386-c.c: ditto.
      	* config/i386/msformat.c: ditto.
      	* config/i386/winnt.c: ditto.
      	* config/i386/winnt-cxx.c: ditto.
      	* config/i386/winnt-stubs.c: ditto.
      	* config/ia64/ia64.c: ditto.
      	* config/ia64/ia64-c.c: ditto.
      	* config/iq2000/iq2000.c: ditto.
      	* config/lm32/lm32.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/m32c/m32c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/m32c/m32c-pragma.c: ditto.
      	* config/m32c/m32cr.c: ditto.
      	* config/m68/m68k.c: ditto.
      	* config/mcore/mcore.c: ditto.
      	* config/mep/mep.c: ditto.
      	* config/mep/mep-pragma.c: ditto.
      	* config/microblaze/microblaze.c: ditto.
      	* config/microblaze/microblaze-c.c: ditto.
      	* config/mips/mips.c: ditto.
      	* config/mmix/mmix.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/moxie/moxie.c: ditto.
      	* config/msp430/msp430.c: ditto.
      	* config/msp430/msp430-c.c: ditto.
      	* config/nds32/nds32.c: ditto.
      	* config/nds32/nds32-cost.c: ditto.
      	* config/nds32/nds32-fp-as-gp.c: ditto.
      	* config/nds32/nds32-intrinsic.c: ditto.
      	* config/nds32/nds32-isr.c: ditto.
      	* config/nds32/nds32-md-auxillary.c: ditto.
      	* config/nds32/nds32-memory-manipulationx.c: ditto.
      	* config/nds32/nds32-pipelines-auxillary.c: ditto.
      	* config/nds32/nds32-predicates.c: ditto.
      	* config/nios2/nios2.c: ditto.
      	* config/nvptx/nvptx.c: ditto.
      	* config/pa/pa.c: ditto.
      	* config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/rl78/rl78.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/rl78/rl78-cx.c: ditto.
      	* config/rs6000/rs6000.c: ditto.
      	* config/rs6000/rs6000-c.c: ditto.
      	* config/rx/rx.c: ditto.
      	* config/s390/s390.c: ditto.
      	* config/sh/sh.c: ditto.
      	* config/sh/sc.c: ditto.
      	* config/sh/sh-mem.cc: ditto.
      	* config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
      	due to flattening of tree.h.
      	Remove include of tree-core.h.
      	* config/sol2.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/sol2-c.c: ditto.
      	* config/sol2-cxx.c: ditto.
      	* config/sol2-stubs.c: ditto.
      	* config/sparc/sparc.c: ditto.
      	* config/sparc/sparc-cx.c: ditto.
      	* config/spu/spu.c: ditto.
      	* config/spu/spu-c.c: ditto
      	* config/storym16/stormy16.c: ditto.
      	* config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
      	* config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/v850/v850.c: ditto.
      	* config/v850/v850-c.c: ditto.
      	* config/vax/vax.c: ditto.
      	* config/vms/vms.c: ditto.
      	* config/vms/vms-c.c: ditto.
      	* config/vxworks.c: ditto.
      	* config/winnt-c.c: ditto.
      	* config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* coverage.c: ditto.
      	* cp/call.c: ditto.
      	* cp/class.c: ditto.
      	* cp/constexpr.c: ditto.
      	* cp/cp-array-notation.c: ditto.
      	* cp/cp-gimplify.c: ditto.
      	* cp/cp-lang.c: ditto.
      	* cp/cp-objcp-common.c: ditto.
      	* cp/cvt.c: ditto.
      	* cp/decl2.c: ditto.
      	* cp/decl.c: ditto.
      	* cp/dump.c: ditto.
      	* cp/error.c: ditto.
      	* cp/except.c: ditto.
      	* cp/expr.c: ditto.
      	* cp/friend.c: ditto.
      	* cp/init.c: ditto.
      	* cp/lambda.c: ditto.
      	* cp/lex.c: ditto.
      	* cp/mangle.c: ditto.
      	* cp/name-lookup.c: ditto.
      	* cp/optimize.c: ditto.
      	* cp/parser.c: ditto.
      	* cp/pt.c: ditto.
      	* cp/ptree.c: ditto.
      	* cp/repo.c: ditto.
      	* cp/rtti.c: ditto.
      	* cp/search.c: ditto.
      	* cp/semantics.c: ditto.
      	* cp/tree.c: ditto.
      	* cp/typeck2.c: ditto.
      	* cp/typeck.c: ditto.
      	* cppbuiltin.c: ditto.
      	* cprop.c: ditto.
      	* cse.c: Add include of symtab.h due to flattening of tree.h.
      	* cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* data-streamer.c: ditto.
      	* data-streamer-in.c: ditto.
      	* data-streamer-out.c: ditto.
      	* dbxout.c: ditto.
      	* dce.c: ditto.
      	* ddg.c: Add include of symtab.h due to flattening of tree.h.
      	* debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* dfp.c: ditto.
      	* df-scan.c: ditto.
      	* dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* double-int.c: ditto.
      	* dse.c: ditto.
      	* dumpfile.c: ditto.
      	* dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* dwarf2cfi.c: ditto.
      	* dwarf2out.c: ditto.
      	* emit-rtl.c: ditto.
      	* except.c: ditto.
      	* explow.c: ditto.
      	* expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* expr.c: ditto.
      	* final.c: ditto.
      	* fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
      	* fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	Relocate inline function convert_to_ptrofftype_loc from tree.h.
      	Relocate inline function fold_build_pointer_plus_loc from tree.h.
      	Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
      	* fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
      	Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
      	Relocate macro fold_build_pointer_plus_hwi from tree.h.
      	Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
      	Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
      	Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
      	* fortran/convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/decl.c: ditto.
      	* fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/iresolve.c: ditto.
      	* fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/options.c: ditto.
      	* fortran/target-memory.c: Include hash-set.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-const.c: ditto.
      	* fortran/trans-decl.c: ditto.
      	* fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-openmp.c: ditto.
      	* fortran/trans-stmt.c: ditto.
      	* fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gcc-plugin.h: Include statistics.h, double-int.h, real.h, fixed-value.h,
      	alias.h, flags.h, and symtab.h due to flattening of tree.h
      	* gcse.c: ditto.
      	* generic-match-head.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimple-builder.c: ditto.
      	* gimple.c: ditto.
      	* gimple-expr.c: ditto.
      	* gimple-fold.c: ditto.
      	* gimple-iterator.c: ditto.
      	* gimple-low.c: ditto.
      	* gimple-match-head.c: ditto.
      	* gimple-pretty-print.c: ditto.
      	* generic-ssa-isolate-paths.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimple-ssa-strength-reduction.c: ditto.
      	* gimple-streamer-in.c: ditto.
      	* gimple-streamer-out.c: ditto.
      	* gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimplify-me.c: ditto.
      	* go/go-gcc.cc: ditto.
      	* go/go-lang.c: ditto.
      	* go/gdump.c: ditto.
      	* graphite-blocking.c: ditto.
      	* graphite.c: ditto.
      	* graphite-dependencies.c: ditto.
      	* graphite-interchange.c: ditto.
      	* graphite-isl-ast-to-gimple.c: ditto.
      	* graphite-optimize-isl.c: ditto.
      	* graphite-poly.c: ditto.
      	* graphite-scop-detection.c: ditto.
      	* graphite-sese-to-poly.c: ditto.
      	* hw-doloop.c: Include symtab.h due to flattening of tree.h.
      	* ifcvt.c: ditto.
      	* init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa.c: ditto.
      	* ipa-chkp.c: ditto.
      	* ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-icf-gimple.c: ditto.
      	* ipa-inline-analysis.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-inline.c: ditto.
      	* ipa-inline-transform.c: ditto.
      	* ipa-polymorhpic-call.c: ditto.
      	* ipa-profile.c: ditto.
      	* ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-reference.c: ditto.
      	* ipa-split.c: ditto.
      	* ipa-utils.c: ditto.
      	* ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ira.c: ditto.
      	* ira-color.c: Include hash-set.h due to flattening of tree.h.
      	* ira-costs.c: ditto.
      	* ira-emit.c: ditto.
      	* java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/builtins.c: ditto.
      	* java/class.c: ditto.
      	* java/constants.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/decl.c: ditto.
      	* java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h,inchash.h and real.h due to flattening of tree.h.
      	* java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/jcf-dump.c: ditto.
      	* java/jcf-io.c: ditto.
      	* java/jcf-parse.c: ditto.
      	* java/jvgenmain.c: ditto.
      	* java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/mangle_name.c: ditto.
      	* java/resource.c: ditto.
      	* java/typeck.c: ditto.
      	* java/verify-glue.c: ditto.
      	* java/verify-impl.c: ditto.
      	* jump.c: Include symtab.h due to flattening of tree.h.
      	* langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* loop-doloop.c: Include symtab.h due to flattening of tree.h.
      	* loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* loop-invariant.c: Include symtab.h due to flattening of tree.h.
      	* loop-iv.c: ditto.
      	* loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lower-subreg.c: ditto.
      	* lra-assigns.c: Include symtab.h due to flattening of tree.h.
      	* lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* lra-coalesce.c: Include symtab.h due to flattening of tree.h.
      	* lra-constraints.c: ditto.
      	* lra-eliminations.c: ditto.
      	* lra-livesc: ditto.
      	* lra-remat.c: ditto.
      	* lra-spills.c: ditto.
      	* lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-partition.c: ditto.
      	* lto/lto-symtab.c: ditto.
      	* lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-opts.c: ditto.
      	* lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-section-out.c: ditto.
      	* lto-streamer.c: ditto.
      	* lto-streamer-in.c: ditto.
      	* lto-streamer-out.c: ditto.
      	* modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* objc/objc-encoding.c: ditto.
      	* objc/objc-gnu-runtime-abi-01.c: ditto.
      	* objc/objc-lang.c: ditto.
      	* objc/objc-map.c: ditto.
      	* objc/objc-next-runtime-abi-01.c: ditto.
      	* objc/objc-next-runtime-abi-02.c: ditto.
      	* objc/objc-runtime-shared-support.c: ditto.
      	* objcp/objcp-decl.c: ditto.
      	* objcp/objcp-lang.c: ditto.
      	* omega.c: ditto.
      	* omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* optabs.c: ditto.
      	* opts-global.c: ditto.
      	* passes.c: ditto.
      	* plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* postreload.c: Include symtab.h due to flattening of tree.h.
      	* postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* predict.c: ditto.
      	* print-rtl.c: ditto.
      	* print-tree.c: ditto.
      	* profile.c: Include symtab.h, fold-const.h
      	and inchash.h due to flattening of tree.h.
      	* real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* ree.c: ditto.
      	* reginfo.c: ditto.
      	* reg-stack.c: ditto.
      	* reload1.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* reload.c: Include symtab.h due to flattening of tree.h.
      	* reorg.c: ditto.
      	* rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* rtlhooks.c: Include symtab.h due to flattening of tree.h.
      	* sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* sched-vis.c: ditto.
      	* sdbout.c: ditto.
      	* sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* sel-sched-ir.c: ditto.
      	* sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* stack-ptr-mod.c: ditto.
      	* stmt.c: ditto.
      	* store-motion.c: ditto.
      	* store-layout.c: ditto.
      	* stringpool.c: ditto.
      	* symtab.c: ditto.
      	* target-globals.c: ditto.
      	* targhooks.c: ditto.
      	* toplev.c: ditto.
      	* tracer.c: ditto.
      	* trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-affine.c: ditto.
      	* tree-browser.c: ditto.
      	* tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
      	fold-const.h, wide-int.h, inchash.h and real.h due to
      	flattening of tree.h.
      	* tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-cfgcleanup.c: ditto.
      	* tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-chkp-opt.c: ditto.
      	* tree-chrec.c: ditto.
      	* tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-core.h: Flatten header file by removing all #include statements.
      	* tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-diagnostic.c: ditto.
      	* tree-dump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* tree-dfa.c: ditto.
      	* tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree.h: Flatten header files by removing all includes except tree-core.h.
      	Remove inline function convert_to_ptrofftype_loc to relocate to fold-const.c.
      	Remove macro convert_to_ptrofftype to relocate to fold-const.h.
      	Remove inline function fold_build_pointer_plus_loc to relocate to fold-const.c.
      	Remove macro fold_build_pointer_plus to relocate to fold-const.h.
      	Remove inline function fold_build_pointer_plus_hwi_loc to relocate to fold-const.c.
      	Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
      	* tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* tree-inline.c: ditto.
      	* tree-into-ssa.c: ditto.
      	* tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-loop-distribution.c: ditto.
      	* tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-nrv.c: ditto.
      	* tree-object-size.c: ditto.
      	* tree-outof-ssa.c: ditto.
      	* tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-phinodes.c: ditto.
      	* tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-pretty-print.c: ditto.
      	* tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-sra.c: Include  vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa.c: ditto.
      	* tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
      	and real.h due to flattening of tree.h.
      	* tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa-copy.c: ditto.
      	* tree-ssa-copyrename.c: ditto.
      	* tree-ssa-dce.c: ditto.
      	* tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
      	and real.h due to flattening of tree.h.
      	* tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa-forwprop.c: ditto.
      	* tree-ssa-ifcombine.c: ditto.
      	* tree-ssa-live.c: ditto.
      	* tree-ssa-loop.c: ditto.
      	* tree-ssa-loop-ch.c: ditto.
      	* tree-ssa-loop-im.c: ditto.
      	* tree-ssa-loop-ivcanon.c: ditto.
      	* tree-ssa-loop-ivopts.c: ditto.
      	* tree-ssa-loop-manip.c: ditto.
      	* tree-ssa-loop-niter.c: ditto.
      	* tree-ssa-loop-prefetch.c: ditto.
      	* tree-ssa-loop-unswitch.c: ditto.
      	* tree-ssa-loop-math-opts.c: ditto.
      	* tree-ssanames.c: ditto.
      	* tree-ssa-operands.c: ditto.
      	* tree-ssa-phiopt.c: ditto.
      	* tree-ssa-phiprop.c: ditto.
      	* tree-ssa-pre.c: ditto.
      	* tree-ssa-propagate.c: ditto.
      	* tree-ssa-reassoc.c: ditto.
      	* tree-ssa-sccvn.c: ditto.
      	* tree-ssa-sink.c: ditto.
      	* tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-ter.c: ditto.
      	* tree-ssa-threadedge.c: ditto.
      	* tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-uninit.c: ditto.
      	* tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
      	symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
      	of tree.h.
      	* tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
      	symtab.h, options.h, fold-const.h, wide-int.h and
      	inchash.h due to flattening of tree.h.
      	* tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
      	of tree.h.
      	* tree-streamer-out.c: dittoo.
      	* tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-tailcall.c: ditto.
      	* tree-vect-data-refs.c: ditto.
      	* tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, input.h,
      	alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-vect-loop-manip.c: ditto.
      	* tree-vectorizer.c: ditto.
      	* tree-vect-patterns.c: ditto.
      	* tree-vect-slp.c: ditto.
      	* tree-vect-stmts.c: ditto.
      	* tree-vrp.c: ditto.
      	* tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* ubsan.c: ditto.
      	* value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* varasm.c: ditto.
      	* varpool.c: ditto.
      	* var-tracking.c: ditto.
      	* vmsdbgout.c: ditto.
      	* vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* xcoffout.c: ditto.
      	* libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      
      From-SVN: r219402
      Michael Collison committed
  27. 05 Jan, 2015 1 commit
  28. 16 Dec, 2014 1 commit
    • re PR fortran/54687 (Use gcc option machinery for gfortran) · c61819ff
      2014-12-16  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54687
              * gfortran.h (gfc_option_t): Remove flags which now
              have a Var().
              * lang.opt (flag-aggressive_function_elimination,
              flag-align_commons, flag-all_intrinsics,
              flag-allow_leading_underscore, flag-automatic, flag-backslash,
              flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer,
              flag-dollar_ok, flag-dump_fortran_original,
              flag-dump_fortran_optimized, flag-external_blas, flag-f2c,
              flag-implicit_none, flag-max_array_constructor,
              flag-module_private, flag-pack_derived, flag-range_check,
              flag-recursive, flag-repack_arrays, flag-sign_zero,
              flag-underscoring): Add Var() and, where applicable, Enum().
              * options.c (gfc_init_options, gfc_post_options,
              gfc_handle_option): Update for *.opt changes.
              * arith.c: Update for flag-variable name changes.
              * array.c: Ditto.
              * cpp.c: Ditto.
              * decl.c: Ditto.
              * expr.c: Ditto.
              * f95-lang.c: Ditto.
              * frontend-passes.c: Ditto.
              * intrinsic.c: Ditto.
              * io.c: Ditto.
              * match.c: Ditto.
              * module.c: Ditto.
              * parse.c: Ditto.
              * primary.c: Ditto.
              * resolve.c: Ditto.
              * scanner.c: Ditto.
              * simplify.c: Ditto.
              * symbol.c: Ditto.
              * trans-array.c: Ditto.
              * trans-common.c: Ditto.
              * trans-decl.c: Ditto.
              * trans-expr.c: Ditto.
              * trans-intrinsic.c: Ditto.
              * trans-openmp.c: Ditto.
              * trans-types.c: Ditto.
      
      From-SVN: r218792
      Tobias Burnus committed
  29. 11 Nov, 2014 1 commit
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · 3aa34c1d
      re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
      
      libcpp/ChangeLog:
      
      2014-11-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* include/line-map.h (linemap_position_for_loc_and_offset):
      	Declare.
      	* line-map.c (linemap_position_for_loc_and_offset): New.
      
      
      gcc/fortran/ChangeLog:
      
      2014-11-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* gfortran.h (warn_use_without_only): Remove.
      	(gfc_diagnostics_finish): Declare.
      	* error.c: Include tree-diagnostics.h
      	(gfc_format_decoder): New.
      	(gfc_diagnostics_init): Use gfc_format_decoder. Set default caret
      	char.
      	(gfc_diagnostics_finish): Restore tree diagnostics defaults, but
      	keep gfc_diagnostics_starter and finalizer. Restore default caret.
      	* options.c: Remove all uses of warn_use_without_only.
      	* lang.opt (Wuse-without-only): Add Var.
      	* f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish.
      	* module.c (gfc_use_module): Use gfc_warning_now_2.
      	* parse.c (decode_statement): Likewise.
      	(decode_gcc_attribute): Likewise.
      	(next_free): Likewise.
      	(next_fixed): Likewise.
      
      
      gcc/testsuite/ChangeLog:
      
      2014-11-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      	* lib/gfortran-dg.exp: Update regexp to match locus and message
      	without caret.
      	* gfortran.dg/use_without_only_1.f90: Add column numbers.
              * gfortran.dg/warnings_are_errors_1.f: Update.
      
      From-SVN: r217383
      Manuel López-Ibáñez committed
  30. 04 Nov, 2014 1 commit
  31. 28 Oct, 2014 1 commit
    • cgraph.h: Flatten. · c582198b
      	* cgraph.h: Flatten.  Remove all include files.
      	(symbol_table::initialize): Move to cgraph.c.
      	* cgraph.c: Adjust include files.
      	(symbol_table::initialize): Relocate from cgraph.h.
      	* gengtype.c (open_base_files): Adjust include files.
      	* gccplugin.h: Add hash-map.h, is-a.h, plugin-api.h, and ipa-ref.h to
      	included files.
      	* ipa-inline.h: Remove all include files.
      	* ipa-prop.h: Ditto.
      	* ipa-reference.h: Ditto.
      	* ipa-utils.h: Ditto:
      	* lto-streamer.h: Remove cgraph.h from include list.
      	* asan.c: Adjust include files.
      	* auto-profile.c: Ditto.
      	* bb-reorder.c: Ditto.
      	* calls.c: Ditto.
      	* cfgexpand.c: Ditto.
      	* cgraphbuild.c: Ditto.
      	* cgraphclones.c: Ditto.
      	* cgraphunit.c: Ditto.
      	* combine.c: Ditto.
      	* coverage.c: Ditto.
      	* data-streamer.c: Ditto.
      	* data-streamer-in.c: Ditto.
      	* data-streamer-out.c: Ditto.
      	* dbxout.c: Ditto.
      	* dwarf2out.c: Ditto.
      	* except.c: Ditto.
      	* expr.c: Ditto.
      	* final.c: Ditto.
      	* fold-const.c: Ditto.
      	* ggc-page.c: Ditto.
      	* gimple-fold.c: Ditto.
      	* gimple-iterator.c: Ditto.
      	* gimple-pretty-print.c: Ditto.
      	* gimple-streamer-in.c: Ditto.
      	* gimple-streamer-out.c: Ditto.
      	* gimplify.c: Ditto.
      	* ipa.c: Ditto.
      	* ipa-comdats.c: Ditto.
      	* ipa-cp.c: Ditto.
      	* ipa-devirt.c: Ditto.
      	* ipa-icf.c: Ditto.
      	* ipa-icf-gimple.c: Ditto.
      	* ipa-inline-analysis.c: Ditto.
      	* ipa-inline.c: Ditto.
      	* ipa-inline-transform.c: Ditto.
      	* ipa-polymorphic-call.c: Ditto.
      	* ipa-profile.c: Ditto.
      	* ipa-prop.c: Ditto.
      	* ipa-pure-const.c: Ditto.
      	* ipa-ref.c: Ditto.
      	* ipa-reference.c: Ditto.
      	* ipa-split.c: Ditto.
      	* ipa-utils.c: Ditto.
      	* ipa-visibility.c: Ditto.
      	* langhooks.c: Ditto.
      	* lto-cgraph.c: Ditto.
      	* lto-compress.c: Ditto.
      	* lto-opts.c: Ditto.
      	* lto-section-in.c: Ditto.
      	* lto-section-out.c: Ditto.
      	* lto-streamer.c: Ditto.
      	* lto-streamer-in.c: Ditto.
      	* lto-streamer-out.c: Ditto.
      	* omp-low.c: Ditto.
      	* opts-global.c: Ditto.
      	* passes.c: Ditto.
      	* predict.c: Ditto.
      	* print-tree.c: Ditto.
      	* profile.c: Ditto.
      	* ree.c: Ditto.
      	* stor-layout.c: Ditto.
      	* symtab.c: Ditto.
      	* toplev.c: Ditto.
      	* trans-mem.c: Ditto.
      	* tree.c: Ditto.
      	* tree-cfg.c: Ditto.
      	* tree-eh.c: Ditto.
      	* tree-emutls.c: Ditto.
      	* tree-inline.c: Ditto.
      	* tree-nested.c: Ditto.
      	* tree-pretty-print.c: Ditto.
      	* tree-profile.c: Ditto.
      	* tree-sra.c: Ditto.
      	* tree-ssa-alias.c: Ditto.
      	* tree-ssa-loop-ivcanon.c: Ditto.
      	* tree-ssa-loop-ivopts.c: Ditto.
      	* tree-ssa-pre.c: Ditto.
      	* tree-ssa-structalias.c: Ditto.
      	* tree-streamer.c: Ditto.
      	* tree-streamer-in.c: Ditto.
      	* tree-streamer-out.c: Ditto.
      	* tree-switch-conversion.c: Ditto.
      	* tree-tailcall.c: Ditto.
      	* tree-vect-data-refs.c: Ditto.
      	* tree-vectorizer.c: Ditto.
      	* tree-vect-stmts.c: Ditto.
      	* tsan.c: Ditto.
      	* ubsan.c: Ditto.
      	* value-prof.c: Ditto.
      	* varasm.c: Ditto.
      	* varpool.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* config/bfin/bfin.c: Ditto.
      	* config/c6x/c6x.c: Ditto.
      	* config/cris/cris.c: Ditto.
      	* config/darwin.c: Ditto.
      	* config/darwin-c.c: Ditto.
      	* config/i386/i386.c: Ditto.
      	* config/i386/winnt.c: Ditto.
      	* config/microblaze/microblaze.c: Ditto.
      	* config/mips/mips.c: Ditto.
      	* config/rs6000/rs6000.c: Ditto.
      	* config/rx/rx.c: Ditto.
      
      	* ada/gcc-interface/trans.c: Adjust include files.
      	* ada/gcc-interface/utils.c: Ditto.
      
      	* c/c-decl.c: Adjust include files.
      	* c/c-parser.c: Ditto.
      
      	* c-family/c-common.c: Adjust include files.
      	* c-family/c-gimplify.c: Ditto.
      	* c-family/cilk.c: Ditto.
      	* c-family/c-pragma.c: Ditto.
      	* c-family/c-ubsan.c: Ditto.
      
      	* cp/call.c: Adjust include files.
      	* cp/class.c: Ditto.
      	* cp/decl2.c: Ditto.
      	* cp/decl.c: Ditto.
      	* cp/lambda.c: Ditto.
      	* cp/mangle.c: Ditto.
      	* cp/method.c: Ditto.
      	* cp/optimize.c: Ditto.
      	* cp/parser.c: Ditto.
      	* cp/semantics.c: Ditto.
      	* cp/tree.c: Ditto.
      	* cp/vtable-class-hierarchy.c: Ditto.
      
      	* fortran/f95-lang.c: Adjust include files.
      	* fortran/trans-decl.c: Ditto.
      
      	* go/go-gcc.cc: Adjust include files.
      
      	* java/class.c: Adjust include files.
      	* java/decl.c: Ditto.
      	* java/jcf-parse.c: Ditto.
      	* java/resource.c: Ditto.
      
      	* lto/lto.c: Adjust include files.
      	* lto/lto-lang.c: Ditto.
      	* lto/lto-object.c: Ditto.
      	* lto/lto-partition.c: Ditto.
      	* lto/lto-symtab.c: Ditto.
      
      	* objc/objc-act.c: Adjust include files.
      
      From-SVN: r216805
      Andrew MacLeod committed
  32. 16 Oct, 2014 1 commit
    • function.h: Flatten file. · 83685514
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* function.h: Flatten file.  Remove includes, adjust prototypes to 
      	reflect only what is in function.h.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Relocate
      	from expr.h.
      	(ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Relocate from rtl.h.
      	(optimize_function_for_size_p, optimize_function_for_speed_p): Move
      	prototypes to predict.h.
      	(init_varasm_status): Move prototype to varasm.h.
      	* expr.h: Adjust include files.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Move
      	to function.h.
      	(locate_and_pad_parm): Move prototype to function.h.
      	* rtl.h: (assign_stack_local, ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD,
      	assign_stack_local_1, assign_stack_temp, assign_stack_temp_for_type,
      	assign_temp, reposition_prologue_and_epilogue_notes,
      	prologue_epilogue_contains, sibcall_epilogue_contains,
      	update_temp_slot_address, maybe_copy_prologue_epilogue_insn,
      	set_return_jump_label): Move prototypes to function.h.
      	* predict.h (optimize_function_for_size_p,
      	optimize_function_for_speed_p): Relocate prototypes from function.h.
      	* shrink-wrap.h (emit_return_into_block, active_insn_between,
      	convert_jumps_to_returns, emit_return_for_exit): Move prototypes to
      	function.h.
      	* varasm.h (init_varasm_status): Relocate prototype from function.h.
      	* genattrtab.c (write_header): Add predict.h to include list.
      	* genconditions.c (write_header): Add predict.h to include list.
      	* genemit.c (main): Adjust header file includes.
      	* gengtype.c (ifiles): Add flattened function.h header files.
      	* genoutput.c (output_prologue): Add predict.h to include list.
      	* genpreds.c (write_insn_preds_c): Adjust header file includes.
      	* genrecog.c (write_header): Add flattened function.h header files.
      	* alias.c: Adjust include files.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbxout.c: Likewise.
      	* ddg.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dojump.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-streamer.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* passes.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* symtab.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* testsuite/g++.dg/plugin/pragma_plugin.c: Adjust include files.
      	* config/aarch64/aarch64.c: Add flattened includes from function.h.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/score/score.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* ada/gcc-interface/misc.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c/c-decl.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-pragma.c: Adjust include files.
      	* c-family/c-semantics.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp/cp-tree.h: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* fortran/f95-lang.c: Adjust include files.
      	* fortran/trans-decl.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/class.c: Adjust include files.
      	* java/resource.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc/objc-act.c: Adjust include files.
      
      From-SVN: r216337
      Andrew MacLeod committed
  33. 09 Oct, 2014 1 commit
    • f95-lang.c (gfc_init_builtin_functions): Add more floating-point built-ins. · 3b7ea188
      	* f95-lang.c (gfc_init_builtin_functions): Add more floating-point
      	built-ins.
      	* mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
      	remainder, rint and signbit.
      	* trans-decl.c (save_fp_state, restore_fp_state): Move to
      	trans-intrinsic.c
      	(gfc_generate_function_code): Use new names for these two functions.
      	* trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
      	emit code from the front-end.
      	* trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
      	conv_ieee_function_args, conv_intrinsic_ieee_builtin,
      	conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
      	conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
      	conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
      	conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
      	New functions.
      	* trans.h (gfc_conv_ieee_arithmetic_function,
      	gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
      
      	* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
      	ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
      	ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
      	ieee_rem_*, ieee_next_after_*): Remove functions.
      	* gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
      
      From-SVN: r216036
      Francois-Xavier Coudert committed
  34. 20 Sep, 2014 1 commit
    • trans-expr.c (gfc_reset_vptr): Fix comment whitespace. · 1cc0e193
      2014-09-20  Joost VandeVondele  <vondele@gcc.gnu.org>
      
      	* trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
      	(gfc_conv_class_to_class): Likewise.
      	(gfc_conv_procedure_call): Likewise.
      	(arrayfunc_assign_needs_temporary): Likewise.
      	(realloc_lhs_loop_for_fcn_call): Likewise.
      	(gfc_trans_assignment_1): Likewise.
      	* trans-array.c (gfc_conv_array_ref): Likewise.
      	(gfc_array_allocate): Likewise.
      	(gfc_alloc_allocatable_for_assignment): Likewise.
      	* symbol.c (generate_isocbinding_symbol): Likewise.
      	* class.c (finalization_scalarizer): Likewise.
      	(finalizer_insert_packed_call): Likewise.
      	(generate_finalization_wrapper): Likewise.
      	(find_intrinsic_vtab): Likewise.
      	* decl.c (gfc_match_import): Likewise.
      	(match_procedure_decl): Likewise.
      	(gfc_match_subroutine): Likewise.
      	(gfc_match_bind_c): Likewise.
      	(gfc_match_volatile): Likewise.
      	* trans-common.c (create_common): Likewise.
      	* error.c (gfc_diagnostic_starter): Likewise.
      	* trans-stmt.c (gfc_trans_sync): Likewise.
      	(gfc_trans_critical): Likewise.
      	(gfc_trans_simple_do): Likewise.
      	(gfc_trans_do): Likewise.
      	(gfc_trans_where_assign): Likewise.
      	* expr.c (gfc_is_simply_contiguous): Likewise.
      	* module.c (unquote_string): Likewise.
      	* trans.c (gfc_add_finalizer_call): Likewise.
      	* trans-types.c (gfc_init_kinds): Likewise.
      	* scanner.c (preprocessor_line): Likewise.
      	* gfortranspec.c (lang_specific_driver): Likewise.
      	* frontend-passes.c (create_var): Likewise.
      	(cfe_expr_0): Likewise.
      	* resolve.c (check_host_association): Likewise.
      	(gfc_resolve_code): Likewise.
      	(resolve_fl_derived0): Likewise.
      	(resolve_symbol): Likewise.
      	* f95-lang.c (poplevel): Likewise.
      	* trans-decl.c (create_main_function): Likewise.
      	* trans-io.c (transfer_expr): Likewise.
      	* arith.c (gfc_arith_divide): Likewise.
      	* parse.c (resolve_all_program_units): Likewise.
      	* check.c (gfc_check_rank): Likewise.
      	(gfc_check_sizeof): Likewise.
      	(is_c_interoperable): Likewise.
      	* dependency.c (gfc_dep_difference): Likewise.
      	* primary.c (gfc_match_rvalue): Likewise.
      	* trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
      	(conv_isocbinding_subroutine): Likewise.
      	* options.c (gfc_post_options): Likewise.
      	(gfc_handle_fpe_option): Likewise.
      	(gfc_get_option_string): Likewise.
      	* simplify.c (simplify_transformation_to_scalar): Likewise.
      	(gfc_simplify_spread): Likewise.
      
      From-SVN: r215420
      Joost VandeVondele committed
  35. 15 Aug, 2014 1 commit
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · 8e54f6d3
      re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
      
      2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR fortran/44054
      gcc/
      	* diagnostic.c (build_message_string): Make it extern.
      	* diagnostic.h (build_message_string): Make it extern.
      c-family/
      	* c-format.c: Handle Fortran flags.
      fortran/
      	* gfortran.h: Define GCC_DIAG_STYLE.
      	(gfc_diagnostics_init,gfc_warning_cmdline): Declare.
      	* trans-array.c: Include gfortran.h before diagnostic-core.h.
      	* trans-expr.c: Likewise.
      	* trans-openmp.c: Likewise.
      	* trans-const.c: Likewise.
      	* trans.c: Likewise.
      	* trans-types.c: Likewise.
      	* f95-lang.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-io.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* error.c: Include diagnostic.h and diagnostic-color.h.
      	(gfc_diagnostic_build_prefix): New.
      	(gfc_diagnostic_starter): New.
      	(gfc_diagnostic_finalizer): New.
      	(gfc_warning_cmdline): New.
      	(gfc_diagnostics_init): New.
      	* gfc-diagnostic.def: New.
      	* options.c (gfc_init_options): Call gfc_diagnostics_init.
      	(gfc_post_options): Use gfc_warning_cmdline.
      
      From-SVN: r214024
      Manuel López-Ibáñez committed
  36. 25 Jun, 2014 1 commit
    • langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define. · da6f124d
      	* langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
      	(LANG_HOOKS_DECLS): Add it.
      	* gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
      	has correct type.
      	* tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
      	* langhooks.h (struct lang_hooks_for_decls): Add
      	omp_clause_linear_ctor hook.
      	* omp-low.c (lower_rec_input_clauses): Set max_vf even if
      	OMP_CLAUSE_LINEAR_ARRAY is set.  Don't fold_convert
      	OMP_CLAUSE_LINEAR_STEP.  For OMP_CLAUSE_LINEAR_ARRAY in
      	combined simd loop use omp_clause_linear_ctor hook.
      gcc/c/
      	* c-typeck.c (c_finish_omp_clauses): Make sure
      	OMP_CLAUSE_LINEAR_STEP has correct type.
      gcc/cp/
      	* semantics.c (finish_omp_clauses): Make sure
      	OMP_CLAUSE_LINEAR_STEP has correct type.
      gcc/fortran/
      	* trans.h (gfc_omp_clause_linear_ctor): New prototype.
      	* trans-openmp.c (gfc_omp_linear_clause_add_loop,
      	gfc_omp_clause_linear_ctor): New functions.
      	(gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
      	correct type.  Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
      	* f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
      libgomp/
      	* testsuite/libgomp.fortran/simd5.f90: New test.
      	* testsuite/libgomp.fortran/simd6.f90: New test.
      	* testsuite/libgomp.fortran/simd7.f90: New test.
      
      From-SVN: r211971
      Jakub Jelinek committed
  37. 24 Jun, 2014 1 commit
    • gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, [...]): Make sure… · b46ebd6c
      gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, [...]): Make sure OMP_CLAUSE_SIZE is non-NULL.
      
      	* gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
      	OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
      	non-NULL.
      	<case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
      	(gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
      	non-NULL.
      	(gimplify_adjust_omp_clauses): Likewise.
      	* omp-low.c (lower_rec_simd_input_clauses,
      	lower_rec_input_clauses, expand_omp_simd): Handle non-constant
      	safelen the same as safelen(1).
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED.  For
      	OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
      	(convert_nonlocal_reference_stmt, convert_local_reference_stmt):
      	Fixup handling of GIMPLE_OMP_TARGET.
      	(convert_tramp_reference_stmt, convert_gimple_call): Handle
      	GIMPLE_OMP_TARGET.
      gcc/fortran/
      	* dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
      	of n->udr.
      	* f95-lang.c (gfc_init_builtin_functions): Initialize
      	BUILT_IN_ASSUME_ALIGNED.
      	* gfortran.h (gfc_omp_namelist): Change udr field type to
      	struct gfc_omp_namelist_udr.
      	(gfc_omp_namelist_udr): New type.
      	(gfc_get_omp_namelist_udr): Define.
      	(gfc_resolve_code): New prototype.
      	* match.c (gfc_free_omp_namelist): Free name->udr.
      	* module.c (intrinsics): Add INTRINSIC_USER.
      	(fix_mio_expr): Likewise.
      	(mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
      	* openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
      	(gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
      	Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
      	(struct resolve_omp_udr_callback_data): New type.
      	(resolve_omp_udr_callback, resolve_omp_udr_callback2,
      	resolve_omp_udr_clause): New functions.
      	(resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
      	here.
      	(omp_udr_callback): Don't check for implicitly declared functions
      	here.
      	(gfc_resolve_omp_udr): Don't call gfc_resolve.  Don't check for
      	implicitly declared subroutines here.
      	* resolve.c (resolve_function): If value.function.isym is non-NULL,
      	consider it already resolved.
      	(resolve_code): Renamed to ...
      	(gfc_resolve_code): ... this.  No longer static.
      	(gfc_resolve_blocks, generate_component_assignments, resolve_codes):
      	Adjust callers.
      	* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
      	by reference type (C_PTR) variables.
      	(gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
      	(gfc_trans_omp_udr_expr): Remove.
      	(gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
      	Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
      	expand it as assignment or subroutine call.  Don't initialize
      	value.function.isym.
      gcc/testsuite/
      	* gfortran.dg/gomp/udr2.f90 (f7, f9): Add !$omp parallel with
      	reduction clause.
      	* gfortran.dg/gomp/udr4.f90 (f4): Likewise.
      	Remove Label is never defined expected error.
      	* gfortran.dg/gomp/udr8.f90: New test.
      libgomp/
      	* testsuite/libgomp.fortran/aligned1.f03: New test.
      	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
      	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
      	tasks with !$omp parallel !$omp single.
      	* testsuite/libgomp.fortran/target8.f90: New test.
      	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
      	not to use trim in the combiner, instead call elemental function.
      	(fn): New elemental function.
      	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
      	Make elemental.
      	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
      	omp_in): Likewise.
      	* testsuite/libgomp.fortran/udr12.f90: New test.
      	* testsuite/libgomp.fortran/udr13.f90: New test.
      	* testsuite/libgomp.fortran/udr14.f90: New test.
      	* testsuite/libgomp.fortran/udr15.f90: New test.
      
      From-SVN: r211929
      Jakub Jelinek committed
  38. 18 Jun, 2014 1 commit
    • gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in… · f014c653
      gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in ORT_TARGET region, don't jump to do_outer.
      
      	* gimplify.c (omp_notice_variable): If n is non-NULL
      	and no flags change in ORT_TARGET region, don't jump to
      	do_outer.
      	(struct gimplify_adjust_omp_clauses_data): New type.
      	(gimplify_adjust_omp_clauses_1): Adjust for data being
      	a struct gimplify_adjust_omp_clauses_data pointer instead
      	of tree *.  Pass pre_p as a new argument to
      	lang_hooks.decls.omp_finish_clause hook.
      	(gimplify_adjust_omp_clauses): Add pre_p argument, adjust
      	splay_tree_foreach to pass both list_p and pre_p.
      	(gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
      	gimplify_omp_workshare, gimplify_omp_target_update): Adjust
      	gimplify_adjust_omp_clauses callers.
      	* langhooks.c (lhd_omp_finish_clause): New function.
      	* langhooks-def.h (lhd_omp_finish_clause): New prototype.
      	(LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
      	* langhooks.h (struct lang_hooks_for_decls): Add a new
      	gimple_seq * argument to omp_finish_clause hook.
      	* omp-low.c (scan_sharing_clauses): Call scan_omp_op on
      	non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
      	(scan_omp_parallel, lower_omp_for): When adding
      	_LOOPTEMP_ clause var, add it to outer ctx's decl_map
      	as identity.
      	* tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
      	* tree-pretty-print.c (dump_omp_clause): Handle
      	OMP_CLAUSE_MAP_TO_PSET.
      gcc/cp/
      	* cp-gimplify.c (cxx_omp_finish_clause): Add a gimple_seq *
      	argument.
      	* cp-tree.h (cxx_omp_finish_clause): Adjust prototype.
      gcc/fortran/
      	* cpp.c (cpp_define_builtins): Change _OPENMP macro to
      	201307.
      	* dump-parse-tree.c (show_omp_namelist): Add list_type
      	argument.  Adjust for rop being u.reduction_op now,
      	handle depend_op or map_op.
      	(show_omp_node): Adjust callers.  Print some new
      	OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
      	becoming a single OMP_LIST_DEPEND.
      	* f95-lang.c (gfc_handle_omp_declare_target_attribute): New
      	function.
      	(gfc_attribute_table): New variable.
      	(LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
      	* frontend-passes.c (gfc_code_walker): Handle new OpenMP target
      	EXEC_OMP_* codes and new clauses.
      	* gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
      	ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
      	ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
      	ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
      	ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
      	ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
      	ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
      	ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
      	ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
      	ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
      	ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
      	ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
      	ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
      	(symbol_attribute): Add omp_declare_target field.
      	(gfc_omp_depend_op, gfc_omp_map_op): New enums.
      	(gfc_omp_namelist): Replace rop field with union
      	containing reduction_op, depend_op and map_op.
      	(OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
      	(OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
      	(gfc_omp_clauses): Add num_teams, device, thread_limit,
      	dist_sched_kind, dist_chunk_size fields.
      	(gfc_common_head): Add omp_declare_target field.
      	(gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
      	EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
      	EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
      	EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
      	EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
      	EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
      	EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
      	EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
      	EXEC_OMP_TARGET_UPDATE.
      	(gfc_add_omp_declare_target): New prototype.
      	* match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
      	gfc_match_omp_distribute_parallel_do,
      	gfc_match_omp_distribute_parallel_do_simd,
      	gfc_match_omp_distribute_simd, gfc_match_omp_target,
      	gfc_match_omp_target_data, gfc_match_omp_target_teams,
      	gfc_match_omp_target_teams_distribute,
      	gfc_match_omp_target_teams_distribute_parallel_do,
      	gfc_match_omp_target_teams_distribute_parallel_do_simd,
      	gfc_match_omp_target_teams_distribute_simd,
      	gfc_match_omp_target_update, gfc_match_omp_teams,
      	gfc_match_omp_teams_distribute,
      	gfc_match_omp_teams_distribute_parallel_do,
      	gfc_match_omp_teams_distribute_parallel_do_simd,
      	gfc_match_omp_teams_distribute_simd): New prototypes.
      	* module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
      	(attr_bits): Likewise.
      	(mio_symbol_attribute): Handle omp_declare_target attribute.
      	(gfc_free_omp_clauses): Free num_teams, device, thread_limit
      	and dist_chunk_size expressions.
      	(OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
      	OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
      	OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
      	OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
      	OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
      	OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
      	OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
      	OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
      	OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
      	(OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
      	OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
      	OMP_CLAUSE_DIST_SCHEDULE): Define.
      	(gfc_match_omp_clauses): Change mask parameter to unsigned int.
      	Adjust for rop becoming u.reduction_op.  Disallow inbranch with
      	notinbranch.  For depend clause, always create OMP_LIST_DEPEND
      	and fill in u.depend_op.  Handle num_teams, device, map,
      	to, from, thread_limit and dist_schedule clauses.
      	(OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
      	OMP_CLAUSE_NOTINBRANCH.
      	(OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
      	OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
      	OMP_DISTRIBUTE_CLAUSES): Define.
      	(match_omp): New function.
      	(gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
      	gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
      	gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
      	gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
      	gfc_match_omp_task): Rewritten using match_omp.
      	(gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
      	Diagnose if the directives are followed by unexpected junk.
      	(gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
      	gfc_match_omp_distribute_parallel_do_simd,
      	gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
      	gfc_match_omp_target, gfc_match_omp_target_data,
      	gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
      	gfc_match_omp_target_teams_distribute_parallel_do,
      	gfc_match_omp_target_teams_distribute_parallel_do_simd,
      	gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
      	gfc_match_omp_teams, gfc_match_omp_teams_distribute,
      	gfc_match_omp_teams_distribute_parallel_do,
      	gfc_match_omp_teams_distribute_parallel_do_simd,
      	gfc_match_omp_teams_distrbute_simd): New functions.
      	* openmp.c (resolve_omp_clauses): Adjust for
      	OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND.  Handle
      	OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
      	dist_chunk_size and thread_limit.
      	(gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
      	ctx.sharing_clauses.  Call gfc_resolve_omp_do_blocks for various
      	new EXEC_OMP_* codes.
      	(resolve_omp_do): Handle various new EXEC_OMP_* codes.
      	(gfc_resolve_omp_directive): Likewise.
      	(gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
      	* parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
      	offloading related directives.
      	(case_executable): Add ST_OMP_TARGET_UPDATE.
      	(case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
      	ST_OMP_DISTRIBUTE*.
      	(case_decl): Add ST_OMP_DECLARE_TARGET.
      	(gfc_ascii_statement): Handle new ST_OMP_* codes.
      	(parse_omp_do): Handle various new ST_OMP_* codes.
      	(parse_executable): Likewise.
      	* resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
      	codes.
      	(resolve_code): Likewise.
      	(resolve_symbol): Change that !$OMP DECLARE TARGET variables
      	are saved.
      	* st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
      	* symbol.c (check_conflict): Check omp_declare_target conflicts.
      	(gfc_add_omp_declare_target): New function.
      	(gfc_copy_attr): Copy omp_declare_target.
      	* trans.c (trans_code): Handle various new EXEC_OMP_* codes.
      	* trans-common.c (build_common_decl): Add "omp declare target"
      	attribute if needed.
      	* trans-decl.c (add_attributes_to_decl): Likewise.
      	* trans.h (gfc_omp_finish_clause): New prototype.
      	* trans-openmp.c (gfc_omp_finish_clause): New function.
      	(gfc_trans_omp_reduction_list): Adjust for rop being renamed
      	to u.reduction_op.
      	(gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
      	change to OMP_LIST_DEPEND and fix up depend handling.
      	Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
      	thread_limit, device, dist_chunk_size and dist_sched_kind.
      	(gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
      	(GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
      	GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
      	GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
      	(gfc_split_omp_clauses): Handle splitting of clauses for new
      	EXEC_OMP_* codes.
      	(gfc_trans_omp_do_simd): Add pblock argument, adjust for being
      	callable for combined constructs.
      	(gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
      	(gfc_trans_omp_distribute, gfc_trans_omp_teams,
      	gfc_trans_omp_target, gfc_trans_omp_target_data,
      	gfc_trans_omp_target_update): New functions.
      	(gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
      	new EXEC_OMP_* codes.
      gcc/testsuite/
      	* gfortran.dg/gomp/declare-simd-1.f90: New test.
      	* gfortran.dg/gomp/depend-1.f90: New test.
      	* gfortran.dg/gomp/target1.f90: New test.
      	* gfortran.dg/gomp/target2.f90: New test.
      	* gfortran.dg/gomp/target3.f90: New test.
      	* gfortran.dg/gomp/udr4.f90: Adjust expected diagnostics.
      	* gfortran.dg/openmp-define-3.f90: Expect _OPENMP 201307 instead of
      	201107.
      libgomp/
      	* omp_lib.f90.in (openmp_version): Set to 201307.
      	* omp_lib.h.in (openmp_version): Likewise.
      	* testsuite/libgomp.c/target-8.c: New test.
      	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
      	and inbranch clauses.
      	* testsuite/libgomp.fortran/depend-3.f90: New test.
      	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
      	openmp_version.
      	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
      	* testsuite/libgomp.fortran/target1.f90: New test.
      	* testsuite/libgomp.fortran/target2.f90: New test.
      	* testsuite/libgomp.fortran/target3.f90: New test.
      	* testsuite/libgomp.fortran/target4.f90: New test.
      	* testsuite/libgomp.fortran/target5.f90: New test.
      	* testsuite/libgomp.fortran/target6.f90: New test.
      	* testsuite/libgomp.fortran/target7.f90: New test.
      
      From-SVN: r211768
      Jakub Jelinek committed
  39. 10 Jun, 2014 1 commit
    • re PR fortran/60928 (gfortran issue with allocatable components and OpenMP) · 92d28cbb
      	PR fortran/60928
      	* omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
      	Set lastprivate_firstprivate even if omp_private_outer_ref
      	langhook returns true.
      	<case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
      	langhook, call unshare_expr on new_var and call
      	build_outer_var_ref to get the last argument.
      gcc/c-family/
      	* c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
      	(omp_pragmas): ... back here.
      gcc/fortran/
      	* f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd
      	like -fopenmp.
      	* openmp.c (resolve_omp_clauses): Remove allocatable components
      	diagnostics.  Add associate-name and intent(in) pointer
      	diagnostics for various clauses, diagnose procedure pointers in
      	reduction clause.
      	* parse.c (match_word_omp_simd): New function.
      	(matchs, matcho): New macros.
      	(decode_omp_directive): Change match macros to either matchs
      	or matcho.  Handle -fopenmp-simd.
      	(next_free, next_fixed): Handle -fopenmp-simd like -fopenmp.
      	* scanner.c (skip_free_comments, skip_fixed_comments, include_line):
      	Likewise.
      	* trans-array.c (get_full_array_size): Rename to...
      	(gfc_full_array_size): ... this.  No longer static.
      	(duplicate_allocatable): Adjust caller.  Add NO_MEMCPY argument
      	and handle it.
      	(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust
      	duplicate_allocatable callers.
      	(gfc_duplicate_allocatable_nocopy): New function.
      	(structure_alloc_comps): Adjust g*_full_array_size and
      	duplicate_allocatable caller.
      	* trans-array.h (gfc_full_array_size,
      	gfc_duplicate_allocatable_nocopy): New prototypes.
      	* trans-common.c (create_common): Call gfc_finish_decl_attrs.
      	* trans-decl.c (gfc_finish_decl_attrs): New function.
      	(gfc_finish_var_decl, create_function_arglist,
      	gfc_get_fake_result_decl): Call it.
      	(gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated,
      	don't allocate it again.
      	(gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on
      	associate-names.
      	* trans.h (gfc_finish_decl_attrs): New prototype.
      	(struct lang_decl): Add scalar_allocatable and scalar_pointer
      	bitfields.
      	(GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER,
      	GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER,
      	GFC_DECL_ASSOCIATE_VAR_P): Define.
      	(GFC_POINTER_TYPE_P): Remove.
      	* trans-openmp.c (gfc_omp_privatize_by_reference): Don't check
      	GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE,
      	GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl.
      	(gfc_omp_predetermined_sharing): Associate-names are predetermined.
      	(enum walk_alloc_comps): New.
      	(gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr,
      	gfc_walk_alloc_comps): New functions.
      	(gfc_omp_private_outer_ref): Return true for scalar allocatables or
      	decls with allocatable components.
      	(gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
      	gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of
      	allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar
      	allocatables and decls with allocatable components.
      	(gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable
      	arrays here.
      	(gfc_trans_omp_reduction_list): Call
      	gfc_trans_omp_array_reduction_or_udr even for allocatable scalars.
      	(gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD.
      	(gfc_trans_omp_parallel_do_simd): Likewise.
      	* trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P.
      	(gfc_get_derived_type): Call gfc_finish_decl_attrs.
      gcc/testsuite/
      	* gfortran.dg/gomp/allocatable_components_1.f90: Remove dg-error
      	directives.
      	* gfortran.dg/gomp/associate1.f90: New test.
      	* gfortran.dg/gomp/intentin1.f90: New test.
      	* gfortran.dg/gomp/openmp-simd-1.f90: New test.
      	* gfortran.dg/gomp/openmp-simd-2.f90: New test.
      	* gfortran.dg/gomp/openmp-simd-3.f90: New test.
      	* gfortran.dg/gomp/proc_ptr_2.f90: New test.
      libgomp/
      	* testsuite/libgomp.fortran/allocatable9.f90: New test.
      	* testsuite/libgomp.fortran/allocatable10.f90: New test.
      	* testsuite/libgomp.fortran/allocatable11.f90: New test.
      	* testsuite/libgomp.fortran/allocatable12.f90: New test.
      	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
      	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
      	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
      	* testsuite/libgomp.fortran/associate1.f90: New test.
      	* testsuite/libgomp.fortran/associate2.f90: New test.
      	* testsuite/libgomp.fortran/procptr1.f90: New test.
      
      From-SVN: r211397
      Jakub Jelinek committed