]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
ft32.md (*sne): New insn pattern.
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
6e232ba4
JN
12015-11-12 James Norris <jnorris@codesourcery.com>
2 Joseph Myers <joseph@codesourcery.com>
3
4 * c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE.
5 (c_parser_omp_clause_name): Handle 'device_resident' clause.
6 (c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
7 and PRAGMA_OMP_CLAUSE_LINK.
8 (c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
9 and PRAGMA_OACC_CLAUSE_LINK.
10 (OACC_DECLARE_CLAUSE_MASK): New definition.
11 (c_parser_oacc_declare): New function.
12
9be4f715
MP
132015-11-12 Marek Polacek <polacek@redhat.com>
14
15 PR c/67784
16 * c-parser.c (c_parser_for_statement): Reclassify the token in
17 a correct scope.
18
e78bede6
MP
192015-11-11 Marek Polacek <polacek@redhat.com>
20
21 PR c/68107
22 PR c++/68266
23 * c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code
24 checking the size of an array.
25
69f293c9
AM
262015-11-11 Andrew MacLeod <amacleod@redhat.com>
27
28 * c-array-notation.c: Remove unused header files.
29 * c-aux-info.c: Likewise.
30 * c-convert.c: Likewise.
31 * c-decl.c: Likewise.
32 * c-errors.c: Likewise.
33 * c-lang.c: Likewise.
34 * c-objc-common.c: Likewise.
35 * c-parser.c: Likewise.
36 * c-typeck.c: Likewise.
37 * gccspec.c: Likewise.
38
3a40d81d
NS
392015-11-09 Thomas Schwinge <thomas@codesourcery.com>
40 Cesar Philippidis <cesar@codesourcery.com>
41 James Norris <jnorris@codesourcery.com>
42 Julian Brown <julian@codesourcery.com>
43 Nathan Sidwell <nathan@codesourcery.com>
44
45 c/
46 * c-parser.c (c_parser_declaration_or_fndef): Add OpenACC
47 routine arg.
48 (c_parser_declaration_or_fndef): Call c_finish_oacc_routine.
49 (c_parser_pragma): Parse 'acc routine'.
50 (OACC_ROUTINE_CLAUSE_MARK): Define.
51 (c_parser_oacc_routine, (c_finish_oacc_routine): New.
52
fc402eec
AA
532015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
54
55 PR debug/67192
56 * c-typeck.c (c_finish_loop): For unconditional loops, set the
57 location of the backward-goto to the start of the loop body.
58
f6b0b3db
AA
592015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
60
61 PR debug/67192
62 * c-parser.c (c_parser_while_statement): Finish the loop before
63 parsing ahead for misleading indentation.
64 (c_parser_for_statement): Likewise.
65
ee45a32d
EB
662015-11-08 Eric Botcazou <ebotcazou@adacore.com>
67
68 * c-decl.c (finish_struct): If the structure has reverse storage
69 order, rewrite the type of array fields with scalar component. Call
70 maybe_apply_pragma_scalar_storage_order on entry.
71 * c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs. Issue
72 errors on bit-fields and reverse SSO here and not...
73 (c_mark_addressable): ...here.
74 (output_init_element): Adjust call to initializer_constant_valid_p.
75 (c_build_qualified_type): Propagate TYPE_REVERSE_STORAGE_ORDER.
76
8a645150
DM
772015-11-06 David Malcolm <dmalcolm@redhat.com>
78
79 * c-decl.c (warn_defaults_to): Update for change in signature
80 of diagnostic_set_info.
81 * c-errors.c (pedwarn_c99): Likewise.
82 (pedwarn_c90): Likewise.
83 * c-objc-common.c (c_tree_printer): Update for new "caret_p" param
84 for textinfo::set_location.
85
7a5e4956
CP
862015-11-05 Cesar Philippidis <cesar@codesourcery.com>
87 Thomas Schwinge <thomas@codesourcery.com>
88 James Norris <jnorris@codesourcery.com>
89
90 * c-parser.c (c_parser_omp_clause_name): Add support for
91 PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
92 (c_parser_omp_clause_default): Add is_oacc argument. Handle
93 default(none) in OpenACC.
94 (c_parser_oacc_shape_clause): Allow pointer variables as gang static
95 arguments.
96 (c_parser_oacc_clause_tile): New function.
97 (c_parser_oacc_all_clauses): Add support for OMP_CLAUSE_DEFAULT,
98 OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
99 (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
100 TILE}.
101 (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
102 (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
103 FIRSTPRIVATE}.
104 (c_parser_omp_all_clauses): Update call to c_parser_omp_clause_default.
105 (c_parser_oacc_update): Update the error message for missing clauses.
106 * c-typeck.c (c_finish_omp_clauses): Add support for OMP_CLAUSE_TILE
107 and OMP_CLAUSE_INDEPENDENT.
108
bfcfbfa0
MP
1092015-11-05 Marek Polacek <polacek@redhat.com>
110
111 PR c/68090
112 * c-parser.c (c_parser_postfix_expression_after_paren_type): Don't
113 deal with pre-evaluation on invalid types.
114
e01d41e5
JJ
1152015-11-05 Jakub Jelinek <jakub@redhat.com>
116 Ilya Verbin <ilya.verbin@intel.com>
117
118 * c-parser.c: Include context.h and gimple-expr.h.
119 (c_parser_omp_clause_schedule): Parse schedule modifiers, diagnose
120 monotonic together with nonmonotonic.
121 (c_parser_omp_for_loop): Call c_omp_check_loop_iv. Call add_stmt here.
122 (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
123 (c_parser_omp_target_data, c_parser_omp_target_enter_data,
124 c_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER.
125 (c_parser_omp_target): Likewise. Evaluate num_teams and thread_limit
126 expressions on combined target teams before the target.
127 (c_parser_omp_declare_target): If decl has "omp declare target" or
128 "omp declare target link" attribute, and cgraph or varpool node already
129 exists, then set corresponding flags. Call c_finish_omp_clauses
130 in the parenthesized extended-list syntax case.
131 * c-decl.c (c_decl_attributes): Don't diagnose block scope vars inside
132 declare target.
133 * c-typeck.c (handle_omp_array_sections_1): Allow non-zero low-bound
134 on OMP_CLAUSE_REDUCTION array sections.
135 (handle_omp_array_sections): Encode low-bound into the MEM_REF, either
136 into the constant offset, or for variable low-bound using
137 POINTER_PLUS_EXPR. For structure element based array sections use
138 GOMP_MAP_ALWAYS_POINTER instead of GOMP_MAP_FIRSTPRIVATE_POINTER.
139 (c_finish_omp_clauses): Drop generic_field_head, structure
140 elements are now always mapped even as array section bases,
141 diagnose same var in data sharing and mapping clauses. Diagnose if
142 linear step on declare simd is neither a constant nor a uniform
143 parameter. Look through POINTER_PLUS_EXPR for array section
144 reductions. Diagnose the same var or function appearing multiple
145 times on the same directive. Fix up wording for the to clause if t
146 is neither a FUNCTION_DECL nor a VAR_DECL. Diagnose nonmonotonic
147 modifier on kinds other than dynamic or guided or nonmonotonic
148 modifier together with ordered clause.
149
4bf9e5a8
TS
1502015-11-03 Thomas Schwinge <thomas@codesourcery.com>
151 Chung-Lin Tang <cltang@codesourcery.com>
152
153 * c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
154
2adfab87
AM
1552015-10-29 Andrew MacLeod <amacleod@redhat.com>
156
157 * c-array-notation.c: Reorder #include's and remove duplicates.
158 * c-aux-info.c: Likewise.
159 * c-convert.c: Likewise.
160 * c-decl.c: Likewise.
161 * c-errors.c: Likewise.
162 * c-lang.c: Likewise.
163 * c-objc-common.c: Likewise.
164 * c-parser.c: Likewise.
165 * c-typeck.c: Likewise.
166
e922069e
JW
1672015-10-26 Jim Wilson <jim.wilson@linaro.org>
168
169 PR debug/66068
170 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
171 after calling build_qualified_type.
172
765dd391
CP
1732015-10-27 Cesar Philippidis <cesar@codesourcery.com>
174 Thomas Schwinge <thomas@codesourcery.com>
175 James Norris <jnorris@codesourcery.com>
176 Joseph Myers <joseph@codesourcery.com>
177 Julian Brown <julian@codesourcery.com>
178 Bernd Schmidt <bschmidt@redhat.com>
179
180 * c-parser.c (c_parser_oacc_shape_clause): New.
181 (c_parser_oacc_simple_clause): New.
182 (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
183 (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq.
184
88bae6f4
TS
1852015-10-27 Thomas Schwinge <thomas@codesourcery.com>
186 James Norris <jnorris@codesourcery.com>
187 Cesar Philippidis <cesar@codesourcery.com>
188
189 PR c/64765
190 PR c/64880
191 * c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal
192 parameters, and handle these. Adjust all users.
193 (c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions
194 into...
195 (c_parser_oacc_kernels_parallel): ... this new function. Adjust
196 all users.
197 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't
198 declare functions.
199 (c_finish_omp_construct): Declare function.
200 * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels):
201 Merge functions into...
202 (c_finish_omp_construct): ... this new function.
203
a8fc2579
RB
2042015-10-22 Richard Biener <rguenther@suse.de>
205
206 * c-typeck.c (c_finish_omp_clauses): Properly convert operands
207 before folding a MINUS_EXPR.
208
e9122ef6
MP
2092015-10-21 Marek Polacek <polacek@redhat.com>
210
211 PR c/68024
212 * c-decl.c (start_function): Warn about vararg functions without
213 a prototype.
214
9f47c7e5
IE
2152015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
216
217 * c-typeck.c (build_conditional_expr): Use boolean vector
218 type for vector comparison.
219 (build_vec_cmp): New.
220 (build_binary_op): Use build_vec_cmp for comparison.
221
fa60eeb9
MP
2222015-10-20 Marek Polacek <polacek@redhat.com>
223
224 * c-parser.c (is_cilkplus_vector_p): Don't define here.
225
2c7020eb
MP
2262015-10-20 Marek Polacek <polacek@redhat.com>
227
228 PR c/67964
229 * c-parser.c (c_parser_attributes): Break out of the loop if the
230 token after an attribute isn't a comma.
231
d9a6bd32
JJ
2322015-10-13 Jakub Jelinek <jakub@redhat.com>
233 Aldy Hernandez <aldyh@redhat.com>
234
235 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
236 (c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
237 (c_parser_omp_variable_list): Handle structure elements for
238 map, to and from clauses. Handle array sections in reduction
239 clause. Formatting fixes.
240 (c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
241 if clause modifiers.
242 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
243 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
244 c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
245 c_parser_omp_clause_is_device_ptr): New functions.
246 (c_parser_omp_clause_ordered): Parse optional parameter.
247 (c_parser_omp_clause_reduction): Handle array reductions.
248 (c_parser_omp_clause_schedule): Parse optional simd modifier.
249 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
250 functions.
251 (c_parser_omp_clause_linear): Parse linear clause modifiers.
252 (c_parser_omp_clause_depend_sink): New function.
253 (c_parser_omp_clause_depend): Parse source/sink depend kinds.
254 (c_parser_omp_clause_map): Parse release/delete map kinds and
255 optional always modifier.
256 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
257 and c_finish_omp_clauses callers.
258 (c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
259 Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
260 (c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
261 (OMP_CRITICAL_CLAUSE_MASK): Define.
262 (c_parser_omp_critical): Parse critical clauses.
263 (c_parser_omp_for_loop): Handle doacross loops, adjust
264 c_finish_omp_for and c_finish_omp_clauses callers.
265 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
266 (c_parser_omp_simd): Allow ordered clause if it has no parameter.
267 (OMP_FOR_CLAUSE_MASK): Add linear clause.
268 (c_parser_omp_for): Disallow ordered clause when combined with
269 distribute. Disallow linear clause when combined with distribute
270 and not combined with simd.
271 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
272 (c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
273 parse clauses and if depend clause is found, don't parse a body.
274 (c_parser_omp_parallel): Disallow copyin clause on target parallel.
275 Allow target parallel without for after it.
276 (OMP_TASK_CLAUSE_MASK): Add priority clause.
277 (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
278 (c_parser_omp_target_data): Diagnose no map clauses or clauses with
279 invalid kinds.
280 (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
281 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
282 OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
283 (c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
284 functions.
285 (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
286 defaultmap and is_device_ptr clauses.
287 (c_parser_omp_target): Parse target parallel and target simd. Set
288 OMP_TARGET_COMBINED on combined constructs. Parse target enter data
289 and target exit data. Diagnose invalid map kinds.
290 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
291 (c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
292 construct.
293 (c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
294 &omp_priv.
295 (OMP_TASKLOOP_CLAUSE_MASK): Define.
296 (c_parser_omp_taskloop): New function.
297 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
298 handle PRAGMA_OMP_TASKLOOP.
299 (c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
300 * c-tree.h (c_finish_omp_clauses): Add two new arguments.
301 * c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
302 Add IS_OMP argument, handle structure element bases, diagnose
303 bitfields, pass IS_OMP recursively, diagnose known zero length
304 array sections in depend clauses, handle array sections in reduction
305 clause, diagnose negative length even for pointers.
306 (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
307 types, pass IS_OMP down to handle_omp_array_sections_1, handle
308 array sections in reduction clause, set
309 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
310 length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
311 (c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
312 Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
313
21ba0cea
MP
3142015-10-06 Marek Polacek <polacek@redhat.com>
315
316 * c-parser.c (c_parser_statement_after_labels): Use
317 protected_set_expr_location.
318 (c_parser_omp_clause_num_gangs): Likewise.
319 (c_parser_omp_clause_num_threads): Likewise.
320 (c_parser_omp_clause_num_workers): Likewise.
321 (c_parser_omp_clause_vector_length): Likewise.
322 (c_parser_omp_clause_num_teams): Likewise.
323 (c_parser_omp_clause_thread_limit): Likewise.
324 * c-typeck.c (build_c_cast): Likewise.
325 (c_cast_expr): Likewise.
326
624d31fe
RS
3272015-10-05 Richard Sandiford <richard.sandiford@arm.com>
328
329 * c-typeck.c (c_tree_equal): Use real_equal instead of
330 REAL_VALUES_EQUAL.
331
b8fd7909
JM
3322015-10-04 Jason Merrill <jason@redhat.com>
333
334 * c-parser.c (c_lex_one_token): Handle @synchronized.
335 * c-decl.c (match_builtin_function_types): A declaration of a built-in
336 can change whether the function is transaction_safe.
337
1c7485af
MP
3382015-10-02 Marek Polacek <polacek@redhat.com>
339
340 PR c/67730
341 * c-typeck.c (convert_for_assignment): Use the expansion point
342 location throughout.
343
3e3b8d63
MP
3442015-10-02 Marek Polacek <polacek@redhat.com>
345
346 PR c/64249
347 * c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
348 and pass it down to c_parser_if_statement.
349 (c_parser_else_body): Add CHAIN parameter and pass it down to
350 c_parser_statement_after_labels.
351 (c_parser_if_statement): Add CHAIN parameter. Add code to warn about
352 duplicated if-else-if conditions.
353
aabef2de
MP
3542015-10-01 Marek Polacek <polacek@redhat.com>
355
356 * c-typeck.c (convert_for_assignment): Improve commentary.
357
de8ddd5f
MP
3582015-09-30 Marek Polacek <polacek@redhat.com>
359
360 PR c/67730
361 * c-typeck.c (c_finish_return): Use the expansion point location for
362 certain "return with value" warnings.
363
c4914de6
MLI
3642015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
365
366 * c-parser.c (pragma_lex): Add loc argument.
367
0e36f5c7
MP
3682015-09-15 Marek Polacek <polacek@redhat.com>
369
370 PR c/67580
371 * c-decl.c (tag_exists_p): New function.
372 * c-parser.c (c_parser_declaration_or_fndef): Give a hint when
373 struct/union/enum keywords are missing.
374 * c-tree.h (tag_exists_p): Declare.
375
2f3bb934
MP
3762015-09-15 Marek Polacek <polacek@redhat.com>
377
378 * c-decl.c (lookup_label): Return NULL_TREE instead of 0.
379 (lookup_tag): Change the type of THISLEVEL_ONLY to bool.
380 Return NULL_TREE instead of 0.
381 (lookup_name): Return NULL_TREE instead of 0.
382 (lookup_name_in_scope): Likewise.
383 (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
384 (parser_xref_tag): Use false instead of 0.
385 (start_struct): Use true instead of 1.
386 (start_enum): Use true instead of 1 and NULL_TREE instead of 0.
387
aa256c4a
MP
3882015-09-14 Marek Polacek <polacek@redhat.com>
389
390 * c-typeck.c (set_nonincremental_init_from_string): Use
391 HOST_WIDE_INT_M1U when shifting a negative value.
392
dbb68221
MW
3932015-09-09 Mark Wielaard <mjw@redhat.com>
394
395 * c-typeck.c (build_binary_op): Check and warn when nonnull arg
396 parm against NULL.
397
a8a098ac
JJ
3982015-09-10 Jakub Jelinek <jakub@redhat.com>
399
400 PR c/67502
401 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
402 into OMP_FOR_PRE_BODY rather than before the loop.
403
f4b189d5
JJ
4042015-09-09 Jakub Jelinek <jakub@redhat.com>
405
0bb99c11
JJ
406 PR c/67501
407 * c-parser.c (c_parser_oacc_all_clauses,
408 c_parser_omp_all_clauses): Remove invalid clause from
409 list of clauses even if parser->error is set.
410
fce5e5e3
JJ
411 PR c/67500
412 * c-parser.c (c_parser_omp_clause_aligned,
413 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
414 test for errors.
415 * c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
416 error_mark_node.
417
f4b189d5
JJ
418 PR c/67495
419 * c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
420 instead of c_parser_unary_expression. If the result is !lvalue_p,
421 wrap the result of c_fully_fold into NON_LVALUE_EXPR.
422
b2aaf235
MP
4232015-09-04 Marek Polacek <polacek@redhat.com>
424
425 PR sanitizer/67279
426 * c-typeck.c (build_binary_op): Don't instrument static initializers.
427
1807ffc1
MS
4282015-09-03 Martin Sebor <msebor@redhat.com>
429
430 PR c/66516
8b652e65
JJ
431 * c-typeck.c (convert_arguments, parser_build_unary_op,
432 build_conditional_expr, c_cast_expr, convert_for_assignment,
433 build_binary_op, _objc_common_truthvalue_conversion): Call
1807ffc1
MS
434 reject_gcc_builtin.
435 (c_decl_implicit): Define.
436
d04ff417
MP
4372015-09-02 Marek Polacek <polacek@redhat.com>
438
439 PR c/67432
440 * c-parser.c (c_parser_enum_specifier): Give a better error for
441 an empty enum.
442
a79683d5
TS
4432015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
444
445 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
446
191a6b94
MP
4472015-08-12 Marek Polacek <polacek@redhat.com>
448
449 * c-decl.c (grokdeclarator): Call error_at instead of error and pass
450 LOC to it.
451
420a9d9b
MP
4522015-08-03 Marek Polacek <polacek@redhat.com>
453
454 PR c/67088
455 * c-decl.c (check_bitfield_type_and_width): Add location parameter.
456 Use it.
457 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
458
992118a1
PP
4592015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
460
461 * c-parser.c (c_parser_if_body): Take token_indent_info
462 argument. Call warn_for_misleading_indentation even when the
463 body is a semicolon. Extract token_indent_infos corresponding
464 to the guard, body and next tokens. Adjust call to
465 warn_for_misleading_indentation accordingly.
466 (c_parser_else_body): Likewise.
467 (c_parser_if_statement): Likewise.
468 (c_parser_while_statement): Likewise.
469 (c_parser_for_statement): Likewise.
470
46308474
LFSM
4712015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
472 Manuel López-Ibáñez <manu@gcc.gnu.org>
473
474 * c-decl.c (get_parm_info): Remove static var. Update warning
475 message.
476
05b28fd6
MP
4772015-07-27 Marek Polacek <polacek@redhat.com>
478
479 PR c++/66555
480 PR c/54979
481 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
482
451b5e48
MP
4832015-07-20 Marek Polacek <polacek@redhat.com>
484
485 PR c++/55095
486 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
487 (build_binary_op): Warn about left shift overflows.
488
1916bcb5
AM
4892015-07-09 Andrew MacLeod <amacleod@redhat.com>
490
491 * c-array-notation.c: Adjust includes for flags.h changes.
492 * c-objc-common.c: Likewise.
493
c7131fb2
AM
4942015-07-07 Andrew MacLeod <amacleod@redhat.com>
495
496 * c-array-notation.c: Adjust includes.
497 * c-aux-info.c: Likewise.
498 * c-convert.c: Likewise.
499 * c-decl.c: Likewise.
500 * c-errors.c: Likewise.
501 * c-lang.c: Likewise.
502 * c-objc-common.c: Likewise.
503 * c-parser.c: Likewise.
504 * c-typeck.c: Likewise.
505
da2e71c9
MLI
5062015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
507
508 PR fortran/66605
509 * c-decl.c (finish_function): Call do_warn_unused_parameter.
510
b155cfd9
MP
5112015-06-29 Marek Polacek <polacek@redhat.com>
512
513 PR c/66322
514 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
515 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
516 about -Wswitch-bool here.
517 (do_case): Update c_add_case_label call.
518 (c_finish_case): Update c_do_switch_warnings call.
519
31521951
MP
5202015-06-27 Marek Polacek <polacek@redhat.com>
521
522 * c-typeck.c: Use VECTOR_TYPE_P throughout.
523
22d03525
MP
5242015-06-26 Marek Polacek <polacek@redhat.com>
525
526 * c-array-notation.c (fix_builtin_array_notation_fn): Use
527 INDIRECT_REF_P.
528 * c-typeck.c (array_to_pointer_conversion): Likewise.
529 (build_unary_op): Likewise.
530 (c_finish_return): Likewise.
531
f0889939
AM
5322015-06-25 Andrew MacLeod <amacleod@redhat.com>
533
534 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
535 * c-parser.c: Likewise.
536
8d67ee55
RS
5372015-06-25 Richard Sandiford <richard.sandiford@arm.com>
538
539 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
540 instead of pointer_hash.
541 (detect_field_duplicates): Likewise.
542
0ae9bd27
MP
5432015-06-25 Marek Polacek <polacek@redhat.com>
544
545 * c-array-notation.c: Use VAR_P throughout.
546 * c-decl.c: Likewise.
547 * c-objc-common.c: Likewise.
548 * c-parser.c: Likewise.
549 * c-typeck.c: Likewise.
550
62f9079a
MP
5512015-06-25 Marek Polacek <polacek@redhat.com>
552
553 * c-decl.c: Use is_global_var throughout.
554 * c-parser.c: Likewise.
555 * c-typeck.c: Likewise.
556
abb226c9
AM
5572015-06-17 Andrew MacLeod <amacleod@redhat.com>
558
559 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
560 * c-aux-info.c: Likewise.
561 * c-convert.c: Likewise.
562 * c-decl.c: Likewise.
563 * c-errors.c: Likewise.
564 * c-lang.c: Likewise.
565 * c-objc-common.c: Likewise.
566 * c-parser.c: Likewise.
567 * c-typeck.c: Likewise.
568
8cbababc
JH
5692015-06-11 Jan Hubicka <hubicka@ucw.cz>
570
571 PR middle-end/66325
572 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
573 variants.
574
a0349665
PMR
5752015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
576
577 * c-decl.c (pop_scope): Register the main translation unit
578 through the new debug hook.
579
13fdf2e2
AM
5802015-06-08 Andrew MacLeod <amacleod@redhat.com>
581
582 * c-array-notation.c : Adjust include files.
583 * c-aux-info.c : Likewise.
584 * c-convert.c : Likewise.
585 * c-decl.c : Likewise.
586 * c-errors.c : Likewise.
587 * c-lang.c : Likewise.
588 * c-lang.h : Likewise.
589 * c-objc-common.c : Likewise.
590 * c-parser.c : Likewise.
591 * c-typeck.c : Likewise.
592
d7438551
AH
5932015-06-05 Aldy Hernandez <aldyh@redhat.com>
594
595 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
596 immediately clobber it.
597 (c_write_global_declarations_1): Remove call to
598 check_global_declaration_1.
599 (c_write_global_declarations_2): Remove.
600 (c_write_final_cleanups): Rename from c_write_global_declarations.
601 Remove call to finalize_compilation_unit.
602 Remove calls to debugging hooks.
603 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
604 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
605 * c-tree.h: Remove c_write_global_declarations.
606
ecb9f223
AM
6072015-06-04 Andrew MacLeod <amacleod@redhat.com>
608
609 * c-array-notation.c: Adjust includes for restructured coretypes.h.
610 * c-aux-info.c: Likewise.
611 * c-convert.c: Likewise.
612 * c-decl.c: Likewise.
613 * c-errors.c: Likewise.
614 * c-lang.c: Likewise.
615 * c-objc-common.c: Likewise.
616 * c-parser.c: Likewise.
617 * c-typeck.c: Likewise.
618
9482b620
MP
6192015-06-04 Marek Polacek <polacek@redhat.com>
620
621 PR c/66341
622 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
623 it is a lvalue.
624
bc51ace3
PK
6252015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
626
627 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
628 Warn for empty struct.
629 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
630
ea5b45b6
AT
6312015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
632
633 * c-decl.c (start_function): Call plugin before parsing.
634 (finish_function): Call plugin after parsing.
635
c2d47482
PK
6362015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
637
638 PR c/49551
639 * c-decl.c (merge_decls): Merge DECL_COMMON.
640
a95492ab
JW
6412015-05-22 Jim Wilson <jim.wilson@linaro.org>
642
643 * Make-lang.in (check_gcc_pallelize): Define.
644
fd5c817a
MP
6452015-05-22 Marek Polacek <polacek@redhat.com>
646
647 PR c/47043
648 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
649 attributes.
650
c7b70a3c
MP
6512015-05-21 Marek Polacek <polacek@redhat.com>
652
653 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
654 DECL_BUILT_IN.
655
21b634ae
MP
6562015-05-20 Marek Polacek <polacek@redhat.com>
657
658 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
659 * c-typeck.c: Likewise.
660
296a8c2f
MP
6612015-05-19 Marek Polacek <polacek@redhat.com>
662
663 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
664
41b37d5e
JJ
6652015-05-19 Jakub Jelinek <jakub@redhat.com>
666
667 PR middle-end/66199
668 * c-parser.c (c_parser_omp_for_loop): Don't add
669 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
670 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
671 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
672 constructs.
673
fab27f52
MM
6742015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
675
676 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
296a8c2f 677 swaps.
fab27f52 678
40de31cf
MLI
6792015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
680
681 PR fortran/44054
682 * c-objc-common.c (c_tree_printer): Replace locus pointer with
683 accessor function.
684
3aa3c9fc
MP
6852015-05-14 Marek Polacek <polacek@redhat.com>
686
687 PR c/66066
688 PR c/66127
689 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
690 rather than with 0.
691
c3388e62
DM
6922015-05-12 David Malcolm <dmalcolm@redhat.com>
693
694 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
695 to add a call to warn_for_misleading_indentation.
696 (c_parser_else_body): Likewise, adding param "else_loc".
697 (c_parser_if_statement): Check for misleading indentation.
698 (c_parser_while_statement): Likewise.
699 (c_parser_for_statement): Likewise.
700
755e528f
MP
7012015-05-08 Marek Polacek <polacek@redhat.com>
702
703 PR c/64918
704 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
705 (output_init_element): Likewise.
706
0173bd2a
MP
7072015-05-07 Marek Polacek <polacek@redhat.com>
708
709 PR c/65179
710 * c-typeck.c (build_binary_op): Warn when left shifting a negative
711 value.
712
9babc352
MP
7132015-04-30 Marek Polacek <polacek@redhat.com>
714
715 * c-typeck.c (set_init_label): Call error_at instead of error and
716 pass LOC to it.
717
ac9f18db
MP
718 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
719 the type of a decl.
720
ec3fba51
MP
721 * c-typeck.c (c_build_va_arg): Clarify the error message.
722
b811915d
TS
7232015-04-29 Thomas Schwinge <thomas@codesourcery.com>
724
725 * c-parser.c (c_parser_oacc_enter_exit_data): Use
726 OMP_STANDALONE_CLAUSES.
727
f3075008
MP
7282015-04-28 Marek Polacek <polacek@redhat.com>
729
730 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
731
4e81b788
MP
7322015-04-28 Marek Polacek <polacek@redhat.com>
733
734 PR c/65901
735 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
736
6c1db78e
MP
7372015-04-25 Marek Polacek <polacek@redhat.com>
738
739 PR c/52085
740 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
741 attribute.
742
5c4abbb8
MP
7432015-04-23 Marek Polacek <polacek@redhat.com>
744
745 PR c/65345
746 * c-decl.c (set_labels_context_r): New function.
747 (store_parm_decls): Call it via walk_tree_without_duplicates.
748 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
749 instead of create_tmp_var. Build TARGET_EXPR instead of
750 COMPOUND_EXPR.
751 (build_atomic_assign): Use create_tmp_var_raw instead of
752 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
753
06aca1d5
IV
7542015-04-20 Ilya Verbin <ilya.verbin@intel.com>
755
756 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
757 (c_parser_omp_target_update): Add missed %> to error_at ().
758
8fba1830
BRF
7592015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
760
761 PR target/55143
762 * c-decl.c (c_default_pointer_mode): Remove definition.
763 * c-tree.h (c_default_pointer_mode): Remove declaration.
764
62021f64
TB
7652015-03-27 Tobias Burnus <burnus@net-b.de>
766
767 PR c/65586
768 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
769 error out.
770 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
771 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
772 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
773
9b65e171
JJ
7742015-03-19 Jakub Jelinek <jakub@redhat.com>
775
776 * c-decl.c (c_decl_attributes): Also add "omp declare target"
777 attribute for DECL_EXTERNAL VAR_DECLs.
778
17958621
JJ
7792015-03-11 Jakub Jelinek <jakub@redhat.com>
780
781 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
782 argument.
783
7ccb1a11
JJ
7842015-03-10 Jakub Jelinek <jakub@redhat.com>
785
786 PR c/65120
787 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
788 before preparing arguments to warn_logical_not_parentheses.
789
01177669
JJ
7902015-03-09 Jakub Jelinek <jakub@redhat.com>
791
792 PR c/65120
793 * c-typeck.c (parser_build_binary_op): Don't warn for
794 !!x == y or !b == y where b is _Bool.
795
802ac282
MP
7962015-03-09 Marek Polacek <polacek@redhat.com>
797
798 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
799 * c-decl.c (grokdeclarator): Likewise.
800 * c-typeck.c (build_binary_op): Likewise.
801
e5165b60
MP
8022015-02-27 Marek Polacek <polacek@redhat.com>
803
804 PR c/65228
805 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
806
065d214c
MP
8072015-02-14 Marek Polacek <polacek@redhat.com>
808
809 PR c/64768
810 * c-decl.c (grokdeclarator): Set the range of a flexible array member
811 declared through a typedef name.
812
e5d9235b
MP
8132015-02-13 Marek Polacek <polacek@redhat.com>
814
815 PR c/65050
816 * c-decl.c (grokdeclarator): Print also the type when giving
817 the error message about array's incomplete element type.
818
fa01ffcc
JJ
8192015-02-11 Jakub Jelinek <jakub@redhat.com>
820
821 PR c/64824
822 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
823 check in the POP macro.
824
c3e38a03
MP
8252015-02-09 Marek Polacek <polacek@redhat.com>
826
827 PR c/64856
828 * c-typeck.c (process_init_element): Don't always wrap
829 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
830 initializing a range of elements.
831
4886ec8e
JJ
8322015-02-04 Jakub Jelinek <jakub@redhat.com>
833
834 PR c/64824
835 PR c/64868
836 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
837
c3e38a03 8382015-02-02 Bruno Loff <bruno.loff@gmail.com>
a4bb6959
BL
839
840 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
841 processing enum declaration.
842
7b33f0c8
MP
8432015-01-29 Marek Polacek <polacek@redhat.com>
844
845 PR c/64709
846 * c-typeck.c (pop_init_level): If constructor_elements has
847 exactly one element with integer_zerop value, set constructor_zeroinit
848 to 1. Remove braces around warning_init call.
849
dea63e49
JJ
8502015-01-27 Jakub Jelinek <jakub@redhat.com>
851
852 PR c/64766
853 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
854 of FUNCTION_DECLs with error_mark_node.
855
d38f7dce
JJ
8562015-01-26 Jakub Jelinek <jakub@redhat.com>
857
858 PR c/64778
859 * c-typeck.c (convert_arguments): Return -1 if there are
860 error_args, even if we've diagnosed too many arguments.
861
cbf5d0e7
RB
8622015-01-21 Richard Biener <rguenther@suse.de>
863
864 PR middle-end/64313
865 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
866 for builtins the user declared correctly.
867
41dbbb37
TS
8682015-01-15 Thomas Schwinge <thomas@codesourcery.com>
869 Bernd Schmidt <bernds@codesourcery.com>
870 Cesar Philippidis <cesar@codesourcery.com>
871 James Norris <jnorris@codesourcery.com>
872 Jakub Jelinek <jakub@redhat.com>
873 Ilmir Usmanov <i.usmanov@samsung.com>
874
875 * c-parser.c: Include "gomp-constants.h".
876 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
877 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
878 Use OMP_CLAUSE_SET_MAP_KIND.
879 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
880 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
881 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
882 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
883 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
884 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
885 "copyout", "create", "delete", "deviceptr", "gang", "host",
886 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
887 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
888 "present_or_create", "pcreate", "seq", "self", "vector",
889 "vector_length", "wait", "worker".
890 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
891 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
892 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
893 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
894 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
895 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
896 (c_parser_oacc_data_clause_deviceptr)
897 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
898 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
899 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
900 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
901 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
902 (c_parser_oacc_parallel, c_parser_oacc_update)
903 (c_parser_oacc_wait): New functions.
904 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
905 (c_finish_oacc_data): New prototypes.
906 * c-typeck.c: Include "gomp-constants.h".
907 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
908 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
909 OMP_CLAUSE_SET_MAP_KIND.
910 (c_finish_oacc_parallel, c_finish_oacc_kernels)
911 (c_finish_oacc_data): New functions.
912 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
913 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
914 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
915 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
916 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
917 GOMP_MAP_FORCE_DEVICEPTR.
918
adfac8df
JJ
9192015-01-09 Michael Collison <michael.collison@linaro.org>
920
921 * c-array-notation.c: Include hash-set.h, machmode.h,
922 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
923 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
924 * c-aux-info.c: Ditto.
925 * c-convert.c: Ditto.
926 * c-decl.c: Ditto.
927 * c-errors.c: Ditto.
928 * c-lang.c: Dittoxs.
929 * c-objc-common.c: Ditto.
930 * c-parser.c: Ditto.
931 * c-typeck.c: Include hash-set.h, machmode.h,
932 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
933 fold-const.h, wide-int.h, inchash.h, real.h and
934 fixed-value.h due to flattening of tree.h.
935
2cc901dc
MP
9362015-01-07 Marek Polacek <polacek@redhat.com>
937
938 PR c/64417
939 * c-typeck.c (process_init_element): Disallow initialization of
940 a flexible array member with a string constant if the structure
941 is in an array.
942
5624e564
JJ
9432015-01-05 Jakub Jelinek <jakub@redhat.com>
944
e5341100
JJ
945 PR sanitizer/64344
946 * c-typeck.c (convert_for_assignment, c_finish_return): For
947 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
948 types also set in_late_binary_op around convert call.
949 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
950 to integral type casts, if not in_late_binary_op, pass c_fully_fold
951 result on expr as last argument to ubsan_instrument_float_cast,
952 if in_late_binary_op, don't use c_save_expr but save_expr.
953
5624e564
JJ
954 Update copyright years.
955
5bd012f8
MP
9562015-01-05 Marek Polacek <polacek@redhat.com>
957
958 PR c/64423
959 * c-typeck.c (build_array_ref): Pass loc down to
960 warn_array_subscript_with_type_char.
961
768952be
MU
9622014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
963
964 * c-typeck.c: New behavious for pointers to arrays with qualifiers
965 (common-pointer-type): For pointers to arrays take qualifiers from
966 element type.
967 (build_conditional_expr): Add warnings for lost qualifiers.
968 (comp-target-types): Allow pointers to arrays with different qualifiers.
969 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
970 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
971 to PEDWARN_FOR_QUALIFIERS.
972
8f94a8c4
JJ
9732014-12-17 Jakub Jelinek <jakub@redhat.com>
974
975 PR sanitizer/64289
976 * c-convert.c: Include ubsan.h.
977 (convert): For real -> integral casts and
978 -fsanitize=float-cast-overflow don't call convert_to_integer, but
979 instead instrument the float cast directly.
980
b731b390
JJ
9812014-11-29 Jakub Jelinek <jakub@redhat.com>
982
983 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
984 c_finish_stmt_expr): Remove NULL last argument from
985 create_tmp_var_raw and create_tmp_var calls.
986 * c-array-notation.c (fix_builtin_array_notation_fn,
987 build_array_notation_expr, fix_conditional_array_notations_1,
988 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
989
541e35a6
MP
9902014-11-28 Marek Polacek <polacek@redhat.com>
991
992 PR c/63862
993 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
994 convert the right operand to integer type.
995
b286be94
MP
9962014-11-25 Marek Polacek <polacek@redhat.com>
997
998 PR c/63877
999 * c-decl.c (start_function): Disable -Wmissing-declarations warning
1000 for inline functions.
1001
aa7da51a
JJ
10022014-11-21 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR target/63764
1005 * c-typeck.c (build_array_ref): Adjust
1006 convert_vector_to_pointer_for_subscript caller. If it returns true,
1007 call non_lvalue_loc on the result.
1008
d876207f
RB
10092014-11-11 Richard Biener <rguenther@suse.de>
1010
1011 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
1012 to true.
1013
e5e44252
AK
10142014-11-10 Andi Kleen <ak@linux.intel.com>
1015
1016 PR c/60804
1017 * c-parser.c (c_parser_statement_after_labels): Call
1018 check_no_cilk.
1019 (c_parser_if_statement): Dito.
1020 (c_parser_switch_statement): Dito.
1021 (c_parser_while_statement): Dito.
1022 (c_parser_do_statement): Dito.
1023 (c_parser_for_statement): Dito.
1024 * c-typeck.c (c_finish_loop): Dito.
1025
13c21655
PC
10262014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1027
1028 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
1029 OPT_Wshift_count_overflow in the warnings.
1030
2d51fcef
MP
10312014-10-30 Marek Polacek <polacek@redhat.com>
1032
1033 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
1034 print the stripped version as well, if they're not the same.
1035
ef4bddc2
RS
10362014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1037
1038 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
1039 machine_mode.
1040
c582198b
AM
10412014-10-28 Andrew MacLeod <amacleod@redhat.com>
1042
1043 * c-decl.c: Adjust include files.
1044 * c-parser.c: Ditto.
1045
ddc8de03
PM
10462014-10-27 Phil Muldoon <pmuldoon@redhat.com>
1047 Tom Tromey <tromey@redhat.com>
1048
1049 * c-tree.h (enum c_oracle_request): New.
1050 (c_binding_oracle_function): New typedef.
1051 (c_binding_oracle, c_pushtag, c_bind): Declare.
1052 * c-decl.c (c_binding_oracle): New global.
1053 (I_SYMBOL_CHECKED): New macro.
1054 (i_symbol_binding): New function.
1055 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
1056 (I_TAG_CHECKED): New macro.
1057 (i_tag_binding): New function.
1058 (I_TAG_BINDING, I_TAG_DECL): Redefine.
1059 (I_LABEL_CHECKED): New macro.
1060 (i_label_binding): New function.
1061 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
1062 (c_print_identifier): Save and restore c_binding_oracle.
1063 (c_pushtag, c_bind): New functions.
1064
60393bbc
AM
10652014-10-27 Andrew MacLeod <amacleod@redhat.com>
1066
1067 * c-typeck.c: Adjust include files.
1068
d723bb7c
MLI
10692014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1070
1071 PR c++/53061
1072 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
1073 initialization here...
1074 (c_initialize_diagnostics): ... but here. Set defaults after
1075 building pretty-printer.
1076
1bc5a451
MP
10772014-10-23 Marek Polacek <polacek@redhat.com>
1078
1079 PR c/63626
1080 * c-decl.c (pop_scope): Don't print warning in external_scope.
1081
4435bb92
MP
10822014-10-19 Marek Polacek <polacek@redhat.com>
1083
1084 PR c/63567
1085 * c-typeck.c (output_init_element): Allow initializing objects with
1086 static storage duration with compound literals even in C99 and add
1087 pedwarn for it.
1088
7278465e
MP
10892014-10-17 Marek Polacek <polacek@redhat.com>
1090
1091 PR c/63567
1092 * c-typeck.c (digest_init): Allow initializing objects with static
1093 storage duration with compound literals even in C99 and add pedwarn
1094 for it.
1095
d9b7be2e
MP
10962014-10-17 Marek Polacek <polacek@redhat.com>
1097
1098 PR c/63543
1099 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
1100 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
1101 error multiple times. Print the type.
1102
f406ae1f
MP
11032014-10-17 Marek Polacek <polacek@redhat.com>
1104
1105 PR c/63549
1106 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
1107 type.
1108
92574c7c
MP
11092014-10-17 Marek Polacek <polacek@redhat.com>
1110
1111 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
1112 (start_function): Use OPT_Wimplicit_int instead of 0.
1113 (store_parm_decls_oldstyle): Likewise.
1114
1bc4a978
MT
11152014-10-17 Alan Modra <amodra@gmail.com>
1116
1117 PR middle-end/61848
1118 * c-decl.c (merge_decls): Don't merge section name or tls model
1119 to newdecl symtab node, instead merge to olddecl. Override
1120 existing olddecl section name. Set tls_model for all thread-local
1121 vars, not just OMP thread-private ones. Remove incorrect comment.
1122
83685514
AM
11232014-10-16 Andrew MacLeod <amacleod@redhat.com>
1124
1125 * c-decl.c: Adjust include files.
1126
78a7c317
DD
11272014-10-14 DJ Delorie <dj@redhat.com>
1128
1129 * c-parser.c (c_parse_init): Add RID entries for each __intN.
1130 (c_token_starts_typename): Check all __intN, not just __int128.
1131 (c_token_starts_declspecs): Likewise.
1132 (c_parser_declspecs): Likewise.
1133 (c_parser_attribute_any_word): Likewise.
1134 (c_parser_objc_selector): Likewise.
1135 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
1136 (struct c_declspecs): Add int_n_idx field to record *which* __intN
1137 is specified.
1138 * c-decl.c (declspecs_add_type): Check for all __intN, not just
1139 __int128.
1140 (finish_declspecs): Likewise.
1141
74d98c1e
AB
11422014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
1143
1144 * c-parser.c (c_parser_all_labels): New function to replace
1145 the duplicate code.
1146 (c_parser_statement): Call the new function.
1147
84937de2
MP
11482014-10-09 Marek Polacek <polacek@redhat.com>
1149
1150 PR c/63480
1151 * c-typeck.c (pop_init_level): Don't warn about initializing
1152 with { }.
1153
0382aaa0
MP
11542014-10-07 Marek Polacek <polacek@redhat.com>
1155
1156 PR c/59717
1157 * c-decl.c (header_for_builtin_fn): New function.
1158 (implicitly_declare): Suggest which header to include.
1159
7a0ca710
MP
11602014-10-07 Marek Polacek <polacek@redhat.com>
1161
1162 * c-convert.c (convert): Use error_operand_p.
1163 * c-typeck.c (require_complete_type): Likewise.
1164 (really_atomic_lvalue): Likewise.
1165 (digest_init): Likewise.
1166 (handle_omp_array_sections_1): Likewise.
1167
6bc8a126
MP
11682014-10-03 Marek Polacek <polacek@redhat.com>
1169
1170 PR c/63453
1171 * c-decl.c (pop_scope): Don't warn about "inline function declared
1172 but never defined" for functions marked with gnu_inline attribute.
1173
d90c0a59
JJ
11742014-09-25 Jakub Jelinek <jakub@redhat.com>
1175
1176 PR c++/63249
1177 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
1178 on low_bound and length.
1179
083e891e
MP
11802014-09-24 Marek Polacek <polacek@redhat.com>
1181
1182 PR c/61405
1183 PR c/53874
1184 * c-parser.c: Don't define CPP_KEYWORD.
1185 (c_parser_switch_statement): Pass original type to c_finish_case.
1186 * c-tree.h (c_finish_case): Update declaration.
1187 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
1188 conditionally to c_do_switch_warnings.
1189
8d95fe25
MP
11902014-09-03 Marek Polacek <polacek@redhat.com>
1191
1192 PR c/62024
1193 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
1194 conversions.
1195
9a771876
JJ
11962014-09-02 Jakub Jelinek <jakub@redhat.com>
1197 Balaji V. Iyer <balaji.v.iyer@intel.com>
1198 Igor Zamyatin <igor.zamyatin@intel.com>
1199
1200 * c-parser.c (c_parser_cilk_for): New function.
1201 (c_parser_cilk_grainsize): Likewise.
1202 (c_get_temp_regvar): Likewise.
1203 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
1204 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
1205 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
1206 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
1207 case.
1208
b7679d96
CG
12092014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
1210
1211 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
1212 with using HOST_WIDE_INT without truncation to 'int'
1213
59ea0364
MP
12142014-08-22 Marek Polacek <polacek@redhat.com>
1215
1216 PR c++/62199
1217 * c-typeck.c (parser_build_binary_op): Adjust call to
1218 warn_logical_not_parentheses.
1219
671a475e
IZ
12202014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
1221
1222 PR other/62008
1223 * c-parser.c (c_parser_array_notation): Check for correct
1224 type of an array added.
1225
04159acf
MP
12262014-08-19 Marek Polacek <polacek@redhat.com>
1227
1228 PR c++/62153
1229 * c-typeck.c (build_binary_op): If either operand of a comparison
1230 is a boolean expression, call maybe_warn_bool_compare.
1231
c77935ee
PP
12322014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
1233
1234 PR c/45584
1235 * c-typeck.c (build_c_cast): Do a conversion even when the
1236 TYPE_MAIN_VARIANTs are the same.
1237
35aff4fb
MP
12382014-08-19 Marek Polacek <polacek@redhat.com>
1239
1240 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
1241 pedwarn_c99 instead of pedwarn.
1242 (grokfield): Likewise.
1243 (warn_defaults_to): New function.
1244 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
1245 Unconditionally call pedwarn_c99 instead of pedwarn.
1246 (start_function): Call warn_defaults_to instead of pedwarn_c99.
1247 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
1248 check flag_isoc11 before.
1249 * c-errors.c (pedwarn_c99): Change the return type to bool.
1250 Handle -Wc99-c11-compat.
1251 * c-parser.c (disable_extension_diagnostics): Handle
1252 warn_c99_c11_compat.
1253 (restore_extension_diagnostics): Likewise.
1254 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
1255 instead of pedwarn, don't check flag_isoc11 before.
1256 (c_parser_declspecs): Likewise.
1257 (c_parser_alignas_specifier): Likewise.
1258 (c_parser_alignof_expression): Likewise.
1259 (c_parser_generic_selection): Likewise.
1260 * c-tree.h (pedwarn_c99): Update declaration.
1261 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
1262 of pedwarn_c99.
1263
177cce46
MP
12642014-08-19 Marek Polacek <polacek@redhat.com>
1265
1266 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
1267 to pedwarn_c90.
1268 * c-errors.c: Include "opts.h".
1269 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
1270 * c-parser.c (disable_extension_diagnostics): Handle negative value
1271 of warn_c90_c99_compat, too.
1272 (restore_extension_diagnostics): Likewise.
1273 (c_parser_compound_statement_nostart): Pass
1274 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
1275
6dc99c33
MP
12762014-08-12 Marek Polacek <polacek@redhat.com>
1277
1278 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
1279 Add pedwarn.
1280 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
1281 Likewise.
1282 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
1283
f3bede71
MP
12842014-08-10 Marek Polacek <polacek@redhat.com>
1285
1286 PR c/51849
1287 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
1288 Call pedwarn_c90 instead of pedwarn.
1289 (check_bitfield_type_and_width): Likewise.
1290 (declspecs_add_qual): Likewise.
1291 (declspecs_add_type): Likewise.
1292 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
1293 Adjust to only call pedwarn_c90.
1294 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
1295 pedwarn_c90 instead of pedwarn.
1296 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
1297 * c-parser.c (disable_extension_diagnostics): Handle
1298 warn_c90_c99_compat.
1299 (restore_extension_diagnostics): Likewise.
1300 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
1301 pedwarn_c90 instead of pedwarn.
1302 (c_parser_initelt): Likewise.
1303 (c_parser_postfix_expression): Likewise.
1304 (c_parser_postfix_expression_after_paren_type): Likewise.
1305 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
1306 * c-tree.h: Fix formatting.
1307 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
1308 pedwarn_c90 instead of pedwarn.
1309
9f25a338
TS
13102014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1311
1312 * c-typeck.c: Remove include of pointer-set.h.
1313
044331a8
MP
13142014-08-07 Marek Polacek <polacek@redhat.com>
1315
1316 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
1317
b787e7a2
TS
13182014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1319
1320 * c-typeck.c: Use hash_map instead of pointer_map.
1321
6e2830c3
TS
13222014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1323
1324 * c-decl.c: Use hash_set instead of pointer_set.
1325
a7ee52fb
IZ
13262014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1327
1328 PR middle-end/61455
1329 * c-array-notation.c (expand_array_notations): Handling
1330 of DECL_EXPR added.
1331
b4dfdc11
MG
13322014-07-31 Marc Glisse <marc.glisse@inria.fr>
1333
1334 PR c++/60517
1335 * c-typeck.c (c_finish_return): Return 0 instead of the address of
1336 a local variable.
1337
976d5a22
TT
13382014-07-30 Tom Tromey <tromey@redhat.com>
1339
1340 * c-typeck.c (struct constructor_stack) <designator_depth>: New
1341 field.
1342 (really_start_incremental_init, push_init_level): Initialize
1343 designator_depth.
1344 (pop_init_level): Set global designator_depth.
1345 (process_init_element): Check for designated_init attribute.
1346
30281de2
MP
13472014-07-20 Marek Polacek <polacek@redhat.com>
1348
1349 PR c/61852
1350 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
1351 (implicitly_declare): Pass location to implicit_decl_warning.
1352
b108f48f
JJ
13532014-07-14 Jakub Jelinek <jakub@redhat.com>
1354
1355 PR middle-end/61294
1356 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
1357 If non-NULL, call c_parser_check_literal_zero.
1358 (c_parser_check_literal_zero): New function.
1359 (c_parser_postfix_expression_after_primary): Adjust
1360 c_parser_expr_list caller, handle -Wmemset-transposed-args.
1361
773ec47f
MP
13622014-07-06 Marek Polacek <polacek@redhat.com>
1363
1364 PR c/6940
1365 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
1366 * c-tree.h (C_ARRAY_PARAMETER): Define.
1367 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
1368 function parameter.
1369
22e1cf1c
JH
13702014-07-02 Jan Hubicka <hubicka@ucw.cz>
1371 Chen Gang <gang.chen.5i5j@gmail.com>
1372
1373 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
1374 releasing symbol.
1375
52ec0ea3
MP
13762014-07-01 Marek Polacek <polacek@redhat.com>
1377
1378 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
1379 instead of 0 to WARN_FOR_ASSIGNMENT.
1380
d5c3d343
MP
13812014-07-01 Marek Polacek <polacek@redhat.com>
1382
1383 PR c/58286
1384 * c-typeck.c (convert_for_assignment): Pass
1385 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
1386
6a7253a4
MP
13872014-06-30 Marek Polacek <polacek@redhat.com>
1388
1389 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
1390 has no_sanitize_undefined attribute.
1391
5e88a8f4
IZ
13922014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
1393
1394 PR middle-end/57541
1395 * c-array-notation.c (fix_builtin_array_notation_fn):
1396 Check for 0 arguments in builtin call. Check that bultin argument is
1397 correct.
1398 * c-parser.c (c_parser_array_notation): Check for incorrect initial
1399 index.
1400
9698b078
SH
14012014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
1402
1403 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
1404 qualifiers in __auto_type for atomic types.
1405 (c_parser_typeof_specifier): Discard all type qualifiers in
1406 __typeof__ for atomic types.
1407
6e07c515
MP
14082014-06-25 Marek Polacek <polacek@redhat.com>
1409
1410 PR c/61162
1411 * c-parser.c (c_parser_statement_after_labels): Pass the location of
1412 the return expression to c_finish_return.
1413
da6f124d
JJ
14142014-06-25 Jakub Jelinek <jakub@redhat.com>
1415
1416 * c-typeck.c (c_finish_omp_clauses): Make sure
1417 OMP_CLAUSE_LINEAR_STEP has correct type.
1418
c203e8a7
TS
14192014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1420
1421 * c-decl.c: Adjust.
1422
56ad0e38
JJ
14232014-06-24 Jakub Jelinek <jakub@redhat.com>
1424
1425 * c-parser.c (c_parser_omp_for_loop): For
1426 #pragma omp parallel for simd move lastprivate clause from parallel
1427 to for rather than simd.
1428
47c2554f
MP
14292014-06-23 Marek Polacek <polacek@redhat.com>
1430
1431 * c-typeck.c (parser_build_binary_op): Don't call
1432 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
1433
56363ffd
JH
14342014-06-15 Jan Hubicka <hubicka@ucw.cz>
1435
1436 * c-parser.c (c_parser_omp_threadprivate): Likewise.
1437 * c-decl.c (merge_decls): Likewise.
1438
d7ff7ae5
MP
14392014-06-09 Marek Polacek <polacek@redhat.com>
1440
1441 PR c/36446
1442 * c-typeck.c (error_init): Call inform instead of error_at.
1443 (pedwarn_init): Call inform instead of pedwarn.
1444 (warning_init): Call inform instead of warning_at.
1445
24d047a3
JH
14462014-06-07 Jan Hubicka <hubicka@ucw.cz>
1447
1448 * c-decl.c (merge_decls): Use set_decl_section_name.
1449 (duplicate_decls): Remove node if it exists.
1450
9bac5cbb
G
14512014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
1452
1453 PR c/53119
1454 * c-typeck.c (push_init_level, process_init_element,
1455 pop_init_level): Correct check for zero initialization, move
1456 missing brace warning to respect zero initialization.
1457
8ffcdea8
MP
14582014-06-05 Marek Polacek <polacek@redhat.com>
1459
1460 PR c/56724
1461 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
1462
742938c9
MP
14632014-06-05 Marek Polacek <polacek@redhat.com>
1464
1465 PR c/49706
1466 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
1467 on the left hand side operand of a comparison.
1468
6447c55d
MP
14692014-06-05 Marek Polacek <polacek@redhat.com>
1470
1471 PR c/48062
1472 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
1473 Print note only if the warning was printed.
1474
9dc7743c
IZ
14752014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
1476
1477 PR c/58942
1478 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
1479 with a pointer.
1480
fedfecef
MP
14812014-06-03 Marek Polacek <polacek@redhat.com>
1482
1483 PR c/60439
1484 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
1485 c_start_case.
1486 * c-tree.h (c_start_case): Update.
1487 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
1488 switch condition has boolean value.
1489
9b2b7279
AM
14902014-06-02 Andrew MacLeod <amacleod@redhat.com>
1491
1492 * c-decl.c: Include builtins.h.
1493 * c-parser.c: Likewise.
1494
5c1bc275
MP
14952014-05-27 Marek Polacek <polacek@redhat.com>
1496
1497 PR c/56724
1498 * c-typeck.c (convert_arguments): Get location of a parameter. Change
1499 error and warning calls to error_at and warning_at. Pass location of
1500 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
1501 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
1502 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
1503
97563bc8
IZ
15042014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
1505
1506 PR c/61191
1507 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
1508 function parameters.
1509
aede2c10
JH
15102014-05-23 Jan Hubicka <hubicka@ucw.cz>
1511
1512 * c-decl.c (merge_decls): Preserve symtab node pointers.
1513 (duplicate_decls): Free new decl.
1514
edbba2ce
TS
15152014-05-23 Thomas Schwinge <thomas@codesourcery.com>
1516
f3316c6d
TS
1517 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
1518 initialization.
1519
edbba2ce
TS
1520 * c-parser.c (c_parser_omp_target): Return bool values.
1521
68c81f24
TS
15222014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1523
1524 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
1525 num_teams_loc variable to num_thread_limit_loc.
1526
632f2871
RS
15272014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1528
1529 * c-array-notation.c (expand_array_notations): Use void_node
1530 instead of void_zero_node.
1531
766090c2
TS
15322014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1533
1534 * c-decl.c (finish_struct): Adjust.
1535 (finish_enum): Likewise.
1536 (bind): Adjust.
1537 (record_inline_static): Likewise.
1538 (push_scope): Likewise.
1539 (make_label): Likewise.
1540 (lookup_label_for_goto): Likewise.
1541 (finish_struct): Likewise.
1542 (finish_enum): Likewise.
1543 (store_parm_decls): Likewise.
1544 (c_push_function_context): Likewise.
1545 * c-lang.h: Remove usage of variable_size gty attribute.
1546 * c-parser.c (c_parse_init): Adjust.
1547 (c_parse_file): Likewise.
1548
2b107f6b
MP
15492014-05-13 Marek Polacek <polacek@redhat.com>
1550
1551 PR c/61162
1552 * c-typeck.c (convert_for_assignment): Pass location to
1553 WARN_FOR_ASSIGNMENT instead of input_location.
1554
d033409e
MP
15552014-05-10 Marek Polacek <polacek@redhat.com>
1556
1557 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
1558 maybe_warn_string_init.
1559 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
1560 maybe_warn_string_init.
1561 * c-tree.h (maybe_warn_string_init): Update declaration.
1562 * c-typeck.c (maybe_warn_string_init): Add location parameter.
1563 Call pedwarn_init with loc instead of with input_location.
1564 (digest_init): Pass init_loc to maybe_warn_string_init.
1565 (pop_init_level): Call pedwarn_init with loc instead of with
1566 input_location.
1567 (set_init_index): Likewise.
1568 (process_init_element): Likewise.
1569
ea58ef42
MP
15702014-05-09 Marek Polacek <polacek@redhat.com>
1571
1572 PR c/61096
1573 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
1574 (c_parser_initelt): Pass location to set_init_label. Pass array index
1575 location to set_init_index.
1576 * c-tree.h (push_init_level): Update declaration.
1577 (pop_init_level): Likewise.
1578 (set_init_index): Likewise.
1579 (set_init_label): Likewise.
1580 * c-typeck.c (error_init): Add location parameter. Call error_at
1581 instead of error.
1582 (digest_init): Pass init_loc to error_init.
1583 (really_start_incremental_init):
1584 (push_init_level): Add location parameter. Pass loc to pop_init_level
1585 and error_init.
1586 (pop_init_level): Likewise.
1587 (set_designator): Add location parameter. Pass loc to pop_init_level,
1588 push_init_level, and error_init.
1589 (set_init_index): Add location parameter. Pass loc to error_init and
1590 set_designator.
1591 (set_init_label): Likewise.
1592 (output_init_element): Pass loc to error_init.
1593 (process_init_element): Pass loc to error_init, pop_init_level,
1594 pedwarn_init, and push_init_level.
1595
661a0813
MP
15962014-05-09 Marek Polacek <polacek@redhat.com>
1597
1598 PR c/50459
1599 * c-parser.c (c_parser_attributes): Parse the arguments as an
1600 expression-list if the attribute takes identifier.
1601
2793eeab
MP
16022014-05-08 Marek Polacek <polacek@redhat.com>
1603
1604 PR c/61053
1605 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
1606 TYPE_ALIGN_UNIT.
1607
f827930a
MP
16082014-05-08 Marek Polacek <polacek@redhat.com>
1609
1610 PR c/61077
1611 * c-decl.c (start_function): Warn for _Atomic-qualified return type
1612 of main.
1613
1d60af08
KZ
16142014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1615 Mike Stump <mikestump@comcast.net>
1616 Richard Sandiford <rdsandiford@googlemail.com>
1617
1618 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
1619 (finish_enum): Use wide-int interfaces.
1620 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
1621 * c-typeck.c (build_c_cast): Likewise.
1622 (set_nonincremental_init_from_string): Likewise.
1623 (c_tree_equal): Likewise.
1624
a0e24419
MP
16252014-05-02 Marek Polacek <polacek@redhat.com>
1626
1627 PR c/25801
1628 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
1629 Return size_one_node when the type is not complete.
1630 (pointer_diff): Remove comment.
1631 (build_unary_op): Improve error messages.
1632
19fc9faa
MP
16332014-05-02 Marek Polacek <polacek@redhat.com>
1634
1635 * c-typeck.c (c_finish_return): Separate warning_at calls.
1636
63bc4e87
MP
16372014-05-02 Marek Polacek <polacek@redhat.com>
1638
1639 * c-tree.h (error_init): Remove declaration.
1640 (pedwarn_init): Likewise.
1641 * c-typeck.c (error_init): Make static and move above.
1642 (pedwarn_init): Likewise.
1643 (warning_init): Move above.
1644 (maybe_warn_string_init): Likewise.
1645
4bd2511b
JL
16462014-05-01 Jeff Law <law@redhat.com>
1647
1648 Revert:
1649
1650 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1651 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
1652 avoid goto.
1653
6a358dcb
MP
16542014-05-02 Marek Polacek <polacek@redhat.com>
1655
1656 PR c/60784
1657 * c-typeck.c (push_init_level): Set constructor_designated to
1658 p->designated for structures.
1659
ae5ebda4
MP
16602014-05-01 Marek Polacek <polacek@redhat.com>
1661
1662 PR c/60915
1663 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
1664 function-definition has an attribute after the declarator.
1665
96b40f8d
MP
16662014-05-01 Marek Polacek <polacek@redhat.com>
1667
1668 PR c/60257
1669 * c-typeck.c (warning_init): Add location_t parameter. Call
1670 warning_at instead of warning.
1671 (push_init_level): Pass input_location to warning_init.
1672 (add_pending_init): Add location_t parameter. Pass loc to
1673 warning_init.
1674 (set_nonincremental_init): Pass input_location to add_pending_init.
1675 (set_nonincremental_init_from_string): Likewise.
1676 (output_init_element): Pass loc to warning_init and to
1677 add_pending_init.
1678
32e00768
MP
16792014-05-01 Marek Polacek <polacek@redhat.com>
1680
1681 PR c/43395
1682 * c-typeck.c (c_finish_return): Distinguish between label and variable
1683 when warning about returning local address.
1684
c9379ce2
MP
16852014-05-01 Marek Polacek <polacek@redhat.com>
1686
1687 PR c/29467
1688 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
1689 in C89 mode.
1690
d00887e8
MP
16912014-05-01 Marek Polacek <polacek@redhat.com>
1692
1693 PR c/43245
1694 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
1695 instead of 0 to WARN_FOR_QUALIFIERS.
1696
5436fa2e
MP
16972014-05-01 Marek Polacek <polacek@redhat.com>
1698
1699 PR c/56989
1700 * c-typeck.c (default_conversion): Use better location for
1701 error call.
1702
f8ed5150
MP
17032014-04-30 Marek Polacek <polacek@redhat.com>
1704
1705 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
1706 also when SANITIZE_FLOAT_DIVIDE is on.
1707
8337d1db
MP
17082014-04-30 Marek Polacek <polacek@redhat.com>
1709
1710 PR c/60139
1711 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
1712 and pedwarn_init. Use loc insted of input_location.
1713
c4bdc42f
MP
17142014-04-30 Marek Polacek <polacek@redhat.com>
1715
1716 PR c/60351
1717 * c-typeck.c (build_binary_op): Use location when warning about
1718 shift count.
1719
45484dcf
MP
17202014-04-25 Marek Polacek <polacek@redhat.com>
1721
1722 PR c/18079
1723 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
1724 always_inline/noinline and hot/cold attributes.
1725
34cf811f
MP
17262014-04-25 Marek Polacek <polacek@redhat.com>
1727
1728 PR c/60114
1729 * c-parser.c (c_parser_initelt): Pass input_location to
1730 process_init_element.
1731 (c_parser_initval): Pass loc to process_init_element.
1732 * c-tree.h (process_init_element): Adjust declaration.
1733 * c-typeck.c (push_init_level): Pass input_location to
1734 process_init_element.
1735 (pop_init_level): Likewise.
1736 (set_designator): Likewise.
1737 (output_init_element): Add location_t parameter. Pass loc to
1738 digest_init.
1739 (output_pending_init_elements): Pass input_location to
1740 output_init_element.
1741 (process_init_element): Add location_t parameter. Pass loc to
1742 output_init_element.
1743
42056eac
JJ
17442014-04-24 Jakub Jelinek <jakub@redhat.com>
1745
1746 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
1747 atomic-clause, allow comma in between atomic-clause and
1748 seq_cst.
1749
e162a134
JJ
17502014-04-22 Jakub Jelinek <jakub@redhat.com>
1751
1752 PR c/59073
1753 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
1754 fails, don't set OM_PARALLEL_COMBINED and return NULL.
1755
2f6babac
IZ
17562014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1757
1758 PR middle-end/60469
1759 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1760 create_tmp_var instead build_decl for creating temps.
1761 (build_array_notation_expr): Likewise.
1762 (fix_conditional_array_notations_1): Likewise.
1763 (fix_array_notation_expr): Likewise.
1764 (fix_array_notation_call_expr): Likewise.
1765
8edbfaa6
JJ
17662014-03-28 Jakub Jelinek <jakub@redhat.com>
1767
1768 PR c++/60689
1769 * c-tree.h (c_build_function_call_vec): New prototype.
1770 * c-typeck.c (build_function_call_vec): Don't call
1771 resolve_overloaded_builtin here.
1772 (c_build_function_call_vec): New wrapper function around
1773 build_function_call_vec. Call resolve_overloaded_builtin here.
1774 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
1775 Call c_build_function_call_vec instead of build_function_call_vec.
1776 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1777 * c-decl.c (finish_decl): Likewise.
1778
7485aeea
MLI
17792014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1780
1781 PR c/55383
1782 * c-typeck.c: Use correct format string in cast-qual warning
1783
b17a8b07
TS
17842014-03-07 Thomas Schwinge <thomas@codesourcery.com>
1785
1786 * c-decl.c (c_decl_attributes): Use
1787 lang_hooks.types.omp_mappable_type.
1788 * c-typeck.c (c_finish_omp_clauses): Likewise.
1789
3af9c5e9
MP
17902014-03-06 Marek Polacek <polacek@redhat.com>
1791
1792 PR c/60197
1793 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
1794 of checking tree code.
1795
1c9f5f33
PK
17962014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1797
1798 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
1799 (c_parser_parameter_declaration): Likewise.
1800
cc28fc7f
MP
18012014-02-19 Marek Polacek <polacek@redhat.com>
1802
1803 PR c/60195
1804 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
1805 Call mark_exp_read on exp.value.
1806 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
1807 TREE_ADDRESSABLE on old instead of val.
1808 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
1809
b581c05c
PK
18102014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1811
1812 * c-parser.c (c_parser_get_builtin_args): Replace calls to
1813 C_EXPR_APPEND by vec_safe_push.
1814 * c-tree.h (C_EXPR_APPEND): Remove.
1815
81e5eca8
MP
18162014-01-31 Marek Polacek <polacek@redhat.com>
1817
1818 PR c/59963
1819 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
1820 build_function_call_vec.
1821 (build_function_call): Likewise.
1822 (build_atomic_assign): Likewise.
1823 (build_function_call_vec): Add arg_loc parameter. Use it.
1824 (convert_arguments): Likewise.
1825 (convert_for_assignment): Rename rhs_loc to expr_loc.
1826 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
1827 (c_parser_objc_keywordexpr): Likewise.
1828 (c_parser_postfix_expression_after_primary): Call
1829 build_function_call_vec with expr_loc rather than op_loc.
1830 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
1831 build_function_call_vec.
1832 (c_parser_expr_list): Add locations parameter. Fill it with locations
1833 of function arguments.
1834 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
1835
68fca595
MP
18362014-01-30 Marek Polacek <polacek@redhat.com>
1837
1838 PR c/59940
1839 * c-typeck.c (build_function_call_vec): Use loc parameter.
1840 (convert_arguments): Add location parameter. Use it.
1841 (ep_convert_and_check): Likewise.
1842 (build_atomic_assign): Adjust convert_for_assignment call.
1843 (build_modify_expr): Likewise.
1844 (digest_init): Likewise.
1845 (c_finish_return): Likewise.
1846 (build_conditional_expr): Adjust ep_convert_and_check calls.
1847 (convert_for_assignment): Add rhs_loc parameter. Use it.
1848 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
1849 calls.
1850
fa337f3a
RB
18512014-01-30 Richard Biener <rguenther@suse.de>
1852
1853 PR c/59905
1854 * c-typeck.c (build_function_call_vec): Do not replace calls
1855 to a function via an incompatible type with a runtime abort.
1856
b72271b9
BI
18572014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1858
1859 * c-parser.c (c_parser_declaration_or_fndef): Replaced
1860 flag_enable_cilkplus with flag_cilkplus.
1861 (c_parser_direct_declarator_inner): Likewise.
1862 (c_parser_attribute_any_word): Likewise.
1863 (c_parser_attributes): Likewise.
1864 (c_parser_compound_statement): Likewise.
1865 (c_parser_statement_after_labels): Likewise.
1866 (c_parser_if_statement): Likewise.
1867 (c_parser_switch_statement): Likewise.
1868 (c_parser_do_statement): Likewise.
1869 (c_parser_for_statement): Likewise.
1870 (c_parser_unary_expression): Likewise.
1871 (c_parser_postfix_expression): Likewise.
1872 (c_parser_postfix_expression_after_primary): Likewise.
1873 (c_parser_postfix_expression_after_primary): Likewise.
1874 (c_parser_omp_clause_name): Likewise.
1875 (c_finish_omp_declare_simd): Likewise.
1876 (c_parser_cilk_verify_simd): Likewise.
1877 * c-typeck.c (build_array_ref): Likewise.
1878 (build_function_call_vec): Likewise.
1879 (convert_arguments): Likewise.
1880 (build_compound_expr): Likewise.
1881 (c_finish_return): Likewise.
1882 (c_finish_if_stmt): Likewise.
1883 (c_finish_loop): Likewise.
1884 (build_binary_op): Likewise.
1885
393e8e8b
MP
18862014-01-23 Marek Polacek <polacek@redhat.com>
1887
1888 PR c/59846
1889 * c-typeck.c (parser_build_binary_op): Use location instead of
1890 input_location.
1891 (build_binary_op): Pass location to shorten_compare.
1892
f04dda30
MP
18932014-01-23 Marek Polacek <polacek@redhat.com>
1894
1895 PR c/58346
1896 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1897 an empty aggregate.
1898
789eadcd
MP
18992014-01-23 Marek Polacek <polacek@redhat.com>
1900
1901 PR c/59871
1902 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
1903 of a comma expression.
1904 (emit_side_effect_warnings): Likewise.
1905
40f14e9f
BI
19062014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1907
1908 PR c/59825
1909 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
1910 function to use walk_tree and moved a lot of its functionality to
1911 expand_array_notations.
1912 (expand_array_notations): New function.
1913
74558dd9
BI
19142014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1915
1916 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
1917 attribute an attribute without value.
1918
652fea39
JJ
19192014-01-23 Jakub Jelinek <jakub@redhat.com>
1920
1921 PR middle-end/58809
1922 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
1923 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1924
f34f1c87
MP
19252014-01-22 Marek Polacek <polacek@redhat.com>
1926
1927 PR c/59891
1928 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
1929 of remove_c_maybe_const_expr on op1 and op2.
1930
241f845a
JJ
19312014-01-15 Jakub Jelinek <jakub@redhat.com>
1932
1933 PR c/58943
1934 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
1935 effects, preevaluate rhs using SAVE_EXPR first.
1936
9a74f20c
BI
19372014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1938
1939 PR c++/59631
1940 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
1941 statements with if-elseif statements.
1942
96066ce1
MP
19432014-01-06 Marek Polacek <polacek@redhat.com>
1944
1945 PR c/57773
1946 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
1947 defined bit-field types only in ISO C.
1948
23a5b65a
RS
19492014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1950
1951 Update copyright years
1952
f9030485
RS
19532014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1954
1955 * c-array-notation.c: Use the standard form for the copyright notice.
1956
41958c28
BI
19572013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1958
1959 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
1960 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
1961 field in parser is not empty. If not-empty, call the function
1962 c_parser_finish_omp_declare_simd.
1963 (c_parser_cilk_clause_vectorlength): Modified function to be shared
1964 between SIMD-enabled functions and #pragma simd. Added new parameter.
1965 (c_parser_cilk_all_clauses): Modified the usage of the function
1966 c_parser_cilk_clause_vectorlength as mentioned above.
1967 (c_parser_cilk_simd_fn_vector_attrs): New function.
1968 (c_finish_cilk_simd_fn_tokens): Likewise.
1969 (is_cilkplus_vector_p): Likewise.
1970 (c_parser_omp_clause_name): Added checking for "vectorlength,"
1971 "nomask," and "mask" strings in clause name.
1972 (c_parser_omp_all_clauses): Added 3 new case statements:
1973 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
1974 PRAGMA_CILK_CLAUSE_NOMASK.
1975 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
1976 check for vector attribute and if so call the function
1977 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
1978 called the function c_finish_cilk_simd_fn_tokens.
1979 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
1980 parser field is non-empty. If so, parse them as you would parse
1981 the omp declare simd pragma.
1982 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
1983 Added a check when step is a parameter and flag it as error.
1984 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
1985 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
1986 pragma_omp_clause.
1987
cef0fd0e
TS
19882013-12-17 Thomas Schwinge <thomas@codesourcery.com>
1989
1990 * c-parser.c (c_parser_omp_parallel): Fix description.
1991
12893402
BI
19922013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1993
1994 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
1995 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1996 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
1997 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
1998
296674db
JM
19992013-12-04 Joseph Myers <joseph@codesourcery.com>
2000
2001 PR c/52023
2002 * c-parser.c (c_parser_alignas_specifier): Use
2003 c_sizeof_or_alignof_type instead of c_alignof.
2004 (c_parser_alignof_expression): Likewise, with min_alignof
2005 parameter depending on alignof spelling used.
2006
edd28054
MP
20072013-12-04 Marek Polacek <polacek@redhat.com>
2008
2009 PR c/54113
2010 * c-decl.c (start_function): Don't warn for missing prototype for
2011 inline functions.
2012
da0fc454
MP
20132013-12-03 Marek Polacek <polacek@redhat.com>
2014
2015 PR c/59351
2016 * c-decl.c (build_compound_literal): Allow compound literals with
2017 empty initial value.
2018
4c2ecab0
JM
20192013-12-02 Joseph Myers <joseph@codesourcery.com>
2020
2021 PR c/58235
2022 * c-typeck.c (build_modify_expr): Diagnose assignment to
2023 expression with array type.
2024
340baef7
JM
20252013-11-29 Joseph Myers <joseph@codesourcery.com>
2026
2027 PR c/42262
2028 * c-typeck.c (process_init_element): Do not treat a string as
2029 initializing a whole array when used with a designator for an
2030 individual element.
2031
6763b9f7
JM
20322013-11-29 Joseph Myers <joseph@codesourcery.com>
2033
2034 PR c/57574
2035 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
2036 an inline function following a static declaration.
2037
e7bd1de1
JJ
20382013-11-28 Jakub Jelinek <jakub@redhat.com>
2039
2040 PR c/59310
2041 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
2042 to p_name before calling c_parser_omp_teams instead of after.
2043 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
2044 argument. Remove unused p_name variable.
2045
0136f8f0
AH
20462013-11-27 Aldy Hernandez <aldyh@redhat.com>
2047 Jakub Jelinek <jakub@redhat.com>
2048
2049 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
2050 external_scope is NULL.
2051
241b71bb
TV
20522013-11-27 Tom de Vries <tom@codesourcery.com>
2053 Marc Glisse <marc.glisse@inria.fr>
2054
2055 PR c++/59032
2056 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
2057
2fb9a547
AM
20582013-11-22 Andrew MacLeod <amacleod@redhat.com>
2059
2060 * c-typeck.c: Add required include files from gimple.h.
2061
8400e75e
DM
20622013-11-22 David Malcolm <dmalcolm@redhat.com>
2063
2064 * c-decl.c (define_label, shadow_tag_warned)
2065 (check_bitfield_type_and_width, grokdeclarator, grokparms,
2066 store_parm_decls_newstyle, store_parm_decls_oldstyle)
2067 (declspecs_add_type): Remove use of in_system_header macro.
2068 * c-parser.c (c_parser_unary_expression): Likewise.
2069 * c-typeck.c (store_init_value, process_init_element)
2070 (c_start_case): Likewise.
2071
2072 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
2073 macro.
2074
2075 * c-parser.c (c_parser_set_source_position_from_token): Remove
2076 reference to in_system_header from comment.
2077
386b1f1f
RS
20782013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2079
2080 * c-decl.c (grokdeclarator): Update comment to refer to
2081 tree_to_[su]hwi rather than tree_low_cst.
2082
ae7e9ddd
RS
20832013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2084
2085 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
2086 tree_to_uhwi throughout.
2087
9439e9a1
RS
20882013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2089
2090 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
2091 throughout.
2092
9541ffee
RS
20932013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2094
2095 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
2096 throughout.
2097
c02065fc
AH
20982013-11-15 Aldy Hernandez <aldyh@redhat.com>
2099
2100 * c-parser.c (c_parser_cilk_simd): New.
2101 (c_parser_cilk_verify_simd): New.
2102 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
2103 (c_parser_omp_for_loop): Add case for NE_EXPR.
2104 Set c_break_label for CILK_SIMD.
2105 (c_parser_cilk_clause_vectorlength): New.
2106 (c_parser_cilk_clause_linear): New.
2107 (c_parser_cilk_clause_name): New.
2108 (c_parser_cilk_all_clauses): New.
2109 * c-typeck.c (build_unary_op): Pass location argument to
2110 readonly_error.
2111 (build_modify_expr): Same.
2112 (build_asm_expr): Same.
2113 (c_finish_bc_stmt): Error on break/continue in loops.
2114
18f429e2
AM
21152013-11-14 Andrew MacLeod <amacleod@redhat.com>
2116
2117 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
2118
d8a2d370
DN
21192013-11-14 Diego Novillo <dnovillo@google.com>
2120
2121 * c-decl.c: Include print-tree.h.
2122 Include stor-layout.h.
2123 Include varasm.h.
2124 Include attribs.h.
2125 Include stringpool.h.
2126 * c-lang.c: Include fold-const.h.
2127 * c-parser.c: Include stringpool.h.
2128 Include attribs.h.
2129 Include stor-layout.h.
2130 Include varasm.h.
2131 Include trans-mem.h.
2132 * c-typeck.c: Include stor-layout.h.
2133 Include trans-mem.h.
2134 Include varasm.h.
2135 Include stmt.h.
2136
38b7bc7f
JM
21372013-11-13 Joseph Myers <joseph@codesourcery.com>
2138
2139 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
2140 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
2141 __auto_type.
2142 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
2143 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
2144 RID_AUTO_TYPE.
2145 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
2146 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
2147 (c_parser_declarator, c_parser_direct_declarator_inner)
2148 (c_parser_parameter_declaration, c_parser_type_name): All callers
2149 changed.
2150 (c_parser_declaration_or_fndef): Handle declarations with type
2151 determined from the initializer.
2152
45b0be94
AM
21532013-11-12 Andrew MacLeod <amacleod@redhat.com>
2154
18f429e2 2155 * c-typeck.c: Include gimplify.h.
45b0be94 2156
582d9b50
JM
21572013-11-12 Joseph Myers <joseph@codesourcery.com>
2158
2159 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
2160 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
2161 comment.
2162 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
2163 or _Thread_local as appropriate in diagnostics.
2164 (build_null_declspecs): Initialize ret->thread_gnu_p.
2165 (declspecs_add_scspec): Handle either __thread or _Thread_local
2166 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
2167 pedantic. Do not disallow _Thread_local extern and _Thread_local
2168 static.
2169
267bac10
JM
21702013-11-07 Joseph Myers <joseph@codesourcery.com>
2171 Andrew MacLeod <amacleod@redhat.com>
2172
2173 * c-aux-info.c (gen_type): Handle atomic qualifier.
2174 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
2175 qualifiers when compating types.
2176 (shadow_tag_warned): Handle atomic_p in declspecs.
2177 (quals_from_declspecs): Likewise.
2178 (start_decl): Use c_type_promotes_to when promoting argument
2179 types.
2180 (grokdeclarator): Handle _Atomic.
2181 (get_parm_info): Diagnose any qualifier on "void" as only
2182 parameter.
2183 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
2184 comparing types. Use c_type_promotes_to when promoting argument
2185 types.
2186 (finish_function): Use c_type_promotes_to when promoting argument
2187 types.
2188 (build_null_declspecs): Handle atomic_p in declspecs.
2189 (declspecs_add_qual): Handle RID_ATOMIC.
2190 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
2191 (c_token_starts_declspecs): Handle RID_ATOMIC.
2192 (c_parser_declspecs): Handle atomic type specifiers and
2193 qualifiers.
2194 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
2195 from types of expressions with atomic type.
2196 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
2197 (c_parser_attribute_any_word): Handle RID_ATOMIC.
2198 (c_parser_initializer, c_parser_initelt, c_parser_initval)
2199 (c_parser_statement_after_labels, c_parser_switch_statement)
2200 (c_parser_for_statement, c_parser_expr_no_commas)
2201 (c_parser_conditional_expression, c_parser_binary_expression)
2202 (c_parser_cast_expression, c_parser_unary_expression)
2203 (c_parser_postfix_expression)
2204 (c_parser_postfix_expression_after_primary, c_parser_expression):
2205 Use convert_lvalue_to_rvalue.
2206 (c_parser_expression_conv, c_parser_expr_list): Document
2207 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
2208 (c_parser_objc_synchronized_statement): Use
2209 convert_lvalue_to_rvalue.
2210 (c_parser_objc_selector): Handle RID_ATOMIC.
2211 (c_parser_objc_receiver, c_parser_array_notation): Use
2212 convert_lvalue_to_rvalue.
2213 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
2214 _Atomic (type-name).
2215 (struct c_declspecs): Add atomic_p field.
2216 (convert_lvalue_to_rvalue): Declare.
2217 * c-typeck.c (c_type_promotes_to): Promote atomic types to
2218 corresponding atomic types.
2219 (qualify_type): Don't add _Atomic qualifiers from second argument.
2220 (comp_target_types): Do not allow _Atomic mismatches.
2221 (type_lists_compatible_p): Do not remove atomic qualifiers when
2222 comparing types.
2223 (really_atomic_lvalue, convert_lvalue_to_rvalue)
2224 (build_atomic_assign): New functions.
2225 (build_unary_op): Use build_atomic_assign for atomic increment and
2226 decrement.
2227 (build_conditional_expr): Do not treat _Atomic void as a qualified
2228 version of void.
2229 (build_modify_expr): Use build_atomic_assign for atomic LHS.
2230 (find_anonymous_field_with_type, convert_to_anonymous_field)
2231 (convert_for_assignment): Do not remove atomic qualifiers when
2232 comparing types.
2233 (digest_init): Do not accept initialization of arrays of atomic
2234 elements by string constants.
2235 (build_asm_expr): Use convert_lvalue_to_rvalue.
2236 (build_binary_op): Do not treat _Atomic void as a qualified
2237 version of void.
2238
0c249d4b
DD
22392013-11-06 DJ Delorie <dj@redhat.com>
2240
2241 * c-decl.c (locate_old_decl): If a previous conflicting decl is
2242 both explicit and builtin, print the location of the explicit one.
2243
6d7f7e0a
TB
22442013-11-05 Tobias Burnus <burnus@net-b.de>
2245
2246 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
2247 c_parser_omp_distribute, c_parser_omp_teams,
2248 c_parser_omp_target, c_parser_omp_declare): Handle
2249 -fopenmp-simd.
2250
b906f4ca
MP
22512013-11-03 Marek Polacek <polacek@redhat.com>
2252
2253 * c-decl.c (grokdeclarator): Add VLA instrumentation.
2254
ee1d5a02
JJ
22552013-11-01 Jakub Jelinek <jakub@redhat.com>
2256
2257 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
2258 check_dup_generic at the end, unless remove is true.
2259 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
2260 remove = true;.
2261 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
2262
5a9785fb
JJ
22632013-10-31 Jakub Jelinek <jakub@redhat.com>
2264
2265 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
2266 with decl that is not pointer nor array.
2267
939b37da
BI
22682013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2269
2270 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
2271 a spawning function is found.
2272 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
2273 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
2274 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
2275 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
2276 case.
2277 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
2278 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
2279 expr.
2280 (c_finish_return): Added a check to reject _Cilk_spawn in return
2281 expression.
2282 (build_cilk_spawn): New function.
2283 (build_cilk_sync): Likewise.
2284 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
2285
d4af74d4
TB
22862013-10-27 Tobias Burnus <burnus@net-b.de>
2287
2288 PR other/33426
2289 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
2290 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
2291 (c_parser_statement_after_labels): Update calls.
2292
d73749df 22932013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
2294
2295 PR other/33426
2296 * c-parser.c (c_parser_pragma, c_parser_for_statement):
2297 Handle PRAGMA_IVDEP.
2298 (c_parser_statement_after_labels): Update call.
2299
f28aa681
MP
23002013-10-24 Marek Polacek <polacek@redhat.com>
2301
2302 * c-parser.c (c_parser_struct_declaration): Add a comment.
2303 (c_parser_declarator): Don't allow _Alignas here.
2304
0645c1a2
AM
23052013-10-17 Andrew MacLeod <amacleod@redhat.com>
2306
2307 * c-parser.c: Include omp-low.h.
2308 * c-typeck.c: Likewise.
2309
568a31f2
MP
23102013-10-17 Marek Polacek <polacek@redhat.com>
2311
2312 PR c/58267
2313 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
2314 Document syntax of the array-declarator.
2315 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
2316 are not permitted.
2317 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
2318 (c_parser_struct_declaration): Likewise.
2319 (c_parser_declarator): Likewise.
2320 (c_parser_direct_declarator_inner): Likewise.
2321 (c_parser_parameter_declaration): Likewise.
2322 (c_parser_type_name): Likewise.
2323
acf0174b
JJ
23242013-10-11 Jakub Jelinek <jakub@redhat.com>
2325
2326 * c-lang.h (current_omp_declare_target_attribute): New extern
2327 decl.
2328 * c-parser.c: Include c-lang.h.
2329 (struct c_parser): Change tokens to c_token *.
2330 Add tokens_buf field. Change tokens_avail type to unsigned int.
2331 (c_parser_consume_token): If parser->tokens isn't
2332 &parser->tokens_buf[0], increment parser->tokens.
2333 (c_parser_consume_pragma): Likewise.
2334 (enum pragma_context): Add pragma_struct and pragma_param.
2335 (c_parser_external_declaration): Adjust
2336 c_parser_declaration_or_fndef caller.
2337 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
2338 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
2339 Adjust recursive call.
2340 (c_parser_struct_or_union_specifier): Use pragma_struct instead
2341 of pragma_external.
2342 (c_parser_parameter_declaration): Use pragma_param instead of
2343 pragma_external.
2344 (c_parser_compound_statement_nostart, c_parser_label,
2345 c_parser_for_statement): Adjust
2346 c_parser_declaration_or_fndef callers.
2347 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
2348 it through to c_parser_conditional_expression.
2349 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
2350 pass it through to c_parser_binary_expression. Adjust recursive
2351 call.
2352 (c_parser_binary_expression): Remove prec argument, add
2353 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
2354 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
2355 binop matches it, use build2 instead of parser_build_binary_op.
2356 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
2357 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
2358 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
2359 Handle pragma_struct and pragma_param the same as pragma_external.
2360 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
2361 (c_parser_omp_variable_list): Parse array sections for
2362 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
2363 (c_parser_omp_clause_collapse): Fully fold collapse expression.
2364 (c_parser_omp_clause_reduction): Handle user defined reductions.
2365 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
2366 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
2367 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
2368 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
2369 c_parser_omp_clause_depend, c_parser_omp_clause_map,
2370 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
2371 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
2372 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
2373 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
2374 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
2375 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
2376 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
2377 (c_parser_omp_for_loop): Add CODE argument, pass it through
2378 to c_finish_omp_for. Change last argument to cclauses,
2379 and adjust uses to grab parallel clauses from the array of all
2380 the split clauses. Adjust c_parser_binary_expression,
2381 c_parser_declaration_or_fndef and c_finish_omp_for callers.
2382 (omp_split_clauses): New function.
2383 (c_parser_omp_simd): New function.
2384 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
2385 Allow the function to be called also when parsing combined constructs,
2386 and call c_parser_omp_simd when parsing for simd.
2387 (c_parser_omp_sections_scope): If section-sequence doesn't start with
2388 #pragma omp section, require exactly one structured-block instead of
2389 sequence of statements.
2390 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
2391 Allow the function to be called also when parsing combined constructs.
2392 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
2393 Allow the function to be called also when parsing combined
2394 constructs.
2395 (c_parser_omp_taskgroup, c_parser_omp_cancel,
2396 c_parser_omp_cancellation_point, c_parser_omp_distribute,
2397 c_parser_omp_teams, c_parser_omp_target_data,
2398 c_parser_omp_target_update, c_parser_omp_target,
2399 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
2400 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
2401 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
2402 (c_parser_omp_construct): Add p_name and mask vars. Handle
2403 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
2404 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
2405 and c_parser_omp_sections callers.
2406 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
2407 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
2408 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
2409 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
2410 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
2411 OMP_CLAUSE_DEPEND.
2412 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
2413 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
2414 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
2415 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
2416 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
2417 * c-typeck.c: Include tree-inline.h.
2418 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
2419 handle_omp_array_sections_1, handle_omp_array_sections,
2420 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
2421 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
2422 user defined reductions.
2423 (c_tree_equal): New function.
2424 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
2425 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
2426 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
2427 c_check_omp_declare_reduction_r): New prototypes.
2428 * c-decl.c (current_omp_declare_target_attribute): New variable.
2429 (c_decl_attributes): New function.
2430 (start_decl, start_function): Use it instead of decl_attributes.
2431 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
2432 c_omp_reduction_decl, c_omp_reduction_lookup,
2433 c_check_omp_declare_reduction_r): New functions.
2434
0a6c2227
TT
24352013-09-25 Tom Tromey <tromey@redhat.com>
2436
2437 * Make-lang.in (c/gccspec.o): Remove.
2438 (CFLAGS-c/gccspec.o): New variable.
2439 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
2440 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
2441 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
2442
f3bc55f0
TT
24432013-09-25 Tom Tromey <tromey@redhat.com>
2444
2445 * Make-lang.in (c/gccspec.o): Don't use subshell.
2446
a24d975c
MP
24472013-09-18 Marek Polacek <polacek@redhat.com>
2448
2449 PR sanitize/58443
2450 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
2451 Remove unnecessary check.
2452
ce6923c5
MP
24532013-09-18 Marek Polacek <polacek@redhat.com>
2454
2455 PR sanitizer/58411
2456 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
2457 no_sanitize_undefined attribute.
2458
a1e51df9
KT
24592013-09-13 Kai Tietz <ktietz@redhat.com>
2460
2461 PR target/57848
2462 * c-decl.c (c_builtin_function_ext_scope): Remove
2463 wrong assumption that it is never called on prexisting
2464 symbol.
2465
0af94e6f
JR
24662013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2467
2468 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
2469
20059c8b
GDR
24702013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2471
2472 * c-objc-common.c (c_tree_printer): Tidy.
2473
de5a5fa1
MP
24742013-08-30 Marek Polacek <polacek@redhat.com>
2475
2476 * c-typeck.c (build_binary_op): Add division by zero and shift
2477 instrumentation.
2478
2531a1d9 24792013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 2480 Joseph Myers <joseph@codesourcery.com>
2531a1d9 2481
6e2bcc98 2482 PR c/35649
2531a1d9
JR
2483 * c-typeck.c (c_common_type): Prefer double_type_node over
2484 other REAL_TYPE types with the same precision.
2485 (convert_arguments): Likewise.
2486
025311c4
GDR
24872013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
2488
2489 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
2490 (c_initialize_diagnostics): Call a destructor for the early printer.
2491
da6ca2b5
GDR
24922013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2493
2494 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
2495 printer initialization.
2496
318cda85 24972013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 2498
318cda85
BI
2499 PR c/57490
2500 * c-array-notation.c (fix_conditional_array_notations_1): Added a
2501 check for truth values.
2502 (expand_array_notation_exprs): Added truth values case. Removed an
2503 unwanted else. Added for-loop to walk through subtrees in default
2504 case.
2505
b066401f
GDR
25062013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2507
2508 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
2509
fb48aadc
JM
25102013-07-23 Joseph Myers <joseph@codesourcery.com>
2511
2512 * c-parser.c (struct c_generic_association): Fix typo.
2513
433cc7b0
TT
25142013-07-23 Tom Tromey <tromey@redhat.com>
2515 Joseph Myers <joseph@codesourcery.com>
2516
2517 * c-parser.c (struct c_generic_association): New.
2518 (c_generic_association_d): New typedef.
2519 (c_parser_generic_selection): New function.
2520 (c_parser_postfix_expression): Handle RID_GENERIC.
2521
26d40c3d
JM
25222013-07-13 Jason Merrill <jason@redhat.com>
2523
2524 PR c++/57793
2525 * c-decl.c (finish_struct): Check for too-large class.
2526
ecdbd01a 25272013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
2528
2529 PR c/57821
2530 * c-typeck.c (set_init_index): When folding, check for index overflow.
2531
1141ed3f
BI
25322013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2533
2534 * c-parser.c (c_parser_array_notation): Removed rejection of array
2535 notations in an array of function pointers.
2536
713b46fa
BI
25372013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2538
2539 * c-array-notation.c (make_triplet_val_inv): New function.
2540 (create_cmp_incr): Likewise.
2541 (create_array_refs): Likewise.
2542 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
2543 Also modularized common parts between functions and called the function.
2544 (build_array_notation_expr): Likewise.
2545 (fix_conditional_array_notations_1): Likewise.
2546 (fix_array_notation_expr): Likewise.
2547 (fix_array_notation_call_expr): Likewise.
2548
92f20202
MP
25492013-06-18 Marek Polacek <polacek@redhat.com>
2550
2551 PR c/57630
2552 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
2553
73a23b06
BI
25542013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
2555
2556 * c-array-notation.c (build_array_notation_expr): Reject array notation
2557 mismatch between LHS and RHS even inside a call_expr. Also, removed
2558 a couple while statements that were dead code.
2559
00b8517d
BI
25602013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
2561
2562 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
2563 excessive precision expressions in function parameters. Also removed
2564 couple unwanted while statements.
2565
1509bdda
BI
25662013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2567
2568 * c-array-notation.c (expand_array_notation_exprs): Added
2569 ARRAY_NOTATION_REF case.
2570
d60f1706
BI
25712013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2572
2573 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
2574 function to c-family/array-notation-common.c.
2575 (is_cilkplus_reduce_builtin): Likewise.
2576 (find_rank): Likewise.
2577 (extract_array_notation_exprs): Likewise.
2578 (replace_array_notations): Likewise.
2579 (find_inv_trees): Likewise.
2580 (replace_inv_trees): Likewise.
2581 (contains_array_notation_expr): Likewise.
2582 (find_correct_array_notation_type): Likewise.
2583 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
2584 (struct inv_list): Moved this to c-family/array-notation-common.c.
2585 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
2586
6d6efbb3
BI
25872013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
2588
2589 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
2590 reduction functions outside the for-loop. Added a check if the fundecl
2591 is non-NULL. Finally, removed an unwanted if-statement, and made the
2592 body unconditional.
2593
25c22937
BI
25942013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2595
2596 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
2597 condition of the if-statement matches the rank of else-block and then-
2598 block when array notations are used.
2599 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
2600 expression after the entire function body is parsed.
2601 (c_parser_expr_no_commas): Delayed creating array notation expressions
2602 to the end of function parsing.
2603 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
2604 whole if-statement instead of just the condition.
2605 (expand_array_notation_exprs): Added MODIFY_EXPR case.
2606
edd25645
BI
26072013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2608
2609 PR c/57474
2610 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
2611 array to NULL_TREE if they are unused. Also added a check for the
2612 field to be NULL before its fields are used in future.
2613
065ce7f1
RO
26142013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2615
2616 PR bootstrap/57450
2617 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
2618 (build_array_notation_expr): Likewise.
2619
36536d79
BI
26202013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2621
2622 * c-typeck.c (build_array_ref): Added a check to see if array's
2623 index is greater than one. If true, then emit an error.
2624 (build_function_call_vec): Exclude error reporting and checking
2625 for builtin array-notation functions.
2626 (convert_arguments): Likewise.
2627 (c_finish_return): Added a check for array notations as a return
2628 expression. If true, then emit an error.
2629 (c_finish_loop): Added a check for array notations in a loop
2630 condition. If true then emit an error.
2631 (lvalue_p): Added a ARRAY_NOTATION_REF case.
2632 (build_binary_op): Added a check for array notation expr inside
2633 op1 and op0. If present, we call another function to find correct
2634 type.
2635 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
2636 * c-parser.c (c_parser_compound_statement): Check if array
2637 notation code is used in tree, if so, then transform them into
2638 appropriate C code.
2639 (c_parser_expr_no_commas): Check if array notation is used in LHS
2640 or RHS, if so, then build array notation expression instead of
2641 regular modify.
2642 (c_parser_postfix_expression_after_primary): Added a check for
2643 colon(s) after square braces, if so then handle it like an array
2644 notation. Also, break up array notations in unary op if found.
2645 (c_parser_direct_declarator_inner): Added a check for array
2646 notation.
2647 (c_parser_compound_statement): Added a check for array notation in
2648 a stmt. If one is present, then expand array notation expr.
2649 (c_parser_if_statement): Likewise.
2650 (c_parser_switch_statement): Added a check for array notations in
2651 a switch statement's condition. If true, then output an error.
2652 (c_parser_while_statement): Similarly, but for a while.
2653 (c_parser_do_statement): Similarly, but for a do-while.
2654 (c_parser_for_statement): Similarly, but for a for-loop.
2655 (c_parser_unary_expression): Check if array notation is used in a
2656 pre-increment or pre-decrement expression. If true, then expand
2657 them.
2658 (c_parser_array_notation): New function.
2659 * c-array-notation.c: New file.
2660 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
2661
cd192ccc
MS
26622013-05-23 Mike Stump <mikestump@comcast.net>
2663
2664 * c-typeck.c (convert_for_assignment): Handle references to memory
2665 spaces better.
2666
427b248d
JM
26672013-05-16 Jason Merrill <jason@redhat.com>
2668
2669 * Make-lang.in (cc1$(exeext)): Use link mutex.
2670
44d90fe1
PC
26712013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2672
2673 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
2674 to simply use OPT_Wpointer_arith.
2675 (build_unary_op): Likewise.
2676
4e7d7b3d
JJ
26772013-04-03 Jakub Jelinek <jakub@redhat.com>
2678
2679 PR c/19449
2680 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
2681 argument. If set, or it temporarily for parsing of the first
2682 argument into force_folding_builtin_constant_p.
2683 (c_parser_postfix_expression): Adjust callers.
2684
839b422f
RB
26852013-03-21 Richard Biener <rguenther@suse.de>
2686
2687 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
2688 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
2689
2ee028f1
MP
26902013-02-12 Marek Polacek <polacek@redhat.com>
2691
2692 PR c/44938
2693 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
2694 origtypes to NULL.
2695
8824edff
JJ
26962013-01-24 Jakub Jelinek <jakub@redhat.com>
2697
2698 PR c/56078
2699 * c-typeck.c (set_nonincremental_init_from_string): If
2700 constructor_max_index is NULL, treat it as if tree_int_cst_lt
2701 returned false.
2702 (process_init_element): Likewise.
2703
eadd3d0d
JJ
27042012-12-20 Jakub Jelinek <jakub@redhat.com>
2705
2706 PR c++/55619
2707 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
2708 argument, don't call default_function_array_conversion
2709 nor c_fully_fold here.
2710 (c_parser_asm_statement): Adjust callers.
2711 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
2712 and outputs here, and call default_function_array_conversion
2713 on inputs that don't need to be addressable.
2714
f8a93a2e
JJ
27152012-12-18 Jakub Jelinek <jakub@redhat.com>
2716
2717 PR c/39464
2718 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
2719 warning require that both c_common_unsigned_type as well as
2720 c_common_signed_type is the same for both mvl and mvr types.
2721
9771b263
DN
27222012-11-16 Diego Novillo <dnovillo@google.com>
2723
2724 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2725
2726 * c-common.c: Use new vec API in vec.h.
2727 * c-common.h: Likewise.
2728 * c-gimplify.c: Likewise.
2729 * c-pragma.c: Likewise.
2730 * c-pretty-print.c: Likewise.
2731 * c-pretty-print.h: Likewise.
2732 * c-semantics.c: Likewise.
2733 * c-decl.c: Likewise.
2734 * c-parser.c: Likewise.
2735 * c-tree.h: Likewise.
2736 * c-typeck.c: Likewise.
2737
880661a4
JW
27382012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2739
2740 PR c++/54930
2741 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
2742
077d1abe
MLI
27432012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2744
2745 PR c/53066
2746 * c-decl.c (warn_if_shadowing): Do not warn if a variable
2747 shadows a function, unless the variable is a function or a
2748 pointer-to-function.
2749
3a785c97
JJ
27502012-10-12 Jakub Jelinek <jakub@redhat.com>
2751
2752 PR c/54381
2753 * c-parser.c (struct c_tree_loc_pair): Removed.
2754 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
2755 add location_t * and tree * arguments, fill in array of 3
2756 sizeof_arg trees and corresponding locs.
2757 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
2758 c_parser_expr_list callers.
2759 (c_parser_postfix_expression_after_primary): Likewise. Pass
2760 array of 3 sizeof_arg trees and locs (corresponding to first
2761 3 arguments) to sizeof_pointer_memaccess_warning.
2762
703c8606
LC
27632012-10-09 Lawrence Crowl <crowl@google.com>
2764
2765 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
2766 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
2767 hash table.
2768
5d9de0d0
PC
27692012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2770
2771 PR c++/54194
2772 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
2773 call.
2774
a212e43f
MG
27752012-10-09 Marc Glisse <marc.glisse@inria.fr>
2776
2777 PR c++/54427
2778 * c-typeck.c: Include c-common.h.
2779 (enum stv_conv): Moved to c-common.h.
2780 (scalar_to_vector): Moved to c-common.c.
2781 (build_binary_op): Adapt to scalar_to_vector's new prototype.
2782 * Make-lang.in: c-typeck.c depends on c-common.h.
2783
3b78de56
AC
27842012-10-04 Arnaud Charlet <charlet@adacore.com>
2785
2786 * c-decl.c (c_write_global_declarations): Fix handling of
2787 -fdump-ada-spec*.
2788
78c60e3d
SS
27892012-09-30 Sharad Singhai <singhai@google.com>
2790
2791 * c-decl.c (c_write_global_declarations): Use a different method
2792 to determine if the dump has ben initialized.
2793
9f33203d
JM
27942012-09-14 Joseph Myers <joseph@codesourcery.com>
2795
2796 PR c/54552
2797 * c-typeck.c (c_cast_expr): When casting to a type requiring
2798 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2799 c_fully_fold first.
2800
a27d595d
JM
28012012-09-14 Joseph Myers <joseph@codesourcery.com>
2802
2803 PR c/54103
2804 * c-typeck.c (build_unary_op): Pass original argument of
2805 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2806 any C_MAYBE_CONST_EXPR, if it has integer operands.
2807 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2808 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2809 to c_objc_common_truthvalue_conversion, then remove any
2810 C_MAYBE_CONST_EXPR, if they have integer operands. Use
2811 c_objc_common_truthvalue_conversion not
2812 c_common_truthvalue_conversion.
2813 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2814 call note_integer_operands for arguments with integer operands
2815 that are not integer constants.
2816
9feb29df
JJ
28172012-09-13 Jakub Jelinek <jakub@redhat.com>
2818
2819 PR c/54559
2820 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2821 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2822
d409320c
JJ
28232012-08-31 Jakub Jelinek <jakub@redhat.com>
2824
2825 PR c/54428
2826 * c-convert.c (convert): Don't call fold_convert_loc if
2827 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2828 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
2829 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2830
6265d07c
JJ
28312012-08-24 Jakub Jelinek <jakub@redhat.com>
2832
2833 PR c/54355
2834 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
2835 for nested and empty_ok arguments in the call to
2836 c_parser_declaration_or_fndef.
2837
1a4049e7
JJ
28382012-08-17 Jakub Jelinek <jakub@redhat.com>
2839
2840 * c-tree.h (c_last_sizeof_arg): Declare.
2841 * c-parser.c (struct c_tree_loc_pair): New type.
2842 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
2843 non-NULL.
2844 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
2845 (c_parser_postfix_expression_after_primary): Likewise. Call
2846 sizeof_pointer_memaccess_warning if needed.
2847 (sizeof_ptr_memacc_comptypes): New function.
2848 * c-typeck.c (c_last_sizeof_arg): New global variable.
2849 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
2850
0229aee9
UB
28512012-07-24 Uros Bizjak <ubizjak@gmail.com>
2852
2853 * c-lang.h (lang_decl): Add variable_size GTY option.
2854
7ee2468b
SB
28552012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2856
2857 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
2858 * Make-lang.in: Fix dependencies.
2859
d4a10d0a
SB
28602012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2861
2862 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
2863 and add language Makefile hooks.
2864 * config-lang.in: New file.
2865 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
2866 add the required "normal" config-lang.in rules.
2867 * c-lang.h: Moved from gcc/ to here.
2868 * c-tree.h: Likewise.
2869 * c-objc-common.c: Likewise.
2870 * c-objc-common.h: Likewise.
2871 * c-typeck.c: Likewise.
2872 * c-convert.c: Likewise.
2873 * c-lang.c: Likewise.
2874 * c-aux-info.c: Likewise.
2875 * c-errors.c: Likewise.
2876 * gccspec.c: Likewise.
2877 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
2878 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
2879\f
5624e564 2880Copyright (C) 2012-2015 Free Software Foundation, Inc.
d4a10d0a
SB
2881
2882Copying and distribution of this file, with or without modification,
2883are permitted in any medium without royalty provided the copyright
2884notice and this notice are preserved.