aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
blob: bc49f24482565028ec734996ce462b4b905809c5 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
2014-01-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58980
	* parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as
	nested_name_specifier.

2014-01-23  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
	see if there is an attribute after function decl.  If so, then
	parse them now.
	(cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
	enabled function late parsing.
	(cp_parser_gnu_attribute_list): Parse all the tokens for the vector
	attribute for a SIMD-enabled function.
	(cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
	the function is used by SIMD-enabled function (indicated by NULL
	pragma token).   Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK,
	PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH
	(cp_parser_cilk_simd_vectorlength): Modified this function to handle
	vectorlength clause in SIMD-enabled function and #pragma SIMD's
	vectorlength clause.  Added a new bool parameter to differentiate
	between the two.
	(cp_parser_cilk_simd_fn_vector_attrs): New function.
	(is_cilkplus_vector_p): Likewise.
	(cp_parser_late_parsing_elem_fn_info): Likewise.
	(cp_parser_omp_clause_name): Added a check for "mask", "nomask"
	and "vectorlength" clauses when Cilk Plus is enabled.
	(cp_parser_omp_clause_linear): Added a new parameter of type bool
	and emit a sorry message when step size is a parameter.
	* parser.h (cp_parser::cilk_simd_fn_info): New field.
	* decl.c (grokfndecl): Added flag_enable_cilkplus along with
	flag_openmp.
	* pt.c (apply_late_template_attributes): Likewise.

2014-01-23  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/58809
	* semantics.c (finish_omp_reduction_clause): Reject
	BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.

2014-01-22  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR c++/59482
	* parser.c (cp_parser_class_head): Push the class before parsing
	the base-clause, pop after it.

2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>

	* decl2.c (cpp_check): Revert prototype change.

2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59270
	PR c++/58811
	* init.c (build_value_init_noctor): Don't pass error_mark_node to
	build_value_init.

2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59269
	* init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
	only when errorcount == 0.

2014-01-17  Marek Polacek  <polacek@redhat.com>

	PR c++/59838
	* cvt.c (ocp_convert): Don't segfault on non-existing
	ENUM_UNDERLYING_TYPE.

2014-01-16  Jason Merrill  <jason@redhat.com>

	PR c++/59821
	* tree.c (bot_manip): Update the location of builtin_LINE and
	builtin_FILE calls.

2014-01-14  Jason Merrill  <jason@redhat.com>

	PR c++/59659
	* typeck2.c (massage_init_elt): New.
	(process_init_constructor_record)
	(process_init_constructor_union): Use it.
	(process_init_constructor_array): Use it.  Use RANGE_EXPR.
	(split_nonconstant_init_1): Handle it.
	* semantics.c (cxx_eval_vec_init_1): Use force_rvalue.

2014-01-09  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	PR c++/59631
	* parser.c (cp_parser_postfix_expression): Added a new if-statement
	and replaced an existing if-statement with else-if statement.
	Changed an existing error message wording to match the one from the C
	parser.

2014-01-08  Jason Merrill  <jason@redhat.com>

	PR c++/59614
	* class.c (abi_tag_data): Add tags field.
	(check_abi_tags): Initialize it.
	(find_abi_tags_r): Support collecting missing tags.
	(mark_type_abi_tags): Don't look at template args.
	(inherit_targ_abi_tags): New.
	(check_bases_and_members): Use it.
	* cp-tree.h (ABI_TAG_IMPLICIT): New.
	* mangle.c (write_abi_tags): Check it.

2014-01-07  Jason Merrill  <jason@redhat.com>

	PR c++/58856
	* pt.c (num_innermost_template_parms): New.
	(get_underlying_template): Use it.

	PR c++/58965
	* mangle.c (write_guarded_var_name): Handle null DECL_NAME.

2014-01-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
	the letter of 20.11.6 about Base and Derived naming the same
	class type modulo cv-qualifiers.

2014-01-06  Adam Butcher  <adam@jessamine.co.uk>

	PR c++/59635
	* lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
	function as unimplemented for generic lambdas with varargs.

	PR c++/59636
	* parser.c (cp_parser_template_parameter): Early out with
	error_mark_node if parameter declaration was not parsed.

	PR c++/59629
	* parser.c (cp_parser_lambda_expression): Save/reset/restore
	auto_is_implicit_function_template_parm_p around lambda body.

	PR c++/59638
	* parser.c (cp_parser_init_declarator): Undo fully implicit
	template parameter list when declarator is not a function.

2014-01-03  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/58950
	* cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.

2014-01-03  Tobias Burnus  <burnus@net-b.de>

	PR c++/58567
	* pt.c (tsubst_omp_for_iterator): Early return for error_mark_node.

2014-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	Core DR 1442
	PR c++/59165
	* parser.c (cp_parser_perform_range_for_lookup): Don't pass true
	as include_std to perform_koenig_lookup.
	(cp_parser_postfix_expression): Adjust.
	* pt.c (tsubst_copy_and_build): Likewise.
	* semantics.c (perform_koenig_lookup): Remove bool parameter.
	(omp_reduction_lookup): Adjust.
	* name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
	(lookup_arg_dependent): Likewise.
	(lookup_function_nonclass): Adjust.
	* name-lookup.h: Adjust declaration.
	* cp-tree.h: Likewise.

2014-01-02  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/59087
	* parser.c (cp_parser_userdef_numeric_literal): Mention
	-fext-numeric-literals in the message.

2014-01-02  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/59641
	* call.c (build_conditional_expr_1): Check the return value of
	force_rvalue.

2014-01-02  Marc Glisse  <marc.glisse@inria.fr>

	* call.c (convert_like_real): Check complain.

2014-01-02  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/59378
	* typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
	in templates.

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
	the standard form for the copyright notice.

Copyright (C) 2014 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.