]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
alias.h (alias_set_type): Move typedef.
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
62f9079a
MP
12015-06-25 Marek Polacek <polacek@redhat.com>
2
3 * c-decl.c: Use is_global_var throughout.
4 * c-parser.c: Likewise.
5 * c-typeck.c: Likewise.
6
abb226c9
AM
72015-06-17 Andrew MacLeod <amacleod@redhat.com>
8
9 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
10 * c-aux-info.c: Likewise.
11 * c-convert.c: Likewise.
12 * c-decl.c: Likewise.
13 * c-errors.c: Likewise.
14 * c-lang.c: Likewise.
15 * c-objc-common.c: Likewise.
16 * c-parser.c: Likewise.
17 * c-typeck.c: Likewise.
18
8cbababc
JH
192015-06-11 Jan Hubicka <hubicka@ucw.cz>
20
21 PR middle-end/66325
22 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
23 variants.
24
a0349665
PMR
252015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
26
27 * c-decl.c (pop_scope): Register the main translation unit
28 through the new debug hook.
29
13fdf2e2
AM
302015-06-08 Andrew MacLeod <amacleod@redhat.com>
31
32 * c-array-notation.c : Adjust include files.
33 * c-aux-info.c : Likewise.
34 * c-convert.c : Likewise.
35 * c-decl.c : Likewise.
36 * c-errors.c : Likewise.
37 * c-lang.c : Likewise.
38 * c-lang.h : Likewise.
39 * c-objc-common.c : Likewise.
40 * c-parser.c : Likewise.
41 * c-typeck.c : Likewise.
42
d7438551
AH
432015-06-05 Aldy Hernandez <aldyh@redhat.com>
44
45 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
46 immediately clobber it.
47 (c_write_global_declarations_1): Remove call to
48 check_global_declaration_1.
49 (c_write_global_declarations_2): Remove.
50 (c_write_final_cleanups): Rename from c_write_global_declarations.
51 Remove call to finalize_compilation_unit.
52 Remove calls to debugging hooks.
53 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
54 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
55 * c-tree.h: Remove c_write_global_declarations.
56
ecb9f223
AM
572015-06-04 Andrew MacLeod <amacleod@redhat.com>
58
59 * c-array-notation.c: Adjust includes for restructured coretypes.h.
60 * c-aux-info.c: Likewise.
61 * c-convert.c: Likewise.
62 * c-decl.c: Likewise.
63 * c-errors.c: Likewise.
64 * c-lang.c: Likewise.
65 * c-objc-common.c: Likewise.
66 * c-parser.c: Likewise.
67 * c-typeck.c: Likewise.
68
9482b620
MP
692015-06-04 Marek Polacek <polacek@redhat.com>
70
71 PR c/66341
72 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
73 it is a lvalue.
74
bc51ace3
PK
752015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
76
77 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
78 Warn for empty struct.
79 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
80
ea5b45b6
AT
812015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
82
83 * c-decl.c (start_function): Call plugin before parsing.
84 (finish_function): Call plugin after parsing.
85
c2d47482
PK
862015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
87
88 PR c/49551
89 * c-decl.c (merge_decls): Merge DECL_COMMON.
90
a95492ab
JW
912015-05-22 Jim Wilson <jim.wilson@linaro.org>
92
93 * Make-lang.in (check_gcc_pallelize): Define.
94
fd5c817a
MP
952015-05-22 Marek Polacek <polacek@redhat.com>
96
97 PR c/47043
98 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
99 attributes.
100
c7b70a3c
MP
1012015-05-21 Marek Polacek <polacek@redhat.com>
102
103 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
104 DECL_BUILT_IN.
105
21b634ae
MP
1062015-05-20 Marek Polacek <polacek@redhat.com>
107
108 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
109 * c-typeck.c: Likewise.
110
296a8c2f
MP
1112015-05-19 Marek Polacek <polacek@redhat.com>
112
113 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
114
41b37d5e
JJ
1152015-05-19 Jakub Jelinek <jakub@redhat.com>
116
117 PR middle-end/66199
118 * c-parser.c (c_parser_omp_for_loop): Don't add
119 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
120 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
121 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
122 constructs.
123
fab27f52
MM
1242015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
125
126 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
296a8c2f 127 swaps.
fab27f52 128
40de31cf
MLI
1292015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
130
131 PR fortran/44054
132 * c-objc-common.c (c_tree_printer): Replace locus pointer with
133 accessor function.
134
3aa3c9fc
MP
1352015-05-14 Marek Polacek <polacek@redhat.com>
136
137 PR c/66066
138 PR c/66127
139 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
140 rather than with 0.
141
c3388e62
DM
1422015-05-12 David Malcolm <dmalcolm@redhat.com>
143
144 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
145 to add a call to warn_for_misleading_indentation.
146 (c_parser_else_body): Likewise, adding param "else_loc".
147 (c_parser_if_statement): Check for misleading indentation.
148 (c_parser_while_statement): Likewise.
149 (c_parser_for_statement): Likewise.
150
755e528f
MP
1512015-05-08 Marek Polacek <polacek@redhat.com>
152
153 PR c/64918
154 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
155 (output_init_element): Likewise.
156
0173bd2a
MP
1572015-05-07 Marek Polacek <polacek@redhat.com>
158
159 PR c/65179
160 * c-typeck.c (build_binary_op): Warn when left shifting a negative
161 value.
162
9babc352
MP
1632015-04-30 Marek Polacek <polacek@redhat.com>
164
165 * c-typeck.c (set_init_label): Call error_at instead of error and
166 pass LOC to it.
167
ac9f18db
MP
168 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
169 the type of a decl.
170
ec3fba51
MP
171 * c-typeck.c (c_build_va_arg): Clarify the error message.
172
b811915d
TS
1732015-04-29 Thomas Schwinge <thomas@codesourcery.com>
174
175 * c-parser.c (c_parser_oacc_enter_exit_data): Use
176 OMP_STANDALONE_CLAUSES.
177
f3075008
MP
1782015-04-28 Marek Polacek <polacek@redhat.com>
179
180 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
181
4e81b788
MP
1822015-04-28 Marek Polacek <polacek@redhat.com>
183
184 PR c/65901
185 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
186
6c1db78e
MP
1872015-04-25 Marek Polacek <polacek@redhat.com>
188
189 PR c/52085
190 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
191 attribute.
192
5c4abbb8
MP
1932015-04-23 Marek Polacek <polacek@redhat.com>
194
195 PR c/65345
196 * c-decl.c (set_labels_context_r): New function.
197 (store_parm_decls): Call it via walk_tree_without_duplicates.
198 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
199 instead of create_tmp_var. Build TARGET_EXPR instead of
200 COMPOUND_EXPR.
201 (build_atomic_assign): Use create_tmp_var_raw instead of
202 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
203
06aca1d5
IV
2042015-04-20 Ilya Verbin <ilya.verbin@intel.com>
205
206 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
207 (c_parser_omp_target_update): Add missed %> to error_at ().
208
8fba1830
BRF
2092015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
210
211 PR target/55143
212 * c-decl.c (c_default_pointer_mode): Remove definition.
213 * c-tree.h (c_default_pointer_mode): Remove declaration.
214
62021f64
TB
2152015-03-27 Tobias Burnus <burnus@net-b.de>
216
217 PR c/65586
218 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
219 error out.
220 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
221 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
222 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
223
9b65e171
JJ
2242015-03-19 Jakub Jelinek <jakub@redhat.com>
225
226 * c-decl.c (c_decl_attributes): Also add "omp declare target"
227 attribute for DECL_EXTERNAL VAR_DECLs.
228
17958621
JJ
2292015-03-11 Jakub Jelinek <jakub@redhat.com>
230
231 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
232 argument.
233
7ccb1a11
JJ
2342015-03-10 Jakub Jelinek <jakub@redhat.com>
235
236 PR c/65120
237 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
238 before preparing arguments to warn_logical_not_parentheses.
239
01177669
JJ
2402015-03-09 Jakub Jelinek <jakub@redhat.com>
241
242 PR c/65120
243 * c-typeck.c (parser_build_binary_op): Don't warn for
244 !!x == y or !b == y where b is _Bool.
245
802ac282
MP
2462015-03-09 Marek Polacek <polacek@redhat.com>
247
248 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
249 * c-decl.c (grokdeclarator): Likewise.
250 * c-typeck.c (build_binary_op): Likewise.
251
e5165b60
MP
2522015-02-27 Marek Polacek <polacek@redhat.com>
253
254 PR c/65228
255 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
256
065d214c
MP
2572015-02-14 Marek Polacek <polacek@redhat.com>
258
259 PR c/64768
260 * c-decl.c (grokdeclarator): Set the range of a flexible array member
261 declared through a typedef name.
262
e5d9235b
MP
2632015-02-13 Marek Polacek <polacek@redhat.com>
264
265 PR c/65050
266 * c-decl.c (grokdeclarator): Print also the type when giving
267 the error message about array's incomplete element type.
268
fa01ffcc
JJ
2692015-02-11 Jakub Jelinek <jakub@redhat.com>
270
271 PR c/64824
272 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
273 check in the POP macro.
274
c3e38a03
MP
2752015-02-09 Marek Polacek <polacek@redhat.com>
276
277 PR c/64856
278 * c-typeck.c (process_init_element): Don't always wrap
279 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
280 initializing a range of elements.
281
4886ec8e
JJ
2822015-02-04 Jakub Jelinek <jakub@redhat.com>
283
284 PR c/64824
285 PR c/64868
286 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
287
c3e38a03 2882015-02-02 Bruno Loff <bruno.loff@gmail.com>
a4bb6959
BL
289
290 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
291 processing enum declaration.
292
7b33f0c8
MP
2932015-01-29 Marek Polacek <polacek@redhat.com>
294
295 PR c/64709
296 * c-typeck.c (pop_init_level): If constructor_elements has
297 exactly one element with integer_zerop value, set constructor_zeroinit
298 to 1. Remove braces around warning_init call.
299
dea63e49
JJ
3002015-01-27 Jakub Jelinek <jakub@redhat.com>
301
302 PR c/64766
303 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
304 of FUNCTION_DECLs with error_mark_node.
305
d38f7dce
JJ
3062015-01-26 Jakub Jelinek <jakub@redhat.com>
307
308 PR c/64778
309 * c-typeck.c (convert_arguments): Return -1 if there are
310 error_args, even if we've diagnosed too many arguments.
311
cbf5d0e7
RB
3122015-01-21 Richard Biener <rguenther@suse.de>
313
314 PR middle-end/64313
315 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
316 for builtins the user declared correctly.
317
41dbbb37
TS
3182015-01-15 Thomas Schwinge <thomas@codesourcery.com>
319 Bernd Schmidt <bernds@codesourcery.com>
320 Cesar Philippidis <cesar@codesourcery.com>
321 James Norris <jnorris@codesourcery.com>
322 Jakub Jelinek <jakub@redhat.com>
323 Ilmir Usmanov <i.usmanov@samsung.com>
324
325 * c-parser.c: Include "gomp-constants.h".
326 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
327 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
328 Use OMP_CLAUSE_SET_MAP_KIND.
329 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
330 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
331 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
332 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
333 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
334 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
335 "copyout", "create", "delete", "deviceptr", "gang", "host",
336 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
337 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
338 "present_or_create", "pcreate", "seq", "self", "vector",
339 "vector_length", "wait", "worker".
340 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
341 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
342 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
343 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
344 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
345 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
346 (c_parser_oacc_data_clause_deviceptr)
347 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
348 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
349 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
350 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
351 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
352 (c_parser_oacc_parallel, c_parser_oacc_update)
353 (c_parser_oacc_wait): New functions.
354 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
355 (c_finish_oacc_data): New prototypes.
356 * c-typeck.c: Include "gomp-constants.h".
357 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
358 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
359 OMP_CLAUSE_SET_MAP_KIND.
360 (c_finish_oacc_parallel, c_finish_oacc_kernels)
361 (c_finish_oacc_data): New functions.
362 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
363 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
364 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
365 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
366 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
367 GOMP_MAP_FORCE_DEVICEPTR.
368
adfac8df
JJ
3692015-01-09 Michael Collison <michael.collison@linaro.org>
370
371 * c-array-notation.c: Include hash-set.h, machmode.h,
372 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
373 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
374 * c-aux-info.c: Ditto.
375 * c-convert.c: Ditto.
376 * c-decl.c: Ditto.
377 * c-errors.c: Ditto.
378 * c-lang.c: Dittoxs.
379 * c-objc-common.c: Ditto.
380 * c-parser.c: Ditto.
381 * c-typeck.c: Include hash-set.h, machmode.h,
382 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
383 fold-const.h, wide-int.h, inchash.h, real.h and
384 fixed-value.h due to flattening of tree.h.
385
2cc901dc
MP
3862015-01-07 Marek Polacek <polacek@redhat.com>
387
388 PR c/64417
389 * c-typeck.c (process_init_element): Disallow initialization of
390 a flexible array member with a string constant if the structure
391 is in an array.
392
5624e564
JJ
3932015-01-05 Jakub Jelinek <jakub@redhat.com>
394
e5341100
JJ
395 PR sanitizer/64344
396 * c-typeck.c (convert_for_assignment, c_finish_return): For
397 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
398 types also set in_late_binary_op around convert call.
399 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
400 to integral type casts, if not in_late_binary_op, pass c_fully_fold
401 result on expr as last argument to ubsan_instrument_float_cast,
402 if in_late_binary_op, don't use c_save_expr but save_expr.
403
5624e564
JJ
404 Update copyright years.
405
5bd012f8
MP
4062015-01-05 Marek Polacek <polacek@redhat.com>
407
408 PR c/64423
409 * c-typeck.c (build_array_ref): Pass loc down to
410 warn_array_subscript_with_type_char.
411
768952be
MU
4122014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
413
414 * c-typeck.c: New behavious for pointers to arrays with qualifiers
415 (common-pointer-type): For pointers to arrays take qualifiers from
416 element type.
417 (build_conditional_expr): Add warnings for lost qualifiers.
418 (comp-target-types): Allow pointers to arrays with different qualifiers.
419 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
420 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
421 to PEDWARN_FOR_QUALIFIERS.
422
8f94a8c4
JJ
4232014-12-17 Jakub Jelinek <jakub@redhat.com>
424
425 PR sanitizer/64289
426 * c-convert.c: Include ubsan.h.
427 (convert): For real -> integral casts and
428 -fsanitize=float-cast-overflow don't call convert_to_integer, but
429 instead instrument the float cast directly.
430
b731b390
JJ
4312014-11-29 Jakub Jelinek <jakub@redhat.com>
432
433 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
434 c_finish_stmt_expr): Remove NULL last argument from
435 create_tmp_var_raw and create_tmp_var calls.
436 * c-array-notation.c (fix_builtin_array_notation_fn,
437 build_array_notation_expr, fix_conditional_array_notations_1,
438 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
439
541e35a6
MP
4402014-11-28 Marek Polacek <polacek@redhat.com>
441
442 PR c/63862
443 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
444 convert the right operand to integer type.
445
b286be94
MP
4462014-11-25 Marek Polacek <polacek@redhat.com>
447
448 PR c/63877
449 * c-decl.c (start_function): Disable -Wmissing-declarations warning
450 for inline functions.
451
aa7da51a
JJ
4522014-11-21 Jakub Jelinek <jakub@redhat.com>
453
454 PR target/63764
455 * c-typeck.c (build_array_ref): Adjust
456 convert_vector_to_pointer_for_subscript caller. If it returns true,
457 call non_lvalue_loc on the result.
458
d876207f
RB
4592014-11-11 Richard Biener <rguenther@suse.de>
460
461 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
462 to true.
463
e5e44252
AK
4642014-11-10 Andi Kleen <ak@linux.intel.com>
465
466 PR c/60804
467 * c-parser.c (c_parser_statement_after_labels): Call
468 check_no_cilk.
469 (c_parser_if_statement): Dito.
470 (c_parser_switch_statement): Dito.
471 (c_parser_while_statement): Dito.
472 (c_parser_do_statement): Dito.
473 (c_parser_for_statement): Dito.
474 * c-typeck.c (c_finish_loop): Dito.
475
13c21655
PC
4762014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
477
478 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
479 OPT_Wshift_count_overflow in the warnings.
480
2d51fcef
MP
4812014-10-30 Marek Polacek <polacek@redhat.com>
482
483 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
484 print the stripped version as well, if they're not the same.
485
ef4bddc2
RS
4862014-10-29 Richard Sandiford <richard.sandiford@arm.com>
487
488 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
489 machine_mode.
490
c582198b
AM
4912014-10-28 Andrew MacLeod <amacleod@redhat.com>
492
493 * c-decl.c: Adjust include files.
494 * c-parser.c: Ditto.
495
ddc8de03
PM
4962014-10-27 Phil Muldoon <pmuldoon@redhat.com>
497 Tom Tromey <tromey@redhat.com>
498
499 * c-tree.h (enum c_oracle_request): New.
500 (c_binding_oracle_function): New typedef.
501 (c_binding_oracle, c_pushtag, c_bind): Declare.
502 * c-decl.c (c_binding_oracle): New global.
503 (I_SYMBOL_CHECKED): New macro.
504 (i_symbol_binding): New function.
505 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
506 (I_TAG_CHECKED): New macro.
507 (i_tag_binding): New function.
508 (I_TAG_BINDING, I_TAG_DECL): Redefine.
509 (I_LABEL_CHECKED): New macro.
510 (i_label_binding): New function.
511 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
512 (c_print_identifier): Save and restore c_binding_oracle.
513 (c_pushtag, c_bind): New functions.
514
60393bbc
AM
5152014-10-27 Andrew MacLeod <amacleod@redhat.com>
516
517 * c-typeck.c: Adjust include files.
518
d723bb7c
MLI
5192014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
520
521 PR c++/53061
522 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
523 initialization here...
524 (c_initialize_diagnostics): ... but here. Set defaults after
525 building pretty-printer.
526
1bc5a451
MP
5272014-10-23 Marek Polacek <polacek@redhat.com>
528
529 PR c/63626
530 * c-decl.c (pop_scope): Don't print warning in external_scope.
531
4435bb92
MP
5322014-10-19 Marek Polacek <polacek@redhat.com>
533
534 PR c/63567
535 * c-typeck.c (output_init_element): Allow initializing objects with
536 static storage duration with compound literals even in C99 and add
537 pedwarn for it.
538
7278465e
MP
5392014-10-17 Marek Polacek <polacek@redhat.com>
540
541 PR c/63567
542 * c-typeck.c (digest_init): Allow initializing objects with static
543 storage duration with compound literals even in C99 and add pedwarn
544 for it.
545
d9b7be2e
MP
5462014-10-17 Marek Polacek <polacek@redhat.com>
547
548 PR c/63543
549 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
550 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
551 error multiple times. Print the type.
552
f406ae1f
MP
5532014-10-17 Marek Polacek <polacek@redhat.com>
554
555 PR c/63549
556 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
557 type.
558
92574c7c
MP
5592014-10-17 Marek Polacek <polacek@redhat.com>
560
561 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
562 (start_function): Use OPT_Wimplicit_int instead of 0.
563 (store_parm_decls_oldstyle): Likewise.
564
1bc4a978
MT
5652014-10-17 Alan Modra <amodra@gmail.com>
566
567 PR middle-end/61848
568 * c-decl.c (merge_decls): Don't merge section name or tls model
569 to newdecl symtab node, instead merge to olddecl. Override
570 existing olddecl section name. Set tls_model for all thread-local
571 vars, not just OMP thread-private ones. Remove incorrect comment.
572
83685514
AM
5732014-10-16 Andrew MacLeod <amacleod@redhat.com>
574
575 * c-decl.c: Adjust include files.
576
78a7c317
DD
5772014-10-14 DJ Delorie <dj@redhat.com>
578
579 * c-parser.c (c_parse_init): Add RID entries for each __intN.
580 (c_token_starts_typename): Check all __intN, not just __int128.
581 (c_token_starts_declspecs): Likewise.
582 (c_parser_declspecs): Likewise.
583 (c_parser_attribute_any_word): Likewise.
584 (c_parser_objc_selector): Likewise.
585 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
586 (struct c_declspecs): Add int_n_idx field to record *which* __intN
587 is specified.
588 * c-decl.c (declspecs_add_type): Check for all __intN, not just
589 __int128.
590 (finish_declspecs): Likewise.
591
74d98c1e
AB
5922014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
593
594 * c-parser.c (c_parser_all_labels): New function to replace
595 the duplicate code.
596 (c_parser_statement): Call the new function.
597
84937de2
MP
5982014-10-09 Marek Polacek <polacek@redhat.com>
599
600 PR c/63480
601 * c-typeck.c (pop_init_level): Don't warn about initializing
602 with { }.
603
0382aaa0
MP
6042014-10-07 Marek Polacek <polacek@redhat.com>
605
606 PR c/59717
607 * c-decl.c (header_for_builtin_fn): New function.
608 (implicitly_declare): Suggest which header to include.
609
7a0ca710
MP
6102014-10-07 Marek Polacek <polacek@redhat.com>
611
612 * c-convert.c (convert): Use error_operand_p.
613 * c-typeck.c (require_complete_type): Likewise.
614 (really_atomic_lvalue): Likewise.
615 (digest_init): Likewise.
616 (handle_omp_array_sections_1): Likewise.
617
6bc8a126
MP
6182014-10-03 Marek Polacek <polacek@redhat.com>
619
620 PR c/63453
621 * c-decl.c (pop_scope): Don't warn about "inline function declared
622 but never defined" for functions marked with gnu_inline attribute.
623
d90c0a59
JJ
6242014-09-25 Jakub Jelinek <jakub@redhat.com>
625
626 PR c++/63249
627 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
628 on low_bound and length.
629
083e891e
MP
6302014-09-24 Marek Polacek <polacek@redhat.com>
631
632 PR c/61405
633 PR c/53874
634 * c-parser.c: Don't define CPP_KEYWORD.
635 (c_parser_switch_statement): Pass original type to c_finish_case.
636 * c-tree.h (c_finish_case): Update declaration.
637 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
638 conditionally to c_do_switch_warnings.
639
8d95fe25
MP
6402014-09-03 Marek Polacek <polacek@redhat.com>
641
642 PR c/62024
643 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
644 conversions.
645
9a771876
JJ
6462014-09-02 Jakub Jelinek <jakub@redhat.com>
647 Balaji V. Iyer <balaji.v.iyer@intel.com>
648 Igor Zamyatin <igor.zamyatin@intel.com>
649
650 * c-parser.c (c_parser_cilk_for): New function.
651 (c_parser_cilk_grainsize): Likewise.
652 (c_get_temp_regvar): Likewise.
653 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
654 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
655 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
656 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
657 case.
658
b7679d96
CG
6592014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
660
661 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
662 with using HOST_WIDE_INT without truncation to 'int'
663
59ea0364
MP
6642014-08-22 Marek Polacek <polacek@redhat.com>
665
666 PR c++/62199
667 * c-typeck.c (parser_build_binary_op): Adjust call to
668 warn_logical_not_parentheses.
669
671a475e
IZ
6702014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
671
672 PR other/62008
673 * c-parser.c (c_parser_array_notation): Check for correct
674 type of an array added.
675
04159acf
MP
6762014-08-19 Marek Polacek <polacek@redhat.com>
677
678 PR c++/62153
679 * c-typeck.c (build_binary_op): If either operand of a comparison
680 is a boolean expression, call maybe_warn_bool_compare.
681
c77935ee
PP
6822014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
683
684 PR c/45584
685 * c-typeck.c (build_c_cast): Do a conversion even when the
686 TYPE_MAIN_VARIANTs are the same.
687
35aff4fb
MP
6882014-08-19 Marek Polacek <polacek@redhat.com>
689
690 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
691 pedwarn_c99 instead of pedwarn.
692 (grokfield): Likewise.
693 (warn_defaults_to): New function.
694 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
695 Unconditionally call pedwarn_c99 instead of pedwarn.
696 (start_function): Call warn_defaults_to instead of pedwarn_c99.
697 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
698 check flag_isoc11 before.
699 * c-errors.c (pedwarn_c99): Change the return type to bool.
700 Handle -Wc99-c11-compat.
701 * c-parser.c (disable_extension_diagnostics): Handle
702 warn_c99_c11_compat.
703 (restore_extension_diagnostics): Likewise.
704 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
705 instead of pedwarn, don't check flag_isoc11 before.
706 (c_parser_declspecs): Likewise.
707 (c_parser_alignas_specifier): Likewise.
708 (c_parser_alignof_expression): Likewise.
709 (c_parser_generic_selection): Likewise.
710 * c-tree.h (pedwarn_c99): Update declaration.
711 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
712 of pedwarn_c99.
713
177cce46
MP
7142014-08-19 Marek Polacek <polacek@redhat.com>
715
716 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
717 to pedwarn_c90.
718 * c-errors.c: Include "opts.h".
719 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
720 * c-parser.c (disable_extension_diagnostics): Handle negative value
721 of warn_c90_c99_compat, too.
722 (restore_extension_diagnostics): Likewise.
723 (c_parser_compound_statement_nostart): Pass
724 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
725
6dc99c33
MP
7262014-08-12 Marek Polacek <polacek@redhat.com>
727
728 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
729 Add pedwarn.
730 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
731 Likewise.
732 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
733
f3bede71
MP
7342014-08-10 Marek Polacek <polacek@redhat.com>
735
736 PR c/51849
737 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
738 Call pedwarn_c90 instead of pedwarn.
739 (check_bitfield_type_and_width): Likewise.
740 (declspecs_add_qual): Likewise.
741 (declspecs_add_type): Likewise.
742 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
743 Adjust to only call pedwarn_c90.
744 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
745 pedwarn_c90 instead of pedwarn.
746 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
747 * c-parser.c (disable_extension_diagnostics): Handle
748 warn_c90_c99_compat.
749 (restore_extension_diagnostics): Likewise.
750 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
751 pedwarn_c90 instead of pedwarn.
752 (c_parser_initelt): Likewise.
753 (c_parser_postfix_expression): Likewise.
754 (c_parser_postfix_expression_after_paren_type): Likewise.
755 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
756 * c-tree.h: Fix formatting.
757 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
758 pedwarn_c90 instead of pedwarn.
759
9f25a338
TS
7602014-08-07 Trevor Saunders <tsaunders@mozilla.com>
761
762 * c-typeck.c: Remove include of pointer-set.h.
763
044331a8
MP
7642014-08-07 Marek Polacek <polacek@redhat.com>
765
766 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
767
b787e7a2
TS
7682014-08-02 Trevor Saunders <tsaunders@mozilla.com>
769
770 * c-typeck.c: Use hash_map instead of pointer_map.
771
6e2830c3
TS
7722014-08-02 Trevor Saunders <tsaunders@mozilla.com>
773
774 * c-decl.c: Use hash_set instead of pointer_set.
775
a7ee52fb
IZ
7762014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
777
778 PR middle-end/61455
779 * c-array-notation.c (expand_array_notations): Handling
780 of DECL_EXPR added.
781
b4dfdc11
MG
7822014-07-31 Marc Glisse <marc.glisse@inria.fr>
783
784 PR c++/60517
785 * c-typeck.c (c_finish_return): Return 0 instead of the address of
786 a local variable.
787
976d5a22
TT
7882014-07-30 Tom Tromey <tromey@redhat.com>
789
790 * c-typeck.c (struct constructor_stack) <designator_depth>: New
791 field.
792 (really_start_incremental_init, push_init_level): Initialize
793 designator_depth.
794 (pop_init_level): Set global designator_depth.
795 (process_init_element): Check for designated_init attribute.
796
30281de2
MP
7972014-07-20 Marek Polacek <polacek@redhat.com>
798
799 PR c/61852
800 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
801 (implicitly_declare): Pass location to implicit_decl_warning.
802
b108f48f
JJ
8032014-07-14 Jakub Jelinek <jakub@redhat.com>
804
805 PR middle-end/61294
806 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
807 If non-NULL, call c_parser_check_literal_zero.
808 (c_parser_check_literal_zero): New function.
809 (c_parser_postfix_expression_after_primary): Adjust
810 c_parser_expr_list caller, handle -Wmemset-transposed-args.
811
773ec47f
MP
8122014-07-06 Marek Polacek <polacek@redhat.com>
813
814 PR c/6940
815 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
816 * c-tree.h (C_ARRAY_PARAMETER): Define.
817 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
818 function parameter.
819
22e1cf1c
JH
8202014-07-02 Jan Hubicka <hubicka@ucw.cz>
821 Chen Gang <gang.chen.5i5j@gmail.com>
822
823 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
824 releasing symbol.
825
52ec0ea3
MP
8262014-07-01 Marek Polacek <polacek@redhat.com>
827
828 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
829 instead of 0 to WARN_FOR_ASSIGNMENT.
830
d5c3d343
MP
8312014-07-01 Marek Polacek <polacek@redhat.com>
832
833 PR c/58286
834 * c-typeck.c (convert_for_assignment): Pass
835 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
836
6a7253a4
MP
8372014-06-30 Marek Polacek <polacek@redhat.com>
838
839 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
840 has no_sanitize_undefined attribute.
841
5e88a8f4
IZ
8422014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
843
844 PR middle-end/57541
845 * c-array-notation.c (fix_builtin_array_notation_fn):
846 Check for 0 arguments in builtin call. Check that bultin argument is
847 correct.
848 * c-parser.c (c_parser_array_notation): Check for incorrect initial
849 index.
850
9698b078
SH
8512014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
852
853 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
854 qualifiers in __auto_type for atomic types.
855 (c_parser_typeof_specifier): Discard all type qualifiers in
856 __typeof__ for atomic types.
857
6e07c515
MP
8582014-06-25 Marek Polacek <polacek@redhat.com>
859
860 PR c/61162
861 * c-parser.c (c_parser_statement_after_labels): Pass the location of
862 the return expression to c_finish_return.
863
da6f124d
JJ
8642014-06-25 Jakub Jelinek <jakub@redhat.com>
865
866 * c-typeck.c (c_finish_omp_clauses): Make sure
867 OMP_CLAUSE_LINEAR_STEP has correct type.
868
c203e8a7
TS
8692014-06-24 Trevor Saunders <tsaunders@mozilla.com>
870
871 * c-decl.c: Adjust.
872
56ad0e38
JJ
8732014-06-24 Jakub Jelinek <jakub@redhat.com>
874
875 * c-parser.c (c_parser_omp_for_loop): For
876 #pragma omp parallel for simd move lastprivate clause from parallel
877 to for rather than simd.
878
47c2554f
MP
8792014-06-23 Marek Polacek <polacek@redhat.com>
880
881 * c-typeck.c (parser_build_binary_op): Don't call
882 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
883
56363ffd
JH
8842014-06-15 Jan Hubicka <hubicka@ucw.cz>
885
886 * c-parser.c (c_parser_omp_threadprivate): Likewise.
887 * c-decl.c (merge_decls): Likewise.
888
d7ff7ae5
MP
8892014-06-09 Marek Polacek <polacek@redhat.com>
890
891 PR c/36446
892 * c-typeck.c (error_init): Call inform instead of error_at.
893 (pedwarn_init): Call inform instead of pedwarn.
894 (warning_init): Call inform instead of warning_at.
895
24d047a3
JH
8962014-06-07 Jan Hubicka <hubicka@ucw.cz>
897
898 * c-decl.c (merge_decls): Use set_decl_section_name.
899 (duplicate_decls): Remove node if it exists.
900
9bac5cbb
G
9012014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
902
903 PR c/53119
904 * c-typeck.c (push_init_level, process_init_element,
905 pop_init_level): Correct check for zero initialization, move
906 missing brace warning to respect zero initialization.
907
8ffcdea8
MP
9082014-06-05 Marek Polacek <polacek@redhat.com>
909
910 PR c/56724
911 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
912
742938c9
MP
9132014-06-05 Marek Polacek <polacek@redhat.com>
914
915 PR c/49706
916 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
917 on the left hand side operand of a comparison.
918
6447c55d
MP
9192014-06-05 Marek Polacek <polacek@redhat.com>
920
921 PR c/48062
922 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
923 Print note only if the warning was printed.
924
9dc7743c
IZ
9252014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
926
927 PR c/58942
928 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
929 with a pointer.
930
fedfecef
MP
9312014-06-03 Marek Polacek <polacek@redhat.com>
932
933 PR c/60439
934 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
935 c_start_case.
936 * c-tree.h (c_start_case): Update.
937 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
938 switch condition has boolean value.
939
9b2b7279
AM
9402014-06-02 Andrew MacLeod <amacleod@redhat.com>
941
942 * c-decl.c: Include builtins.h.
943 * c-parser.c: Likewise.
944
5c1bc275
MP
9452014-05-27 Marek Polacek <polacek@redhat.com>
946
947 PR c/56724
948 * c-typeck.c (convert_arguments): Get location of a parameter. Change
949 error and warning calls to error_at and warning_at. Pass location of
950 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
951 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
952 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
953
97563bc8
IZ
9542014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
955
956 PR c/61191
957 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
958 function parameters.
959
aede2c10
JH
9602014-05-23 Jan Hubicka <hubicka@ucw.cz>
961
962 * c-decl.c (merge_decls): Preserve symtab node pointers.
963 (duplicate_decls): Free new decl.
964
edbba2ce
TS
9652014-05-23 Thomas Schwinge <thomas@codesourcery.com>
966
f3316c6d
TS
967 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
968 initialization.
969
edbba2ce
TS
970 * c-parser.c (c_parser_omp_target): Return bool values.
971
68c81f24
TS
9722014-05-22 Thomas Schwinge <thomas@codesourcery.com>
973
974 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
975 num_teams_loc variable to num_thread_limit_loc.
976
632f2871
RS
9772014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
978
979 * c-array-notation.c (expand_array_notations): Use void_node
980 instead of void_zero_node.
981
766090c2
TS
9822014-05-17 Trevor Saunders <tsaunders@mozilla.com>
983
984 * c-decl.c (finish_struct): Adjust.
985 (finish_enum): Likewise.
986 (bind): Adjust.
987 (record_inline_static): Likewise.
988 (push_scope): Likewise.
989 (make_label): Likewise.
990 (lookup_label_for_goto): Likewise.
991 (finish_struct): Likewise.
992 (finish_enum): Likewise.
993 (store_parm_decls): Likewise.
994 (c_push_function_context): Likewise.
995 * c-lang.h: Remove usage of variable_size gty attribute.
996 * c-parser.c (c_parse_init): Adjust.
997 (c_parse_file): Likewise.
998
2b107f6b
MP
9992014-05-13 Marek Polacek <polacek@redhat.com>
1000
1001 PR c/61162
1002 * c-typeck.c (convert_for_assignment): Pass location to
1003 WARN_FOR_ASSIGNMENT instead of input_location.
1004
d033409e
MP
10052014-05-10 Marek Polacek <polacek@redhat.com>
1006
1007 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
1008 maybe_warn_string_init.
1009 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
1010 maybe_warn_string_init.
1011 * c-tree.h (maybe_warn_string_init): Update declaration.
1012 * c-typeck.c (maybe_warn_string_init): Add location parameter.
1013 Call pedwarn_init with loc instead of with input_location.
1014 (digest_init): Pass init_loc to maybe_warn_string_init.
1015 (pop_init_level): Call pedwarn_init with loc instead of with
1016 input_location.
1017 (set_init_index): Likewise.
1018 (process_init_element): Likewise.
1019
ea58ef42
MP
10202014-05-09 Marek Polacek <polacek@redhat.com>
1021
1022 PR c/61096
1023 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
1024 (c_parser_initelt): Pass location to set_init_label. Pass array index
1025 location to set_init_index.
1026 * c-tree.h (push_init_level): Update declaration.
1027 (pop_init_level): Likewise.
1028 (set_init_index): Likewise.
1029 (set_init_label): Likewise.
1030 * c-typeck.c (error_init): Add location parameter. Call error_at
1031 instead of error.
1032 (digest_init): Pass init_loc to error_init.
1033 (really_start_incremental_init):
1034 (push_init_level): Add location parameter. Pass loc to pop_init_level
1035 and error_init.
1036 (pop_init_level): Likewise.
1037 (set_designator): Add location parameter. Pass loc to pop_init_level,
1038 push_init_level, and error_init.
1039 (set_init_index): Add location parameter. Pass loc to error_init and
1040 set_designator.
1041 (set_init_label): Likewise.
1042 (output_init_element): Pass loc to error_init.
1043 (process_init_element): Pass loc to error_init, pop_init_level,
1044 pedwarn_init, and push_init_level.
1045
661a0813
MP
10462014-05-09 Marek Polacek <polacek@redhat.com>
1047
1048 PR c/50459
1049 * c-parser.c (c_parser_attributes): Parse the arguments as an
1050 expression-list if the attribute takes identifier.
1051
2793eeab
MP
10522014-05-08 Marek Polacek <polacek@redhat.com>
1053
1054 PR c/61053
1055 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
1056 TYPE_ALIGN_UNIT.
1057
f827930a
MP
10582014-05-08 Marek Polacek <polacek@redhat.com>
1059
1060 PR c/61077
1061 * c-decl.c (start_function): Warn for _Atomic-qualified return type
1062 of main.
1063
1d60af08
KZ
10642014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1065 Mike Stump <mikestump@comcast.net>
1066 Richard Sandiford <rdsandiford@googlemail.com>
1067
1068 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
1069 (finish_enum): Use wide-int interfaces.
1070 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
1071 * c-typeck.c (build_c_cast): Likewise.
1072 (set_nonincremental_init_from_string): Likewise.
1073 (c_tree_equal): Likewise.
1074
a0e24419
MP
10752014-05-02 Marek Polacek <polacek@redhat.com>
1076
1077 PR c/25801
1078 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
1079 Return size_one_node when the type is not complete.
1080 (pointer_diff): Remove comment.
1081 (build_unary_op): Improve error messages.
1082
19fc9faa
MP
10832014-05-02 Marek Polacek <polacek@redhat.com>
1084
1085 * c-typeck.c (c_finish_return): Separate warning_at calls.
1086
63bc4e87
MP
10872014-05-02 Marek Polacek <polacek@redhat.com>
1088
1089 * c-tree.h (error_init): Remove declaration.
1090 (pedwarn_init): Likewise.
1091 * c-typeck.c (error_init): Make static and move above.
1092 (pedwarn_init): Likewise.
1093 (warning_init): Move above.
1094 (maybe_warn_string_init): Likewise.
1095
4bd2511b
JL
10962014-05-01 Jeff Law <law@redhat.com>
1097
1098 Revert:
1099
1100 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1101 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
1102 avoid goto.
1103
6a358dcb
MP
11042014-05-02 Marek Polacek <polacek@redhat.com>
1105
1106 PR c/60784
1107 * c-typeck.c (push_init_level): Set constructor_designated to
1108 p->designated for structures.
1109
ae5ebda4
MP
11102014-05-01 Marek Polacek <polacek@redhat.com>
1111
1112 PR c/60915
1113 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
1114 function-definition has an attribute after the declarator.
1115
96b40f8d
MP
11162014-05-01 Marek Polacek <polacek@redhat.com>
1117
1118 PR c/60257
1119 * c-typeck.c (warning_init): Add location_t parameter. Call
1120 warning_at instead of warning.
1121 (push_init_level): Pass input_location to warning_init.
1122 (add_pending_init): Add location_t parameter. Pass loc to
1123 warning_init.
1124 (set_nonincremental_init): Pass input_location to add_pending_init.
1125 (set_nonincremental_init_from_string): Likewise.
1126 (output_init_element): Pass loc to warning_init and to
1127 add_pending_init.
1128
32e00768
MP
11292014-05-01 Marek Polacek <polacek@redhat.com>
1130
1131 PR c/43395
1132 * c-typeck.c (c_finish_return): Distinguish between label and variable
1133 when warning about returning local address.
1134
c9379ce2
MP
11352014-05-01 Marek Polacek <polacek@redhat.com>
1136
1137 PR c/29467
1138 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
1139 in C89 mode.
1140
d00887e8
MP
11412014-05-01 Marek Polacek <polacek@redhat.com>
1142
1143 PR c/43245
1144 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
1145 instead of 0 to WARN_FOR_QUALIFIERS.
1146
5436fa2e
MP
11472014-05-01 Marek Polacek <polacek@redhat.com>
1148
1149 PR c/56989
1150 * c-typeck.c (default_conversion): Use better location for
1151 error call.
1152
f8ed5150
MP
11532014-04-30 Marek Polacek <polacek@redhat.com>
1154
1155 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
1156 also when SANITIZE_FLOAT_DIVIDE is on.
1157
8337d1db
MP
11582014-04-30 Marek Polacek <polacek@redhat.com>
1159
1160 PR c/60139
1161 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
1162 and pedwarn_init. Use loc insted of input_location.
1163
c4bdc42f
MP
11642014-04-30 Marek Polacek <polacek@redhat.com>
1165
1166 PR c/60351
1167 * c-typeck.c (build_binary_op): Use location when warning about
1168 shift count.
1169
45484dcf
MP
11702014-04-25 Marek Polacek <polacek@redhat.com>
1171
1172 PR c/18079
1173 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
1174 always_inline/noinline and hot/cold attributes.
1175
34cf811f
MP
11762014-04-25 Marek Polacek <polacek@redhat.com>
1177
1178 PR c/60114
1179 * c-parser.c (c_parser_initelt): Pass input_location to
1180 process_init_element.
1181 (c_parser_initval): Pass loc to process_init_element.
1182 * c-tree.h (process_init_element): Adjust declaration.
1183 * c-typeck.c (push_init_level): Pass input_location to
1184 process_init_element.
1185 (pop_init_level): Likewise.
1186 (set_designator): Likewise.
1187 (output_init_element): Add location_t parameter. Pass loc to
1188 digest_init.
1189 (output_pending_init_elements): Pass input_location to
1190 output_init_element.
1191 (process_init_element): Add location_t parameter. Pass loc to
1192 output_init_element.
1193
42056eac
JJ
11942014-04-24 Jakub Jelinek <jakub@redhat.com>
1195
1196 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
1197 atomic-clause, allow comma in between atomic-clause and
1198 seq_cst.
1199
e162a134
JJ
12002014-04-22 Jakub Jelinek <jakub@redhat.com>
1201
1202 PR c/59073
1203 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
1204 fails, don't set OM_PARALLEL_COMBINED and return NULL.
1205
2f6babac
IZ
12062014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1207
1208 PR middle-end/60469
1209 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1210 create_tmp_var instead build_decl for creating temps.
1211 (build_array_notation_expr): Likewise.
1212 (fix_conditional_array_notations_1): Likewise.
1213 (fix_array_notation_expr): Likewise.
1214 (fix_array_notation_call_expr): Likewise.
1215
8edbfaa6
JJ
12162014-03-28 Jakub Jelinek <jakub@redhat.com>
1217
1218 PR c++/60689
1219 * c-tree.h (c_build_function_call_vec): New prototype.
1220 * c-typeck.c (build_function_call_vec): Don't call
1221 resolve_overloaded_builtin here.
1222 (c_build_function_call_vec): New wrapper function around
1223 build_function_call_vec. Call resolve_overloaded_builtin here.
1224 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
1225 Call c_build_function_call_vec instead of build_function_call_vec.
1226 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1227 * c-decl.c (finish_decl): Likewise.
1228
7485aeea
MLI
12292014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1230
1231 PR c/55383
1232 * c-typeck.c: Use correct format string in cast-qual warning
1233
b17a8b07
TS
12342014-03-07 Thomas Schwinge <thomas@codesourcery.com>
1235
1236 * c-decl.c (c_decl_attributes): Use
1237 lang_hooks.types.omp_mappable_type.
1238 * c-typeck.c (c_finish_omp_clauses): Likewise.
1239
3af9c5e9
MP
12402014-03-06 Marek Polacek <polacek@redhat.com>
1241
1242 PR c/60197
1243 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
1244 of checking tree code.
1245
1c9f5f33
PK
12462014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1247
1248 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
1249 (c_parser_parameter_declaration): Likewise.
1250
cc28fc7f
MP
12512014-02-19 Marek Polacek <polacek@redhat.com>
1252
1253 PR c/60195
1254 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
1255 Call mark_exp_read on exp.value.
1256 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
1257 TREE_ADDRESSABLE on old instead of val.
1258 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
1259
b581c05c
PK
12602014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1261
1262 * c-parser.c (c_parser_get_builtin_args): Replace calls to
1263 C_EXPR_APPEND by vec_safe_push.
1264 * c-tree.h (C_EXPR_APPEND): Remove.
1265
81e5eca8
MP
12662014-01-31 Marek Polacek <polacek@redhat.com>
1267
1268 PR c/59963
1269 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
1270 build_function_call_vec.
1271 (build_function_call): Likewise.
1272 (build_atomic_assign): Likewise.
1273 (build_function_call_vec): Add arg_loc parameter. Use it.
1274 (convert_arguments): Likewise.
1275 (convert_for_assignment): Rename rhs_loc to expr_loc.
1276 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
1277 (c_parser_objc_keywordexpr): Likewise.
1278 (c_parser_postfix_expression_after_primary): Call
1279 build_function_call_vec with expr_loc rather than op_loc.
1280 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
1281 build_function_call_vec.
1282 (c_parser_expr_list): Add locations parameter. Fill it with locations
1283 of function arguments.
1284 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
1285
68fca595
MP
12862014-01-30 Marek Polacek <polacek@redhat.com>
1287
1288 PR c/59940
1289 * c-typeck.c (build_function_call_vec): Use loc parameter.
1290 (convert_arguments): Add location parameter. Use it.
1291 (ep_convert_and_check): Likewise.
1292 (build_atomic_assign): Adjust convert_for_assignment call.
1293 (build_modify_expr): Likewise.
1294 (digest_init): Likewise.
1295 (c_finish_return): Likewise.
1296 (build_conditional_expr): Adjust ep_convert_and_check calls.
1297 (convert_for_assignment): Add rhs_loc parameter. Use it.
1298 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
1299 calls.
1300
fa337f3a
RB
13012014-01-30 Richard Biener <rguenther@suse.de>
1302
1303 PR c/59905
1304 * c-typeck.c (build_function_call_vec): Do not replace calls
1305 to a function via an incompatible type with a runtime abort.
1306
b72271b9
BI
13072014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1308
1309 * c-parser.c (c_parser_declaration_or_fndef): Replaced
1310 flag_enable_cilkplus with flag_cilkplus.
1311 (c_parser_direct_declarator_inner): Likewise.
1312 (c_parser_attribute_any_word): Likewise.
1313 (c_parser_attributes): Likewise.
1314 (c_parser_compound_statement): Likewise.
1315 (c_parser_statement_after_labels): Likewise.
1316 (c_parser_if_statement): Likewise.
1317 (c_parser_switch_statement): Likewise.
1318 (c_parser_do_statement): Likewise.
1319 (c_parser_for_statement): Likewise.
1320 (c_parser_unary_expression): Likewise.
1321 (c_parser_postfix_expression): Likewise.
1322 (c_parser_postfix_expression_after_primary): Likewise.
1323 (c_parser_postfix_expression_after_primary): Likewise.
1324 (c_parser_omp_clause_name): Likewise.
1325 (c_finish_omp_declare_simd): Likewise.
1326 (c_parser_cilk_verify_simd): Likewise.
1327 * c-typeck.c (build_array_ref): Likewise.
1328 (build_function_call_vec): Likewise.
1329 (convert_arguments): Likewise.
1330 (build_compound_expr): Likewise.
1331 (c_finish_return): Likewise.
1332 (c_finish_if_stmt): Likewise.
1333 (c_finish_loop): Likewise.
1334 (build_binary_op): Likewise.
1335
393e8e8b
MP
13362014-01-23 Marek Polacek <polacek@redhat.com>
1337
1338 PR c/59846
1339 * c-typeck.c (parser_build_binary_op): Use location instead of
1340 input_location.
1341 (build_binary_op): Pass location to shorten_compare.
1342
f04dda30
MP
13432014-01-23 Marek Polacek <polacek@redhat.com>
1344
1345 PR c/58346
1346 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1347 an empty aggregate.
1348
789eadcd
MP
13492014-01-23 Marek Polacek <polacek@redhat.com>
1350
1351 PR c/59871
1352 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
1353 of a comma expression.
1354 (emit_side_effect_warnings): Likewise.
1355
40f14e9f
BI
13562014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1357
1358 PR c/59825
1359 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
1360 function to use walk_tree and moved a lot of its functionality to
1361 expand_array_notations.
1362 (expand_array_notations): New function.
1363
74558dd9
BI
13642014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1365
1366 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
1367 attribute an attribute without value.
1368
652fea39
JJ
13692014-01-23 Jakub Jelinek <jakub@redhat.com>
1370
1371 PR middle-end/58809
1372 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
1373 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1374
f34f1c87
MP
13752014-01-22 Marek Polacek <polacek@redhat.com>
1376
1377 PR c/59891
1378 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
1379 of remove_c_maybe_const_expr on op1 and op2.
1380
241f845a
JJ
13812014-01-15 Jakub Jelinek <jakub@redhat.com>
1382
1383 PR c/58943
1384 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
1385 effects, preevaluate rhs using SAVE_EXPR first.
1386
9a74f20c
BI
13872014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1388
1389 PR c++/59631
1390 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
1391 statements with if-elseif statements.
1392
96066ce1
MP
13932014-01-06 Marek Polacek <polacek@redhat.com>
1394
1395 PR c/57773
1396 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
1397 defined bit-field types only in ISO C.
1398
23a5b65a
RS
13992014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1400
1401 Update copyright years
1402
f9030485
RS
14032014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1404
1405 * c-array-notation.c: Use the standard form for the copyright notice.
1406
41958c28
BI
14072013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1408
1409 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
1410 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
1411 field in parser is not empty. If not-empty, call the function
1412 c_parser_finish_omp_declare_simd.
1413 (c_parser_cilk_clause_vectorlength): Modified function to be shared
1414 between SIMD-enabled functions and #pragma simd. Added new parameter.
1415 (c_parser_cilk_all_clauses): Modified the usage of the function
1416 c_parser_cilk_clause_vectorlength as mentioned above.
1417 (c_parser_cilk_simd_fn_vector_attrs): New function.
1418 (c_finish_cilk_simd_fn_tokens): Likewise.
1419 (is_cilkplus_vector_p): Likewise.
1420 (c_parser_omp_clause_name): Added checking for "vectorlength,"
1421 "nomask," and "mask" strings in clause name.
1422 (c_parser_omp_all_clauses): Added 3 new case statements:
1423 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
1424 PRAGMA_CILK_CLAUSE_NOMASK.
1425 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
1426 check for vector attribute and if so call the function
1427 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
1428 called the function c_finish_cilk_simd_fn_tokens.
1429 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
1430 parser field is non-empty. If so, parse them as you would parse
1431 the omp declare simd pragma.
1432 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
1433 Added a check when step is a parameter and flag it as error.
1434 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
1435 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
1436 pragma_omp_clause.
1437
cef0fd0e
TS
14382013-12-17 Thomas Schwinge <thomas@codesourcery.com>
1439
1440 * c-parser.c (c_parser_omp_parallel): Fix description.
1441
12893402
BI
14422013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1443
1444 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
1445 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1446 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
1447 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
1448
296674db
JM
14492013-12-04 Joseph Myers <joseph@codesourcery.com>
1450
1451 PR c/52023
1452 * c-parser.c (c_parser_alignas_specifier): Use
1453 c_sizeof_or_alignof_type instead of c_alignof.
1454 (c_parser_alignof_expression): Likewise, with min_alignof
1455 parameter depending on alignof spelling used.
1456
edd28054
MP
14572013-12-04 Marek Polacek <polacek@redhat.com>
1458
1459 PR c/54113
1460 * c-decl.c (start_function): Don't warn for missing prototype for
1461 inline functions.
1462
da0fc454
MP
14632013-12-03 Marek Polacek <polacek@redhat.com>
1464
1465 PR c/59351
1466 * c-decl.c (build_compound_literal): Allow compound literals with
1467 empty initial value.
1468
4c2ecab0
JM
14692013-12-02 Joseph Myers <joseph@codesourcery.com>
1470
1471 PR c/58235
1472 * c-typeck.c (build_modify_expr): Diagnose assignment to
1473 expression with array type.
1474
340baef7
JM
14752013-11-29 Joseph Myers <joseph@codesourcery.com>
1476
1477 PR c/42262
1478 * c-typeck.c (process_init_element): Do not treat a string as
1479 initializing a whole array when used with a designator for an
1480 individual element.
1481
6763b9f7
JM
14822013-11-29 Joseph Myers <joseph@codesourcery.com>
1483
1484 PR c/57574
1485 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
1486 an inline function following a static declaration.
1487
e7bd1de1
JJ
14882013-11-28 Jakub Jelinek <jakub@redhat.com>
1489
1490 PR c/59310
1491 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
1492 to p_name before calling c_parser_omp_teams instead of after.
1493 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
1494 argument. Remove unused p_name variable.
1495
0136f8f0
AH
14962013-11-27 Aldy Hernandez <aldyh@redhat.com>
1497 Jakub Jelinek <jakub@redhat.com>
1498
1499 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
1500 external_scope is NULL.
1501
241b71bb
TV
15022013-11-27 Tom de Vries <tom@codesourcery.com>
1503 Marc Glisse <marc.glisse@inria.fr>
1504
1505 PR c++/59032
1506 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
1507
2fb9a547
AM
15082013-11-22 Andrew MacLeod <amacleod@redhat.com>
1509
1510 * c-typeck.c: Add required include files from gimple.h.
1511
8400e75e
DM
15122013-11-22 David Malcolm <dmalcolm@redhat.com>
1513
1514 * c-decl.c (define_label, shadow_tag_warned)
1515 (check_bitfield_type_and_width, grokdeclarator, grokparms,
1516 store_parm_decls_newstyle, store_parm_decls_oldstyle)
1517 (declspecs_add_type): Remove use of in_system_header macro.
1518 * c-parser.c (c_parser_unary_expression): Likewise.
1519 * c-typeck.c (store_init_value, process_init_element)
1520 (c_start_case): Likewise.
1521
1522 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
1523 macro.
1524
1525 * c-parser.c (c_parser_set_source_position_from_token): Remove
1526 reference to in_system_header from comment.
1527
386b1f1f
RS
15282013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1529
1530 * c-decl.c (grokdeclarator): Update comment to refer to
1531 tree_to_[su]hwi rather than tree_low_cst.
1532
ae7e9ddd
RS
15332013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1534
1535 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
1536 tree_to_uhwi throughout.
1537
9439e9a1
RS
15382013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1539
1540 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
1541 throughout.
1542
9541ffee
RS
15432013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1544
1545 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
1546 throughout.
1547
c02065fc
AH
15482013-11-15 Aldy Hernandez <aldyh@redhat.com>
1549
1550 * c-parser.c (c_parser_cilk_simd): New.
1551 (c_parser_cilk_verify_simd): New.
1552 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
1553 (c_parser_omp_for_loop): Add case for NE_EXPR.
1554 Set c_break_label for CILK_SIMD.
1555 (c_parser_cilk_clause_vectorlength): New.
1556 (c_parser_cilk_clause_linear): New.
1557 (c_parser_cilk_clause_name): New.
1558 (c_parser_cilk_all_clauses): New.
1559 * c-typeck.c (build_unary_op): Pass location argument to
1560 readonly_error.
1561 (build_modify_expr): Same.
1562 (build_asm_expr): Same.
1563 (c_finish_bc_stmt): Error on break/continue in loops.
1564
18f429e2
AM
15652013-11-14 Andrew MacLeod <amacleod@redhat.com>
1566
1567 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
1568
d8a2d370
DN
15692013-11-14 Diego Novillo <dnovillo@google.com>
1570
1571 * c-decl.c: Include print-tree.h.
1572 Include stor-layout.h.
1573 Include varasm.h.
1574 Include attribs.h.
1575 Include stringpool.h.
1576 * c-lang.c: Include fold-const.h.
1577 * c-parser.c: Include stringpool.h.
1578 Include attribs.h.
1579 Include stor-layout.h.
1580 Include varasm.h.
1581 Include trans-mem.h.
1582 * c-typeck.c: Include stor-layout.h.
1583 Include trans-mem.h.
1584 Include varasm.h.
1585 Include stmt.h.
1586
38b7bc7f
JM
15872013-11-13 Joseph Myers <joseph@codesourcery.com>
1588
1589 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
1590 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
1591 __auto_type.
1592 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
1593 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
1594 RID_AUTO_TYPE.
1595 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
1596 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
1597 (c_parser_declarator, c_parser_direct_declarator_inner)
1598 (c_parser_parameter_declaration, c_parser_type_name): All callers
1599 changed.
1600 (c_parser_declaration_or_fndef): Handle declarations with type
1601 determined from the initializer.
1602
45b0be94
AM
16032013-11-12 Andrew MacLeod <amacleod@redhat.com>
1604
18f429e2 1605 * c-typeck.c: Include gimplify.h.
45b0be94 1606
582d9b50
JM
16072013-11-12 Joseph Myers <joseph@codesourcery.com>
1608
1609 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
1610 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
1611 comment.
1612 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
1613 or _Thread_local as appropriate in diagnostics.
1614 (build_null_declspecs): Initialize ret->thread_gnu_p.
1615 (declspecs_add_scspec): Handle either __thread or _Thread_local
1616 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
1617 pedantic. Do not disallow _Thread_local extern and _Thread_local
1618 static.
1619
267bac10
JM
16202013-11-07 Joseph Myers <joseph@codesourcery.com>
1621 Andrew MacLeod <amacleod@redhat.com>
1622
1623 * c-aux-info.c (gen_type): Handle atomic qualifier.
1624 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
1625 qualifiers when compating types.
1626 (shadow_tag_warned): Handle atomic_p in declspecs.
1627 (quals_from_declspecs): Likewise.
1628 (start_decl): Use c_type_promotes_to when promoting argument
1629 types.
1630 (grokdeclarator): Handle _Atomic.
1631 (get_parm_info): Diagnose any qualifier on "void" as only
1632 parameter.
1633 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
1634 comparing types. Use c_type_promotes_to when promoting argument
1635 types.
1636 (finish_function): Use c_type_promotes_to when promoting argument
1637 types.
1638 (build_null_declspecs): Handle atomic_p in declspecs.
1639 (declspecs_add_qual): Handle RID_ATOMIC.
1640 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
1641 (c_token_starts_declspecs): Handle RID_ATOMIC.
1642 (c_parser_declspecs): Handle atomic type specifiers and
1643 qualifiers.
1644 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
1645 from types of expressions with atomic type.
1646 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
1647 (c_parser_attribute_any_word): Handle RID_ATOMIC.
1648 (c_parser_initializer, c_parser_initelt, c_parser_initval)
1649 (c_parser_statement_after_labels, c_parser_switch_statement)
1650 (c_parser_for_statement, c_parser_expr_no_commas)
1651 (c_parser_conditional_expression, c_parser_binary_expression)
1652 (c_parser_cast_expression, c_parser_unary_expression)
1653 (c_parser_postfix_expression)
1654 (c_parser_postfix_expression_after_primary, c_parser_expression):
1655 Use convert_lvalue_to_rvalue.
1656 (c_parser_expression_conv, c_parser_expr_list): Document
1657 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
1658 (c_parser_objc_synchronized_statement): Use
1659 convert_lvalue_to_rvalue.
1660 (c_parser_objc_selector): Handle RID_ATOMIC.
1661 (c_parser_objc_receiver, c_parser_array_notation): Use
1662 convert_lvalue_to_rvalue.
1663 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
1664 _Atomic (type-name).
1665 (struct c_declspecs): Add atomic_p field.
1666 (convert_lvalue_to_rvalue): Declare.
1667 * c-typeck.c (c_type_promotes_to): Promote atomic types to
1668 corresponding atomic types.
1669 (qualify_type): Don't add _Atomic qualifiers from second argument.
1670 (comp_target_types): Do not allow _Atomic mismatches.
1671 (type_lists_compatible_p): Do not remove atomic qualifiers when
1672 comparing types.
1673 (really_atomic_lvalue, convert_lvalue_to_rvalue)
1674 (build_atomic_assign): New functions.
1675 (build_unary_op): Use build_atomic_assign for atomic increment and
1676 decrement.
1677 (build_conditional_expr): Do not treat _Atomic void as a qualified
1678 version of void.
1679 (build_modify_expr): Use build_atomic_assign for atomic LHS.
1680 (find_anonymous_field_with_type, convert_to_anonymous_field)
1681 (convert_for_assignment): Do not remove atomic qualifiers when
1682 comparing types.
1683 (digest_init): Do not accept initialization of arrays of atomic
1684 elements by string constants.
1685 (build_asm_expr): Use convert_lvalue_to_rvalue.
1686 (build_binary_op): Do not treat _Atomic void as a qualified
1687 version of void.
1688
0c249d4b
DD
16892013-11-06 DJ Delorie <dj@redhat.com>
1690
1691 * c-decl.c (locate_old_decl): If a previous conflicting decl is
1692 both explicit and builtin, print the location of the explicit one.
1693
6d7f7e0a
TB
16942013-11-05 Tobias Burnus <burnus@net-b.de>
1695
1696 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
1697 c_parser_omp_distribute, c_parser_omp_teams,
1698 c_parser_omp_target, c_parser_omp_declare): Handle
1699 -fopenmp-simd.
1700
b906f4ca
MP
17012013-11-03 Marek Polacek <polacek@redhat.com>
1702
1703 * c-decl.c (grokdeclarator): Add VLA instrumentation.
1704
ee1d5a02
JJ
17052013-11-01 Jakub Jelinek <jakub@redhat.com>
1706
1707 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
1708 check_dup_generic at the end, unless remove is true.
1709 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
1710 remove = true;.
1711 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
1712
5a9785fb
JJ
17132013-10-31 Jakub Jelinek <jakub@redhat.com>
1714
1715 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
1716 with decl that is not pointer nor array.
1717
939b37da
BI
17182013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1719
1720 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
1721 a spawning function is found.
1722 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
1723 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
1724 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1725 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
1726 case.
1727 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
1728 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
1729 expr.
1730 (c_finish_return): Added a check to reject _Cilk_spawn in return
1731 expression.
1732 (build_cilk_spawn): New function.
1733 (build_cilk_sync): Likewise.
1734 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
1735
d4af74d4
TB
17362013-10-27 Tobias Burnus <burnus@net-b.de>
1737
1738 PR other/33426
1739 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
1740 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
1741 (c_parser_statement_after_labels): Update calls.
1742
d73749df 17432013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
1744
1745 PR other/33426
1746 * c-parser.c (c_parser_pragma, c_parser_for_statement):
1747 Handle PRAGMA_IVDEP.
1748 (c_parser_statement_after_labels): Update call.
1749
f28aa681
MP
17502013-10-24 Marek Polacek <polacek@redhat.com>
1751
1752 * c-parser.c (c_parser_struct_declaration): Add a comment.
1753 (c_parser_declarator): Don't allow _Alignas here.
1754
0645c1a2
AM
17552013-10-17 Andrew MacLeod <amacleod@redhat.com>
1756
1757 * c-parser.c: Include omp-low.h.
1758 * c-typeck.c: Likewise.
1759
568a31f2
MP
17602013-10-17 Marek Polacek <polacek@redhat.com>
1761
1762 PR c/58267
1763 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
1764 Document syntax of the array-declarator.
1765 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
1766 are not permitted.
1767 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
1768 (c_parser_struct_declaration): Likewise.
1769 (c_parser_declarator): Likewise.
1770 (c_parser_direct_declarator_inner): Likewise.
1771 (c_parser_parameter_declaration): Likewise.
1772 (c_parser_type_name): Likewise.
1773
acf0174b
JJ
17742013-10-11 Jakub Jelinek <jakub@redhat.com>
1775
1776 * c-lang.h (current_omp_declare_target_attribute): New extern
1777 decl.
1778 * c-parser.c: Include c-lang.h.
1779 (struct c_parser): Change tokens to c_token *.
1780 Add tokens_buf field. Change tokens_avail type to unsigned int.
1781 (c_parser_consume_token): If parser->tokens isn't
1782 &parser->tokens_buf[0], increment parser->tokens.
1783 (c_parser_consume_pragma): Likewise.
1784 (enum pragma_context): Add pragma_struct and pragma_param.
1785 (c_parser_external_declaration): Adjust
1786 c_parser_declaration_or_fndef caller.
1787 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
1788 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
1789 Adjust recursive call.
1790 (c_parser_struct_or_union_specifier): Use pragma_struct instead
1791 of pragma_external.
1792 (c_parser_parameter_declaration): Use pragma_param instead of
1793 pragma_external.
1794 (c_parser_compound_statement_nostart, c_parser_label,
1795 c_parser_for_statement): Adjust
1796 c_parser_declaration_or_fndef callers.
1797 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
1798 it through to c_parser_conditional_expression.
1799 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
1800 pass it through to c_parser_binary_expression. Adjust recursive
1801 call.
1802 (c_parser_binary_expression): Remove prec argument, add
1803 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
1804 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
1805 binop matches it, use build2 instead of parser_build_binary_op.
1806 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
1807 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
1808 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
1809 Handle pragma_struct and pragma_param the same as pragma_external.
1810 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
1811 (c_parser_omp_variable_list): Parse array sections for
1812 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
1813 (c_parser_omp_clause_collapse): Fully fold collapse expression.
1814 (c_parser_omp_clause_reduction): Handle user defined reductions.
1815 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
1816 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
1817 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
1818 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
1819 c_parser_omp_clause_depend, c_parser_omp_clause_map,
1820 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
1821 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
1822 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
1823 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
1824 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
1825 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
1826 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
1827 (c_parser_omp_for_loop): Add CODE argument, pass it through
1828 to c_finish_omp_for. Change last argument to cclauses,
1829 and adjust uses to grab parallel clauses from the array of all
1830 the split clauses. Adjust c_parser_binary_expression,
1831 c_parser_declaration_or_fndef and c_finish_omp_for callers.
1832 (omp_split_clauses): New function.
1833 (c_parser_omp_simd): New function.
1834 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
1835 Allow the function to be called also when parsing combined constructs,
1836 and call c_parser_omp_simd when parsing for simd.
1837 (c_parser_omp_sections_scope): If section-sequence doesn't start with
1838 #pragma omp section, require exactly one structured-block instead of
1839 sequence of statements.
1840 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
1841 Allow the function to be called also when parsing combined constructs.
1842 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
1843 Allow the function to be called also when parsing combined
1844 constructs.
1845 (c_parser_omp_taskgroup, c_parser_omp_cancel,
1846 c_parser_omp_cancellation_point, c_parser_omp_distribute,
1847 c_parser_omp_teams, c_parser_omp_target_data,
1848 c_parser_omp_target_update, c_parser_omp_target,
1849 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
1850 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
1851 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
1852 (c_parser_omp_construct): Add p_name and mask vars. Handle
1853 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
1854 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
1855 and c_parser_omp_sections callers.
1856 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
1857 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
1858 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
1859 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
1860 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
1861 OMP_CLAUSE_DEPEND.
1862 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
1863 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
1864 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
1865 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
1866 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
1867 * c-typeck.c: Include tree-inline.h.
1868 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
1869 handle_omp_array_sections_1, handle_omp_array_sections,
1870 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
1871 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
1872 user defined reductions.
1873 (c_tree_equal): New function.
1874 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
1875 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
1876 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
1877 c_check_omp_declare_reduction_r): New prototypes.
1878 * c-decl.c (current_omp_declare_target_attribute): New variable.
1879 (c_decl_attributes): New function.
1880 (start_decl, start_function): Use it instead of decl_attributes.
1881 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
1882 c_omp_reduction_decl, c_omp_reduction_lookup,
1883 c_check_omp_declare_reduction_r): New functions.
1884
0a6c2227
TT
18852013-09-25 Tom Tromey <tromey@redhat.com>
1886
1887 * Make-lang.in (c/gccspec.o): Remove.
1888 (CFLAGS-c/gccspec.o): New variable.
1889 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
1890 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
1891 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
1892
f3bc55f0
TT
18932013-09-25 Tom Tromey <tromey@redhat.com>
1894
1895 * Make-lang.in (c/gccspec.o): Don't use subshell.
1896
a24d975c
MP
18972013-09-18 Marek Polacek <polacek@redhat.com>
1898
1899 PR sanitize/58443
1900 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
1901 Remove unnecessary check.
1902
ce6923c5
MP
19032013-09-18 Marek Polacek <polacek@redhat.com>
1904
1905 PR sanitizer/58411
1906 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
1907 no_sanitize_undefined attribute.
1908
a1e51df9
KT
19092013-09-13 Kai Tietz <ktietz@redhat.com>
1910
1911 PR target/57848
1912 * c-decl.c (c_builtin_function_ext_scope): Remove
1913 wrong assumption that it is never called on prexisting
1914 symbol.
1915
0af94e6f
JR
19162013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1917
1918 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
1919
20059c8b
GDR
19202013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1921
1922 * c-objc-common.c (c_tree_printer): Tidy.
1923
de5a5fa1
MP
19242013-08-30 Marek Polacek <polacek@redhat.com>
1925
1926 * c-typeck.c (build_binary_op): Add division by zero and shift
1927 instrumentation.
1928
2531a1d9 19292013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 1930 Joseph Myers <joseph@codesourcery.com>
2531a1d9 1931
6e2bcc98 1932 PR c/35649
2531a1d9
JR
1933 * c-typeck.c (c_common_type): Prefer double_type_node over
1934 other REAL_TYPE types with the same precision.
1935 (convert_arguments): Likewise.
1936
025311c4
GDR
19372013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
1938
1939 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
1940 (c_initialize_diagnostics): Call a destructor for the early printer.
1941
da6ca2b5
GDR
19422013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1943
1944 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
1945 printer initialization.
1946
318cda85 19472013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 1948
318cda85
BI
1949 PR c/57490
1950 * c-array-notation.c (fix_conditional_array_notations_1): Added a
1951 check for truth values.
1952 (expand_array_notation_exprs): Added truth values case. Removed an
1953 unwanted else. Added for-loop to walk through subtrees in default
1954 case.
1955
b066401f
GDR
19562013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1957
1958 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
1959
fb48aadc
JM
19602013-07-23 Joseph Myers <joseph@codesourcery.com>
1961
1962 * c-parser.c (struct c_generic_association): Fix typo.
1963
433cc7b0
TT
19642013-07-23 Tom Tromey <tromey@redhat.com>
1965 Joseph Myers <joseph@codesourcery.com>
1966
1967 * c-parser.c (struct c_generic_association): New.
1968 (c_generic_association_d): New typedef.
1969 (c_parser_generic_selection): New function.
1970 (c_parser_postfix_expression): Handle RID_GENERIC.
1971
26d40c3d
JM
19722013-07-13 Jason Merrill <jason@redhat.com>
1973
1974 PR c++/57793
1975 * c-decl.c (finish_struct): Check for too-large class.
1976
ecdbd01a 19772013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
1978
1979 PR c/57821
1980 * c-typeck.c (set_init_index): When folding, check for index overflow.
1981
1141ed3f
BI
19822013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1983
1984 * c-parser.c (c_parser_array_notation): Removed rejection of array
1985 notations in an array of function pointers.
1986
713b46fa
BI
19872013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1988
1989 * c-array-notation.c (make_triplet_val_inv): New function.
1990 (create_cmp_incr): Likewise.
1991 (create_array_refs): Likewise.
1992 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
1993 Also modularized common parts between functions and called the function.
1994 (build_array_notation_expr): Likewise.
1995 (fix_conditional_array_notations_1): Likewise.
1996 (fix_array_notation_expr): Likewise.
1997 (fix_array_notation_call_expr): Likewise.
1998
92f20202
MP
19992013-06-18 Marek Polacek <polacek@redhat.com>
2000
2001 PR c/57630
2002 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
2003
73a23b06
BI
20042013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
2005
2006 * c-array-notation.c (build_array_notation_expr): Reject array notation
2007 mismatch between LHS and RHS even inside a call_expr. Also, removed
2008 a couple while statements that were dead code.
2009
00b8517d
BI
20102013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
2011
2012 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
2013 excessive precision expressions in function parameters. Also removed
2014 couple unwanted while statements.
2015
1509bdda
BI
20162013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2017
2018 * c-array-notation.c (expand_array_notation_exprs): Added
2019 ARRAY_NOTATION_REF case.
2020
d60f1706
BI
20212013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2022
2023 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
2024 function to c-family/array-notation-common.c.
2025 (is_cilkplus_reduce_builtin): Likewise.
2026 (find_rank): Likewise.
2027 (extract_array_notation_exprs): Likewise.
2028 (replace_array_notations): Likewise.
2029 (find_inv_trees): Likewise.
2030 (replace_inv_trees): Likewise.
2031 (contains_array_notation_expr): Likewise.
2032 (find_correct_array_notation_type): Likewise.
2033 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
2034 (struct inv_list): Moved this to c-family/array-notation-common.c.
2035 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
2036
6d6efbb3
BI
20372013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
2038
2039 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
2040 reduction functions outside the for-loop. Added a check if the fundecl
2041 is non-NULL. Finally, removed an unwanted if-statement, and made the
2042 body unconditional.
2043
25c22937
BI
20442013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2045
2046 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
2047 condition of the if-statement matches the rank of else-block and then-
2048 block when array notations are used.
2049 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
2050 expression after the entire function body is parsed.
2051 (c_parser_expr_no_commas): Delayed creating array notation expressions
2052 to the end of function parsing.
2053 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
2054 whole if-statement instead of just the condition.
2055 (expand_array_notation_exprs): Added MODIFY_EXPR case.
2056
edd25645
BI
20572013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2058
2059 PR c/57474
2060 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
2061 array to NULL_TREE if they are unused. Also added a check for the
2062 field to be NULL before its fields are used in future.
2063
065ce7f1
RO
20642013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2065
2066 PR bootstrap/57450
2067 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
2068 (build_array_notation_expr): Likewise.
2069
36536d79
BI
20702013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2071
2072 * c-typeck.c (build_array_ref): Added a check to see if array's
2073 index is greater than one. If true, then emit an error.
2074 (build_function_call_vec): Exclude error reporting and checking
2075 for builtin array-notation functions.
2076 (convert_arguments): Likewise.
2077 (c_finish_return): Added a check for array notations as a return
2078 expression. If true, then emit an error.
2079 (c_finish_loop): Added a check for array notations in a loop
2080 condition. If true then emit an error.
2081 (lvalue_p): Added a ARRAY_NOTATION_REF case.
2082 (build_binary_op): Added a check for array notation expr inside
2083 op1 and op0. If present, we call another function to find correct
2084 type.
2085 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
2086 * c-parser.c (c_parser_compound_statement): Check if array
2087 notation code is used in tree, if so, then transform them into
2088 appropriate C code.
2089 (c_parser_expr_no_commas): Check if array notation is used in LHS
2090 or RHS, if so, then build array notation expression instead of
2091 regular modify.
2092 (c_parser_postfix_expression_after_primary): Added a check for
2093 colon(s) after square braces, if so then handle it like an array
2094 notation. Also, break up array notations in unary op if found.
2095 (c_parser_direct_declarator_inner): Added a check for array
2096 notation.
2097 (c_parser_compound_statement): Added a check for array notation in
2098 a stmt. If one is present, then expand array notation expr.
2099 (c_parser_if_statement): Likewise.
2100 (c_parser_switch_statement): Added a check for array notations in
2101 a switch statement's condition. If true, then output an error.
2102 (c_parser_while_statement): Similarly, but for a while.
2103 (c_parser_do_statement): Similarly, but for a do-while.
2104 (c_parser_for_statement): Similarly, but for a for-loop.
2105 (c_parser_unary_expression): Check if array notation is used in a
2106 pre-increment or pre-decrement expression. If true, then expand
2107 them.
2108 (c_parser_array_notation): New function.
2109 * c-array-notation.c: New file.
2110 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
2111
cd192ccc
MS
21122013-05-23 Mike Stump <mikestump@comcast.net>
2113
2114 * c-typeck.c (convert_for_assignment): Handle references to memory
2115 spaces better.
2116
427b248d
JM
21172013-05-16 Jason Merrill <jason@redhat.com>
2118
2119 * Make-lang.in (cc1$(exeext)): Use link mutex.
2120
44d90fe1
PC
21212013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2122
2123 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
2124 to simply use OPT_Wpointer_arith.
2125 (build_unary_op): Likewise.
2126
4e7d7b3d
JJ
21272013-04-03 Jakub Jelinek <jakub@redhat.com>
2128
2129 PR c/19449
2130 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
2131 argument. If set, or it temporarily for parsing of the first
2132 argument into force_folding_builtin_constant_p.
2133 (c_parser_postfix_expression): Adjust callers.
2134
839b422f
RB
21352013-03-21 Richard Biener <rguenther@suse.de>
2136
2137 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
2138 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
2139
2ee028f1
MP
21402013-02-12 Marek Polacek <polacek@redhat.com>
2141
2142 PR c/44938
2143 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
2144 origtypes to NULL.
2145
8824edff
JJ
21462013-01-24 Jakub Jelinek <jakub@redhat.com>
2147
2148 PR c/56078
2149 * c-typeck.c (set_nonincremental_init_from_string): If
2150 constructor_max_index is NULL, treat it as if tree_int_cst_lt
2151 returned false.
2152 (process_init_element): Likewise.
2153
eadd3d0d
JJ
21542012-12-20 Jakub Jelinek <jakub@redhat.com>
2155
2156 PR c++/55619
2157 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
2158 argument, don't call default_function_array_conversion
2159 nor c_fully_fold here.
2160 (c_parser_asm_statement): Adjust callers.
2161 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
2162 and outputs here, and call default_function_array_conversion
2163 on inputs that don't need to be addressable.
2164
f8a93a2e
JJ
21652012-12-18 Jakub Jelinek <jakub@redhat.com>
2166
2167 PR c/39464
2168 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
2169 warning require that both c_common_unsigned_type as well as
2170 c_common_signed_type is the same for both mvl and mvr types.
2171
9771b263
DN
21722012-11-16 Diego Novillo <dnovillo@google.com>
2173
2174 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2175
2176 * c-common.c: Use new vec API in vec.h.
2177 * c-common.h: Likewise.
2178 * c-gimplify.c: Likewise.
2179 * c-pragma.c: Likewise.
2180 * c-pretty-print.c: Likewise.
2181 * c-pretty-print.h: Likewise.
2182 * c-semantics.c: Likewise.
2183 * c-decl.c: Likewise.
2184 * c-parser.c: Likewise.
2185 * c-tree.h: Likewise.
2186 * c-typeck.c: Likewise.
2187
880661a4
JW
21882012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2189
2190 PR c++/54930
2191 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
2192
077d1abe
MLI
21932012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2194
2195 PR c/53066
2196 * c-decl.c (warn_if_shadowing): Do not warn if a variable
2197 shadows a function, unless the variable is a function or a
2198 pointer-to-function.
2199
3a785c97
JJ
22002012-10-12 Jakub Jelinek <jakub@redhat.com>
2201
2202 PR c/54381
2203 * c-parser.c (struct c_tree_loc_pair): Removed.
2204 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
2205 add location_t * and tree * arguments, fill in array of 3
2206 sizeof_arg trees and corresponding locs.
2207 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
2208 c_parser_expr_list callers.
2209 (c_parser_postfix_expression_after_primary): Likewise. Pass
2210 array of 3 sizeof_arg trees and locs (corresponding to first
2211 3 arguments) to sizeof_pointer_memaccess_warning.
2212
703c8606
LC
22132012-10-09 Lawrence Crowl <crowl@google.com>
2214
2215 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
2216 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
2217 hash table.
2218
5d9de0d0
PC
22192012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2220
2221 PR c++/54194
2222 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
2223 call.
2224
a212e43f
MG
22252012-10-09 Marc Glisse <marc.glisse@inria.fr>
2226
2227 PR c++/54427
2228 * c-typeck.c: Include c-common.h.
2229 (enum stv_conv): Moved to c-common.h.
2230 (scalar_to_vector): Moved to c-common.c.
2231 (build_binary_op): Adapt to scalar_to_vector's new prototype.
2232 * Make-lang.in: c-typeck.c depends on c-common.h.
2233
3b78de56
AC
22342012-10-04 Arnaud Charlet <charlet@adacore.com>
2235
2236 * c-decl.c (c_write_global_declarations): Fix handling of
2237 -fdump-ada-spec*.
2238
78c60e3d
SS
22392012-09-30 Sharad Singhai <singhai@google.com>
2240
2241 * c-decl.c (c_write_global_declarations): Use a different method
2242 to determine if the dump has ben initialized.
2243
9f33203d
JM
22442012-09-14 Joseph Myers <joseph@codesourcery.com>
2245
2246 PR c/54552
2247 * c-typeck.c (c_cast_expr): When casting to a type requiring
2248 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2249 c_fully_fold first.
2250
a27d595d
JM
22512012-09-14 Joseph Myers <joseph@codesourcery.com>
2252
2253 PR c/54103
2254 * c-typeck.c (build_unary_op): Pass original argument of
2255 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2256 any C_MAYBE_CONST_EXPR, if it has integer operands.
2257 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2258 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2259 to c_objc_common_truthvalue_conversion, then remove any
2260 C_MAYBE_CONST_EXPR, if they have integer operands. Use
2261 c_objc_common_truthvalue_conversion not
2262 c_common_truthvalue_conversion.
2263 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2264 call note_integer_operands for arguments with integer operands
2265 that are not integer constants.
2266
9feb29df
JJ
22672012-09-13 Jakub Jelinek <jakub@redhat.com>
2268
2269 PR c/54559
2270 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2271 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2272
d409320c
JJ
22732012-08-31 Jakub Jelinek <jakub@redhat.com>
2274
2275 PR c/54428
2276 * c-convert.c (convert): Don't call fold_convert_loc if
2277 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2278 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
2279 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2280
6265d07c
JJ
22812012-08-24 Jakub Jelinek <jakub@redhat.com>
2282
2283 PR c/54355
2284 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
2285 for nested and empty_ok arguments in the call to
2286 c_parser_declaration_or_fndef.
2287
1a4049e7
JJ
22882012-08-17 Jakub Jelinek <jakub@redhat.com>
2289
2290 * c-tree.h (c_last_sizeof_arg): Declare.
2291 * c-parser.c (struct c_tree_loc_pair): New type.
2292 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
2293 non-NULL.
2294 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
2295 (c_parser_postfix_expression_after_primary): Likewise. Call
2296 sizeof_pointer_memaccess_warning if needed.
2297 (sizeof_ptr_memacc_comptypes): New function.
2298 * c-typeck.c (c_last_sizeof_arg): New global variable.
2299 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
2300
0229aee9
UB
23012012-07-24 Uros Bizjak <ubizjak@gmail.com>
2302
2303 * c-lang.h (lang_decl): Add variable_size GTY option.
2304
7ee2468b
SB
23052012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2306
2307 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
2308 * Make-lang.in: Fix dependencies.
2309
d4a10d0a
SB
23102012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2311
2312 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
2313 and add language Makefile hooks.
2314 * config-lang.in: New file.
2315 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
2316 add the required "normal" config-lang.in rules.
2317 * c-lang.h: Moved from gcc/ to here.
2318 * c-tree.h: Likewise.
2319 * c-objc-common.c: Likewise.
2320 * c-objc-common.h: Likewise.
2321 * c-typeck.c: Likewise.
2322 * c-convert.c: Likewise.
2323 * c-lang.c: Likewise.
2324 * c-aux-info.c: Likewise.
2325 * c-errors.c: Likewise.
2326 * gccspec.c: Likewise.
2327 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
2328 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
2329\f
5624e564 2330Copyright (C) 2012-2015 Free Software Foundation, Inc.
d4a10d0a
SB
2331
2332Copying and distribution of this file, with or without modification,
2333are permitted in any medium without royalty provided the copyright
2334notice and this notice are preserved.