Skip to content
Snippets Groups Projects
  1. Jan 18, 2006
    • Tobias Schlüter's avatar
      Fix name butchered in my previous check-in. · a56e0baa
      Tobias Schlüter authored
      From-SVN: r109917
      a56e0baa
    • Tobias Schlüter's avatar
      re PR fortran/18540 (Jumping into blocks gives error rather than warning) · 5cf54585
      Tobias Schlüter authored
      PR fortran/18540
      PR fortran/18937
      * gfortran.h (BBT_HEADER): Move definition up.
      (gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
      * io.c (format_asterisk): Adapt initializer.
      * resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
      as extension.
      * symbol.c (compare_st_labels): New function.
      (gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
      using balanced binary tree.
      * decl.c (match_char_length, gfc_match_old_kind_spec): Do away
      with 'cnt'.
      (warn_unused_label): Adapt to binary tree.
      * match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
      * primary.c (match_kind_param): Do away with cnt.
      
      Also converted the ChangeLog to use latin1 characters.
      
      From-SVN: r109914
      5cf54585
    • Roger Sayle's avatar
      i386.md (shift spliter): Fix a a typo in the splitter for shifts where the... · 61da04bd
      Roger Sayle authored
      i386.md (shift spliter): Fix a a typo in the splitter for shifts where the source and destination...
      
      
      	* config/i386/i386.md (shift spliter): Fix a a typo in the splitter
      	for shifts where the source and destination registers are different.
      
      From-SVN: r109912
      61da04bd
    • Paul Brook's avatar
      [multiple changes] · c0354bf4
      Paul Brook authored
      2006-01-18  Paul Brook  <paul@codesourcery.com>
      
      	Merge from csl-arm-branch.
      	2005-03-14  Julian Brown  <julian@codesourcery.com>
      	* config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS.
      	(aeabi_llsl): Likewise.
      	(ashrdi3): Likewise.
      	(aeabi_lasr): Likewise.
      	(lshrdi3): Likewise.
      	(aeabi_llsr): Likewise. 
      	2005-03-10  Julian Brown  <julian@codesourcery.com>
      	* config.gcc: Disable shared libgcc for SymbianOS.
      	* config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c.
      
      From-SVN: r109911
      c0354bf4
    • DJ Delorie's avatar
      * md5.h: Include ansidecl.h · 78e97e7f
      DJ Delorie authored
      From-SVN: r109910
      78e97e7f
    • H.J. Lu's avatar
      re PR libgcj/25840 (libjava is broken on Linux/x86-64) · a79ae894
      H.J. Lu authored
      2006-01-18  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR libgcj/25840
      	* include/x86_64-signal.h (RESTORE2): Add ".text\n".
      
      From-SVN: r109909
      a79ae894
    • DJ Delorie's avatar
      Werror-1.c, [...]: New. · cea24134
      DJ Delorie authored
      * gcc.dg/Werror-1.c, gcc.dg/Werror-2.c, gcc.dg/Werror-3.c,
      gcc.dg/Werror-4.c, gcc.dg/Werror-5.c, gcc.dg/Werror-6.c,
      gcc.dg/Werror-7.c, gcc.dg/Werror-8.c, gcc.dg/Werror-9.c,
      gcc.dg/Werror-10.c, gcc.dg/Werror-11.c, gcc.dg/Werror-12: New.
      
      From-SVN: r109908
      cea24134
    • DJ Delorie's avatar
      c-pragma.c (handle_pragma_diagnostic): New. · 79cf5994
      DJ Delorie authored
      * c-pragma.c (handle_pragma_diagnostic): New.
      (init_pragma): Register it.
      * doc/extend.texi: Document it.
      
      * diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED.
      * diagnostic.h (diagnostic_classify_diagnostic): Declare.
      (diagnostic_context): Add classify_diagnostic[].
      * diagnostic.c (diagnostic_count_diagnostic): Don't count warnings
      as errors if they're overridden to DK_WARNING.
      (diagnostic_initialize): Initialize classify_diagnostic[].
      (diagnostic_set_kind_override): New.
      (diagnostic_report_diagnostic): Check for kind changes.
      * opts.c (common_handle_option): Take lang_mask.  Update callers.
      Handle OPT_Werror_.
      * common.opt (Werror=): New.
      * doc/invoke.texi: Document -Werror=*
      
      From-SVN: r109907
      79cf5994
    • Jeff Law's avatar
      tree-vrp.c (test_for_singularity): Correct test for new min limit. · f9fe7aed
      Jeff Law authored
      	* tree-vrp.c (test_for_singularity): Correct test for new
      	min limit.  Use operand_equal_p rather than pointer equality
      	for testing if new min/max values are equal.
      
      	* tree-ssa-propagate.c (substitute_and_fold): Delay simplifications
      	using range information until after propagation and folding.
      
      	* gcc.c-torture/execute/930529-1.x: Use -fwrapv as test depends
      	on wrapping on overflow semantics.
      
      	* gcc.dg/tree-ssa/pr23109.c: Remove the .lim file too.
      
      	* gcc.gc/tree-ssa/vrp23.c: New test.
      	* gcc.gc/tree-ssa/vrp24.c: New test.
      
      From-SVN: r109904
      f9fe7aed
    • Diego Novillo's avatar
      [multiple changes] · 953ff289
      Diego Novillo authored
      2006-01-18  Richard Henderson  <rth@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* libgomp: New directory.
      	* Makefile.def: Add target_module libgomp.
      	* Makefile.in: Regenerate.
      	* configure.in (target_libraries): Add target-libgomp.
      	* configure: Regenerate.
      
      
      contrib/
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* gcc_update (files_and_dependencies): Add libgomp files.
      
      
      gcc/
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
                  Aldy Hernandez  <aldyh@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* omp-low.c: New file.
      	* c-omp.c: New file.
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* doc/invoke.texi: Document -fopenmp.
      	* tree-dump.h (debug_function): Declare.
      
      	* hooks.c (hook_bool_tree_bool_false): New function.
      	(hook_tree_tree_null): Remove.
      	(hook_tree_tree_tree_null): New.
      	* hooks.h: Update to match.
      
      	* tree-pretty-print.c (debug_tree_chain): New.
      	(print_generic_expr): Handle TDF_CHAIN.
      	(dump_generic_node): Handle BLOCK.
      	Do not abort with incomplete SWITCH_EXPRs.
      	Do not dump body of an OpenMP directive if TDF_SLIM is given.
      	<case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't
      	print space after directive name.
      	<OMP_FOR>: Handle printing OMP_FOR_PRE_BODY.
      	Handle OMP_MASTER and OMP_ORDERED.
      	Handle printing of OMP_BODY just in one place, goto
      	dump_omp_body in the rest of OMP_* nodes that have
      	OMP_BODY.
      	Don't handle clause nodes here.  Update omp statements to
      	use dump_omp_clauses.
      	Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION,
      	OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC,
      	OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF,
      	GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED,
      	GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE,
      	GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE.
      	Adjust output for GOMP_PARALLEL.
      	(dump_omp_clauses): New.
      	(print_declaration): Dump DECL_VALUE_EXPR.
      	(op_symbol_1): Split out of op_symbol.
      	(dumping_stmts): Remove.  Update all users.
      
      	* cgraph.c (cgraph_analyze_queue): New.
      	(cgraph_add_new_function): New.
      	* cgraph.h (cgraph_analyze_queue): Declare.
      	(cgraph_add_new_function): Declare.
      	(cgraph_lower_function): Remove.
      
      	* tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_*
      	nodes.  Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS
      	and TYPE_P nodes in its default clause.
      	(empty_body_p): New.
      	(tree_range_check_failed): New.
      	(build5_stat): New.
      
      	* tree.h (OMP_CLAUSE_REDUCTION_INIT,
      	OMP_CLAUSE_REDUCTION_MERGE,
      	OMP_CLAUSE_REDUCTION_PLACEHOLDER,
      	OMP_CLAUSE_PRIVATE_DEBUG,
      	OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY,
      	OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY,
      	OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND,
      	OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL,
      	OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR,
      	OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR,
      	OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT,
      	OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT,
      	OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC,
      	OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST,
      	OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE
      	OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY,
      	OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY,
      	OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New.
      	(TREE_RANGE_CHECK): New.
      	(empty_body_p): Declare.
      	(enum omp_clause_default_kind): New.
      	(build_string_literal): Declare.
      	(enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New.
      	(build5_stat, build5): Declare.
      
      	* tree-pass.h (TDF_CHAIN): Define.
      	* tree-pass.h (PROP_gimple_lomp): Define.
      	(pass_lower_omp): Declare.
      
      	* diagnostic.h (debug_tree_chain): Declare.
      
      	* builtins.c (get_builtin_sync_mode): Use 0 as last argument to
      	mode_for_size.
      	(expand_builtin): Handle sync BUILT_IN_*_16 builtins.
      	* builtins.c (build_string_literal): Make extern.
      
      	* gcc.c (include_spec_function): New.
      	(static_spec_functions): Add it.
      	(main): Move load of libgomp.spec ...
      	(LINK_COMMAND_SPEC): ... here.
      	(link_gomp_spec): New.
      	(static_specs): Include it.
      	(LINK_COMMAND_SPEC): Add link_gomp.
      	(GOMP_SELF_SPECS): New.
      	(driver_self_specs): Include it.
      	(switch_matches): Don't mark inline.
      	(main): Load libgomp.spec.
      
      	* tree-gimple.c (is_gimple_stmt): True for OMP_MASTER,
      	OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION,
      	and OMP_SINGLE, OMP_FOR and OMP_PARALLEL.
      
      	* tree-gimple.h (enum omp_parallel): Declare.
      	(determine_parallel_type): Declare.
      	(omp_firstprivatize_variable): Declare.
      	(omp_reduction_init): Declare.
      	(diagnose_omp_structured_block_errors): Declare.
      	(struct walk_stmt_info): Add want_return_expr.
      	(struct walk_stmt_info): Add want_bind_expr, want_locations.
      	(find_omp_clause): Declare.
      	(insert_field_into_struct): Declare.
      	(struct walk_stmt_info): Move from tree-nested.c
      	(walk_stmts): Declare.
      
      	* c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP
      	to 200505.
      
      	* cgraphunit.c (cgraph_lower_function): Make static.
      	(cgraph_finalize_pending_functions): New.
      	(cgraph_finalize_function): Call it.
      	(cgraph_finalize_compilation_unit): Likewise.
      
      	* builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
      	BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
      	(BT_FN_UINT_UINT): New.
      	(DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7,
      	DEF_FUNCTION_TYPE_VAR_4): Document.
      	(BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT,
      	BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR,
      	BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT,
      	BT_FN_VOID_OMPFN_PTR_UINT_UINT,
      	BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
      	BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
      	BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
      	BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New.
      
      	* builtins.def: Update DEF_BUILTIN comment to include COND argument.
      	Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins
      	into separate files.
      	(DEF_GOMP_BUILTIN): New.
      	(BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER,
      	BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END,
      	BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END,
      	BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START,
      	BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
      	BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT,
      	BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
      	BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
      	BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT,
      	BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END,
      	BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END,
      	BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT,
      	BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END,
      	BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START,
      	BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New.
      	* sync-builtins.def: New file, moved from builtins.def.
      	* omp-builtins.def: New file, moved from builtins.def.
      
      	* c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.
      
      	* gimple-low.c (lower_function_body): Clear data.
      	(lower_stmt): Do not handle COMPOUND_EXPR.
      	Remove call to print_node_brief.
      
      	* c-tree.h (c_finish_omp_clauses): New prototype.
      	(C_DECL_THREADPRIVATE_P): Define.
      	(lookup_name_no_remap, c_omp_remap_private): Remove
      	(c_begin_omp_parallel, c_finish_omp_parallel): Update.
      	(check_for_loop_decls): Update decl.
      	(lookup_name_no_remap, c_omp_remap_private): Declare.
      	(build_indirect_ref, build_modify_expr, pushdecl,
      	pushdecl_top_level): Move to c-common.h.
      
      	* dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp
      	before the switch, but just in the 2 places that need it.
      
      	* c-decl.c (diagnose_mismatched_decls): Do not check for
      	mismatched thread-local attributes when OLDDECL is marked
      	threadprivate and NEWDECL has no thread-local attributes.
      	(merge_decls): Merge C_DECL_THREADPRIVATE_P.
      	(c_gimple_diagnostics_recursively): Rename from
      	c_warn_unused_result_recursively.  Invoke
      	diagnose_omp_structured_block_errors.
      	(check_for_loop_decls): Return a singular decl found.
      
      	* langhooks.c (lhd_omp_predetermined_sharing): Return
      	OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls.
      	(lhd_omp_firstprivatize_type_sizes): New.
      	(lhd_omp_assignment): New.
      	(lhd_omp_predetermined_sharing): New.
      
      	* langhooks.h (struct gimplify_omp_ctx): Forward declare.
      	(struct lang_hooks_for_types): Add
      	omp_firstprivatize_type_sizes, omp_privatize_by_reference,
      	omp_predetermined_sharing, omp_disregard_value_expr,
      	omp_private_debug_clause, omp_clause_default_ctor,
      	omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor.
      
      	(c_finish_omp_clauses): New.
      	(c_finish_bc_stmt): Diagnose break within omp for.
      	(c_begin_omp_parallel, c_finish_omp_parallel): New.
      	(build_unary_op): Return error_mark after reporting
      	a readonly_error.
      	(build_modify_expr): Likewise.
      
      	* gimplify.c: Include optabs.h and pointer-set.h.
      	(enum gimplify_omp_var_data): Declare.
      	(struct gimplify_omp_ctx): Declare.
      	(struct gimplify_ctx): Add fields prev_context, combined_pre_p
      	and combined_ctxp.
      	(gimplify_ctxp, gimplify_omp_ctxp): New local variables.
      	(push_gimplify_context, pop_gimplify_context): Allow nesting.
      	(splay_tree_compare_decl_uid): New.
      	(new_omp_context): New.
      	(delete_omp_context): New.
      	(gimple_add_tmp_var): Call omp_add_variable.
      	(gimplify_bind_expr): Likewise.
      	(gimplify_var_or_parm_decl): If omp_notice_variable returned
      	true, disregard DECL_VALUE_EXPR on the decl if any.
      	(gimplify_expr_in_ctx): New.
      	(omp_firstprivatize_variable, omp_firstprivatize_type_sizes
      	omp_add_variable, omp_notice_variable, omp_is_private
      	gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1
      	gimplify_adjust_omp_clauses, gimplify_omp_parallel
      	gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p
      	gimplify_omp_atomic_fetch_op, goa_stabilize_expr
      	gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex
      	gimplify_omp_atomic): New.
      	(gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
      	OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
      	OMP_CRITICAL and OMP_ATOMIC.
      	(gimplify_body): Verify gimplify_ctxp is empty after gimplification.
      
      	* c-pragma.h (enum pragma_kind): Add
      	PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER,
      	PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR,
      	PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED,
      	PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR,
      	PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION,
      	PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE,
      	PRAGMA_OMP_THREADPRIVATE.
      
      	* tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
      	OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
      	OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE,
      	OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE,
      	OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION,
      	OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE,
      	OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
      	OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT,
      	OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define.
      
      	* print-tree.c (print_node): Dump DECL_VALUE_EXPR.
      
      	* tree-ssa-dce.c (find_control_dependence): Do not assume that
      	ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR).
      
      	* tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for
      	OpenMP directives.
      	(struct nesting_info): Add field_map,
      	suppress_expansion, debug_var_chain.
      	(create_nesting_tree): Initialize them.
      	(lookup_field_for_decl): Use field_map.
      	(get_nonlocal_debug_decl, get_local_debug_decl): New.
      	(convert_local_omp_clauses): New.
      	(finalize_nesting_tree_1): Add debug_var_chain to toplevel block.
      	(walk_body): Split out of walk_function.
      	(convert_nonlocal_omp_clauses, convert_local_omp_clauses): New.
      	(convert_nonlocal_reference): Handle omp statements.
      	(convert_local_reference): Likewise.
      	(unnest_nesting_tree_1): Split out of finalize_nesting_tree_1.
      	(unnest_nesting_tree): New.
      	(lower_nested_functions): Call it.
      	(insert_field_into_struct): Make extern.
      	(struct walk_stmt_info): Move to tree-gimple.h.
      	(walk_stmts): Make extern.
      
      	* omp-builtins.def: New file.
      
      	* tree-iterator.c (expr_only): Clarify comment.
      
      	* c-common.h (pushdecl_top_level, pushdecl,
      	build_modify_expr, build_indirect_ref,
      	c_finish_omp_master, c_finish_omp_critical,
      	c_finish_omp_ordered, c_finish_omp_barrier,
      	c_finish_omp_atomic, c_finish_omp_flush,
      	c_finish_omp_for, c_split_parallel_clauses,
      	omp_clause_default_kind, c_omp_sharing_predetermined,
      	c_omp_remap_decl): Declare.
      
      	* Makefile.in (BUILTINS_DEF): Add omp-builtins.def.
      	(OBJS-common): Add omp-low.o.
      	(c-omp.o, omp-low.o): Add.
      	(gimplify.o): Add dependency on $(OPTABS_H).
      	(GTFILES): Add omp-low.c.
      	(gt-stringpool.h): Add.
      
      	* tree-cfg.c (set_bb_for_stmt): Do not update the
      	block-to-labels map if we are currently expanding to RTL.
      	(tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P
      	checks.
      	Handle IDENTIFIER_NODE.
      	(tree_verify_flow_info): Do not ICE when emitting error
      	messages about invalid labels.
      	(dump_function_to_file): Reset CFUN before emitting the body
      	of the function.
      	(debug_function): New.
      
      	* passes.c (init_optimization_passes): Schedule
      	pass_lower_omp.
      
      	* langhooks-def.h (lhd_omp_predetermined_sharing,
      	lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes):
      	Declare.
      	(LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
      	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
      	(LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE,
      	LANG_HOOKS_OMP_PREDETERMINED_SHARING,
      	LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
      	LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE,
      	LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR,
      	LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
      	LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP,
      	LANG_HOOKS_OMP_CLAUSE_DTOR): Define.
      	(LANG_HOOK_DECLS): Use them.
      
      
      2006-01-18  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
      	    Richard Henderson  <rth@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
      
      	* c-parser.c (pragma_omp_clause): Define.
      	(c_parser_declaration_or_fndef): Document OpenMP syntax.
      	(c_parser_compound_statement): Likewise.
      	(c_parser_statement): Likewise.
      	(c_parser_pragma): Handle omp pragmas.
      	(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
      	OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define.
      	(c_parser_omp_clause_name, check_no_duplicate_clause,
      	c_parser_omp_variable_list,
      	c_parser_omp_var_list_parens, c_parser_omp_clause_copyin,
      	c_parser_omp_clause_copyprivate,
      	c_parser_omp_clause_default,
      	c_parser_omp_clause_firstprivate, c_parser_omp_clause_if,
      	c_parser_omp_clause_lastprivate,
      	c_parser_omp_clause_nowait,
      	c_parser_omp_clause_num_threads,
      	c_parser_omp_clause_ordered, c_parser_omp_clause_private,
      	c_parser_omp_clause_reduction,
      	c_parser_omp_clause_schedule, c_parser_omp_clause_shared,
      	c_parser_omp_all_clauses, c_parser_omp_structured_block,
      	c_parser_omp_atomic, c_parser_omp_barrier,
      	c_parser_omp_critical, c_parser_omp_flush,
      	c_parser_omp_for_loop, c_parser_omp_for,
      	c_parser_omp_master, c_parser_omp_ordered,
      	c_parser_omp_sections_scope, c_parser_omp_sections,
      	c_parser_omp_parallel, c_parser_omp_single,
      	c_parser_omp_construct, c_parser_omp_threadprivate): New.
      	* c-pragma.c (init_pragma): Do omp pragma registration here.
      	* c.opt (fopenmp): New flag.
      
      
      2006-01-18  Eric Christopher  <echristo@apple.com>
      
      	* gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif.
      	* config/darwin.h (GOMP_SELF_SPECS): Define.
      
      
      testsuite/
      
      2006-01-18  Richard Henderson  <rth@redhat.com>
                  Aldy Hernandez  <aldyh@redhat.com>
      	    Jakub Jelinek  <jakub@redhat.com>
                  Diego Novillo  <dnovillo@redhat.com>
                  Uros Bizjak  <uros@kss-loka.si>
      
      	* testsuite/gcc.dg/gomp: New directory.
      
      From-SVN: r109902
      953ff289
    • Paul Thomas's avatar
      re PR fortran/20869 (EXTERNAL and INTRINSIC cannot be used together) · 1902704e
      Paul Thomas authored
      
      2006-01-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/20869
      	PR fortran/20875
      	PR fortran/25024
      	* symbol.c (check_conflict): Add pointer valued elemental
      	functions and internal procedures with the external attribute
      	to the list of conflicts.
      	(gfc_add_attribute): New catch-all function to perform the
      	checking of symbol attributes for attribute declaration
      	statements.
      	* decl.c (attr_decl1): Call gfc_add_attribute for each of -
      	(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
      	gfc_match_pointer, gfc_match_dimension, gfc_match_target):
      	Remove spurious calls to checks in symbol.c.  Set the
      	attribute directly and use the call to attr_decl() for
      	checking.
      	* gfortran.h:  Add prototype for gfc_add_attribute.
      
      	PR fortran/25785
      	* resolve.c (resolve_function): Exclude PRESENT from assumed size
      	argument checking. Replace strcmp's with comparisons with generic
      	codes.
      
      2006-01-18  Paul Thomas  <pault@gcc.gnu.org>
      	    Steven G. Kargl  <kargls@comcast.net>
      
      	PR fortran/20869
      	* gfortran.dg/intrinsic_external_1.f90: New test.
      
      	PR fortran/20875.
      	* gfortran.dg/elemental_pointer_1.f90: New test.
      
      	PR fortran/25024
      	* gfortran.dg/external_procedures_1.f90: New test.
      
      	PR fortran/25785
      	gfortran.dg/assumed_present.f90: New test.
      
      Co-Authored-By: default avatarSteven G. Kargl <kargls@comcast.net>
      
      From-SVN: r109899
      1902704e
    • Kazu Hirata's avatar
      * rtl.h: Remove the prototype for reg_alloc. · 94a89f3b
      Kazu Hirata authored
      From-SVN: r109898
      94a89f3b
    • Paul Brook's avatar
      eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort. · ddfd0d91
      Paul Brook authored
      2006-01-18  Paul Brook  <paul@codesourcery.com>
      
      	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
      
      From-SVN: r109896
      ddfd0d91
    • John David Anglin's avatar
      re PR target/25731 (Complex values passed in wrong registers) · 4720d5ca
      John David Anglin authored
      	PR target/25731
      	* config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
      	hppa[12]*-*-hpux11*): Override default shared libgcc version for both
      	sjlj and dwarf2 exception handling.
      	* pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable.
      	Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION.
      	* pa/pa.c (function_value): Treat complex and vector types as
      	aggregates.
      	(function_arg): Likewise.  Only pass scalar floats in the floating
      	point argument registers.
      	* pa/t-slibgcc-dwarf-ver: New file.
      	* pa/t-slibgcc-sjlj-ver: New file.
      	* pa/t-slibgcc-elf-ver: Delete file.
      
      From-SVN: r109894
      4720d5ca
    • Alan Modra's avatar
      rs6000.c (rs6000_assemble_integer): Correct unlikely_test_section_p test. · 4325ca90
      Alan Modra authored
      	* config/rs6000/rs6000.c (rs6000_assemble_integer): Correct
      	unlikely_test_section_p test.
      
      From-SVN: r109893
      4325ca90
    • Kazu Hirata's avatar
      tree.c (find_tree_t, find_tree): Remove. · 27187246
      Kazu Hirata authored
      	* tree.c (find_tree_t, find_tree): Remove.
      	* cp-tree.h: Remove the prototype for find_tree.
      
      From-SVN: r109892
      27187246
    • Kazu Hirata's avatar
      regrename.c (regrename_optimize, [...]): Make them static. · b6438f2e
      Kazu Hirata authored
      	* regrename.c (regrename_optimize, copyprop_hardreg_forward):
      	Make them static.
      	* rtl.h: Remove the prototypes for regrename_optimize and
      	copyprop_hardreg_forward.
      
      From-SVN: r109891
      b6438f2e
    • Kazu Hirata's avatar
      reg-stack.c (reg_to_stack): Make it static. · cf4d5c75
      Kazu Hirata authored
      	* reg-stack.c (reg_to_stack): Make it static.
      	* rtl.h: Remove the prototype for reg_to_stack.
      
      From-SVN: r109890
      cf4d5c75
    • Kazu Hirata's avatar
      postreload-gcse.c (gcse_after_reload_main): Make it static. · 6e9ca1fa
      Kazu Hirata authored
      	* postreload-gcse.c (gcse_after_reload_main): Make it static.
      	* rtl.h: Remove the prototype for gcse_after_reload_main.
      
      From-SVN: r109889
      6e9ca1fa
    • Kazu Hirata's avatar
      modulo-sched.c (sms_schedule): Make it static. · efa2fa34
      Kazu Hirata authored
      	* modulo-sched.c (sms_schedule): Make it static.
      	* rtl.h: Remove the prototype for sms_schedule.
      
      From-SVN: r109888
      efa2fa34
    • Kazu Hirata's avatar
      mode-switching.c (optimize_mode_switching): Make it static. · 7399bcb0
      Kazu Hirata authored
      	* mode-switching.c (optimize_mode_switching): Make it static.
      	* basic-block.h: Remove the prototype for
      	optimize_mode_switching.
      
      From-SVN: r109887
      7399bcb0
    • Paolo Carlini's avatar
      allocator.h: Include <bits/cpp_type_traits.h>. · 75c752a0
      Paolo Carlini authored
      2006-01-18  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
      
      From-SVN: r109886
      75c752a0
    • Paolo Carlini's avatar
      [multiple changes] · 656032b8
      Paolo Carlini authored
      2006-01-18  Perry Smith  <pedz@easesoftware.net>
      
      	PR libstdc++/25823
      	PR libstdc++/25824
      	* libsupc++/eh_alloc.cc: Fix return type of memset declaration.
      	* libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.
      
      2006-01-18  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/ext/pb_assoc/detail/value_type_adapter/
      	value_type_adapter.hpp: Include <tr1/type_traits>.
      	* include/ext/pb_assoc/detail/value_type_adapter/
      	it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
      	Use tr1::aligned_storage and tr1::alignment_of.
      	(it_value_type_traits_<>::buf_t): Remove.
      	(it_value_type_traits_<>::make_valid, recast): Adjust.
      
      From-SVN: r109883
      656032b8
    • Eric Botcazou's avatar
      alpha.c (alpha_split_tfmode_pair): Rename into alpha_split_tmode_pair. · b2f39494
      Eric Botcazou authored
      	* config/alpha/alpha.c (alpha_split_tfmode_pair): Rename into
      	alpha_split_tmode_pair.  Add 'mode' and 'fixup_overlap' arguments.
      	Test against the appropriate null constant for the mode.
      	If 'fixup_overlap' is true, swap the operands if they overlap.
      	(alpha_split_tfmode_frobsign): Adjust call to alpha_split_tfmode_pair.
      	* config/alpha/alpha-protos.h (alpha_split_tfmode_pair): Rename into
      	alpha_split_tmode_pair and adjust for above change.
      	* config/alpha/alpha.md (movtf_internal): Adjust call to
      	alpha_split_tfmode_pair and rely on it to swap the operands.
      	(movti_internal): New insn and post-reload splitter.
      	(movti): New expander.
      
      From-SVN: r109882
      b2f39494
    • Andreas Jaeger's avatar
      Missing part from: · 17dcd421
      Andreas Jaeger authored
      2006-01-17  Andreas Jaeger  <aj@suse.de>
                  Janis Johnson <janis187@us.ibm.com>
      
              * g++.dg/abi/mangle25.C: Run always on ia64 but only on x86/x86-64
              in 64-bit.
              * gcc.dg/torture/fp-int-convert-float128-timode.c: Likewise.
              * gcc.dg/torture/fp-int-convert-float128.c: Likewise.
      
      From-SVN: r109881
      17dcd421
    • Jakub Jelinek's avatar
      sysv.S (smst_two_register): Don't call __ashldi3, instead do the shifting inline. · 71aa1a70
      Jakub Jelinek authored
      	* src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
      	instead do the shifting inline.
      	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
      	shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
      	and 8 byte structs, for the remaining struct sizes don't call
      	__lshrdi3, instead do the shifting inline.
      
      From-SVN: r109879
      71aa1a70
    • Jakub Jelinek's avatar
      search.c (lookup_conversions_r): Fix a pasto. · db2acc36
      Jakub Jelinek authored
      	* search.c (lookup_conversions_r): Fix a pasto.
      
      	* g++.dg/parse/lookup5.C: New test.
      
      From-SVN: r109877
      db2acc36
    • Philippe De Muyter's avatar
      9d757cde
    • Kazu Hirata's avatar
      regmove.c (regmove_optimize, [...]): Make them static. · fe3c3571
      Kazu Hirata authored
      	* regmove.c (regmove_optimize, combine_stack_adjustments):
      	Make them static.
      	* rtl.h: Remove the prototypes for regmove_optimize and
      	combine_stack_adjustments.
      
      From-SVN: r109875
      fe3c3571
    • Kazu Hirata's avatar
      function.c (instantiate_virtual_regs): Make it static. · e8d6954b
      Kazu Hirata authored
      	* function.c (instantiate_virtual_regs): Make it static.
      	* function.h: Remove the prototype for
      	instantiate_virtual_regs.
      
      From-SVN: r109874
      e8d6954b
    • Kazu Hirata's avatar
      flow.c (initialize_uninitialized_subregs): Make it static. · a0dc2bb6
      Kazu Hirata authored
      	* flow.c (initialize_uninitialized_subregs): Make it static.
      	* rtl.h: Remove the prototype for
      	initialize_uninitialized_subregs.
      
      From-SVN: r109873
      a0dc2bb6
    • Jerry DeLisle's avatar
      re PR libfortran/25697 (libfortran - Segmentation fault/ Bad Address on unformatted read) · 40263924
      Jerry DeLisle authored
      2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/25697
      	* gfortran.dg/read_eof.f90: New test.
      
      From-SVN: r109872
      40263924
    • Kazu Hirata's avatar
      rtlanal.c (global_reg_mentioned_p_1, [...]): Remove. · 15ed68f7
      Kazu Hirata authored
      	* rtlanal.c (global_reg_mentioned_p_1,
      	global_reg_mentioned_p): Remove.
      	* rtl.h: Remove the prototype for global_reg_mentioned_p.
      
      From-SVN: r109871
      15ed68f7
    • Jerry DeLisle's avatar
      re PR libfortran/25697 (libfortran - Segmentation fault/ Bad Address on unformatted read) · 7b7034ea
      Jerry DeLisle authored
      2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25697
      	* io/transfer.c (us_read): Detect end of file condition from previous
      	operations and bail out (no need to pre-position).
      
      From-SVN: r109870
      7b7034ea
    • Roger Sayle's avatar
      i386.c (COSTS_N_BYTES): New macro. · 3dd0df7f
      Roger Sayle authored
      	* config/i386/i386.c (COSTS_N_BYTES): New macro.
      	(size_cost): Encode costs in bytes so that a reg-reg addition is
      	equivalent to COSTS_N_INSNS(1).
      	(override_options): Use the size_cost.branch_cost as the default
      	ix86_branch_cost when optimizing for size.
      
      From-SVN: r109867
      3dd0df7f
    • Eric Christopher's avatar
      Update copyright from last checkin. · c637eb15
      Eric Christopher authored
      From-SVN: r109866
      c637eb15
    • Andrew Pinski's avatar
      fp-int-convert-float128.c: Fix dg-do line, add a closing brace. · c1310792
      Andrew Pinski authored
      2006-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
      
              * gcc.dg/torture/fp-int-convert-float128.c: Fix dg-do line,
              add a closing brace.
      
      From-SVN: r109864
      c1310792
    • Joseph Myers's avatar
      * zh_CN.po: Update. · ac77f9d6
      Joseph Myers authored
      From-SVN: r109862
      ac77f9d6
    • Jerry DeLisle's avatar
      re PR libfortran/25631 (tl format specifier not working correctly) · e2d393e5
      Jerry DeLisle authored
      2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/25631
      	* gfortran.dg/fmt_tl.f: New test.
      
      From-SVN: r109860
      e2d393e5
    • Jerry DeLisle's avatar
      re PR libfortran/25631 (tl format specifier not working correctly) · 272c35bd
      Jerry DeLisle authored
      2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/25631
      	* io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
      	skips so that TL works correctly when no bytes_used yet.
      
      From-SVN: r109858
      272c35bd
Loading