- Oct 06, 2006
-
-
dannysmith authored
'<' to '<='. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117491 138bc75d-0d04-0410-961f-82ee72b054a4
-
dannysmith authored
* configure: Regenerate. * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117490 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Sep 26, 2006
-
-
jakub authored
PR middle-end/28790 * tree-nested.c (struct nesting_info): Added static_chain_added. (convert_call_expr): Set static_chain_added when adding static chain. Handle OMP_PARALLEL and OMP_SECTION. * gcc.dg/gomp/nestedfn-1.c: New test. * testsuite/libgomp.c/nestedfn-4.c: New test. * testsuite/libgomp.c/nestedfn-5.c: New test. * testsuite/libgomp.fortran/nestedfn3.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117235 138bc75d-0d04-0410-961f-82ee72b054a4
-
jakub authored
* scanner.c (include_line): Handle conditional include. * testsuite/libgomp.fortran/condinc1.f: New test. * testsuite/libgomp.fortran/condinc2.f: New test. * testsuite/libgomp.fortran/condinc3.f90: New test. * testsuite/libgomp.fortran/condinc4.f90: New test. * testsuite/libgomp.fortran/condinc1.inc: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117234 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Sep 19, 2006
-
-
tromey authored
* tls.m4 (GCC_CHECK_TLS): Pass empty argument as "help arg" to GCC_ENABLE. libgomp * configure: Rebuilt. libstdc++-v3 * configure: Rebuilt. libmudflap * configure: Rebuilt. libjava * configure: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117049 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Sep 13, 2006
-
-
jsm28 authored
PR c/28768 PR preprocessor/14634 * lex.c (lex_string): Pedwarn for unterminated literals. libgomp: * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument to AC_DEFINE. * configure: Regenerate. gcc/testsuite: * gcc.dg/cpp/include2.c, gcc.dg/cpp/macspace1.c, gcc.dg/cpp/macspace2.c, gcc.dg/cpp/multiline.c, gcc.dg/cpp/trad/literals-2.c: Update expected diagnostics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116915 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Sep 08, 2006
-
-
kargl authored
* testsuite/libgomp.fortran/reduction3.f90: Change -2147483648 to -huge(i)-1 to avoid overflow. * testsuite/libgomp.fortran/reduction4.f90: Change Z'ffffffff' to not(0) to avoid overflow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116786 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Aug 26, 2006
-
-
jsm28 authored
* Makefile.am (libsubincludedir): New. (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116475 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Aug 17, 2006
-
-
jakub authored
* env.c: Include ctype.h. (parse_schedule, parse_unsigned_long, parse_boolean): Allow leading and/or trailing whitespace and compare strings case insensitively. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116209 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jul 16, 2006
-
-
jakub authored
* trans-openmp.c (gfc_trans_omp_do): Look for LASTPRIVATE in code->exp.omp_clauses rather than in the 3rd function argument. * testsuite/libgomp.fortran/pr28390.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115504 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jul 05, 2006
-
-
echristo authored
* configure.ac: Depend addition of -pthread on host OS. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115205 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jun 21, 2006
-
-
jakub authored
when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114843 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jun 20, 2006
-
-
jakub authored
PR libgomp/26477 * configure.ac: If neither --enable-linux-futex nor --disable-linux-futex is passed, determine the default by checking for compiling and/or running against NPTL. With --enable-linux-futex, check if SYS_gettid and SYS_futex are defined. * configure: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114809 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jun 14, 2006
-
-
rth authored
* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114643 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jun 09, 2006
-
-
rth authored
(gomp_run_sched_chunk): Likewise. (parse_unsigned_long): Rename from parse_num_threads and generalize. (initialize_env): Initialize gomp_thread_attr. * libgomp.h (gomp_nthreads_var): Update decl. (gomp_run_sched_chunk): Likewise. (gomp_thread_attr): Declare. * team.c (gomp_thread_attr): Export. (initialize_team): Don't initialize it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114525 138bc75d-0d04-0410-961f-82ee72b054a4
-
jakub authored
* trans-openmp.c (gfc_omp_clause_default_ctor): New function. * trans.h (gfc_omp_clause_default_ctor): New prototype. * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): Define. * testsuite/libgomp.fortran/pr27916-1.f90: New test. * testsuite/libgomp.fortran/pr27916-2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114520 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jun 06, 2006
-
-
fxcoudert authored
* configure.tgt: Use it. * config/i386/mingw32.h (GOMP_SELF_SPECS): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114442 138bc75d-0d04-0410-961f-82ee72b054a4
-
- May 24, 2006
-
-
carlos authored
2006-05-23 Carlos O'Donell <carlos@codesourcery.com> * Makefile.am: Add install-html target. Add install-html to .PHONY * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114032 138bc75d-0d04-0410-961f-82ee72b054a4
-
- May 22, 2006
-
-
danglin authored
* testsuite/libgomp.c/sections-1.c: Require sync_int_long. * testsuite/libgomp.c/critical-1.c: Likewise. * testsuite/libgomp.c/loop-1.c: Likewise. * testsuite/libgomp.c/loop-2.c: Likewise. * testsuite/libgomp.c/single-1.c: Likewise. * testsuite/libgomp.c/ordered-1.c: Likewise. * testsuite/libgomp.c/ordered-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113988 138bc75d-0d04-0410-961f-82ee72b054a4
-
- May 15, 2006
-
-
jakub authored
* omp-low.c (build_outer_var_ref): If VAR is reference in orphaned construct, return *VAR. * libgomp.fortran/pr27416-1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113788 138bc75d-0d04-0410-961f-82ee72b054a4
-
- May 03, 2006
-
-
jakub authored
* gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER. * testsuite/libgomp.fortran/pr27395-1.f90: New test. * testsuite/libgomp.fortran/pr27395-2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113494 138bc75d-0d04-0410-961f-82ee72b054a4
-
- May 02, 2006
-
-
jakub authored
* omp-low.c (maybe_lookup_decl_in_outer_ctx): New function. (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx to find if var will be a global variable even in the nested context. (omp_copy_decl): Only check for global variable at the end, it might be overridden in outer contexts. (scan_sharing_clauses): For global variables don't create a field. (lower_rec_input_clauses): Do nothing for global shared variables. Emit a barrier at the end of ILIST if there were any decls in both firstprivate and lastprivate clauses. (lower_send_clauses): Do nothing for global variables except for COPYIN. * testsuite/libgomp.c/pr26943-1.c: New test. * testsuite/libgomp.c/pr26943-2.c: New test. * testsuite/libgomp.c/pr26943-3.c: New test. * testsuite/libgomp.c/pr26943-4.c: New test. * testsuite/libgomp.c++/pr27337.C: Remove barrier. * testsuite/libgomp.c++/pr26943.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113483 138bc75d-0d04-0410-961f-82ee72b054a4
-
jakub authored
* gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF around RESULT_DECL for result passed by reference. (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen. * omp-low.c (use_pointer_for_field): Don't look at DECL_HAS_VALUE_EXPR_P for RESULT_DECLs. (scan_omp_1): Call remap_decl on RESULT_DECLs. (lower_rec_input_clauses): Don't allocate VLA memory for the second time or var for passing by reference for OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of TREE_ADDRESSABLE variables when passing by reference. * omp-low.c (dump_omp_region): Fix output formatting. cp/ * cp-gimplify.c (cxx_omp_privatize_by_reference): New function. * cp-tree.h (cxx_omp_privatize_by_reference): New prototype. * cp-objcp-common.h (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Define. testsuite/ * g++.dg/gomp/pr27337-1.C: New test. * g++.dg/gomp/pr27337-2.C: New test. libgomp/ * testsuite/libgomp.c++/pr27337.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113456 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Apr 26, 2006
-
-
jakub authored
* cgraph.c (cgraph_varpool_finalize_decl): Don't call cgraph_varpool_assemble_pending_decls if -fopenmp, unless cgraph_global_info_ready. * testsuite/libgomp.c/pr26171.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113271 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Apr 25, 2006
-
-
rth authored
* configure.ac: Use GCC_CHECK_TLS. * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove. * Makefile.in, aclocal.m4, configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113256 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Apr 10, 2006
-
-
doko authored
2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libffi: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libgomp: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libjava: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libmudflap: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libstdc++: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112833 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Mar 21, 2006
-
-
jakub authored
* cp-gimplify.c (cxx_omp_clause_apply_fn): Handle default arguments. * testsuite/libgomp.c++/pr26691.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112251 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Mar 13, 2006
-
-
jakub authored
to parent result. * trans-expr.c (gfc_conv_variable): Remove useless setting of parent_flag, formatting. * testsuite/libgomp.fortran/retval2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112026 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Mar 09, 2006
-
-
rth authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111867 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 25, 2006
-
-
andreast authored
* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions. * config/posix/sem.c: Implement the above. 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch> * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and define HAVE_BROKEN_POSIX_SEMAPHORES. * configure: Rebuilt. * config.h.in: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111441 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 17, 2006
-
-
fxcoudert authored
* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment for the other pthread check. * configure: Regenerate. * config.h.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111205 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 15, 2006
-
-
jakub authored
PR libgomp/25984 fortran/ * Make-lang.in (install-finclude-dir): New goal. (fortran.install-common): Depend on install-finclude-dir. * lang-specs.h: If not -nostdinc, add -I finclude. libgomp/ * Makefile.am (fincludedir): New variable. (nodist_include_HEADERS): Remove Fortran files. (nodist_finclude_HEADERS): New variable. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111018 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 14, 2006
-
-
jakub authored
2006-02-14 Jakub Jelinek <jakub@redhat.com> Richard Henderson <rth@redhat.com> Diego Novillo <dnovillo@redhat.com> * invoke.texi: Document -fopenmp. * gfortran.texi (Extensions): Document OpenMP. Backport from gomp-20050608-branch * trans-openmp.c: Call build_omp_clause instead of make_node when creating OMP_CLAUSE_* trees. (gfc_trans_omp_reduction_list): Remove argument 'code'. Adjust all callers. * trans.h (build4_v): Define. * trans-openmp.c: Call build4_v to create OMP_PARALLEL nodes. Call build3_v to create OMP_SECTIONS nodes. PR fortran/25162 * openmp.c (gfc_match_omp_variable_list): Call gfc_set_sym_referenced on all symbols added to the variable list. * openmp.c (gfc_match_omp_clauses): Fix check for non-INTRINSIC procedure symbol in REDUCTION. * trans-openmp.c (gfc_trans_omp_array_reduction): Use gfc_add for MINUS_EXPR OMP_CLAUSE_REDUCTION_CODE. * trans-openmp.c (gfc_trans_omp_do): Add PBLOCK argument. If PBLOCK is non-NULL, evaluate INIT/COND/INCR and chunk size expressions in that statement block. (gfc_trans_omp_parallel_do): Pass non-NULL PBLOCK to gfc_trans_omp_do for non-ordered non-static combined loops. (gfc_trans_omp_directive): Pass NULL PBLOCK to gfc_trans_omp_do. * openmp.c: Include target.h and toplev.h. (gfc_match_omp_threadprivate): Emit diagnostic if target does not support TLS. * Make-lang.in (fortran/openmp.o): Add dependencies on target.h and toplev.h. * trans-decl.c (gfc_get_fake_result_decl): Set GFC_DECL_RESULT. * trans-openmp.c (gfc_omp_privatize_by_reference): Make DECL_ARTIFICIAL vars predetermined shared except GFC_DECL_RESULT. (gfc_omp_disregard_value_expr): Handle GFC_DECL_RESULT. (gfc_trans_omp_variable): New function. (gfc_trans_omp_variable_list, gfc_trans_omp_reduction_list): Use it. * trans.h (GFC_DECL_RESULT): Define. * trans-openmp.c (gfc_omp_firstprivatize_type_sizes): New function. * f95-lang.c (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define. * trans.h (gfc_omp_firstprivatize_type_sizes): New prototype. * trans-openmp.c (gfc_omp_privatize_by_reference): Return true if a pointer has GFC_DECL_SAVED_DESCRIPTOR set. (gfc_trans_omp_array_reduction, gfc_trans_omp_reduction_list): New functions. (gfc_trans_omp_clauses): Add WHERE argument. Call gfc_trans_omp_reduction_list rather than gfc_trans_omp_variable_list for reductions. (gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections, gfc_trans_omp_single): Adjust gfc_trans_omp_clauses callers. * openmp.c (omp_current_do_code): New var. (gfc_resolve_omp_do_blocks): New function. (gfc_resolve_omp_parallel_blocks): Call it. (gfc_resolve_do_iterator): Add CODE argument. Don't propagate predetermination if argument is !$omp do or !$omp parallel do iteration variable. * resolve.c (resolve_code): Call gfc_resolve_omp_do_blocks for EXEC_OMP_DO. Adjust gfc_resolve_do_iterator caller. * fortran.h (gfc_resolve_omp_do_blocks): New prototype. (gfc_resolve_do_iterator): Add CODE argument. * trans.h (gfc_omp_predetermined_sharing, gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New prototypes. (GFC_DECL_COMMON_OR_EQUIV, GFC_DECL_CRAY_POINTEE): Define. * trans-openmp.c (gfc_omp_predetermined_sharing, gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New functions. * trans-common.c (build_equiv_decl, build_common_decl, create_common): Set GFC_DECL_COMMON_OR_EQUIV flag on the decls. * trans-decl.c (gfc_finish_cray_pointee): Set GFC_DECL_CRAY_POINTEE on the decl. * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_SHARING, LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR, LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE): Define. * openmp.c (resolve_omp_clauses): Remove extraneous comma. * symbol.c (check_conflict): Add conflict between cray_pointee and threadprivate. * openmp.c (gfc_match_omp_threadprivate): Fail if gfc_add_threadprivate returned FAILURE. (resolve_omp_clauses): Diagnose Cray pointees in SHARED, {,FIRST,LAST}PRIVATE and REDUCTION clauses and Cray pointers in {FIRST,LAST}PRIVATE and REDUCTION clauses. * resolve.c (omp_workshare_flag): New variable. (resolve_function): Diagnose use of non-ELEMENTAL user defined function in WORKSHARE construct. (resolve_code): Cleanup forall_save use. Make sure omp_workshare_flag is set to correct value in different contexts. * openmp.c (resolve_omp_clauses): Replace %s with '%s' when printing variable name. (resolve_omp_atomic): Likewise. PR fortran/24493 * scanner.c (skip_free_comments): Set at_bol at the beginning of the loop, not before it. (skip_fixed_comments): Handle ! comments in the middle of line here as well. (gfc_skip_comments): Use skip_fixed_comments for FIXED_FORM even if not at BOL. (gfc_next_char_literal): Fix expected canonicalized *$omp string. * trans-openmp.c (gfc_trans_omp_do): Use make_node and explicit initialization to build OMP_FOR instead of build. * trans-decl.c (gfc_gimplify_function): Invoke diagnose_omp_structured_block_errors. * trans-openmp.c (gfc_trans_omp_master): Use OMP_MASTER. (gfc_trans_omp_ordered): Use OMP_ORDERED. * gfortran.h (gfc_resolve_do_iterator, gfc_resolve_blocks, gfc_resolve_omp_parallel_blocks): New prototypes. * resolve.c (resolve_blocks): Renamed to... (gfc_resolve_blocks): ... this. Remove static. (gfc_resolve_forall): Adjust caller. (resolve_code): Only call gfc_resolve_blocks if code->block != 0 and not for EXEC_OMP_PARALLEL* directives. Call gfc_resolve_omp_parallel_blocks for EXEC_OMP_PARALLEL* directives. Call gfc_resolve_do_iterator if resolved successfully EXEC_DO iterator. * openmp.c: Include pointer-set.h. (omp_current_ctx): New variable. (gfc_resolve_omp_parallel_blocks, gfc_resolve_do_iterator): New functions. * Make-lang.in (fortran/openmp.o): Depend on pointer-set.h. * openmp.c (gfc_match_omp_clauses): For max/min/iand/ior/ieor, look up symbol if it exists, use its name instead and, if it is not INTRINSIC, issue diagnostics. * parse.c (parse_omp_do): Handle implied end do properly. (parse_executable): If parse_omp_do returned ST_IMPLIED_ENDDO, return it instead of continuing. * trans-openmp.c (gfc_trans_omp_critical): Update for changed operand numbering. (gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections, gfc_trans_omp_single): Likewise. * trans.h (gfc_omp_privatize_by_reference): New prototype. * f95-lang.c (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Redefine to gfc_omp_privatize_by_reference. * trans-openmp.c (gfc_omp_privatize_by_reference): New function. * trans-stmt.h (gfc_trans_omp_directive): Add comment. * openmp.c (gfc_match_omp_variable_list): Add ALLOW_COMMON argument. Disallow COMMON matching if it is set. (gfc_match_omp_clauses, gfc_match_omp_flush): Adjust all callers. (resolve_omp_clauses): Show locus in error messages. Check that variable types in reduction clauses are appropriate for reduction operators. * resolve.c (resolve_symbol): Don't error if a threadprivate module variable isn't SAVEd. * trans-openmp.c (gfc_trans_omp_do): Put count into BLOCK, not BODY. Fix typo in condition. Fix DOVAR initialization. * openmp.c (gfc_match_omp_clauses): Match min/iand/ior/ieor rather than .min. etc. * trans-openmpc.c (omp_not_yet): Remove. (gfc_trans_omp_parallel_do): Keep listprivate clause on parallel. Force creation of BIND_EXPR around the workshare construct. (gfc_trans_omp_parallel_sections): Likewise. (gfc_trans_omp_parallel_workshare): Likewise. * types.def (BT_I16, BT_FN_I16_VPTR_I16, BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add. * trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_DEFAULT. (gfc_trans_omp_code): New function. (gfc_trans_omp_do): Use it, remove omp_not_yet uses. (gfc_trans_omp_parallel, gfc_trans_omp_single): Likewise. (gfc_trans_omp_sections): Likewise. Only treat empty last section specially if lastprivate clause is present. * f95-lang.c (gfc_init_builtin_functions): Create BUILT_IN_TRAP builtin. * trans-openmp.c (gfc_trans_omp_variable_list): Update for OMP_CLAUSE_DECL name change. (gfc_trans_omp_do): Likewise. * trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_REDUCTION clauses. (gfc_trans_omp_atomic): Build OMP_ATOMIC instead of expanding sync builtins directly. (gfc_trans_omp_single): Build OMP_SINGLE statement. * trans-openmp.c (gfc_trans_add_clause): New. (gfc_trans_omp_variable_list): Take a tree code and build the clause node here. Link it to the head of a list. (gfc_trans_omp_clauses): Update to match. (gfc_trans_omp_do): Use gfc_trans_add_clause. * trans-openmp.c (gfc_trans_omp_clauses): Change second argument to gfc_omp_clauses *. Use gfc_evaluate_now instead of creating temporaries by hand. (gfc_trans_omp_atomic, gfc_trans_omp_critical): Use buildN_v macros. (gfc_trans_omp_do): New function. (gfc_trans_omp_master): Dont' check for gfc_trans_code returning NULL. (gfc_trans_omp_parallel): Adjust gfc_trans_omp_clauses caller. Use buildN_v macros. (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections, gfc_trans_omp_single, gfc_trans_omp_workshare): New functions. (gfc_trans_omp_directive): Use them. * parse.c (parse_omp_do): Allow new_st.op == EXEC_NOP. * openmp.c (resolve_omp_clauses): Check for list items present in multiple clauses. (resolve_omp_do): Check that iteration variable is not THREADPRIVATE and is not present in any clause variable lists other than PRIVATE or LASTPRIVATE. * gfortran.h (symbol_attribute): Add threadprivate bit. (gfc_common_head): Add threadprivate member, change use_assoc and saved into char to save space. (gfc_add_threadprivate): New prototype. * symbol.c (check_conflict): Handle threadprivate. (gfc_add_threadprivate): New function. (gfc_copy_attr): Copy threadprivate. * trans-openmp.c (gfc_trans_omp_clauses): Avoid creating a temporary if IF or NUM_THREADS is constant. Create OMP_CLAUSE_SCHEDULE and OMP_CLAUSE_ORDERED. * resolve.c (resolve_symbol): Complain if a THREADPRIVATE symbol outside a module and not in COMMON has is not SAVEd. (resolve_equivalence): Ensure THREADPRIVATE objects don't get EQUIVALENCEd. * trans-common.c: Include target.h and rtl.h. (build_common_decl): Set DECL_TLS_MODEL if THREADPRIVATE. * trans-decl.c: Include rtl.h. (gfc_finish_var_decl): Set DECL_TLS_MODEL if THREADPRIVATE. * dump-parse-tree.c (gfc_show_attr): Handle THREADPRIVATE. * Make-lang.in (fortran/trans-decl.o): Depend on $(RTL_H). (fortran/trans-common.o): Depend on $(RTL_H) and $(TARGET_H). * openmp.c (gfc_match_omp_variable_list): Ensure COMMON block is from current namespace. (gfc_match_omp_threadprivate): Rewrite. (resolve_omp_clauses): Check some clause restrictions. * module.c (ab_attribute): Add AB_THREADPRIVATE. (attr_bits): Add THREADPRIVATE. (mio_symbol_attribute, mio_symbol_attribute): Handle threadprivate. (load_commons, write_common, write_blank_common): Adjust for type change of saved, store/load threadprivate bit from the integer as well. * types.def (BT_FN_UINT_UINT): New. (BT_FN_VOID_UINT_UINT): Remove. * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_barrier, gfc_trans_omp_critical, gfc_trans_omp_flush, gfc_trans_omp_master, gfc_trans_omp_ordered, gfc_trans_omp_parallel): New functions. (gfc_trans_omp_directive): Use them. * openmp.c (expr_references_sym): Add SE argument, don't look into SE tree. (is_conversion): New function. (resolve_omp_atomic): Adjust expr_references_sym callers. Handle promoted expressions. * trans-openmp.c (gfc_trans_omp_atomic): New function. (gfc_trans_omp_directive): Call it. * f95-lang.c (builtin_type_for_size): New function. (gfc_init_builtin_functions): Initialize synchronization and OpenMP builtins. * types.def: New file. * Make-lang.in (f95-lang.o): Depend on $(BUILTINS_DEF) and fortran/types.def. * trans-openmp.c: Rename GOMP_* tree codes into OMP_*. * dump-parse-tree.c (show_symtree): Don't crash if ns->proc_name is NULL. * dump-parse-tree.c (gfc_show_namelist, gfc_show_omp_node): New functions. (gfc_show_code_node): Call gfc_show_omp_node for EXEC_OMP_* nodes. * parse.c (parse_omp_do): Call pop_state before next_statement. * openmp.c (expr_references_sym, resolve_omp_atomic, resolve_omp_do): New functions. (gfc_resolve_omp_directive): Call them. * match.c (match_exit_cycle): Issue error if EXIT or CYCLE statement leaves an OpenMP structured block or if EXIT terminates !$omp do loop. * Make-lang.in (F95_PARSER_OBJS): Add fortran/openmp.o. (F95_OBJS): Add fortran/trans-openmp.o. (fortran/trans-openmp.o): Depend on $(GFORTRAN_TRANS_DEPS). * lang.opt: Add -fopenmp option. * options.c (gfc_init_options): Initialize it. (gfc_handle_option): Handle it. * gfortran.h (ST_OMP_ATOMIC, ST_OMP_BARRIER, ST_OMP_CRITICAL, ST_OMP_END_CRITICAL, ST_OMP_END_DO, ST_OMP_END_MASTER, ST_OMP_END_ORDERED, ST_OMP_END_PARALLEL, ST_OMP_END_PARALLEL_DO, ST_OMP_END_PARALLEL_SECTIONS, ST_OMP_END_PARALLEL_WORKSHARE, ST_OMP_END_SECTIONS, ST_OMP_END_SINGLE, ST_OMP_END_WORKSHARE, ST_OMP_DO, ST_OMP_FLUSH, ST_OMP_MASTER, ST_OMP_ORDERED, ST_OMP_PARALLEL, ST_OMP_PARALLEL_DO, ST_OMP_PARALLEL_SECTIONS, ST_OMP_PARALLEL_WORKSHARE, ST_OMP_SECTIONS, ST_OMP_SECTION, ST_OMP_SINGLE, ST_OMP_THREADPRIVATE, ST_OMP_WORKSHARE): New statement codes. (OMP_LIST_PRIVATE, OMP_LIST_FIRSTPRIVATE, OMP_LIST_LASTPRIVATE, OMP_LIST_COPYPRIVATE, OMP_LIST_SHARED, OMP_LIST_COPYIN, OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT, OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV, OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND, OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST, OMP_LIST_NUM): New OpenMP variable list types. (gfc_omp_clauses): New typedef. (gfc_get_omp_clauses): Define. (EXEC_OMP_CRITICAL, EXEC_OMP_DO, EXEC_OMP_FLUSH, EXEC_OMP_MASTER, EXEC_OMP_ORDERED, EXEC_OMP_PARALLEL, EXEC_OMP_PARALLEL_DO, EXEC_OMP_PARALLEL_SECTIONS, EXEC_OMP_PARALLEL_WORKSHARE, EXEC_OMP_SECTIONS, EXEC_OMP_SINGLE, EXEC_OMP_WORKSHARE, EXEC_OMP_ATOMIC, EXEC_OMP_BARRIER, EXEC_OMP_END_NOWAIT, EXEC_OMP_END_SINGLE): New OpenMP gfc_exec_op codes. (struct gfc_code): Add omp_clauses, omp_name, omp_namelist and omp_bool fields to ext union. (flag_openmp): Declare. (gfc_free_omp_clauses, gfc_resolve_omp_directive): New prototypes. * scanner.c (openmp_flag, openmp_locus): New variables. (skip_free_comments, skip_fixed_comments, gfc_next_char_literal): Handle OpenMP directive lines and conditional compilation magic comments. * parse.h (COMP_OMP_STRUCTURED_BLOCK): New compile state. * parse.c (decode_omp_directive, parse_omp_do, parse_omp_atomic, parse_omp_structured_block): New functions. (next_free, next_fixed): Parse OpenMP directives. (case_executable, case_exec_markers, case_decl): Add ST_OMP_* codes. (gfc_ascii_statement): Handle ST_OMP_* codes. (parse_executable): Rearrange the loop slightly, so that parse_omp_do can return next_statement. * match.h (gfc_match_omp_eos, gfc_match_omp_atomic, gfc_match_omp_barrier, gfc_match_omp_critical, gfc_match_omp_do, gfc_match_omp_flush, gfc_match_omp_master, gfc_match_omp_ordered, gfc_match_omp_parallel, gfc_match_omp_parallel_do, gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare, gfc_match_omp_sections, gfc_match_omp_single, gfc_match_omp_threadprivate, gfc_match_omp_workshare, gfc_match_omp_end_nowait, gfc_match_omp_end_single): New prototypes. * resolve.c (resolve_blocks): Ignore EXEC_OMP_* block directives. (resolve_code): Call gfc_resolve_omp_directive on EXEC_OMP_* directives. * trans.c (gfc_trans_code): Call gfc_trans_omp_directive for EXEC_OMP_* directives. * st.c (gfc_free_statement): Handle EXEC_OMP_* statement freeing. * trans-stmt.h (gfc_trans_omp_directive): New prototype. * openmp.c: New file. * trans-openmp.c: New file. gcc/testsuite/ 2006-02-14 Jakub Jelinek <jakub@redhat.com> Diego Novillo <dnovillo@redhat.com> Uros Bizjak <uros@kss-loka.si> * gfortran.dg/gomp: New directory. libgomp/ 2006-02-14 Jakub Jelinek <jakub@redhat.com> * testsuite/libgomp.fortran/vla7.f90: Add -w to options. Remove tests for returning assumed character length arrays. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110984 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 13, 2006
-
-
sayle authored
John David Anglin <dave@hiauly1.hia.nrc.ca> PR libgomp/25936 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110908 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 08, 2006
-
-
uweigand authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110773 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 07, 2006
-
-
ebotcazou authored
part of LD_LIBRARY_PATH manually. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110720 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Feb 03, 2006
-
-
hjl authored
PR libgomp/25852 * testsuite/lib/libgomp-dg.exp (blddir): Set it in libgomp_init. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110552 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jan 25, 2006
-
-
rth authored
* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove. * configure.ac (PERL): Don't set. (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here. (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE, OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions. * omp.h.in: Wrap the new configure substitutions with @ characters. * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise. * aclocal.m4, configure, Makefile.in: Regenerate. * mkomp_h.pl: Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110220 138bc75d-0d04-0410-961f-82ee72b054a4
-
- Jan 24, 2006
-
-
rth authored
* configure.ac: Use GCC_HEADER_STDINT. * libgomp.h: Include gstdint.h. * libgomp_f.h.in: Don't include stdint.h or inttypes.h. * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110179 138bc75d-0d04-0410-961f-82ee72b054a4
-
rth authored
* configure.ac: Add AM_MAINTAINER_MODE. * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110176 138bc75d-0d04-0410-961f-82ee72b054a4
-