]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
svn merge -r261156:262536 svn+ssh://gcc.gnu.org/svn/gcc/trunk
authorJakub Jelinek <jakub@gcc.gnu.org>
Tue, 10 Jul 2018 10:54:09 +0000 (12:54 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 10 Jul 2018 10:54:09 +0000 (12:54 +0200)
From-SVN: r262538

34 files changed:
1  2 
gcc/Makefile.in
gcc/c-family/c-omp.c
gcc/c-family/c-pragma.h
gcc/c/c-parser.c
gcc/c/c-typeck.c
gcc/cp/constexpr.c
gcc/cp/cp-gimplify.c
gcc/cp/cp-tree.h
gcc/cp/cxx-pretty-print.c
gcc/cp/lex.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/fortran/trans-openmp.c
gcc/gimple-pretty-print.c
gcc/gimple.c
gcc/gimple.h
gcc/gimplify.c
gcc/lto-streamer-out.c
gcc/omp-grid.c
gcc/omp-low.c
gcc/tree-core.h
gcc/tree-inline.c
gcc/tree-nested.c
gcc/tree-parloops.c
gcc/tree-pretty-print.c
gcc/tree-streamer-in.c
gcc/tree-streamer-out.c
gcc/tree.c
gcc/tree.def
gcc/tree.h
libgomp/libgomp.h
libgomp/libgomp.map
libgomp/target.c

diff --cc gcc/Makefile.in
Simple merge
Simple merge
Simple merge
index 643b7e23cc5e5218b9a629c5319c8c6da404e943,7a926285f3a98fea7444ccd617a8d206e2449c35..3cf3eea886da2a2a9511b209ab06e8a1ce7b03c6
@@@ -11293,8 -11279,8 +11295,10 @@@ c_parser_omp_clause_name (c_parser *par
            result = PRAGMA_OACC_CLAUSE_HOST;
          break;
        case 'i':
-         if (!strcmp ("in_reduction", p))
+         if (!strcmp ("if_present", p))
+           result = PRAGMA_OACC_CLAUSE_IF_PRESENT;
++        else if (!strcmp ("in_reduction", p))
 +          result = PRAGMA_OMP_CLAUSE_IN_REDUCTION;
          else if (!strcmp ("inbranch", p))
            result = PRAGMA_OMP_CLAUSE_INBRANCH;
          else if (!strcmp ("independent", p))
            result = PRAGMA_OMP_CLAUSE_SIMD;
          else if (!strcmp ("simdlen", p))
            result = PRAGMA_OMP_CLAUSE_SIMDLEN;
-         else if (!strcmp ("self", p))
-           result = PRAGMA_OACC_CLAUSE_SELF;
          break;
        case 't':
 -        if (!strcmp ("taskgroup", p))
 +        if (!strcmp ("task_reduction", p))
 +          result = PRAGMA_OMP_CLAUSE_TASK_REDUCTION;
 +        else if (!strcmp ("taskgroup", p))
            result = PRAGMA_OMP_CLAUSE_TASKGROUP;
          else if (!strcmp ("thread_limit", p))
            result = PRAGMA_OMP_CLAUSE_THREAD_LIMIT;
@@@ -14470,15 -13998,9 +14450,11 @@@ c_parser_oacc_all_clauses (c_parser *pa
          c_name = "private";
          break;
        case PRAGMA_OACC_CLAUSE_REDUCTION:
 -        clauses = c_parser_omp_clause_reduction (parser, clauses);
 +        clauses
 +          = c_parser_omp_clause_reduction (parser, OMP_CLAUSE_REDUCTION,
 +                                           clauses);
          c_name = "reduction";
          break;
-       case PRAGMA_OACC_CLAUSE_SELF:
-         clauses = c_parser_oacc_data_clause (parser, c_kind, clauses);
-         c_name = "self";
-         break;
        case PRAGMA_OACC_CLAUSE_SEQ:
          clauses = c_parser_oacc_simple_clause (parser, OMP_CLAUSE_SEQ,
                                                clauses);
Simple merge
Simple merge
Simple merge
Simple merge
index e08d07aa428ea3fbc81d355ce4bdf52e591f45a7,df81aa37ce89965106407943b15a8f0836edf795..d686b991c8051b43815e08b27165dd9656360917
@@@ -2068,42 -2068,6 +2068,42 @@@ cxx_pretty_printer::statement (tree t
        declaration (t);
        break;
  
-                             pp_indentation (this), 0);
 +    case OMP_DEPOBJ:
 +      pp_cxx_ws_string (this, "#pragma omp depobj");
 +      pp_space (this);
 +      pp_cxx_left_paren (this);
 +      expression (OMP_DEPOBJ_DEPOBJ (t));
 +      pp_cxx_right_paren (this);
 +      if (OMP_DEPOBJ_CLAUSES (t) && OMP_DEPOBJ_CLAUSES (t) != error_mark_node)
 +      {
 +        if (TREE_CODE (OMP_DEPOBJ_CLAUSES (t)) == OMP_CLAUSE)
 +          dump_omp_clauses (this, OMP_DEPOBJ_CLAUSES (t),
++                            pp_indentation (this), TDF_NONE);
 +        else
 +          switch (tree_to_uhwi (OMP_DEPOBJ_CLAUSES (t)))
 +            {
 +            case OMP_CLAUSE_DEPEND_IN:
 +              pp_cxx_ws_string (this, " update(in)");
 +              break;
 +            case OMP_CLAUSE_DEPEND_INOUT:
 +              pp_cxx_ws_string (this, " update(inout)");
 +              break;
 +            case OMP_CLAUSE_DEPEND_OUT:
 +              pp_cxx_ws_string (this, " update(out)");
 +              break;
 +            case OMP_CLAUSE_DEPEND_MUTEXINOUTSET:
 +              pp_cxx_ws_string (this, " update(mutexinoutset)");
 +              break;
 +            case OMP_CLAUSE_DEPEND_LAST:
 +              pp_cxx_ws_string (this, " destroy");
 +              break;
 +            default:
 +              break;
 +            }
 +      }
 +      pp_needs_newline (this) = true;
 +      break;
 +
      default:
        c_pretty_printer::statement (t);
        break;
diff --cc gcc/cp/lex.c
Simple merge
diff --cc gcc/cp/parser.c
index 681de3cd10ba7a0dd04d5177418370f540166309,366a0d894602db5f74ed89cf2e94938eb88fed57..7985aa26151d2491f367c8c6c4f8396f04927d5a
@@@ -31401,8 -31427,8 +31428,10 @@@ cp_parser_omp_clause_name (cp_parser *p
            result = PRAGMA_OACC_CLAUSE_HOST;
          break;
        case 'i':
-         if (!strcmp ("in_reduction", p))
+         if (!strcmp ("if_present", p))
+           result = PRAGMA_OACC_CLAUSE_IF_PRESENT;
++        else if (!strcmp ("in_reduction", p))
 +          result = PRAGMA_OMP_CLAUSE_IN_REDUCTION;
          else if (!strcmp ("inbranch", p))
            result = PRAGMA_OMP_CLAUSE_INBRANCH;
          else if (!strcmp ("independent", p))
@@@ -34261,15 -33871,9 +34265,11 @@@ cp_parser_oacc_all_clauses (cp_parser *
          c_name = "private";
          break;
        case PRAGMA_OACC_CLAUSE_REDUCTION:
 -        clauses = cp_parser_omp_clause_reduction (parser, clauses);
 +        clauses
 +          = cp_parser_omp_clause_reduction (parser, OMP_CLAUSE_REDUCTION,
 +                                            clauses);
          c_name = "reduction";
          break;
-       case PRAGMA_OACC_CLAUSE_SELF:
-         clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses);
-         c_name = "self";
-         break;
        case PRAGMA_OACC_CLAUSE_SEQ:
          clauses = cp_parser_oacc_simple_clause (parser, OMP_CLAUSE_SEQ,
                                                 clauses, here);
diff --cc gcc/cp/pt.c
Simple merge
Simple merge
Simple merge
index 74e613fc6ad1017fcde768767113b75d14b7cd6b,19cdb40d73a5226033297f311f7bdeb716c8c07d..ef92dabcc67d39cbcadc4ce37431e2fdab77a06a
@@@ -1558,35 -1555,6 +1555,35 @@@ dump_gimple_omp_single (pretty_printer 
      }
  }
  
-                          int spc, int flags)
 +/* Dump a GIMPLE_OMP_TASKGROUP tuple on the pretty_printer BUFFER.  */
 +
 +static void
 +dump_gimple_omp_taskgroup (pretty_printer *buffer, gimple *gs,
++                         int spc, dump_flags_t flags)
 +{
 +  if (flags & TDF_RAW)
 +    {
 +      dump_gimple_fmt (buffer, spc, flags, "%G <%+BODY <%S>%nCLAUSES <", gs,
 +                     gimple_omp_body (gs));
 +      dump_omp_clauses (buffer, gimple_omp_taskgroup_clauses (gs), spc, flags);
 +      dump_gimple_fmt (buffer, spc, flags, " >");
 +    }
 +  else
 +    {
 +      pp_string (buffer, "#pragma omp taskgroup");
 +      dump_omp_clauses (buffer, gimple_omp_taskgroup_clauses (gs), spc, flags);
 +      if (!gimple_seq_empty_p (gimple_omp_body (gs)))
 +      {
 +        newline_and_indent (buffer, spc + 2);
 +        pp_left_brace (buffer);
 +        pp_newline (buffer);
 +        dump_gimple_seq (buffer, gimple_omp_body (gs), spc + 4, flags);
 +        newline_and_indent (buffer, spc + 2);
 +        pp_right_brace (buffer);
 +      }
 +    }
 +}
 +
  /* Dump a GIMPLE_OMP_TARGET tuple on the pretty_printer BUFFER.  */
  
  static void
diff --cc gcc/gimple.c
Simple merge
diff --cc gcc/gimple.h
Simple merge
diff --cc gcc/gimplify.c
Simple merge
Simple merge
diff --cc gcc/omp-grid.c
Simple merge
diff --cc gcc/omp-low.c
index 14ce032402c53ee0e0fac21f71a1f88f705d0ca2,c591231d8f168b04db1292f7f07b3c1e986d326f..de6d09940105a3dc90b0111e76aa74a58c502d0c
@@@ -1328,7 -1320,8 +1320,9 @@@ scan_sharing_clauses (tree clauses, omp
        case OMP_CLAUSE_TILE:
        case OMP_CLAUSE__SIMT_:
        case OMP_CLAUSE_DEFAULT:
 +      case OMP_CLAUSE_NONTEMPORAL:
+       case OMP_CLAUSE_IF_PRESENT:
+       case OMP_CLAUSE_FINALIZE:
          break;
  
        case OMP_CLAUSE_ALIGNED:
diff --cc gcc/tree-core.h
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc gcc/tree.c
Simple merge
diff --cc gcc/tree.def
Simple merge
diff --cc gcc/tree.h
Simple merge
Simple merge
Simple merge
Simple merge