summaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog.gomp
blob: ac49b6e603bdb3c5393ea62fd9e4f38eb8ffbd3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
2013-04-24  Jakub Jelinek  <jakub@redhat.com>

	* parser.c (cp_parser_omp_clause_name): Add missing break after
	case 'i'.
	(cp_parser_omp_cancellation_point): Diagnose error if
	#pragma omp cancellation isn't followed by point.
	* semantics.c (finish_omp_clauses): Complain also about zero
	in alignment of aligned directive or safelen/simdlen expressions.
	(finish_omp_cancel): Fix up diagnostics wording.

2013-04-23  Jakub Jelinek  <jakub@redhat.com>

	* semantics.c (finish_omp_clauses): On OMP_CLAUSE_LINEAR clauses
	verify OMP_CLAUSE_DECL has integral or pointer type, and handle
	linear steps for pointer type decls.  FIx up handling of
	OMP_CLAUSE_UNIFORM.

2013-04-19  Jakub Jelinek  <jakub@redhat.com>

	* cp-tree.h (CP_OMP_CLAUSE_INFO): Also allow it on OMP_CLAUSE_LINEAR.
	* parser.c (cp_parser_omp_var_list_no_open): If colon is non-NULL,
	temporarily disable colon_corrects_to_scope_p during the parsing
	of the variable list.
	(cp_parser_omp_clause_safelen, cp_parser_omp_clause_simdlen): New
	functions.
	(cp_parser_omp_all_clauses): Handle OMP_CLAUSE_SAFELEN and
	OMP_CLAUSE_SIMDLEN.
	* semantics.c (finish_omp_clauses): Allow NULL_TREE in
	OMP_CLAUSE_ALIGNED_ALIGNMENT.

2013-04-10  Jakub Jelinek  <jakub@redhat.com>

	* cp-tree.h (finish_omp_taskgroup): New prototype.
	* parser.c (cp_parser_omp_clause_proc_bind): Require ) instead of
	colon at the end of the clause.
	(cp_parser_omp_taskgroup): New function.
	(cp_parser_omp_construct, cp_parser_pragma): Handle
	PRAGMA_OMP_TASKGROUP.
	* semantics.c (finish_omp_taskgroup): New function.

2013-04-05  Jakub Jelinek  <jakub@redhat.com>

	* semantics.c (finish_omp_for): Disallow class iterators for
	OMP_SIMD and OMP_FOR_SIMD loops.

2013-03-27  Jakub Jelinek  <jakub@redhat.com>

	* cp-tree.h (OMP_FOR_GIMPLIFYING_P): Use OMP_LOOP_CHECK instead of
	OMP_FOR_CHECK.
	(finish_omp_for): Add enum tree_code second argument.
	(finish_omp_cancel, finish_omp_cancellation_point): New prototypes.
	* cp-gimplify.c (cp_gimplify_expr, cp_genericize_r): Handle
	OMP_SIMD, OMP_FOR_SIMD and OMP_DISTRIBUTE.
	* semantics.c (finish_omp_clauses): Handle new OpenMP 4.0 clauses.
	(finish_omp_for): Add code argument, pass it down to make_node
	or c_finish_omp_for.
	(finish_omp_cancel, finish_omp_cancellation_point): New functions.
	* parser.c (cp_parser_omp_clause_name): Add parsing of new
	OpenMP 4.0 clauses.
	(cp_parser_omp_var_list_no_open): Add COLON argument, if non-NULL,
	accept termination by colon instead of closing paren.
	(cp_parser_omp_var_list, cp_parser_omp_clause_reduction): Adjust
	callers.
	(cp_parser_omp_clause_branch, cp_parser_omp_clause_cancelkind,
	cp_parser_omp_clause_num_teams, cp_parser_omp_clause_aligned,
	cp_parser_omp_clause_linear, cp_parser_omp_clause_depend,
	cp_parser_omp_clause_map, cp_parser_omp_clause_device,
	cp_parser_omp_clause_dist_schedule, cp_parser_omp_clause_proc_bind):
	New functions.
	(cp_parser_omp_all_clauses): Change mask argument's type to
	omp_clause_mask from unsigned.  Fix c_name for
	PRAGMA_OMP_CLAUSE_UNTIED.  Handle new OpenMP 4.0 clauses.
	(cp_parser_omp_for_loop): Add code argument.  Pass it down to
	finish_omp_for.
	(OMP_SIMD_CLAUSE_MASK): Define.
	(cp_parser_omp_simd): New function.
	(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
	OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK,
	OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
	(cp_parser_omp_for): Handle parsing of #pragma omp for simd.
	(cp_parser_omp_parallel): Handle parsing of
	#pragma omp parallel for simd.  Use omp_clause_mask type
	instead of unsigned for mask, use OMP_CLAUSE_MASK_1 instead
	of 1 for masks.
	(OMP_CANCEL_CLAUSE_MASK, OMP_CANCELLATION_POINT_CLAUSE_MASK): Define.
	(cp_parser_omp_cancel, cp_parser_omp_cancellation_point): New
	functions.
	(cp_parser_omp_construct): Handle PRAGMA_OMP_SIMD, PRAGMA_OMP_CANCEL
	and PRAGMA_OMP_CANCELLATION_POINT.
	(cp_parser_pragma): Handle PRAGMA_OMP_SIMD.
	* pt.c (tsubst_expr): Handle OMP_SIMD, OMP_FOR_SIMD and
	OMP_DISTRIBUTE.  Pass down TREE_CODE to finish_omp_for.

2013-03-20  Jakub Jelinek  <jakub@redhat.com>

	* parser.c (cp_parser_omp_atomic): Never restart unless
	structured_block is true.

	* parser.c (cp_parser_binary_expression): Handle no_toplevel_fold_p
	even for binary operations other than comparison.
	(cp_parser_omp_atomic): Handle parsing OpenMP 4.0 atomics.
	* pt.c (tsubst_expr) <case OMP_ATOMIC>: Handle atomic exchange.
	* semantics.c (finish_omp_atomic): Use cp_tree_equal to diagnose
	expression mismatches and to find out if c_finish_omp_atomic
	should be called with swapped set to true or false.

Copyright (C) 2013 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.