c-common.c (get_source_date_epoch): New function...
[gcc.git] / gcc / c-family / ChangeLog
1 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
2 Matthias Klose <doko@debian.org>
3
4 * c-common.c (get_source_date_epoch): New function, gets the environment
5 variable SOURCE_DATE_EPOCH and parses it as long long with error
6 handling.
7 * c-common.h (get_source_date_epoch): Prototype.
8 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
9
10 2015-04-27 Ryan Burn <contact@rnburn.com>
11
12 PR c++/69024
13 PR c++/68997
14 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
15 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
16 external linkage.
17 (cilk_detect_and_unwrap): Corresponding changes.
18 (extract_free_variables): Don't extract free variables from
19 AGGR_INIT_EXPR slot.
20 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
21 (cilk_recognize_spawn): Likewise.
22
23 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
24
25 * c.opt (Wmemset-elt-size): New option.
26 * c-common.c (warn_for_memset): New function.
27 * c-common.h (warn_for_memset): Declare.
28
29 2016-04-25 Jason Merrill <jason@redhat.com>
30
31 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
32 No longer static.
33 * c-common.h: Declare it.
34 * c-lex.c (c_common_has_attribute): Add maybe_unused.
35
36 2016-04-22 Jason Merrill <jason@redhat.com>
37
38 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
39
40 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
41
42 PR c++/69363
43 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
44 * c-common.h (c_finish_cilk_clauses): Remove declaration.
45
46 2016-04-18 Michael Matz <matz@suse.de>
47
48 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
49 and SET_DECL_ALIGN.
50
51 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
52
53 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
54 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
55 to incomplete types.
56 (dump_nested_type): Remove redundant tests and tidy up.
57 (print_ada_declaration): Also set TREE_VISITED on the declaration of
58 a type which is the typedef of an original type.
59
60 2016-04-15 Marek Polacek <polacek@redhat.com>
61
62 PR c/70651
63 * c-common.c (build_va_arg): Change two asserts into errors and return
64 error_mark_node.
65
66 2016-04-13 Marek Polacek <polacek@redhat.com>
67
68 PR c++/70639
69 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
70 for switch statements, too.
71
72 2016-03-28 Jason Merrill <jason@redhat.com>
73
74 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
75
76 2016-03-23 Marek Polacek <polacek@redhat.com>
77
78 PR c++/69884
79 * c.opt (Wignored-attributes): New option.
80
81 2016-03-22 David Malcolm <dmalcolm@redhat.com>
82
83 PR c/69993
84 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
85 diagnostic text, reversing the order of the warning and note so
86 that they appear in source order.
87
88 2016-03-17 Marek Polacek <polacek@redhat.com>
89
90 PR c/69407
91 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
92 operations.
93
94 2016-03-14 Jason Merrill <jason@redhat.com>
95
96 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
97
98 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
99
100 2016-03-09 Richard Biener <rguenther@suse.de>
101
102 PR c/70143
103 * c-common.c (strict_aliasing_warning): Add back
104 alias_sets_conflict_p check.
105
106 2016-03-08 Jason Merrill <jason@redhat.com>
107
108 * c-opts.c (set_std_cxx1z): Don't enable concepts.
109
110 2016-03-04 David Malcolm <dmalcolm@redhat.com>
111
112 PR c/68187
113 * c-indentation.c (get_visual_column): Move code to determine next
114 tab stop to...
115 (next_tab_stop): ...this new function.
116 (line_contains_hash_if): Delete function.
117 (detect_preprocessor_logic): Delete function.
118 (get_first_nws_vis_column): New function.
119 (detect_intervening_unindent): New function.
120 (should_warn_for_misleading_indentation): Replace call to
121 detect_preprocessor_logic with a call to
122 detect_intervening_unindent.
123
124 2016-03-04 David Malcolm <dmalcolm@redhat.com>
125
126 PR c/68187
127 * c-indentation.c (should_warn_for_misleading_indentation): When
128 suppressing warnings about cases where the guard and body are on
129 the same column, only use the first non-whitespace column in place
130 of the guard token column when dealing with "else" clauses.
131 When rejecting aligned BODY and NEXT, loosen the requirement
132 from equality with the first non-whitespace of guard to simply
133 that they not be indented relative to it.
134
135 2016-03-04 Richard Biener <rguenther@suse.de>
136
137 PR c++/70054
138 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
139 instead of alias_sets_conflict_p.
140
141 2016-03-01 Marek Polacek <polacek@redhat.com>
142
143 PR c++/69795
144 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
145 any DECL.
146
147 2016-02-22 Martin Sebor <msebor@redhat.com>
148
149 PR middle-end/69780
150 * c-common.c (check_builtin_function_arguments): Validate and
151 reject invalid arguments to __builtin_alloca_with_align.
152
153 2016-02-20 Mark Wielaard <mjw@redhat.com>
154
155 PR c/28901
156 * c.opt (Wunused-const-variable): Turn into Alias for...
157 (Wunused-const-variable=): New option.
158
159 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
160
161 PR c++/69865
162 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
163 here...
164 (c_common_init_options): ...to here.
165 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
166
167 2016-02-19 Jakub Jelinek <jakub@redhat.com>
168
169 PR c++/69826
170 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
171 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
172 flag_preprocess_only.
173
174 2016-02-16 Jakub Jelinek <jakub@redhat.com>
175
176 PR c/69835
177 * c.opt (Wnonnull-compare): Enable for -Wall.
178
179 2016-02-15 Jakub Jelinek <jakub@redhat.com>
180
181 PR c++/69797
182 * c-common.c (sync_resolve_size): Diagnose too few arguments
183 even when params is non-NULL empty vector.
184
185 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
186
187 PR target/60410
188 * c.opt (fshort-double): Remove.
189
190 2016-02-05 Martin Sebor <msebor@redhat.com>
191
192 PR c++/69662
193 * c.opt (Warning options): Update -Wplacement-new to take
194 an optional argument.
195
196 2016-02-01 Jakub Jelinek <jakub@redhat.com>
197
198 PR preprocessor/69543
199 PR c/69558
200 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
201 instead of loc to control_warning_option.
202
203 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
204
205 * c.opt (fopenacc-dim=): New option.
206
207 2016-01-27 Ryan Burn <contact@rnburn.com>
208
209 PR cilkplus/69267
210 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
211 gimplify_arg. Removed superfluous post_p argument.
212 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
213 superfluous post_p argument.
214 * c-gimplify.c (c_gimplify_expr): Likewise.
215
216 2016-01-26 David Malcolm <dmalcolm@redhat.com>
217
218 PR other/69006
219 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
220 pp_newline_and_flush with pp_flush.
221
222 2016-01-20 Martin Sebor <msebor@redhat.com>
223
224 PR c/69405
225 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
226 an incompatible argument when the argument isn't a valid tree node.
227
228 2016-01-18 Jason Merrill <jason@redhat.com>
229
230 PR c++/68767
231 * c-common.c (check_function_arguments_recurse): Fold the whole
232 COND_EXPR, not just the condition.
233
234 2016-01-18 Tom de Vries <tom@codesourcery.com>
235
236 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
237 classify as loop clause.
238
239 2016-01-15 Jakub Jelinek <jakub@redhat.com>
240
241 PR bootstrap/68271
242 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
243 C++ FE no longer has limit on number of pragmas.
244
245 2015-01-14 Ryan Burn <contact@rnburn.com>
246
247 PR c++/69048
248 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
249 to add missing cleanup point.
250
251 2016-01-14 David Malcolm <dmalcolm@redhat.com>
252
253 PR c++/68819
254 * c-indentation.c (get_visual_column): Add location_t param.
255 Handle the column number being zero by effectively disabling the
256 warning, with an "inform".
257 (should_warn_for_misleading_indentation): Add location_t argument
258 for all uses of get_visual_column.
259
260 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
261
262 PR c++/69029
263 * c-indentation.c (should_warn_for_misleading_indentation):
264 Don't warn about do-while statements.
265
266 2016-01-07 Martin Sebor <msebor@redhat.com>
267
268 PR c/68966
269 * c-common.c (sync_resolve_size): Reject first argument when it's
270 a pointer to _Bool.
271
272 2016-01-05 David Malcolm <dmalcolm@redhat.com>
273
274 PR c/69122
275 * c-indentation.c (get_visual_column): Remove default argument.
276 (should_warn_for_misleading_indentation): For the multiline case,
277 update call to get_visual_column for next_stmt_exploc so that it
278 captures the location of the first non-whitespace character in the
279 relevant line. Don't issue warnings if there is non-whitespace
280 before the next statement.
281
282 2016-01-04 Jakub Jelinek <jakub@redhat.com>
283
284 Update copyright years.
285
286 2015-12-21 David Malcolm <dmalcolm@redhat.com>
287
288 * c-common.c (binary_op_error): Convert first param from
289 location_t to rich_location * and use it when emitting an error.
290 * c-common.h (binary_op_error): Convert first param from
291 location_t to rich_location *.
292
293 2015-12-16 David Malcolm <dmalcolm@redhat.com>
294
295 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
296 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
297
298 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
299
300 * c-common.c (c_common_attribute_table): Handle "omp declare target
301 link" attribute.
302
303 2015-12-14 Jakub Jelinek <jakub@redhat.com>
304
305 PR c/68833
306 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
307
308 2014-12-12 Tobias Burnus <burnus@net-b.de>
309
310 PR fortran/68815
311 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
312 specifiers (%d, %i,%u and %c).
313
314 2015-12-10 David Malcolm <dmalcolm@redhat.com>
315
316 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
317
318 2015-12-08 Jakub Jelinek <jakub@redhat.com>
319
320 PR c/48088
321 PR c/68657
322 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
323 * c-pragma.c (handle_pragma_diagnostic): Adjust
324 control_warning_option caller.
325
326 2015-12-07 David Malcolm <dmalcolm@redhat.com>
327
328 * c-common.c (c_cpp_error): Update for change to
329 rich_location::set_range.
330
331 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
332
333 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
334 shifting 1 out of the sign bit.
335
336 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
337
338 * c-common.c (c_common_attribute_table[]): Update max arguments
339 count for "simd" attribute.
340 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
341
342 2015-12-03 Jakub Jelinek <jakub@redhat.com>
343
344 PR preprocessor/57580
345 * c-ppoutput.c (print): Change printed field to bool.
346 Move src_file last for smaller padding.
347 (init_pp_output): Set print.printed to false instead of 0.
348 (scan_translation_unit): Fix up formatting. Set print.printed
349 to true after printing something other than newline.
350 (scan_translation_unit_trad): Set print.printed to true instead of 1.
351 (maybe_print_line_1): Set print.printed to false instead of 0.
352 (print_line_1): Likewise.
353 (do_line_change): Set print.printed to true instead of 1.
354 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
355 dump_macro): Set print.printed to false after printing newline.
356
357 2015-12-02 Jason Merrill <jason@redhat.com>
358
359 * c-common.c (fold_for_warn): New.
360 (warn_logical_operator, warn_tautological_cmp)
361 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
362
363 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
364 (c_fully_fold_internal, decl_constant_value_for_optimization):
365 Move to c/c-fold.c.
366 * c-common.h: Don't declare decl_constant_value_for_optimization.
367
368 2015-12-02 Joseph Myers <joseph@codesourcery.com>
369
370 PR c/68162
371 * c-common.h (c_build_qualified_type): Add extra default
372 arguments.
373
374 2015-12-01 Julian Brown <julian@codesourcery.com>
375 Cesar Philippidis <cesar@codesourcery.com>
376 James Norris <James_Norris@mentor.com>
377
378 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
379 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
380 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
381
382 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
383
384 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
385 (decl_sloc_common): Delete and move bulk of processing to...
386 (decl_sloc): ...here.
387 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
388 (dump_ada_double_name): Remove S parameter and compute the suffix.
389 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
390 element type and deal with an anonymous one.
391 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
392 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
393 and remove reference to QUAL_UNION_TYPE.
394 (dump_nested_types): Make 2 passes on the fields and move bulk to...
395 (dump_nested_type): ...here. New function extracted from above.
396 Generate a full declaration for anonymous element type of arrays.
397 (print_ada_declaration): Really skip anonymous declarations. Remove
398 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
399 Clean up processing of declarations of array types and objects.
400 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
401 Remove obsolete code and tidy up.
402
403 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
404
405 PR c/67581
406 * c-common.c (handle_transparent_union_attribute): Update
407 also type variants.
408
409 2015-11-27 Martin Liska <mliska@suse.cz>
410
411 PR c++/68312
412 * array-notation-common.c (cilkplus_extract_an_triplets):
413 Release vector of vectors.
414 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
415
416 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
417
418 PR c++/68527
419 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
420 (print_ada_struct_decl): Likewise.
421
422 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
423
424 PR c++/68001
425 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
426 * cilk.c (recognize_spawn): Determine location in a more precise
427 way.
428
429 2015-11-19 Jason Merrill <jason@redhat.com>
430
431 * c-common.c (shorten_compare): But look through macros from
432 system headers.
433
434 2015-11-18 Jason Merrill <jason@redhat.com>
435
436 * c-common.c (shorten_compare): Don't -Wtype-limits if the
437 non-constant operand comes from a macro.
438
439 2015-11-17 Jason Merrill <jason@redhat.com>
440
441 PR bootstrap/68346
442 * c-common.c (warn_tautological_cmp): Fold before checking for
443 constants.
444
445 2015-11-16 Marek Polacek <polacek@redhat.com>
446
447 PR c++/68362
448 * c-common.c (check_case_bounds): Fold low and high cases.
449
450 2015-11-16 Marek Polacek <polacek@redhat.com>
451
452 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
453 * c-common.c (c_common_get_alias_set): Likewise.
454 (handle_visibility_attribute): Likewise.
455
456 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
457
458 * c-common.c (handle_simd_attribute): New.
459 (struct attribute_spec): Add entry for "simd".
460 (handle_simd_attribute): New.
461
462 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
463
464 * c-lex.c (interpret_float): Use fold_convert.
465
466 2015-11-13 David Malcolm <dmalcolm@redhat.com>
467
468 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
469 and store it on the result.
470 * c-opts.c (c_common_init_options): Set
471 global_dc->colorize_source_p.
472
473 2015-11-12 James Norris <jnorris@codesourcery.com>
474 Joseph Myers <joseph@codesourcery.com>
475
476 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
477 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
478 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
479 PRAGMA_OACC_CLAUSE_LINK.
480
481 2015-11-11 Marek Polacek <polacek@redhat.com>
482
483 PR c/68107
484 PR c++/68266
485 * c-common.c (valid_array_size_p): New function.
486 * c-common.h (valid_array_size_p): Declare.
487
488 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
489
490 PR bootstrap/68271
491 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
492
493 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
494
495 * array-notation-common.c: Remove unused header files.
496 * c-ada-spec.c: Likewise.
497 * c-cilkplus.c: Likewise.
498 * c-common.c: Likewise.
499 * c-cppbuiltin.c: Likewise.
500 * c-dump.c: Likewise.
501 * c-format.c: Likewise.
502 * c-gimplify.c: Likewise.
503 * c-indentation.c: Likewise.
504 * c-lex.c: Likewise.
505 * c-omp.c: Likewise.
506 * c-opts.c: Likewise.
507 * c-pch.c: Likewise.
508 * c-ppoutput.c: Likewise.
509 * c-pragma.c: Likewise.
510 * c-pretty-print.c: Likewise.
511 * c-semantics.c: Likewise.
512 * c-ubsan.c: Likewise.
513 * cilk.c: Likewise.
514 * stub-objc.c: Likewise.
515
516 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
517 Cesar Philippidis <cesar@codesourcery.com>
518 James Norris <jnorris@codesourcery.com>
519 Julian Brown <julian@codesourcery.com>
520 Nathan Sidwell <nathan@codesourcery.com>
521
522 * c-pragma.c (oacc_pragmas): Add "routine".
523 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
524
525 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
526
527 * c-common.c (c_common_attributes): Add scalar_storage_order.
528 (handle_scalar_storage_order_attribute): New function.
529 * c-pragma.c (global_sso): New variable.
530 (maybe_apply_pragma_scalar_storage_order): New function.
531 (handle_pragma_scalar_storage_order): Likewise.
532 (init_pragma): Register scalar_storage_order.
533 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
534 * c.opt (Wscalar-storage-order): New warning.
535 (fsso-struct=): New option.
536
537 2015-11-08 Martin Sebor <msebor@redhat.com>
538
539 * c.opt (Wplacement-new): Add a period to the end of a sentence.
540
541 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
542
543 * c-common.c: Don't undef DEF_BUILTIN.
544
545 2015-11-06 David Malcolm <dmalcolm@redhat.com>
546
547 * c-common.c (c_cpp_error): Convert parameter from location_t to
548 rich_location *. Eliminate the "column_override" parameter and
549 the call to diagnostic_override_column.
550 Update the "done_lexing" clause to set range 0
551 on the rich_location, rather than overwriting a location_t.
552 * c-common.h (c_cpp_error): Convert parameter from location_t to
553 rich_location *. Eliminate the "column_override" parameter.
554
555 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
556 Thomas Schwinge <thomas@codesourcery.com>
557 James Norris <jnorris@codesourcery.com>
558
559 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
560 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
561 clauses with parallel and kernels and loops.
562 * c-pragma.h (enum pragma_omp_clause): Add entries for
563 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
564 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
565 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
566 INDEPENDENT,SEQ}.
567 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
568
569 2015-11-05 Martin Sebor <msebor@redhat.com>
570
571 PR c++/67942
572 * c.opt (-Wplacement-new): New option.
573
574 2015-11-05 Jakub Jelinek <jakub@redhat.com>
575
576 * c-common.h (c_finish_omp_atomic): Add TEST argument.
577 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
578 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
579 save_expr or create_tmp_var* if TEST is true.
580 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
581 Don't call add_stmt here.
582 (struct c_omp_check_loop_iv_data): New type.
583 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
584 c_omp_check_loop_iv_exprs): New functions.
585 (c_omp_split_clauses): Adjust for lastprivate being allowed on
586 distribute.
587 (c_omp_declare_simd_clauses_to_numbers): Change
588 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
589 (c_omp_declare_simd_clauses_to_decls): Similarly change those
590 from numbers to PARM_DECLs.
591
592 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
593
594 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
595 flag_checking.
596
597 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
598
599 PR c++-common/67882
600 * c-common.h (fold_offsetof_1): Add argument.
601 * c-common.c (fold_offsetof_1): Diagnose more invalid
602 offsetof expressions that reference elements past the end of
603 an array.
604
605 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
606 Chung-Lin Tang <cltang@codesourcery.com>
607
608 * c-pragma.c (oacc_pragmas): Add "atomic".
609 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
610
611 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
612
613 * c-common.c (handle_target_clones_attribute): New.
614 (c_common_attribute_table): Add handle_target_clones_attribute.
615 (handle_always_inline_attribute): Add check on target_clones attribute.
616 (handle_target_attribute): Ditto.
617
618 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
619
620 * array-notation-common.c: Reorder #include's and remove duplicates.
621 * c-ada-spec.c: Likewise.
622 * c-cilkplus.c: Likewise.
623 * c-common.c: Likewise.
624 * c-cppbuiltin.c: Likewise.
625 * c-dump.c: Likewise.
626 * c-format.c: Likewise.
627 * c-gimplify.c: Likewise.
628 * c-indentation.c: Likewise.
629 * c-lex.c: Likewise.
630 * c-omp.c: Likewise.
631 * c-opts.c: Likewise.
632 * c-pch.c: Likewise.
633 * c-ppoutput.c: Likewise.
634 * c-pragma.c: Likewise.
635 * c-pretty-print.c: Likewise.
636 * c-semantics.c: Likewise.
637 * c-ubsan.c: Likewise.
638 * cilk.c: Likewise.
639 * stub-objc.c: Likewise.
640
641 2015-10-28 Jason Merrill <jason@redhat.com>
642
643 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
644
645 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
646 James Norris <jnorris@codesourcery.com>
647 Cesar Philippidis <cesar@codesourcery.com>
648
649 PR c/64765
650 PR c/64880
651 * c-common.h (c_oacc_split_loop_clauses): Declare function.
652 * c-omp.c (c_oacc_split_loop_clauses): New function.
653
654 2015-10-21 Martin Sebor <msebor@redhat.com>
655
656 PR driver/68043
657 * c.opt: End each sentence that describes an option with a period.
658
659 2015-10-20 Marek Polacek <polacek@redhat.com>
660
661 * array-notation-common.c (is_cilkplus_vector_p): Define.
662 * c-common.h (is_cilkplus_vector_p): Declare.
663
664 2015-10-20 Marek Polacek <polacek@redhat.com>
665
666 * c.opt (std=gnu++11): Do not describe as experimental.
667 (std=gnu++14): Likewise.
668
669 2015-10-19 Jason Merrill <jason@redhat.com>
670
671 * c-cppbuiltin.c (c_cpp_builtins): Define
672 __cpp_nontype_template_args.
673
674 2015-10-19 Jason Merrill <jason@redhat.com>
675
676 * c-cppbuiltin.c (c_cpp_builtins): Define
677 __cpp_enumerator_attributes, __cpp_fold_expressions,
678 __cpp_unicode_characters.
679
680 2015-10-13 Jakub Jelinek <jakub@redhat.com>
681 Aldy Hernandez <aldyh@redhat.com>
682
683 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
684 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
685 (c_define_builtins): Likewise.
686 * c-common.h (enum c_omp_clause_split): Add
687 C_OMP_CLAUSE_SPLIT_TASKLOOP.
688 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
689 (c_finish_omp_for): Add ORIG_DECLV argument.
690 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
691 201511 instead of 201307.
692 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
693 OMP_CRITICAL_CLAUSES to it.
694 (c_finish_omp_ordered): Add CLAUSES argument, set
695 OMP_ORDERED_CLAUSES to it.
696 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
697 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
698 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
699 constructs and new OpenMP 4.5 clauses. Clear
700 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
701 verification code.
702 * c-pragma.c (omp_pragmas_simd): Add taskloop.
703 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
704 (enum pragma_omp_clause): Add
705 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
706 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
707
708 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
709
710 * c-lex.c (interpret_float): Use real_equal instead of
711 REAL_VALUES_EQUAL.
712
713 2015-10-04 Jason Merrill <jason@redhat.com>
714
715 Implement N4514, C++ Extensions for Transactional Memory.
716 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
717 (c_common_attribute_table): Add transaction_safe_dynamic.
718 transaction_safe now affects type identity.
719 (handle_tm_attribute): Handle transaction_safe_dynamic.
720 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
721 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
722 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
723 (D_TRANSMEM): New.
724 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
725 * c-pretty-print.c (pp_c_attributes_display): Don't print
726 transaction_safe in C++.
727
728 2015-10-02 Marek Polacek <polacek@redhat.com>
729
730 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
731
732 2015-10-02 Marek Polacek <polacek@redhat.com>
733
734 PR c/64249
735 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
736 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
737 * c.opt (Wduplicated-cond): New option.
738
739 2015-10-01 Joseph Myers <joseph@codesourcery.com>
740
741 * c.opt (std=c11): Do not describe as experimental.
742 (std=gnu11): Likewise.
743 (std=iso9899:2011): Likewise.
744
745 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
746
747 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
748 (DEF_FUNCTION_TYPE_VAR_11): Delete.
749
750 2015-09-25 Marek Polacek <polacek@redhat.com>
751
752 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
753 (ubsan_instrument_shift): Likewise.
754
755 2015-09-25 Marek Polacek <polacek@redhat.com>
756
757 PR sanitizer/64906
758 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
759
760 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
761
762 * c-indentation.c (should_warn_for_misleading_indentation):
763 Compare next_stmt_vis_column with guard_line_first_nws instead
764 of with guard_line_vis_column.
765
766 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
767
768 PR c/49654
769 PR c/49655
770 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
771 options and options not valid for the current language.
772
773 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
774
775 * c-indentation.c (should_warn_for_misleading_indentation):
776 Float out and consolidate the calls to get_visual_column that
777 are passed guard_exploc as an argument. Compare
778 next_stmt_vis_column with guard_line_first_nws instead of with
779 body_line_first_nws.
780
781 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
782
783 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
784 Wnamespaces): New C++ warnings.
785
786 2015-09-22 Jason Merrill <jason@redhat.com>
787
788 * c-common.h (abi_compat_version_crosses): New.
789 (warn_abi_version): Declare.
790 * c-common.c: Define it.
791 * c-opts.c (c_common_post_options): Handle it.
792 flag_abi_compat_version defaults to 8.
793
794 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
795
796 Complete the implementation of N4230, Nested namespace definition.
797 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
798 __cpp_nested_namespace_definitions.
799
800 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
801
802 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
803
804 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
805
806 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
807 when warning.
808 * c-pragma.h (pragma_lex): Add optional loc argument.
809
810 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
811
812 * c-format.c (check_format_arg): Adjust to use common block size in all
813 object pools.
814
815 2015-09-15 David Malcolm <dmalcolm@redhat.com>
816
817 * c-format.c (location_from_offset): Update for change in
818 signature of location_get_source_line.
819 * c-indentation.c (get_visual_column): Likewise.
820 (line_contains_hash_if): Likewise.
821
822 2015-09-14 Marek Polacek <polacek@redhat.com>
823
824 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
825 setting various warnings.
826
827 2015-09-14 Marek Polacek <polacek@redhat.com>
828
829 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
830 a negative value.
831
832 2015-09-11 Mark Wielaard <mjw@redhat.com>
833
834 PR c/28901
835 * c.opt (Wunused-variable): Option from common.opt.
836 (Wunused-const-variable): New option.
837
838 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
839
840 PR c++/53184
841 * c.opt ([Wsubobject-linkage]): Add.
842
843 2015-09-03 Martin Sebor <msebor@redhat.com>
844
845 PR c/66516
846 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
847 functions.
848 * c-common.c (reject_gcc_builtin): Define.
849
850 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
851
852 PR middle-end/60586
853 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
854 prototype.
855 * c-gimplify.c (c_gimplify_expr): Added a call to the function
856 cilk_gimplify_call_params_in_spawned_fn.
857 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
858 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
859 unwrapping.
860
861 2015-08-25 Marek Polacek <polacek@redhat.com>
862
863 PR middle-end/67330
864 * c-common.c (handle_weak_attribute): Don't check whether the
865 visibility can be changed here.
866
867 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
868
869 * c-lex.c (c_lex_with_flags): Use explicit locations.
870
871 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
872
873 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
874 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
875
876 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
877
878 PR middle-end/36757
879 * c-common.c (check_builtin_function_arguments): Add check
880 for BUILT_IN_SIGNBIT argument.
881
882 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
883
884 PR c++/67160
885 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
886 in c++1z mode.
887
888 2015-08-17 Marek Polacek <polacek@redhat.com>
889
890 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
891 with whitespaces before qualifier names.
892
893 2015-08-12 Marek Polacek <polacek@redhat.com>
894
895 PR c++/55095
896 * c-common.c (maybe_warn_shift_overflow): Properly handle
897 left-shifting 1 into the sign bit.
898
899 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
900
901 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
902
903 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
904 Braden Obrzut <admin@maniacsvault.net>
905 Jason Merrill <jason@redhat.com>
906
907 Add C++ Concepts TS support.
908 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
909 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
910 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
911 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
912 * c-opts.c (set_std_cxx1z): Set flag_concepts.
913 * c.opt (fconcepts): New.
914
915 2015-08-02 Martin Sebor <msebor@redhat.com>
916
917 * c.opt (-Wframe-address): New warning option.
918
919 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
920
921 * c-indentation.c (should_warn_for_misleading_indentation):
922 Improve heuristics.
923
924 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
925
926 * c-indentation.c (get_visual_column): Add parameter first_nws,
927 use it. Update comment documenting the function.
928 (is_first_nonwhitespace_on_line): Remove.
929 (should_warn_for_misleading_indentation): Replace usage of
930 of is_first_nonwhitespace_on_line with get_visual_column.
931
932 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
933
934 * c-indentation.h (struct token_indent_info): Define.
935 (get_token_indent_info): Define.
936 (warn_for_misleading_information): Declare.
937 * c-common.h (warn_for_misleading_information): Remove.
938 * c-identation.c (warn_for_misleading_indentation):
939 Change declaration to take three token_indent_infos. Adjust
940 accordingly.
941 * c-identation.c (should_warn_for_misleading_indentation):
942 Likewise. Bail out early if the body is a compound statement.
943 (guard_tinfo_to_string): Define.
944
945 2015-07-30 Jason Merrill <jason@redhat.com>
946
947 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
948 '*' for reference decay.
949
950 2015-07-30 Marek Polacek <polacek@redhat.com>
951
952 * c-common.c (warn_tautological_cmp): Bail for float types.
953
954 2015-07-27 Marek Polacek <polacek@redhat.com>
955
956 PR bootstrap/67030
957 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
958
959 2015-07-27 Marek Polacek <polacek@redhat.com>
960
961 PR c++/66555
962 PR c/54979
963 * c-common.c (find_array_ref_with_const_idx_r): New function.
964 (warn_tautological_cmp): New function.
965 * c-common.h (warn_tautological_cmp): Declare.
966 * c.opt (Wtautological-compare): New option.
967
968 2015-07-23 Marek Polacek <polacek@redhat.com>
969
970 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
971 (ubsan_instrument_shift): Likewise.
972
973 2015-07-23 Marek Polacek <polacek@redhat.com>
974
975 PR sanitizer/66908
976 * c-ubsan.c: Include gimplify.h.
977 (ubsan_instrument_division): Unshare OP0 and OP1.
978 (ubsan_instrument_shift): Likewise.
979
980 2015-07-20 Marek Polacek <polacek@redhat.com>
981 Richard Sandiford <richard.sandiford@arm.com>
982
983 PR c++/55095
984 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
985 Use EXPR_LOC_OR_LOC.
986 (maybe_warn_shift_overflow): New function.
987 * c-common.h (maybe_warn_shift_overflow): Declare.
988 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
989 * c.opt (Wshift-overflow): New option.
990
991 2015-07-16 Martin Liska <mliska@suse.cz>
992
993 * c-format.c (static void check_format_info_main): Use
994 object_allocator instead of pool_allocator.
995 (check_format_arg): Likewise.
996 (check_format_info_main): Likewise.
997
998 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
999
1000 * c-opts.c: Remove multiline #include comment.
1001
1002 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
1003
1004 * c-common.c: Fix double word typos.
1005
1006 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
1007
1008 * c-ada-spec.h (cpp_operation): Revert latest change.
1009 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
1010 constructors and destructors.
1011
1012 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
1013
1014 * c-common.h: Adjust includes for flags.h changes.
1015 * stub-objc.c: Likewise.
1016
1017 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
1018
1019 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
1020 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
1021
1022 2015-07-08 Jakub Jelinek <jakub@redhat.com>
1023
1024 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
1025 are to be removed, return NULL rather than original clauses list.
1026
1027 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
1028
1029 * array-notation-common.c: Adjust includes.
1030 * c-ada-spec.c: Likewise.
1031 * c-cilkplus.c: Likewise.
1032 * c-common.h: Likewise.
1033 * c-cppbuiltin.c: Likewise.
1034 * c-dump.c: Likewise.
1035 * c-format.c: Likewise.
1036 * c-gimplify.c: Likewise.
1037 * c-indentation.c: Likewise.
1038 * c-lex.c: Likewise.
1039 * c-omp.c: Likewise.
1040 * c-opts.c: Likewise.
1041 * c-pch.c: Likewise.
1042 * c-ppoutput.c: Likewise.
1043 * c-pragma.c: Likewise.
1044 * c-pretty-print.c: Likewise.
1045 * c-semantics.c: Likewise.
1046 * c-ubsan.c: Likewise.
1047 * cilk.c: Likewise.
1048 * stub-objc.c: Likewise.
1049
1050 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
1051
1052 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
1053 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
1054
1055 2015-07-01 Jason Merrill <jason@redhat.com>
1056
1057 * c-common.h (D_CXX11): Rename from D_CXX0X.
1058 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
1059 * c-common.c: Adjust.
1060
1061 * c-opts.c (c_common_post_options): Default to C++14.
1062
1063 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
1064
1065 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
1066
1067 Implement N4197 - Adding u8 character literals
1068 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
1069 CPP_CHAR.
1070 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
1071 CPP_UTF8CHAR_USERDEF tokens.
1072 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
1073 and CPP_UTF8CHAR tokens.
1074 (lex_charconst): Treat CPP_UTF8CHAR token.
1075
1076 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1077
1078 PR fortran/66605
1079 * c-common.c (do_warn_unused_parameter): Move here.
1080 * c-common.h (do_warn_unused_parameter): Declare.
1081
1082 2015-06-29 Marek Polacek <polacek@redhat.com>
1083
1084 PR c/66322
1085 * c-common.c (check_case_bounds): Add bool * parameter. Set
1086 OUTSIDE_RANGE_P.
1087 (c_add_case_label): Add bool * parameter. Pass it down to
1088 check_case_bounds.
1089 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
1090 warning here.
1091 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
1092 declarations.
1093
1094 2015-06-27 Marek Polacek <polacek@redhat.com>
1095
1096 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
1097 or VECTOR_INTEGER_TYPE_P throughout.
1098 * c-gimplify.c: Likewise.
1099
1100 2015-06-26 Marek Polacek <polacek@redhat.com>
1101
1102 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
1103 * c-common.c (c_fully_fold_internal): Likewise.
1104 (c_alignof_expr): Likewise.
1105 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
1106 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
1107 * cilk.c (create_parm_list): Likewise.
1108
1109 2015-06-26 Marek Polacek <polacek@redhat.com>
1110
1111 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
1112
1113 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
1114
1115 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
1116 * c-gimplify.c: Likewise.
1117 * c-pragma.c: Likewise.
1118 * c-ubsan.c: Likewise.
1119 * cilk.c: Likewise.
1120
1121 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1122
1123 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
1124 ggc_hasher.
1125
1126 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
1127
1128 * cilk.c: Move calls.h after tm.h in the include chain.
1129
1130 2015-06-25 Marek Polacek <polacek@redhat.com>
1131
1132 * array-notation-common.c: Use VAR_P throughout.
1133 * c-ada-spec.c: Likewise.
1134 * c-common.c: Likewise.
1135 * c-format.c: Likewise.
1136 * c-gimplify.c: Likewise.
1137 * c-omp.c: Likewise.
1138 * c-pragma.c: Likewise.
1139 * c-pretty-print.c: Likewise.
1140 * cilk.c: Likewise.
1141
1142 2015-06-25 Marek Polacek <polacek@redhat.com>
1143
1144 * cilk.c (extract_free_variables): Use is_global_var.
1145
1146 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
1147
1148 * c-common.c: Don't include target-def.h.
1149
1150 2015-06-23 Marek Polacek <polacek@redhat.com>
1151
1152 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
1153 when comparing INTEGER_CSTs.
1154
1155 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
1156
1157 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
1158 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
1159 (dump_ada_template): Skip partially specialized types.
1160
1161 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
1162
1163 * c-common.c (scalar_to_vector): Use std::swap instead of manually
1164 swapping.
1165
1166 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1167
1168 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
1169 * c-ada-spec.c: Likewise.
1170 * c-cilkplus.c: Likewise.
1171 * c-common.c: Likewise.
1172 * c-common.h: Likewise.
1173 * c-cppbuiltin.c: Likewise.
1174 * c-dump.c: Likewise.
1175 * c-format.c: Likewise.
1176 * c-gimplify.c: Likewise.
1177 * c-indentation.c: Likewise.
1178 * c-lex.c: Likewise.
1179 * c-omp.c: Likewise.
1180 * c-opts.c: Likewise.
1181 * c-pch.c: Likewise.
1182 * c-ppoutput.c: Likewise.
1183 * c-pragma.c: Likewise.
1184 * c-pretty-print.c: Likewise.
1185 * c-semantics.c: Likewise.
1186 * c-ubsan.c: Likewise.
1187 * cilk.c: Likewise.
1188 * stub-objc.c: Likewise.
1189
1190 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
1191
1192 PR c++/65168
1193 * c-common.c (c_common_truthvalue_conversion): Warn when
1194 converting an address of a reference to a truth value.
1195
1196 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
1197
1198 * array-notation-common.c : Adjust include files.
1199 * c-ada-spec.c : Likewise.
1200 * c-cilkplus.c : Likewise.
1201 * c-common.c : Likewise.
1202 * c-common.h : Likewise.
1203 * c-cppbuiltin.c : Likewise.
1204 * c-dump.c : Likewise.
1205 * c-format.c : Likewise.
1206 * c-gimplify.c : Likewise.
1207 * c-indentation.c : Likewise.
1208 * c-lex.c : Likewise.
1209 * c-omp.c : Likewise.
1210 * c-opts.c : Likewise.
1211 * c-pch.c : Likewise.
1212 * c-ppoutput.c : Likewise.
1213 * c-pragma.c : Likewise.
1214 * c-pretty-print.c : Likewise.
1215 * c-semantics.c : Likewise.
1216 * c-ubsan.c : Likewise.
1217 * cilk.c : Likewise.
1218 * stub-objc.c : Likewise.
1219
1220 2015-06-08 Marek Polacek <polacek@redhat.com>
1221
1222 PR c/66415
1223 * c-format.c (location_from_offset): Return LOC if LINE is null.
1224
1225 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
1226
1227 * c-common.h (c_parse_final_cleanups): New prototype.
1228 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
1229
1230 2015-06-04 Sriraman Tallam <tmsriram@google.com>
1231
1232 * c-common.c (noplt): New attribute.
1233 (handle_noplt_attribute): New handler.
1234
1235 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
1236
1237 * array-notation-common.c: Adjust includes for restructured coretypes.h.
1238 * c-ada-spec.c: Likewise.
1239 * c-cilkplus.c: Likewise.
1240 * c-common.c: Likewise.
1241 * c-common.h: Likewise.
1242 * c-cppbuiltin.c: Likewise.
1243 * c-dump.c: Likewise.
1244 * c-format.c: Likewise.
1245 * c-gimplify.c: Likewise.
1246 * c-indentation.c: Likewise.
1247 * c-lex.c: Likewise.
1248 * c-omp.c: Likewise.
1249 * c-opts.c: Likewise.
1250 * c-pch.c: Likewise.
1251 * c-ppoutput.c: Likewise.
1252 * c-pragma.c: Likewise.
1253 * c-pretty-print.c: Likewise.
1254 * c-semantics.c: Likewise.
1255 * c-ubsan.c: Likewise.
1256 * cilk.c: Likewise.
1257 * stub-objc.c: Likewise.
1258
1259 2015-06-02 David Malcolm <dmalcolm@redhat.com>
1260
1261 PR c/66220:
1262 * c-indentation.c (should_warn_for_misleading_indentation): Use
1263 expand_location rather than expand_location_to_spelling_point.
1264 Don't warn if the guarding statement is more indented than the
1265 next/body stmts.
1266
1267 2015-06-02 David Malcolm <dmalcolm@redhat.com>
1268
1269 * c-indentation.c (warn_for_misleading_indentation): Bail out
1270 immediately if -Wmisleading-indentation isn't enabled.
1271
1272 2015-06-01 Martin Liska <mliska@suse.cz>
1273
1274 * c-format.c (check_format_arg):Use new type-based pool allocator.
1275 (check_format_info_main) Likewise.
1276
1277 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
1278
1279 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
1280 (has_nontrivial_methods): Likewise.
1281
1282 2015-05-25 Marek Polacek <polacek@redhat.com>
1283
1284 * c-ubsan.c (ubsan_instrument_shift): Use type0.
1285
1286 2015-05-22 Marek Polacek <polacek@redhat.com>
1287
1288 PR c/47043
1289 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
1290
1291 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1292
1293 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
1294 STACK_GROWS_DOWNWARD.
1295
1296 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1297
1298 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
1299 STACK_GROWS_DOWNWARD rather than if it is defined.
1300
1301 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1302
1303 PR c/52952
1304 * c-format.c (location_column_from_byte_offset): New.
1305 (location_from_offset): New.
1306 (struct format_wanted_type): Add offset_loc field.
1307 (check_format_info): Move handling of location for extra arguments
1308 closer to the point of warning.
1309 (check_format_info_main): Pass the result of location_from_offset
1310 to warning_at.
1311 (format_type_warning): Pass the result of location_from_offset
1312 to warning_at.
1313
1314 2015-05-20 Marek Polacek <polacek@redhat.com>
1315
1316 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
1317
1318 2015-05-20 Marek Polacek <polacek@redhat.com>
1319
1320 * c-ada-spec.c (dump_sloc): Use DECL_P.
1321
1322 2015-05-20 Marek Polacek <polacek@redhat.com>
1323
1324 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1325 * c-common.c: Likewise.
1326
1327 2015-05-19 David Malcolm <dmalcolm@redhat.com>
1328
1329 * c-common.h (fe_file_change): Strengthen param from
1330 const line_map * to const line_map_ordinary *.
1331 (pp_file_change): Likewise.
1332 * c-lex.c (fe_file_change): Likewise.
1333 (cb_define): Use linemap_check_ordinary when invoking
1334 SOURCE_LINE.
1335 (cb_undef): Likewise.
1336 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
1337 invoking cb_file_change.
1338 (c_finish_options): Likewise.
1339 (push_command_line_include): Likewise.
1340 (cb_file_change): Strengthen param "new_map" from
1341 const line_map * to const line_map_ordinary *.
1342 * c-ppoutput.c (cb_define): Likewise for local "map".
1343 (pp_file_change): Likewise for param "map" and local "from".
1344
1345 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1346
1347 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
1348
1349 2015-05-18 Tom de Vries <tom@codesourcery.com>
1350
1351 * c-common.c (build_va_arg_1): New function.
1352 (build_va_arg): Add address operator to va_list operand if necessary.
1353
1354 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
1355
1356 PR c/48956
1357 * c-common.c (int_safely_convertible_to_real_p): Define.
1358 (unsafe_conversion_p): Check conversions involving complex types.
1359 (conversion_warning): Add new warning message for conversions which
1360 discard imaginary component.
1361 * c-common.h: (enum conversion_safety): Add new enumerator for such
1362 conversions.
1363
1364 2015-05-14 Marek Polacek <polacek@redhat.com>
1365
1366 PR c/66066
1367 PR c/66127
1368 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
1369 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
1370 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
1371 use it. If FOR_INT_CONST, require that all evaluated operands be
1372 INTEGER_CSTs.
1373
1374 2015-05-12 David Malcolm <dmalcolm@redhat.com>
1375
1376 * c-common.h (warn_for_misleading_indentation): New prototype.
1377 * c-indentation.c: New file.
1378 * c.opt (Wmisleading-indentation): New option.
1379
1380 2015-05-12 Tom de Vries <tom@codesourcery.com>
1381
1382 PR tree-optimization/66010
1383 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
1384
1385 2015-05-09 Jason Merrill <jason@redhat.com>
1386
1387 * c-opts.c (c_common_post_options): Also clear
1388 cpp_opts->cpp_warn_cxx11_compat.
1389
1390 * c-common.h (enum cxx_dialect): Add cxx_unset.
1391 * c-common.c (cxx_dialect): Initialize to cxx_unset.
1392 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
1393
1394 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
1395 (std=gnu++0x): Mark as Undocumented.
1396 (std=gnu++1y): Add deprecated message.
1397
1398 2015-05-08 Jason Merrill <jason@redhat.com>
1399
1400 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
1401 * c-opts.c: Adjust.
1402
1403 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
1404
1405 2015-05-08 Marek Polacek <polacek@redhat.com>
1406
1407 PR c/64918
1408 * c.opt (Woverride-init-side-effects): New option.
1409
1410 2015-05-07 Marek Polacek <polacek@redhat.com>
1411
1412 PR c/65179
1413 * c-common.c (c_fully_fold_internal): Warn when left shifting a
1414 negative value.
1415 * c.opt (Wshift-negative-value): New option.
1416 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
1417 when -Wextra and C99/C++11 mode.
1418
1419 2015-05-07 Marek Polacek <polacek@redhat.com>
1420 Martin Uecker <uecker@eecs.berkeley.edu>
1421
1422 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
1423 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
1424
1425 2015-05-05 Jason Merrill <jason@redhat.com>
1426
1427 * c.opt (Wterminate): New.
1428
1429 2015-04-30 Marek Polacek <polacek@redhat.com>
1430
1431 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
1432 require that the non-constant be of a boolean type.
1433
1434 2015-04-29 Josh Triplett <josh@joshtriplett.org>
1435
1436 * c-common.c (handle_section_attribute): Refactor to reduce
1437 nesting and distinguish between error cases.
1438
1439 2015-04-29 Marek Polacek <polacek@redhat.com>
1440
1441 PR c/64610
1442 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
1443 with 0/1.
1444
1445 2015-04-29 Jakub Jelinek <jakub@redhat.com>
1446
1447 * c-common.h (omp_clause_mask): Unconditionally define as a class.
1448 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
1449 HOST_BITS_PER_WIDE_INT.
1450
1451 2015-04-28 Tom de Vries <tom@codesourcery.com>
1452
1453 PR tree-optimization/65887
1454 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
1455
1456 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
1457 Pierre-Marie de Rodat <derodat@adacore.com>
1458
1459 * c-ada-spec.c (in_function): Delete.
1460 (dump_generic_ada_node): Do not change in_function and remove the
1461 redundant code dealing with it.
1462 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
1463 (print_ada_methods): Output the static member functions in a nested
1464 package after the regular methods as well as associated renamings.
1465
1466 2015-04-24 Marek Polacek <polacek@redhat.com>
1467
1468 PR c/65830
1469 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
1470 and OPT_Wshift_count_overflow.
1471
1472 PR c/63357
1473 * c-common.c (warn_logical_operator): Warn if the operands have the
1474 same expressions.
1475
1476 2015-04-24 Marek Polacek <polacek@redhat.com>
1477
1478 PR c/61534
1479 * c-common.c (warn_logical_operator): Bail if either operand comes
1480 from a macro expansion.
1481
1482 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1483
1484 PR target/55143
1485 * c-common.c (c_default_pointer_mode): Add definition.
1486 * c-common.h (c_default_pointer_mode): Add declaration.
1487
1488 2015-03-11 Jakub Jelinek <jakub@redhat.com>
1489
1490 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
1491 on record_builtin_type argument.
1492
1493 2015-03-10 Jakub Jelinek <jakub@redhat.com>
1494
1495 PR c/65120
1496 * c-common.c (warn_logical_not_parentheses): Don't warn for
1497 !x == 0 or !x != 0.
1498
1499 2015-03-07 Marek Polacek <polacek@redhat.com>
1500
1501 PR sanitizer/65280
1502 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
1503 before trying to figure out whether we have a flexible array member.
1504
1505 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
1506 Jonathan Wakely <jwakely.gcc@gmail.com>
1507
1508 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
1509
1510 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
1511
1512 PR ada/65319
1513 * c-ada-spec.c (print_destructor): Remove obsolete code.
1514
1515 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
1516
1517 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
1518 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
1519 DECL_TEMPLATE_RESULT emulations.
1520 (dump_ada_template)): Add guard for TYPE_METHODS.
1521
1522 2015-02-27 Marek Polacek <polacek@redhat.com>
1523
1524 PR c/65040
1525 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
1526
1527 2015-02-27 Kai Tietz <ktietz@redhat.com>
1528
1529 PR c/35330
1530 * c-pragma.c (handle_pragma_weak): Do not try to create
1531 weak/alias of declarations not being function, or variable
1532 declarations.
1533
1534 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1535
1536 PR libgomp/64625
1537 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1538 Remove macros.
1539 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1540
1541 2015-02-16 Marek Polacek <polacek@redhat.com>
1542
1543 PR c/65066
1544 * c-format.c (check_format_types): Handle null param.
1545
1546 2015-02-13 Marek Polacek <polacek@redhat.com>
1547
1548 PR c/65040
1549 * c-format.c (check_format_types): Don't warn about different
1550 signedness if the original value is in the range of WANTED_TYPE.
1551
1552 2015-02-12 Jason Merrill <jason@redhat.com>
1553
1554 PR c++/64956
1555 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1556 to the current highest version.
1557 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1558
1559 2015-02-04 Jakub Jelinek <jakub@redhat.com>
1560
1561 PR c/64824
1562 PR c/64868
1563 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1564 instead of RDIV_EXPR. Use build_binary_op instead of
1565 build2_loc.
1566
1567 2015-01-30 Joseph Myers <joseph@codesourcery.com>
1568
1569 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1570 to pass input_location as first argument.
1571
1572 2015-01-23 Tom de Vries <tom@codesourcery.com>
1573
1574 PR libgomp/64672
1575 * c.opt (fopenacc): Mark as LTO option.
1576
1577 2015-01-23 Tom de Vries <tom@codesourcery.com>
1578
1579 PR libgomp/64707
1580 * c.opt (fopenmp): Mark as LTO option.
1581
1582 2015-01-21 Jakub Jelinek <jakub@redhat.com>
1583
1584 PR c/63307
1585 * cilk.c (fill_decls_vec): Only put decls into vector v.
1586 (compare_decls): Fix up formatting.
1587
1588 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1589
1590 PR c/63307
1591 * cilk.c: Include vec.h.
1592 (struct cilk_decls): New structure.
1593 (wrapper_parm_cb): Split this function to...
1594 (fill_decls_vec): ...this...
1595 (create_parm_list): ...and this.
1596 (compare_decls): New function.
1597 (for_local_cb): Remove.
1598 (wrapper_local_cb): Ditto.
1599 (build_wrapper_type): For now first traverse and fill vector of
1600 declarations then sort it and then deal with sorted vector.
1601 (cilk_outline): Ditto.
1602 (declare_one_free_variable): Ditto.
1603
1604 2015-01-21 Jason Merrill <jason@redhat.com>
1605
1606 PR c++/64629
1607 * c-format.c (check_format_arg): Call decl_constant_value.
1608
1609 2015-01-19 Martin Liska <mliska@suse.cz>
1610
1611 * c-common.c (handle_noicf_attribute): New function.
1612
1613 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1614 Bernd Schmidt <bernds@codesourcery.com>
1615 James Norris <jnorris@codesourcery.com>
1616 Cesar Philippidis <cesar@codesourcery.com>
1617 Ilmir Usmanov <i.usmanov@samsung.com>
1618 Jakub Jelinek <jakub@redhat.com>
1619
1620 * c.opt (fopenacc): New option.
1621 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1622 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1623 New macros.
1624 * c-common.h (c_finish_oacc_wait): New prototype.
1625 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1626 (c_finish_oacc_wait): New function.
1627 * c-pragma.c (oacc_pragmas): New variable.
1628 (c_pp_lookup_pragma, init_pragma): Handle it.
1629 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1630 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1631 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1632 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1633 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1634 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1635 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1636 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1637 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1638 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1639 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1640 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1641 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1642 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1643 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1644 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1645 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1646 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1647 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1648 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1649 PRAGMA_OACC_CLAUSE_WORKER.
1650
1651 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1652
1653 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1654 for the new option fstack-protector_explicit.
1655 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1656 (handle_stack_protect_attribute): New function.
1657
1658 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1659
1660 * c.opt: New option -Warray-bounds=.
1661
1662 2015-01-09 Michael Collison <michael.collison@linaro.org>
1663
1664 * array-notation-common.c: Include hash-set.h, machmode.h,
1665 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1666 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1667 * c-ada-spec.c: Ditto.
1668 * c-cilkplus.c: Ditto.
1669 * c-common.c: Include input.h due to flattening of tree.h.
1670 Define macro GCC_C_COMMON_C.
1671 * c-common.h: Flatten tree.h header files into c-common.h.
1672 Remove include of tree-core.h.
1673 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1674 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1675 fold-const.h, wide-int.h, and inchash.h due to
1676 flattening of tree.h.
1677 * c-dump.c: Ditto.
1678 * c-format.c: Flatten tree.h header files into c-common.h.
1679 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1680 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1681 fold-const.h, wide-int.h, and inchash.h due to
1682 flattening of tree.h.
1683 * c-dump.c: Include hash-set.h, machmode.h,
1684 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1685 fold-const.h, wide-int.h, and inchash.h due to
1686 flattening of tree.h.
1687 * c-format.c: Include hash-set.h, machmode.h,
1688 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1689 fold-const.h, wide-int.h, inchash.h and real.h due to
1690 flattening of tree.h.
1691 * c-gimplify.c: Include hash-set.h, machmode.h,
1692 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1693 fold-const.h, wide-int.h, and inchash.h due to
1694 flattening of tree.h.
1695 * cilk.c: Ditto.
1696 * c-lex.c: Ditto.
1697 * c-omp.c: Ditto.
1698 * c-opts.c: Ditto.
1699 * c-pch.c: Ditto.
1700 * c-ppoutput.c: Ditto.
1701 * c-pragma.c: Ditto.
1702 * c-pretty-print.c: Ditto.
1703 * c-semantics.c: Ditto.
1704 * c-ubsan.c: Ditto.
1705 * stub-objc.c: Ditto.
1706
1707 2015-01-08 Jason Merrill <jason@redhat.com>
1708
1709 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1710 do_ubsan_in_current_function.
1711 (ubsan_maybe_instrument_reference_or_call): Likewise.
1712 * c-ubsan.h: Declare it.
1713
1714 2015-01-08 Mike Stump <mikestump@comcast.net>
1715
1716 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1717
1718 2015-01-07 Marek Polacek <polacek@redhat.com>
1719
1720 PR c/64440
1721 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1722 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1723
1724 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1725
1726 PR c++/31397
1727 * c.opt (Wsuggest-override): New option.
1728
1729 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1730
1731 Update copyright years.
1732
1733 2015-01-05 Marek Polacek <polacek@redhat.com>
1734
1735 PR c/64423
1736 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1737 parameter. Use it.
1738 * c-common.h (warn_array_subscript_with_type_char): Update
1739 declaration.
1740
1741 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1742
1743 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1744 Control macro with flag_sized_deallocation.
1745
1746 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1747
1748 * c.opt (Wdiscarded-array-qualifiers): New option.
1749
1750 2014-12-19 Jakub Jelinek <jakub@redhat.com>
1751
1752 PR preprocessor/63831
1753 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1754 and __has_cpp_attribute here.
1755 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1756 c_common_has_attribute.
1757 * c-common.h (c_common_has_attribute): New prototype.
1758 * c-lex.c (init_c_lex): Set cb->has_attribute to
1759 c_common_has_attribute instead of cb_has_attribute.
1760 (get_token_no_padding): New function.
1761 (cb_has_attribute): Renamed to ...
1762 (c_common_has_attribute): ... this. No longer static. Use
1763 get_token_no_padding, require ()s, don't build TREE_LIST
1764 unnecessarily, fix up formatting, adjust diagnostics, call
1765 init_attributes.
1766
1767 2014-12-15 Jason Merrill <jason@redhat.com>
1768
1769 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1770 (-Wsized-deallocation): New.
1771 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1772 to on in C++14 and up.
1773
1774 2014-12-11 Jason Merrill <jason@redhat.com>
1775
1776 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1777
1778 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1779 we aren't complaining about VLAs.
1780
1781 2014-12-06 Marek Polacek <polacek@redhat.com>
1782
1783 PR tree-optimization/64183
1784 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1785 shift-expression if it is integer_type_node. Use types_compatible_p.
1786
1787 2014-11-29 Jakub Jelinek <jakub@redhat.com>
1788
1789 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1790 last argument from create_tmp_var_raw and create_tmp_var calls.
1791 * cilk.c (gimplify_cilk_spawn): Likewise.
1792 * c-omp.c (c_finish_omp_atomic): Likewise.
1793
1794 2014-11-28 Marek Polacek <polacek@redhat.com>
1795
1796 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1797 instead of unsigned_type_node.
1798
1799 2014-11-28 Marek Polacek <polacek@redhat.com>
1800
1801 PR c/63862
1802 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1803 to op1_utype.
1804 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1805 expression to unsigned_type_node.
1806
1807 2014-11-20 Mark Wielaard <mjw@redhat.com>
1808
1809 PR debug/38757
1810 * c-opts.c (set_std_c89): Set lang_hooks.name.
1811 (set_std_c99): Likewise.
1812 (set_std_c11): Likewise.
1813 (set_std_cxx98): Likewise.
1814 (set_std_cxx11): Likewise.
1815 (set_std_cxx14): Likewise.
1816 (set_std_cxx1z): Likewise.
1817
1818 2014-11-21 Jakub Jelinek <jakub@redhat.com>
1819
1820 PR target/63764
1821 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1822 return type to bool.
1823 * c-common.c: Include gimple-expr.h.
1824 (convert_vector_to_pointer_for_subscript): Change return type to
1825 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1826 and copy it into a TARGET_EXPR and use that instead of *vecp
1827 directly.
1828
1829 2014-11-19 David Malcolm <dmalcolm@redhat.com>
1830
1831 Merger of git branch "gimple-classes-v2-option-3".
1832 * ChangeLog.gimple-classes: New.
1833 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1834 from being just a vec<gimple> to a vec<gbind *>.
1835
1836 2014-11-18 Jakub Jelinek <jakub@redhat.com>
1837
1838 PR sanitizer/63813
1839 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1840 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1841 get_pointer_alignment for non-pointers. Use ptype, or if it is
1842 reference type, corresponding pointer type, as type of kind
1843 argument.
1844 (ubsan_maybe_instrument_reference,
1845 ubsan_maybe_instrument_member_call): Adjust callers.
1846
1847 2014-11-15 Marek Polacek <polacek@redhat.com>
1848
1849 PR middle-end/63884
1850 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1851 for NULL fndecl.
1852 (extract_array_notation_exprs): Return for NULL node.
1853
1854 2014-11-12 Joseph Myers <joseph@codesourcery.com>
1855
1856 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1857 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1858
1859 2014-11-12 Jakub Jelinek <jakub@redhat.com>
1860
1861 PR c/59708
1862 * c-common.c (check_builtin_function_arguments): Handle
1863 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1864
1865 2014-11-10 Andi Kleen <ak@linux.intel.com>
1866
1867 PR c/60804
1868 * c-common.h (check_no_cilk): Declare.
1869 * cilk.c (get_error_location): New function.
1870 (check_no_cilk): Dito.
1871
1872 2014-11-10 Andi Kleen <ak@linux.intel.com>
1873
1874 * cilk.c (recognize_spawn): Use expression location
1875 for error message.
1876
1877 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1878
1879 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1880
1881 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1882
1883 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1884 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1885 (__cpp_range_based_for, __cpp_initializer_lists,
1886 __cpp_delegating_constructors, __cpp_nsdmi,
1887 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1888 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1889 __has_cpp_attribute.
1890 * c-lex.c (cb_has_attribute): New callback CPP function;
1891 (init_c_lex): Set has_attribute callback.
1892
1893 2014-11-04 Richard Biener <rguenther@suse.de>
1894
1895 * c-common.c (shorten_compare): Do not shorten mixed
1896 DFP and non-DFP compares.
1897
1898 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1899
1900 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1901 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1902 Commentary and rearrangement of tests.
1903 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1904 Commentary and rearrangement of tests.
1905 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1906 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1907
1908 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1909
1910 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1911 enum from machine_mode.
1912
1913 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
1914
1915 * c-common.c: Adjust include files.
1916 * c-gimplify.c: Ditto.
1917 * cilk.c: Ditto.
1918 * c-pragma.c: Ditto.
1919 * c-ubsan.c: Ditto.
1920
1921 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
1922
1923 * c-gimplify.c: Adjust include files.
1924
1925 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1926
1927 PR c++/53061
1928 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1929 c_common_initialize_diagnostics.
1930 * c-common.h: Likewise.
1931
1932 2014-10-24 Marek Polacek <polacek@redhat.com>
1933
1934 PR c/56980
1935 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1936 print "struct"/"union"/"enum" for typedefed names.
1937
1938 2014-10-23 Marek Polacek <polacek@redhat.com>
1939
1940 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1941 in unsigned type.
1942
1943 2014-10-22 Jakub Jelinek <jakub@redhat.com>
1944 Yury Gribov <y.gribov@samsung.com>
1945
1946 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1947 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1948 instead of flag_sanitize_recover as bool flag.
1949
1950 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1951
1952 * cilk.c: Revert previous change.
1953
1954 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1955
1956 PR c/63307
1957 * cilk.c: Include vec.h.
1958 (struct cilk_decls): New structure.
1959 (wrapper_parm_cb): Split this function to...
1960 (fill_decls_vec): ...this...
1961 (create_parm_list): ...and this.
1962 (compare_decls): New function.
1963 (for_local_cb): Remove.
1964 (wrapper_local_cb): Ditto.
1965 (build_wrapper_type): For now first traverse and fill vector of
1966 declarations then sort it and then deal with sorted vector.
1967 (cilk_outline): Ditto.
1968 (declare_one_free_variable): Ditto.
1969
1970 2014-10-17 Marek Polacek <polacek@redhat.com>
1971
1972 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1973 * c.opt (Wimplicit-int): Initialize to -1.
1974
1975 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
1976
1977 * c-pragma.c: Adjust include files.
1978 * c-semantics.c: Likewise.
1979
1980 2014-10-16 DJ Delorie <dj@redhat.com>
1981
1982 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1983 multiples of bytes.
1984
1985 2014-10-14 Jason Merrill <jason@redhat.com>
1986
1987 PR c++/63455
1988 * c-common.h (CPP_PREPARSED_EXPR): New.
1989 (N_CP_TTYPES): Adjust.
1990
1991 2014-10-15 Marek Polacek <polacek@redhat.com>
1992
1993 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1994
1995 2014-10-14 DJ Delorie <dj@redhat.com>
1996
1997 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1998 types, not just __int128.
1999 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
2000 types, not just __int128.
2001 (cpp_atomic_builtins): Round pointer sizes up.
2002 (type_suffix): Use type precision, not specific types.
2003 * c-common.c (c_common_reswords): Remove __int128 special case.
2004 (c_common_type_for_size): Check for all __intN types, not just
2005 __int128.
2006 (c_common_type_for_mode): Likewise.
2007 (c_common_signed_or_unsigned_type): Likewise.
2008 (c_build_bitfield_integer_type): Likewise.
2009 (c_common_nodes_and_builtins): Likewise.
2010 (keyword_begins_type_specifier): Likewise.
2011 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
2012 __intN variants.
2013
2014 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
2015
2016 * c-common.c: Use hash_table instead of hashtab.
2017
2018 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2019
2020 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2021 C++11 section.
2022
2023 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
2024
2025 PR c++/54427
2026 PR c++/57198
2027 PR c++/58845
2028 * c-common.c (warn_logical_operator): Punt for vectors.
2029
2030 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2031
2032 Implement SD-6: SG10 Feature Test Recommendations
2033 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
2034 macros and the __has_header macro.
2035
2036 2014-09-30 Jason Merrill <jason@redhat.com>
2037
2038 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
2039 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
2040 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2041
2042 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
2043 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2044
2045 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
2046 * c-common.c (c_common_reswords): Remove __is_convertible_to.
2047
2048 2014-09-24 Marek Polacek <polacek@redhat.com>
2049
2050 PR c/61405
2051 PR c/53874
2052 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
2053
2054 2014-09-23 Andi Kleen <ak@linux.intel.com>
2055
2056 * c-common.c (handle_no_reorder_attribute): New function.
2057 (c_common_attribute_table): Add no_reorder attribute.
2058
2059 2014-09-22 Joseph Myers <joseph@codesourcery.com>
2060
2061 * c-cppbuiltin.c (c_cpp_builtins): Define
2062 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
2063 modes.
2064
2065 2014-09-18 Joseph Myers <joseph@codesourcery.com>
2066
2067 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
2068 for supported floating-point modes.
2069
2070 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2071
2072 * c.opt (Wpsabi): Use LangEnabledBy.
2073 * c-opts.c (c_common_handle_option): Do not handle here.
2074
2075 2014-09-12 Joseph Myers <joseph@codesourcery.com>
2076
2077 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
2078 macros for floating-point modes.
2079
2080 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
2081
2082 PR target/58757
2083 * c-cppbuiltin.c (builtin_define_float_constants): Correct
2084 __*_DENORM_MIN__ without denormals.
2085
2086 2014-09-10 Jakub Jelinek <jakub@redhat.com>
2087
2088 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2089 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2090 ubsan_create_data callers.
2091 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
2092 index is constant or BIT_AND_EXPR with constant mask and is
2093 small enough for the bound.
2094 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
2095 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
2096
2097 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2098
2099 * c.opt: Add CppReason to various flags.
2100 (Wdate-time): Re-sort.
2101 * c-common.c: Include c-common.h earlier.
2102 (struct reason_option_codes_t): Delete.
2103 (c_option_controlling_cpp_error): Prefix global type and struct
2104 with cpp_.
2105
2106 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2107
2108 * c.opt (Wnormalized): New.
2109 (Wnormalized=): Use Enum and Reject Negative.
2110 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
2111
2112 2014-09-08 Joseph Myers <joseph@codesourcery.com>
2113
2114 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
2115 digits of floating-point modes if -fbuilding-libgcc.
2116
2117 2014-09-05 Joseph Myers <joseph@codesourcery.com>
2118
2119 * c-cppbuiltin.c (c_cpp_builtins): Also define
2120 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
2121 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
2122 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
2123 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
2124 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
2125 __LIBGCC_STACK_GROWS_DOWNWARD__,
2126 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
2127 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
2128 __LIBGCC_DWARF_FRAME_REGISTERS__,
2129 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
2130 __LIBGCC_STACK_POINTER_REGNUM__ and
2131 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
2132 (builtin_define_with_value): Handle backslash-escaping in string
2133 macro values.
2134
2135 2014-09-05 Richard Biener <rguenther@suse.de>
2136
2137 PR middle-end/63148
2138 * c-format.c (check_format_arg): Properly handle
2139 effectively signed POINTER_PLUS_EXPR offset.
2140
2141 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2142
2143 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
2144 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
2145 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
2146 and Init.
2147 * c-opts.c (c_common_handle_option): Do not handle here.
2148 (sanitize_cpp_opts): Likewise.
2149 * c-common.c (struct reason_option_codes_t): Handle
2150 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
2151
2152 2014-09-03 Marek Polacek <polacek@redhat.com>
2153
2154 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
2155
2156 2014-09-02 Jakub Jelinek <jakub@redhat.com>
2157 Balaji V. Iyer <balaji.v.iyer@intel.com>
2158 Igor Zamyatin <igor.zamyatin@intel.com>
2159
2160 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
2161 * c-common.c (c_common_reswords): Added _Cilk_for.
2162 * c-common.h (enum rid): Added RID_CILK_FOR.
2163 (cilk_for_number_of_iterations): Add declaration.
2164 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
2165 CILK_FOR.
2166 * c-pragma.c (init_pragma): Register "grainsize" pragma.
2167 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
2168
2169 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2170
2171 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
2172 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
2173 Wundef): Use CPP, Var and Init.
2174 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
2175
2176 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2177
2178 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
2179 * c-opts.c (c_common_handle_option): Do not handle here.
2180
2181 2014-08-25 Jason Merrill <jason@redhat.com>
2182
2183 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
2184 -std=c++14 and -std=gnu++14, rather than the reverse.
2185 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
2186 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
2187 * c-common.h (cxx_dialect): Remove cxx1y.
2188
2189 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
2190
2191 * c-common.h (enum cxx_dialect): Add cxx14.
2192 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
2193 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
2194 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
2195
2196 2014-08-22 Jason Merrill <jason@redhat.com>
2197
2198 * c.opt (std=gnu++17): Fix alias.
2199
2200 2014-08-22 Marek Polacek <polacek@redhat.com>
2201
2202 PR c++/62199
2203 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
2204 check for vector types. Drop LHS argument.
2205 * c-common.h (warn_logical_not_parentheses): Adjust.
2206
2207 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2208
2209 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
2210 (Wmultichar): Likewise.
2211 (Wdate-time): Use C-family languages instead of Common. Use CPP
2212 and Var.
2213 * c-opts.c (c_common_handle_option): Do not handle the above
2214 options here.
2215 (sanitize_cpp_opts): Likewise.
2216
2217 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
2218
2219 PR fortran/44054
2220 * c-opts.c: Include tree-diagnostics.h.
2221 (c_diagnostic_finalizer): New.
2222 (c_common_initialize_diagnostics): Use it.
2223
2224 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2225
2226 PR preprocessor/51303
2227 * c-common.c (struct reason_option_codes_t option_codes):
2228 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
2229
2230 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2231
2232 PR c/60975
2233 PR c/53063
2234 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
2235 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
2236 (c_common_post_options): Call init_global_opts_from_cpp.
2237 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
2238
2239 2014-08-19 Marek Polacek <polacek@redhat.com>
2240
2241 PR c++/62153
2242 * c-common.c (maybe_warn_bool_compare): New function.
2243 * c-common.h (maybe_warn_bool_compare): Declare.
2244 * c.opt (Wbool-compare): New option.
2245
2246 2014-08-19 Marek Polacek <polacek@redhat.com>
2247
2248 * c.opt (Wc99-c11-compat): New option.
2249
2250 2014-08-19 Marek Polacek <polacek@redhat.com>
2251
2252 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
2253 to warn_c90_c99_compat.
2254 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
2255 to -1.
2256
2257 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
2258 Steven Bosscher <steven@gcc.gnu.org>
2259
2260 PR c/52952
2261 * c-format.c: Add extra_arg_loc and format_string_loc to struct
2262 format_check_results.
2263 (check_function_format): Use true and add comment for boolean
2264 argument.
2265 (finish_dollar_format_checking): Use explicit location when warning.
2266 (check_format_info): Likewise.
2267 (check_format_arg): Set extra_arg_loc and format_string_loc.
2268 (check_format_info_main): Use explicit location when warning.
2269 (check_format_types): Pass explicit location.
2270 (format_type_warning): Likewise.
2271
2272 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2273
2274 PR fortran/44054
2275 * c-format.c: Handle Fortran flags.
2276
2277 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
2278
2279 PR other/61962
2280 * array-notation-common.c (find_rank): Added handling for other
2281 types of references.
2282
2283 2014-08-10 Marek Polacek <polacek@redhat.com>
2284
2285 PR c/51849
2286 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
2287 * c.opt (Wc90-c99-compat): Add option.
2288
2289 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
2290
2291 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
2292
2293 2014-08-03 Marek Polacek <polacek@redhat.com>
2294
2295 * c-common.c (check_case_value): Add location_t parameter. Use it.
2296 (c_add_case_label): Pass loc to check_case_value.
2297
2298 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2299
2300 * cilk.c: Use hash_map instead of pointer_map.
2301
2302 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2303
2304 * c-gimplify.c: Use hash_set instead of pointer_set.
2305
2306 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2307
2308 PR middle-end/61455
2309 * array-notation-common.c (extract_array_notation_exprs): Handling
2310 of DECL_EXPR added.
2311
2312 2014-08-01 Jakub Jelinek <jakub@redhat.com>
2313
2314 * c-common.h (min_align_of_type): Removed prototype.
2315 * c-common.c (min_align_of_type): Removed.
2316 * c-ubsan.h (ubsan_maybe_instrument_reference,
2317 ubsan_maybe_instrument_member_call): New prototypes.
2318 * c-ubsan.c: Include stor-layout.h and builtins.h.
2319 (ubsan_maybe_instrument_reference_or_call,
2320 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
2321 functions.
2322
2323 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
2324
2325 PR c++/60517
2326 * c.opt (-Wreturn-local-addr): Move to common.opt.
2327
2328 2014-07-30 Jason Merrill <jason@redhat.com>
2329
2330 PR c++/61659
2331 PR c++/61687
2332 Revert:
2333 * c.opt (-fuse-all-virtuals): New.
2334
2335 2014-07-30 Tom Tromey <tromey@redhat.com>
2336
2337 PR c/59855
2338 * c.opt (Wdesignated-init): New option.
2339 * c-common.c (c_common_attribute_table): Add "designated_init".
2340 (handle_designated_init): New function.
2341
2342 2014-07-24 Marek Polacek <polacek@redhat.com>
2343
2344 PR c/57653
2345 * c-opts.c (c_finish_options): If -imacros is in effect, return.
2346
2347 2014-07-16 Dodji Seketeli <dodji@redhat.com>
2348
2349 PR preprocessor/60723 - missing system-ness marks for macro tokens
2350 * c-ppoutput.c (struct print::prev_was_system_token): New data
2351 member.
2352 (init_pp_output): Initialize it.
2353 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
2354 (do_line_change): Return a flag saying if a line marker was
2355 emitted or not.
2356 (scan_translation_unit): Detect if the system-ness of the token we
2357 are about to emit is different from the one of the previously
2358 emitted token. If so, emit a line marker. Avoid emitting useless
2359 adjacent line markers. Avoid emitting line markers for tokens
2360 originating from the expansion of built-in macros.
2361 (scan_translation_unit_directives_only): Adjust.
2362
2363 2014-07-15 Marek Polacek <polacek@redhat.com>
2364
2365 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
2366 TYPE_MAX_VALUE is NULL.
2367
2368 2014-07-14 Jakub Jelinek <jakub@redhat.com>
2369
2370 PR middle-end/61294
2371 * c.opt (Wmemset-transposed-args): New warning.
2372
2373 2014-07-10 Jason Merrill <jason@redhat.com>
2374
2375 PR c++/61659
2376 PR c++/61687
2377 * c.opt (-fuse-all-virtuals): New.
2378
2379 2014-07-09 Richard Biener <rguenther@suse.de>
2380
2381 PR c-family/61741
2382 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2383 using unsigned arithmetic if overflow does not wrap instead of
2384 if overflow is undefined.
2385
2386 2014-07-06 Marek Polacek <polacek@redhat.com>
2387
2388 PR c/6940
2389 * c.opt (Wsizeof-array-argument): New option.
2390
2391 2014-07-03 Jakub Jelinek <jakub@redhat.com>
2392
2393 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
2394 comments->count <= 1, as comments->entries might be NULL.
2395
2396 2014-07-01 Marek Polacek <polacek@redhat.com>
2397
2398 * c.opt (Wint-conversion): New option.
2399
2400 2014-07-01 Marek Polacek <polacek@redhat.com>
2401
2402 PR c/58286
2403 * c.opt (Wincompatible-pointer-types): New option.
2404
2405 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
2406
2407 PR c++/51400
2408 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
2409 Do not discard TYPE_QUALS of type.
2410
2411 2014-06-26 Jason Merrill <jason@redhat.com>
2412
2413 * c-common.h (enum cxx_dialect): Add cxx1z.
2414 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
2415 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
2416
2417 2014-06-26 Teresa Johnson <tejohnson@google.com>
2418
2419 * c-common.h (get_dump_info): Declare.
2420 * c-gimplify.c (c_genericize): Use saved dump files.
2421 * c-opts.c (c_common_parse_file): Begin and end dumps
2422 once around parsing invocation.
2423 (get_dump_info): New function.
2424
2425 2014-06-23 Marek Polacek <polacek@redhat.com>
2426 Andrew MacLeod <amacleod@redhat.com>
2427
2428 PR c/61553
2429 * c-common.c (get_atomic_generic_size): Don't segfault if the
2430 type doesn't have a size.
2431
2432 2014-06-20 Marek Polacek <polacek@redhat.com>
2433
2434 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
2435 (ubsan_walk_array_refs_r): New function.
2436 (c_genericize): Instrument array bounds.
2437 * c-ubsan.c: Include "internal-fn.h".
2438 (ubsan_instrument_division): Mark instrumented arrays as having
2439 side effects. Adjust ubsan_type_descriptor call.
2440 (ubsan_instrument_shift): Likewise.
2441 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
2442 (ubsan_instrument_bounds): New function.
2443 (ubsan_array_ref_instrumented_p): New function.
2444 (ubsan_maybe_instrument_array_ref): New function.
2445 * c-ubsan.h (ubsan_instrument_bounds): Declare.
2446 (ubsan_array_ref_instrumented_p): Declare.
2447 (ubsan_maybe_instrument_array_ref): Declare.
2448
2449 2014-06-20 Hale Wang <hale.wang@arm.com>
2450
2451 PR lto/61123
2452 * c.opt (fshort-enums): Add to LTO.
2453 * c.opt (fshort-wchar): Likewise.
2454
2455 2014-06-16 Marek Polacek <polacek@redhat.com>
2456
2457 PR c/60439
2458 * c.opt (Wswitch-bool): Add Var.
2459
2460 2014-06-12 Jakub Jelinek <jakub@redhat.com>
2461
2462 PR middle-end/61486
2463 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
2464 #pragma omp target teams or
2465 #pragma omp {,target }teams distribute simd.
2466
2467 2014-06-12 Jason Merrill <jason@redhat.com>
2468
2469 * c.opt (Wabi=, fabi-compat-version): New.
2470 * c-opts.c (c_common_handle_option): Handle -Wabi=.
2471 (c_common_post_options): Handle flag_abi_compat_version default.
2472 Disallow -fabi-compat-version=1.
2473 * c-common.h (abi_version_crosses): New.
2474
2475 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
2476
2477 * c-common.c (handle_section_attribute): Update handling for
2478 section names that are no longer trees.
2479
2480 2014-06-10 Jakub Jelinek <jakub@redhat.com>
2481
2482 PR fortran/60928
2483 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
2484 (omp_pragmas): ... back here.
2485
2486 2014-06-05 Marek Polacek <polacek@redhat.com>
2487
2488 PR c/49706
2489 * c-common.c (warn_logical_not_parentheses): New function.
2490 * c-common.h (warn_logical_not_parentheses): Declare.
2491 * c.opt (Wlogical-not-parentheses): New option.
2492
2493 2014-06-04 Marek Polacek <polacek@redhat.com>
2494
2495 PR c/30020
2496 * c-common.c (check_case_bounds): Add location parameter.
2497 Use it.
2498 (c_add_case_label): Pass loc to check_case_bounds.
2499
2500 2014-06-03 Marek Polacek <polacek@redhat.com>
2501
2502 PR c/60439
2503 * c.opt (Wswitch-bool): New option.
2504
2505 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2506
2507 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
2508 Remove prototypes.
2509 (record_types_used_by_current_var_decl): Move prototype to where
2510 it belongs.
2511
2512 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2513 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2514 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2515
2516 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2517
2518 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
2519 * c-common.c (c_common_nodes_and_builtins): Don't initialize
2520 void_zero_node.
2521 * c-pretty-print.c (pp_c_void_constant): New function.
2522 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
2523 (c_pretty_printer::expression): Handle VOID_CST.
2524 * cilk.c (extract_free_variables): Likewise.
2525 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
2526 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
2527
2528 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2529
2530 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
2531 * c-pragma.c (push_alignment): Adjust.
2532 (handle_pragma_push_options): Likewise.
2533
2534 2014-05-09 Marek Polacek <polacek@redhat.com>
2535
2536 PR c/50459
2537 * c-common.c (check_user_alignment): Return -1 if alignment is error
2538 node.
2539 (handle_aligned_attribute): Don't call default_conversion on
2540 FUNCTION_DECLs.
2541 (handle_vector_size_attribute): Likewise.
2542 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2543 (handle_sentinel_attribute): Call default_conversion and allow even
2544 integral types as an argument.
2545
2546 2014-05-08 Marek Polacek <polacek@redhat.com>
2547
2548 PR c/61053
2549 * c-common.c (min_align_of_type): New function factored out from...
2550 (c_sizeof_or_alignof_type): ...here.
2551 * c-common.h (min_align_of_type): Declare.
2552
2553 2014-05-08 Marek Polacek <polacek@redhat.com>
2554
2555 PR c/61077
2556 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2557 parameter type of main.
2558
2559 2014-05-07 DJ Delorie <dj@redhat.com>
2560
2561 * c-cppbuiltin.c (print_bits_of_hex): New.
2562 (builtin_define_type_minmax): Print values using hex so as not to
2563 require a pre-computed list of string values.
2564
2565 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2566 Mike Stump <mikestump@comcast.net>
2567 Richard Sandiford <rdsandiford@googlemail.com>
2568
2569 * c-ada-spec.c: Include wide-int.h.
2570 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2571 (dump_generic_ada_node): Use wide-int interfaces.
2572 * c-common.c: Include wide-int-print.h.
2573 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2574 (pointer_int_sum): Use wide-int interfaces.
2575 (c_common_nodes_and_builtins): Use make_int_cst.
2576 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2577 (handle_alloc_size_attribute): Use wide-int interfaces.
2578 (get_nonnull_operand): Likewise.
2579 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2580 * c-lex.c: Include wide-int.h.
2581 (narrowest_unsigned_type): Take a widest_int rather than two
2582 HOST_WIDE_INTs.
2583 (narrowest_signed_type): Likewise.
2584 (interpret_integer): Update accordingly. Use wide-int interfaces.
2585 (lex_charconst): Use wide-int interfaces.
2586 * c-pretty-print.c: Include wide-int.h.
2587 (pp_c_integer_constant): Use wide-int interfaces.
2588 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2589 INT_CST_LT_UNSIGNED.
2590
2591 2014-05-06 Richard Biener <rguenther@suse.de>
2592
2593 * c-opts.c (c_common_post_options): For -freestanding,
2594 -fno-hosted and -fno-builtin disable pattern recognition
2595 if not enabled explicitely.
2596
2597 2014-05-02 Marek Polacek <polacek@redhat.com>
2598
2599 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2600
2601 2014-05-01 Marek Polacek <polacek@redhat.com>
2602
2603 PR c/43245
2604 * c.opt (Wdiscarded-qualifiers): Add.
2605
2606 2014-04-30 Marek Polacek <polacek@redhat.com>
2607
2608 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2609 INT_MIN / -1 sanitization only for integer types.
2610
2611 2014-04-25 Marek Polacek <polacek@redhat.com>
2612
2613 PR c/18079
2614 * c-common.c (handle_noinline_attribute): Warn if the attribute
2615 conflicts with always_inline attribute.
2616 (handle_always_inline_attribute): Warn if the attribute conflicts
2617 with noinline attribute.
2618
2619 2014-04-25 Marek Polacek <polacek@redhat.com>
2620
2621 PR c/60156
2622 * c-common.c (check_main_parameter_types): Warn about variadic main.
2623
2624 2014-04-24 Mike Stump <mikestump@comcast.net>
2625
2626 * c.opt (Wshadow-ivar): Default to on.
2627
2628 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2629
2630 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2631
2632 2014-04-23 Marek Polacek <polacek@redhat.com>
2633
2634 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2635
2636 2014-04-22 Jakub Jelinek <jakub@redhat.com>
2637
2638 PR sanitizer/60275
2639 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2640 if flag_sanitize_undefined_trap_on_error.
2641 (ubsan_instrument_division, ubsan_instrument_shift,
2642 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2643 if !flag_sanitize_recover.
2644
2645 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
2646
2647 PR libstdc++/43622
2648 * c-common.c (registered_builtin_types): Make non-static.
2649 * c-common.h (registered_builtin_types): Declare.
2650
2651 2014-04-14 Richard Biener <rguenther@suse.de>
2652 Marc Glisse <marc.glisse@inria.fr>
2653
2654 PR c/60819
2655 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2656 apply may-alias the scalar pointer type when applicable.
2657
2658 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2659
2660 PR middle-end/60467
2661 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2662 as possible argument for Cilk_spawn.
2663
2664 2014-04-11 Tobias Burnus <burnus@net-b.de>
2665
2666 PR c/60194
2667 * c.opt (Wformat-signedness): Add
2668 * c-format.c(check_format_types): Use it.
2669
2670 2014-04-11 Jason Merrill <jason@redhat.com>
2671
2672 PR c++/57926
2673 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2674 default_conversion for an array argument.
2675
2676 2014-04-08 Marek Polacek <polacek@redhat.com>
2677
2678 PR sanitizer/60745
2679 * c-ubsan.c: Include asan.h.
2680 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2681
2682 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2683
2684 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2685
2686 2014-04-02 Marek Polacek <polacek@redhat.com>
2687
2688 * c-common.h (c_expand_expr): Remove declaration.
2689
2690 2014-03-28 Jakub Jelinek <jakub@redhat.com>
2691
2692 PR c++/60689
2693 * c-common.c (add_atomic_size_parameter): When creating new
2694 params vector, push the size argument first.
2695
2696 2014-03-26 Jakub Jelinek <jakub@redhat.com>
2697
2698 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2699 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2700 ubsan_create_data callers.
2701
2702 2014-03-22 Jakub Jelinek <jakub@redhat.com>
2703
2704 PR debug/60603
2705 * c-opts.c (c_finish_options): Restore cb_file_change call to
2706 <built-in>.
2707
2708 2014-03-13 Jakub Jelinek <jakub@redhat.com>
2709
2710 PR middle-end/36282
2711 * c-pragma.c (apply_pragma_weak): Only look at
2712 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2713 DECL_ASSEMBLER_NAME_SET_P (decl).
2714 (maybe_apply_pending_pragma_weaks): Exit early if
2715 vec_safe_is_empty (pending_weaks) rather than only when
2716 !pending_weaks.
2717 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2718 set assembler name back to NULL afterwards.
2719
2720 2014-03-11 Jason Merrill <jason@redhat.com>
2721
2722 * c.opt: Add -std=gnu++14.
2723
2724 2014-03-11 Ian Bolton <ian.bolton@arm.com>
2725
2726 * c-opts.c (c_common_post_options): Don't override
2727 -ffp-contract=fast if unsafe-math-optimizations is on.
2728
2729 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
2730
2731 * c.opt: Enable LTO FE for fshort-double.
2732
2733 2014-03-07 Jason Merrill <jason@redhat.com>
2734
2735 * c.opt: Add -std=c++14.
2736
2737 2014-03-06 Marek Polacek <polacek@redhat.com>
2738
2739 PR c/60197
2740 * cilk.c (contains_cilk_spawn_stmt): New function.
2741 (contains_cilk_spawn_stmt_walker): Likewise.
2742 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2743 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2744
2745 2014-03-03 Jakub Jelinek <jakub@redhat.com>
2746
2747 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2748 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2749 even when flag_preprocess_only.
2750
2751 2014-02-26 Jason Merrill <jason@redhat.com>
2752
2753 PR c++/59231
2754 PR c++/11586
2755 * c-common.c (shorten_compare): Don't check
2756 c_inhibit_evaluation_warnings.
2757
2758 2014-02-19 Jakub Jelinek <jakub@redhat.com>
2759
2760 PR c/37743
2761 * c-common.c (c_common_nodes_and_builtins): When initializing
2762 c_uint{16,32,64}_type_node, also set corresponding
2763 uint{16,32,64}_type_node to the same value.
2764
2765 PR c++/60267
2766 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2767 for PRAGMA_IVDEP if flag_preprocess_only.
2768
2769 2014-02-12 Jakub Jelinek <jakub@redhat.com>
2770
2771 PR c/60101
2772 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2773 if false, add ADD itself, rather than vice versa.
2774 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2775 copy. For SAVE_EXPR, only call merge_tlist once.
2776
2777 2014-02-08 Jakub Jelinek <jakub@redhat.com>
2778
2779 PR middle-end/60092
2780 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2781 and tree_to_uhwi.
2782 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2783 functions.
2784 (c_common_attribute_table): Add alloc_align and assume_aligned
2785 attributes.
2786
2787 2014-02-06 Marek Polacek <polacek@redhat.com>
2788
2789 PR c/60087
2790 * c-common.c (warn_for_sign_compare): Call warning_at with location
2791 instead of warning.
2792
2793 2014-02-05 Marek Polacek <polacek@redhat.com>
2794
2795 PR c/53123
2796 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2797 statement.
2798
2799 2014-02-04 Marek Polacek <polacek@redhat.com>
2800
2801 PR c/60036
2802 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2803 SAVE_EXPR.
2804
2805 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
2806
2807 PR c++/53017
2808 PR c++/59211
2809 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2810 handle_vector_size_attribute, handle_nonnull_attribute): Call
2811 default_conversion on the attribute argument.
2812 (handle_nonnull_attribute): Increment the argument number.
2813
2814 2014-01-31 Marek Polacek <polacek@redhat.com>
2815
2816 PR c/59963
2817 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2818 build_function_call_vec.
2819 (resolve_overloaded_builtin): Likewise.
2820 * c-common.h (build_function_call_vec): Adjust declaration.
2821
2822 2014-01-30 Marek Polacek <polacek@redhat.com>
2823
2824 PR c/59940
2825 * c-common.h (unsafe_conversion_p): Adjust declaration.
2826 (warnings_for_convert_and_check): Likewise.
2827 (convert_and_check): Likewise.
2828 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2829 expansion_point_location_if_in_system_header on it.
2830 (warnings_for_convert_and_check): Add location parameter. Call
2831 expansion_point_location_if_in_system_header on it. Use it.
2832 (convert_and_check): Add location parameter. Use it.
2833 (conversion_warning): Likewise.
2834 (c_add_case_label): Adjust convert_and_check calls.
2835 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2836
2837 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2838
2839 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2840 flag_cilkplus.
2841 * c-pragma.c (init_pragma): Likewise.
2842 * c.opt: Likewise.
2843
2844 2014-01-23 Marek Polacek <polacek@redhat.com>
2845
2846 PR c/59846
2847 * c-common.c (shorten_compare): Add location_t parameter.
2848 * c-common.h (shorten_binary_op): Adjust declaration.
2849
2850 2014-01-23 Marek Polacek <polacek@redhat.com>
2851
2852 PR c/58346
2853 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2854 * c-common.h: Declare it.
2855
2856 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2857
2858 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2859 * c-ada-spec.c (dump_ads): Likewise.
2860 (cpp_check): Likewise.
2861 (dump_ada_specs): Likewise.
2862
2863 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
2864
2865 PR c++/49718
2866 * c-common.c (handle_no_instrument_function_attribute): Allow
2867 no_instrument_function attribute in class member
2868 definition/declaration.
2869
2870 2014-01-15 Jakub Jelinek <jakub@redhat.com>
2871
2872 PR c/58943
2873 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2874 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2875 being COMPOUND_EXPR.
2876 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2877 operand a SAVE_EXPR and second MODIFY_EXPR.
2878
2879 2014-01-09 Jakub Jelinek <jakub@redhat.com>
2880
2881 PR target/58115
2882 * c-pch.c (c_common_write_pch): Call
2883 prepare_target_option_nodes_for_pch.
2884
2885 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2886
2887 Update copyright years
2888
2889 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2890
2891 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2892 the copyright notice.
2893
2894 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2895
2896 * c-ada-spec.c (print_constructor): New function.
2897 (print_destructor): Retrieve the origin of the destructor.
2898 (print_ada_declaration): Revamp handling of constructors/destructors.
2899
2900 2013-12-23 Stuart Hastings <stuart@apple.com>
2901 Bill Maddox <maddox@google.com>
2902 Jason Merrill <jason@redhat.com>
2903
2904 * c.opt: Add -fdeclone-ctor-dtor.
2905 * c-opts.c (c_common_post_options): Default to on iff -Os.
2906
2907 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2908
2909 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2910 attribute.
2911 * c-pragma.h (enum pragma_cilk_clause): Remove.
2912 (enum pragma_omp_clause): Added the following fields:
2913 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2914 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2915 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2916 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2917 PRAGMA_CILK_CLAUSE_UNIFORM.
2918
2919
2920 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2921
2922 * cilk.c (cilk_outline): Made this function non-static.
2923 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2924 (create_cilk_wrapper): Added a new parameter: a function pointer.
2925 (c_install_body_w_frame_cleanup): Remove
2926 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2927 * c-common.h (cilk_outline): New prototype.
2928 (gimplify_cilk_spawn): Removed two parameters.
2929 (cilk_install_body_with_frame_cleanup): New prototype.
2930 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2931 CILK_SPAWN_STMT case.
2932
2933 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2934
2935 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2936
2937 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2938 (int_array_type_node): Remove.
2939 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2940
2941 2013-12-05 Marek Polacek <polacek@redhat.com>
2942
2943 PR c/52023
2944 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2945 [ADJUST_FIELD_ALIGN].
2946
2947 2013-12-04 Joseph Myers <joseph@codesourcery.com>
2948
2949 PR c/52023
2950 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2951 and check field alignment if set.
2952 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2953 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2954
2955 2013-12-04 Jakub Jelinek <jakub@redhat.com>
2956 Marek Polacek <polacek@redhat.com>
2957
2958 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2959 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2960
2961 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2962
2963 PR c/59309
2964 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2965 arguments.
2966
2967 2013-11-29 Jakub Jelinek <jakub@redhat.com>
2968
2969 PR c/59280
2970 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2971 goto invalid. If it is error_mark_node, don't issue further
2972 diagnostics.
2973
2974 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2975
2976 * c.opt (Wopenmp-simd): New.
2977
2978 2013-11-22 Jakub Jelinek <jakub@redhat.com>
2979
2980 * c-ubsan.h (ubsan_instrument_return): New prototype.
2981 * c-ubsan.c (ubsan_instrument_return): New function.
2982
2983 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
2984
2985 * c-common.c: Add required include files from gimple.h.
2986 * c-gimplify.c: Likewise
2987 * cilk.c: Likewise
2988
2989 2013-11-22 David Malcolm <dmalcolm@redhat.com>
2990
2991 * c-common.c (unsafe_conversion_p): Remove use of
2992 EXPR_LOC_OR_HERE macro.
2993 (conversion_warning): Likewise.
2994 (warnings_for_convert_and_check): Likewise.
2995 (warn_for_collisions_1): Likewise.
2996 (shorten_compare): Likewise, and remove use of in_system_header
2997 macro, using the location from the former.
2998 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2999 (cb_def_pragma): Remove use of in_system_header macro.
3000 (lex_string): Likewise.
3001 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3002
3003 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3004 Mike Stump <mikestump@comcast.net>
3005 Richard Sandiford <rdsandiford@googlemail.com>
3006
3007 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
3008 instead of TREE_INT_CST_LOW, in cases where there is a protecting
3009 tree_fits_shwi_p or tree_fits_uhwi_p.
3010 (dump_generic_ada_node): Likewise.
3011 * c-format.c (check_format_arg): Likewise.
3012 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3013
3014 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3015
3016 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
3017
3018 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
3019
3020 PR c/53001
3021 * c-common.c (unsafe_conversion_p): Make this function
3022 return an enumeration with more detail.
3023 (conversion_warning): Use the new return type of
3024 unsafe_conversion_p to separately warn either about conversions
3025 that lower floating point number precision or about the other
3026 kinds of conversions.
3027 * c-common.h (enum conversion_safety): New enumeration.
3028 (unsafe_conversion_p): switching return type to
3029 conversion_safety enumeration.
3030 * c.opt: Adding new warning -Wfloat-conversion and
3031 enabling it with -Wconversion.
3032
3033 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
3034
3035 * c-opts.c: Include plugin.h.
3036 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
3037
3038 2013-11-19 Marek Polacek <polacek@redhat.com>
3039
3040 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
3041 call.
3042 (ubsan_instrument_shift): Likewise.
3043 (ubsan_instrument_vla): Likewise.
3044
3045 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3046
3047 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
3048 cast to unsigned type.
3049
3050 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3051
3052 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
3053 tree_low_cst.
3054 (complete_array_type): Update comment to refer to tree_to_[su]hwi
3055 rather than tree_low_cst.
3056
3057 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3058
3059 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
3060 tree_to_uhwi throughout.
3061
3062 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3063
3064 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
3065 tree_low_cst (..., 0) with tree_to_shwi throughout.
3066
3067 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3068
3069 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
3070 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
3071
3072 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3073
3074 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
3075 host_integerp (..., 0) with tree_fits_shwi_p throughout.
3076
3077 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
3078
3079 * c-cilkplus.c: New file.
3080 * c-common.c (readonly_error): Add location argument.
3081 * c-common.h (readonly_error): Same.
3082 (c_finish_cilk_clauses): Protoize.
3083 (c_check_cilk_loop): Same.
3084 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
3085 Do not fail on error_mark_node.
3086 Abstract increment canonicalization to here...
3087 (c_omp_for_incr_canonicalize_ptr): New.
3088 c-pragma.c (init_pragma): Register "simd" pragma.
3089 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
3090 (enum pragma_cilk_clause): New.
3091
3092 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
3093
3094 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
3095 wchar_type and host_integerp checks.
3096
3097 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
3098
3099 * c-common.c: Likewise.
3100 * c-gimplify.c: Likewise.
3101 * cilk.c: Likewise.
3102
3103 2013-11-14 Diego Novillo <dnovillo@google.com>
3104
3105 * c-common.c: Include fold-const.h.
3106 Include stor-layout.h.
3107 Include calls.h.
3108 Include stringpool.h.
3109 Include attribs.h.
3110 Include varasm.h.
3111 Include trans-mem.h.
3112 * c-cppbuiltin.c: Include stor-layout.h.
3113 Include stringpool.h.
3114 * c-format.c: Include stringpool.h.
3115 * c-lex.c: Include stringpool.h.
3116 Include stor-layout.h.
3117 * c-pragma.c: Include stringpool.h.
3118 Include attribs.h.
3119 Include varasm.h.
3120 Include gcc-symtab.h.
3121 * c-pretty-print.c: Include stor-layout.h.
3122 Include attribs.h.
3123 * cilk.c: Include stringpool.h.
3124 Include calls.h.
3125
3126 2013-11-13 Joseph Myers <joseph@codesourcery.com>
3127
3128 * c-common.h (enum rid): Add RID_AUTO_TYPE.
3129 * c-common.c (c_common_reswords): Add __auto_type.
3130 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
3131
3132 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
3133
3134 * c-common.c: Include gimplify.h.
3135 * c-gimplify.c: Likewise.
3136 * cilk.c: Likewise.
3137 * c-omp.c: Include gimple-expr.h instead of gimple.h.
3138 * c-ubsan.c: Don't include gimple.h.
3139
3140 2013-11-12 Joseph Myers <joseph@codesourcery.com>
3141
3142 * c-common.c (c_common_reswords): Add _Thread_local.
3143
3144 2013-11-09 Joseph Myers <joseph@codesourcery.com>
3145
3146 * c-common.c (atomic_size_supported_p): New function.
3147 (resolve_overloaded_atomic_exchange)
3148 (resolve_overloaded_atomic_compare_exchange)
3149 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
3150 Use it instead of comparing size with a local list of sizes.
3151
3152 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
3153 Joseph Myers <joseph@codesourcery.com>
3154
3155 * c-common.h (enum rid): Add RID_ATOMIC.
3156 * c-common.c (c_common_reswords): Add _Atomic.
3157 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
3158 (keyword_is_type_qualifier): Accept RID_ATOMIC.
3159 * c-format.c (check_format_types): Check for extra _Atomic
3160 qualifiers in format argument.
3161 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
3162 (pp_c_type_qualifier_list): Mention _Atomic in comment.
3163
3164 2013-11-06 Tobias Burnus <burnus@net-b.de>
3165
3166 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
3167
3168 2013-11-06 Joseph Myers <joseph@codesourcery.com>
3169
3170 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
3171 standards modes.
3172 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
3173 to mean lack of IEEE 754 support.
3174
3175 2013-11-05 Tobias Burnus <burnus@net-b.de>
3176
3177 * c.opt (-Wdate-time): New option
3178 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
3179
3180 2013-11-05 Joseph Myers <joseph@codesourcery.com>
3181
3182 * c-cppbuiltin.c (cpp_iec_559_value): Test
3183 flag_excess_precision_cmdline not flag_excess_precision.
3184
3185 2013-11-05 Tobias Burnus <burnus@net-b.de>
3186
3187 * c.opt (fopenmp-simd): New option.
3188 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
3189 (omp_pragmas): ... this new struct.
3190 (c_pp_lookup_pragma): Also walk omp_pragmas.
3191 (init_pragma): Init pragmas for -fopenmp-simd.
3192
3193 2013-11-04 Marek Polacek <polacek@redhat.com>
3194
3195 PR c++/58979
3196 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
3197
3198 2013-11-04 Joseph Myers <joseph@codesourcery.com>
3199
3200 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
3201 New functions.
3202 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
3203
3204 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
3205
3206 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
3207 (dump_ada_specs): Adjust prototype of second callback.
3208 * c-ada-spec.c (cpp_check): New global variable.
3209 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
3210 (print_generic_ada_decl): Likewise.
3211 (has_static_fields): Change return type to bool and add guard.
3212 (has_nontrivial_methods): New predicate.
3213 (is_tagged_type): Change return type to bool.
3214 (separate_class_package): Call has_nontrivial_methods.
3215 (pp_ada_tree_identifier): Minor tweaks.
3216 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
3217 (dump_ada_array_domains): Likewise.
3218 (dump_ada_array_type): Likewise.
3219 (dump_template_types): Remove cpp_check parameter and do not pass it to
3220 dump_generic_ada_node.
3221 (dump_ada_template): Likewise.
3222 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
3223 recursively.
3224 (print_ada_methods): Change return type to integer. Remove cpp_check
3225 parameter and do not pass it down.
3226 (dump_nested_types): Remove cpp_check parameter and do not pass it to
3227 dump_generic_ada_node.
3228 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
3229 accessing methods.
3230 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
3231 down. Use has_nontrivial_methods to recognize C++ classes. Use return
3232 value of print_ada_methods.
3233 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
3234 Set cpp_check to it before invoking dump_ada_nodes.
3235 (dump_ada_specs): Likewise.
3236
3237 2013-11-03 Marek Polacek <polacek@redhat.com>
3238
3239 * c-ubsan.c: Don't include hash-table.h.
3240 (ubsan_instrument_vla): New function.
3241 * c-ubsan.h: Declare it.
3242
3243 2013-10-31 David Malcolm <dmalcolm@redhat.com>
3244
3245 Automated part of renaming of symtab_node_base to symtab_node.
3246
3247 Patch autogenerated by rename_symtab.py from
3248 https://github.com/davidmalcolm/gcc-refactoring-scripts
3249 revision 58bb219cc090b2f4516a9297d868c245495ee622
3250
3251 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
3252 symtab_node_base to symtab_node.
3253
3254 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
3255
3256 Implement C++14 digit separators.
3257 * c-lex.c (interpret_float): Remove digit separators from scratch string
3258 before building real literal.
3259
3260 2013-10-30 Jakub Jelinek <jakub@redhat.com>
3261
3262 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
3263
3264 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
3265
3266 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
3267 fields.
3268 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
3269 enabled.
3270 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
3271 (insert_cilk_frame): New prototype.
3272 (cilk_init_builtins): Likewise.
3273 (gimplify_cilk_spawn): Likewise.
3274 (c_cilk_install_body_w_frame_cleanup): Likewise.
3275 (cilk_detect_spawn_and_unwrap): Likewise.
3276 (cilk_set_spawn_marker): Likewise.
3277 (build_cilk_sync): Likewise.
3278 (build_cilk_spawn): Likewise.
3279 * cilk.c: New file.
3280
3281 2013-10-29 David Malcolm <dmalcolm@redhat.com>
3282
3283 Patch autogenerated by refactor_symtab.py from
3284 https://github.com/davidmalcolm/gcc-refactoring-scripts
3285 revision 58bb219cc090b2f4516a9297d868c245495ee622
3286
3287 * c-gimplify.c (c_genericize): Update for conversion of symtab types
3288 to a true class hierarchy.
3289 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
3290
3291 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
3292
3293 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
3294
3295 2013-10-26 Jeff Law <law@redhat.com>
3296
3297 * c-common.c (c_define_builtins): Remove mudflap support.
3298 * c.opt: Ignore and warn for mudflap options.
3299
3300 2013-10-24 Tobias Burnus <burnus@net-b.de>
3301
3302 PR other/33426
3303 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
3304 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
3305
3306 2013-10-23 Jason Merrill <jason@redhat.com>
3307
3308 * c-format.c (gcc_cxxdiag_char_table): Add %X.
3309
3310 2013-10-11 Jakub Jelinek <jakub@redhat.com>
3311
3312 * c-common.h (omp_clause_mask::operator !=): New method.
3313 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
3314 instead of if (mask & something) tests everywhere.
3315
3316 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
3317 201307 instead of 201107.
3318 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
3319 (c_common_attribute_table): Add "omp declare target" and
3320 "omp declare simd" attributes.
3321 (handle_omp_declare_target_attribute,
3322 handle_omp_declare_simd_attribute): New functions.
3323 * c-omp.c: Include c-pragma.h.
3324 (c_finish_omp_taskgroup): New function.
3325 (c_finish_omp_atomic): Add swapped argument, if true,
3326 build the operation first with rhs, lhs arguments and use NOP_EXPR
3327 build_modify_expr.
3328 (c_finish_omp_for): Add code argument, pass it down to make_code.
3329 (c_omp_split_clauses): New function.
3330 (c_split_parallel_clauses): Removed.
3331 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
3332 c_omp_declare_simd_clauses_to_decls): New functions.
3333 * c-common.h (omp_clause_mask): New type.
3334 (OMP_CLAUSE_MASK_1): Define.
3335 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
3336 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
3337 omp_clause_mask::operator |, omp_clause_mask::operator &,
3338 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
3339 omp_clause_mask::operator ==): New methods.
3340 (enum c_omp_clause_split): New.
3341 (c_finish_omp_taskgroup): New prototype.
3342 (c_finish_omp_atomic): Add swapped argument.
3343 (c_finish_omp_for): Add code argument.
3344 (c_omp_split_clauses): New prototype.
3345 (c_split_parallel_clauses): Removed.
3346 (c_omp_declare_simd_clauses_to_numbers,
3347 c_omp_declare_simd_clauses_to_decls): New prototypes.
3348 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
3349 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
3350 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
3351 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
3352 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
3353 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
3354 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
3355 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
3356 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
3357 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
3358 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
3359 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
3360 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
3361 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
3362 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
3363 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
3364 PRAGMA_OMP_CLAUSE_UNIFORM.
3365
3366 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
3367
3368 PR tree-optimization/20318
3369 * c-common.c (handle_returns_nonnull_attribute): New function.
3370 (c_common_attribute_table): Add returns_nonnull.
3371
3372 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
3373
3374 PR c++/19476
3375 * c.opt (fcheck-new): Move to common.opt.
3376
3377 2013-09-25 Marek Polacek <polacek@redhat.com>
3378 Jakub Jelinek <jakub@redhat.com>
3379
3380 PR sanitizer/58413
3381 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
3382 an expression if we can prove it is correct.
3383 (ubsan_instrument_division): Likewise. Remove unnecessary
3384 check.
3385
3386 2013-09-18 Marek Polacek <polacek@redhat.com>
3387
3388 PR sanitizer/58411
3389 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
3390 Declare it.
3391 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
3392
3393 2013-09-14 Iain Sandoe <iain@codesourcery.com>
3394
3395 PR target/48094
3396 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
3397 fobjc-gc, freplace-objc-classes): Accept for LTO.
3398
3399 2013-09-13 Jacek Caban <jacek@codeweavers.com>
3400
3401 * c-target.def: New hook
3402
3403 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3404
3405 PR c++/43452
3406 * c.opt (Wdelete-incomplete): Add.
3407
3408 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
3409
3410 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
3411 (vector_types_compatible_elements_p): New function.
3412 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
3413 declaration.
3414 (vector_types_compatible_elements_p): Declare.
3415
3416 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3417
3418 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
3419 a virtual member function.
3420 (pp_simple_type_specifier): Remove.
3421 (pp_c_type_specifier): Likewise.
3422 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
3423 Rename from pp_c_type_specifier. Adjust.
3424 (c_pretty_printer::c_pretty_printer): Do not assign to
3425 simple_type_specifier.
3426
3427 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3428
3429 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
3430 member function.
3431 (c_pretty_printer::storage_class_specifier): Likewise.
3432 (c_pretty_printer::initializer): Likewise.
3433 (pp_declaration): Remove.
3434 (pp_declaration_specifiers): Likewise.
3435 (pp_abstract_declarator): Likewise.
3436 (pp_declarator): Likewise.
3437 (pp_type_id): Likewise.
3438 (pp_statement): Likewise.
3439 (pp_constant): Likewise.
3440 (pp_id_expression): Likewise.
3441 (pp_primary_expression): Likewise.
3442 (pp_unary_expression): Likewise.
3443 (pp_multiplicative_expression): Likewise.
3444 (pp_conditional_expression): Likewise.
3445 (pp_assignment_expression): Likewise.
3446 (pp_expression): Likewise.
3447 (pp_c_type_id): Likewise.
3448 (pp_c_storage_class_specifier): Likewise.
3449 * c-pretty-print.c (pp_c_type_cast): Tidy.
3450 (pp_c_pointer): Likewise.
3451 (pp_c_type_specifier): Likewise.
3452 (pp_c_parameter_type_list): Likewise.
3453 (pp_c_function_definition): Likewise.
3454 (pp_c_init_declarator): Likewise.
3455 (pp_c_initializer_list): Likewise.
3456 (pp_c_constructor_elts): Likewise.
3457 (c_pretty_printer::direct_abstract_declarator): Likewise.
3458 (c_pretty_printer::declaration_specifiers): Likewise.
3459 (c_pretty_printer::primary_expression): Likewise.
3460 (c_pretty_printer::postfix_expression): Likewise.
3461 (c_pretty_printer::type_id): Rename from pp_c_type_id.
3462 (c_pretty_printer::storage_class_specifier): Rename from
3463 pp_c_storage_class_specifier.
3464 (c_pretty_printer::initializer): Rename from pp_c_initializer.
3465 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
3466 storage_class_specifier, initializer, offset_list, flags.
3467
3468 2013-08-30 Marek Polacek <polacek@redhat.com>
3469
3470 * c-ubsan.c: New file.
3471 * c-ubsan.h: New file.
3472
3473 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3474
3475 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
3476 member function.
3477 (c_pretty_printer::declaration_specifiers): Likewise.
3478 (c_pretty_printer::declarator): Likewise.
3479 (c_pretty_printer::abstract_declarator): Likewise.
3480 (c_pretty_printer::direct_abstract_declarator): Likewise.
3481 (c_pretty_printer::direct_declarator): Likewise.
3482 (c_pretty_printer::function_specifier): Likewise.
3483 (pp_declaration): Adjust.
3484 (pp_declaration_specifiers): Likewise.
3485 (pp_abstract_declarator): Likewise.
3486 (pp_direct_declarator): Likewise.
3487 (pp_function_specifier): Likewise.
3488 (pp_direct_abstract_declarator): Remove as unused.
3489 (pp_c_declaration): Remove.
3490 (pp_c_declaration_specifiers): Likewise.
3491 (pp_c_declarator): Likewise.
3492 (pp_c_direct_declarator): Likewise.
3493 (pp_c_function_specifier): Likewise.
3494 (pp_c_direct_abstract_declarator): Likewise.
3495 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
3496 from pp_c_abstract_declarator. Adjust.
3497 (c_pretty_printer::direct_abstract_declarator): Rename from
3498 pp_c_direct_abstract_declarator. Adjust.
3499 (c_pretty_printer::function_specifier): Rename from
3500 pp_c_function_specifier. Adjust.
3501 (c_pretty_printer::declaration_specifiers): Rename from
3502 pp_c_declaration_specifiers. Adjust.
3503 (c_pretty_printer::direct_declarator): Rename from
3504 pp_c_direct_declarator. Adjust.
3505 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
3506 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
3507 (c_pretty_printer::c_pretty_printer): Do not assign to
3508 declaration, declaration_specifiers, declarator,
3509 direct_declarator, direct_abstract_declarator, function_specifier.
3510
3511 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
3512
3513 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
3514 virtual member function.
3515 (c_pretty_printer::multiplicative_expression): Likewise.
3516 (c_pretty_printer::conditional_expression): Likewise.
3517 (c_pretty_printer::assignment_expression): Likewise.
3518 (c_pretty_printer::expression): Likewise.
3519 (pp_unary_expression): Adjust.
3520 (pp_multiplicative_expression): Likewise.
3521 (pp_assignment_expression): Likewise.
3522 (pp_conditional_expression): Likewise.
3523 (pp_expression): Likewise.
3524 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
3525 from pp_c_unary_expression. Adjust.
3526 (c_pretty_printer::multiplicative_expression): Rename from
3527 pp_c_multiplicative_expression. Adjust.
3528 (c_pretty_printer::conditional_expression): Rename from
3529 pp_c_conditional_expression. Adjust.
3530 (c_pretty_printer::assignment_expression): Rename from
3531 pp_c_assignment_expression. Adjust.
3532 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3533 (c_pretty_printer::c_pretty_printer): Do not assign to
3534 unary_expression, multiplicative_expression,
3535 conditional_expression, expression.
3536
3537 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3538
3539 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3540 virtual member function.
3541 (pp_postfix_expression): Adjust.
3542 (pp_c_postfix_expression): Remove.
3543 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3544 from pp_c_postfix_expression. Adjust.
3545 (c_pretty_printer::c_pretty_printer): Do not assign to
3546 postfix_expression.
3547
3548 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3549
3550 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3551 virtua member function.
3552 (pp_primary_expression): Adjust.
3553 (pp_c_primary_expression): Remove.
3554 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3555 from pp_c_primary_expression. Adjust.
3556 (pp_c_initializer_list): Use pp_primary_expression.
3557 (c_pretty_printer::c_pretty_printer): Do not assign to
3558 primary_expression.
3559
3560 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3561
3562 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3563 * c-pretty-print.c (M_): Remove.
3564 (c_pretty_printer::translate_string): Define.
3565 (pp_c_type_specifier): Use it.
3566 (pp_c_primary_expression): Likewise.
3567 (pp_c_expression): Likewise.
3568
3569 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3570
3571 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3572 virtual function.
3573 (pp_c_id_expression): Remove.
3574 (pp_id_expression): Adjust.
3575 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3576 pp_c_id_expression. Adjust.
3577 (pp_c_postfix_expression): Use pp_id_expression.
3578 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3579
3580 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3581
3582 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3583 member function.
3584 (pp_constant): Adjust.
3585 (pp_c_constant): Remove.
3586 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3587 pp_c_constant. Adjust.
3588 (pp_c_constant)
3589 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3590 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3591
3592 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3593
3594 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3595 (c_pretty_printer::c_pretty_printer): Declare.
3596 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3597 c_pretty_printer_init. Adjust.
3598 (print_c_tree): Do not call c_pretty_printer_init.
3599 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3600
3601 2013-08-09 Arnaud Charlet <charlet@adacore.com>
3602
3603 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3604
3605 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3606
3607 PR c++/58080
3608 * c-common.c (pointer_int_sum): Add bool parameter.
3609 * c-common.h (pointer_int_sum): Adjust declaration.
3610
3611 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3612
3613 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3614 c_pretty_printer variable.
3615
3616 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3617
3618 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3619 (pp_base): Remove.
3620 (pp_c_base): Likewise. Adjust users.
3621 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3622 (pp_c_whitespace): Do not call pp_base.
3623 (pp_c_left_paren): Likewise.
3624 (pp_c_right_paren): Likewise.
3625 (pp_c_left_brace): Likewise.
3626 (pp_c_right_brace): Likewise.
3627 (pp_c_left_bracket): Likewise.
3628 (pp_c_right_bracket): Likewise.
3629 (pp_c_dot): Likewise.
3630 (pp_c_ampersand): Likewise.
3631 (pp_c_star): Likewise.
3632 (pp_c_arrow): Likewise.
3633 (pp_c_semicolon): Likewise.
3634 (pp_c_complement): Likewise.
3635 (pp_c_exclamation): Likewise.
3636 (pp_c_direct_declarator): Likewise.
3637 (pp_c_ws_string): Likewise.
3638 (pp_c_identifier): Likewise.
3639 (pp_c_statement): Likewise.
3640 (print_c_tree): Likewise.
3641
3642 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3643
3644 PR c++/58072
3645 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3646 provide useful error strings.
3647
3648 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3649
3650 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3651 printer functions instead of pp_string or operators and punctuators.
3652 (dump_generic_ada_node): Likewise.
3653 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3654 (pp_c_relational_expression): Likewise.
3655 (pp_c_logical_or_expression): Likewise.
3656
3657 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3658
3659 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3660 functions instead of pp_character.
3661 (pp_ada_tree_identifier): Likewise.
3662 (dump_ada_double_name): Likewise.
3663 (dump_ada_function_declaration): Likewise.
3664 (dump_ada_array_domains): Likewise.
3665 (dump_template_types): Likewise.
3666 (dump_generic_ada_node): Likewise.
3667 (print_ada_declaration): Likewise.
3668 (print_ada_struct_decl): Likewise.
3669 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3670
3671 2013-07-23 Tom Tromey <tromey@redhat.com>
3672
3673 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3674 * c-common.c (c_common_reswords): Add _Generic.
3675
3676 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3677
3678 * c-common.c: Fix typos.
3679 * c-common.h: Likewise.
3680
3681 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
3682
3683 PR c++/55203
3684 * c-common.c (c_common_attribute_table): Add warn_unused.
3685 (handle_warn_unused_attribute): New.
3686
3687 2013-07-10 Jakub Jelinek <jakub@redhat.com>
3688
3689 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3690 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3691
3692 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3693
3694 PR c++/57869
3695 * c.opt: Add Wconditionally-supported.
3696
3697 2013-07-08 Graham Stott <graham.stott@btinternet.com>
3698
3699 * array-notation-common.c (length_mismatch_in_expr_p): Delete
3700 unused variables l_length and l_node.
3701
3702 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
3703
3704 PR c/57821
3705 * c-common.c (complete_array_type): Delay folding first index
3706 like other indices. When folding, check for index overflow.
3707
3708 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
3709
3710 PR c++/57509
3711 * c-common.h (c_build_vec_perm_expr): New complain argument.
3712 * c-common.c (c_build_vec_perm_expr): Likewise.
3713 Use save_expr also in C++.
3714
3715 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3716
3717 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3718 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3719 * c-opts.c (c_common_post_options): Likewise.
3720
3721 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3722
3723 * array-notation-common.c (length_mismatch_in_expr): Changed the
3724 parameter type's from a dynamic array to a vec_tree. Also removed
3725 the size parameters.
3726 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3727 the change above.
3728
3729 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3730
3731 * c-common.h (struct cilkplus_an_parts): New structure.
3732 (struct cilkplus_an_loop_parts): Likewise.
3733 (cilkplus_extract_an_triplets): New prototype.
3734 (fix_sec_implicit_args): Likewise.
3735 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3736 (fix_sec_implicit_args): Likewise.
3737
3738 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3739
3740 * array-notation-common.c (find_inv_trees): Removed an unwanted
3741 typecasting.
3742 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3743 enum rid to enum tree_code.
3744
3745 2013-06-11 Jan Hubicka <jh@suse.cz>
3746
3747 * c-common.c (handle_alias_ifunc_attribute): Do not set
3748 DECL_EXTERNAL for weakref variables.
3749 * c-pragma.c (handle_pragma_weak): Make sure aliases
3750 are not declared as external.
3751
3752 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3753
3754 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3755 function from c/c-array-notation.c.
3756 (is_cilkplus_reduce_builtin): Likewise.
3757 (find_rank): Likewise.
3758 (extract_array_notation_exprs): Likewise.
3759 (replace_array_notations): Likewise.
3760 (find_inv_trees): Likewise.
3761 (replace_inv_trees): Likewise.
3762 (contains_array_notation_expr): Likewise.
3763 (find_correct_array_notation_type): Likewise.
3764 * c-common.h (struct inv_list): Moved this struct from the file
3765 c/c-array-notation.c and added a new field called additional tcodes.
3766 (length_mismatch_in_expr_p): New prototype.
3767 (is_cilkplus_reduce_builtin): Likewise.
3768 (find_rank): Likewise.
3769 (extract_array_notation_exprs): Likewise.
3770 (replace_array_notation): Likewise.
3771 (find_inv_trees): Likewise.
3772 (replace_inv_trees): Likewise.
3773 (find_correct_array_notation_type): Likewise.
3774
3775 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3776
3777 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3778 function array_notation_init_builtins is called.
3779 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3780 * c-common.def (ARRAY_NOTATION_REF): New tree.
3781 * c-common.h (build_array_notation_expr): New function declaration.
3782 (build_array_notation_ref): Likewise.
3783 (extract_sec_implicit_index_arg): New extern declaration.
3784 (is_sec_implicit_index_fn): Likewise.
3785 (ARRAY_NOTATION_CHECK): New define.
3786 (ARRAY_NOTATION_ARRAY): Likewise.
3787 (ARRAY_NOTATION_START): Likewise.
3788 (ARRAY_NOTATION_LENGTH): Likewise.
3789 (ARRAY_NOTATION_STRIDE): Likewise.
3790 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3791 ARRAY_NOTATION_REF.
3792 (pp_c_expression): Likewise.
3793 * c.opt (flag_enable_cilkplus): New flag.
3794 * array-notation-common.c: New file.
3795
3796 2013-05-14 Jakub Jelinek <jakub@redhat.com>
3797
3798 PR c++/57274
3799 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3800
3801 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
3802
3803 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3804 vectors.
3805
3806 2013-05-07 Han Shen <shenhan@google.com>
3807
3808 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3809
3810 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3811
3812 * c-common.c (check_user_alignment): Emit error for negative values.
3813
3814 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3815
3816 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3817
3818 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3819
3820 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3821 __GXX_EXPERIMENTAL_CXX1Y__.
3822
3823 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3824 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3825
3826 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3827 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3828 to simply use OPT_Wpointer_arith.
3829 (c_sizeof_or_alignof_type): Likewise.
3830
3831 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3832
3833 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3834
3835 2013-04-12 Jakub Jelinek <jakub@redhat.com>
3836
3837 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3838 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3839 specifiers.
3840
3841 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3842
3843 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3844
3845 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3846
3847 * c-common.c (pointer_int_sum): Remove dead code.
3848
3849 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3850
3851 PR middle-end/56524
3852 * c-common.c (handle_optimize_attribute): Don't call
3853 save_optabs_if_changed.
3854
3855 2013-03-05 Jakub Jelinek <jakub@redhat.com>
3856
3857 PR middle-end/56461
3858 * c-pch.c (pch_init): Free target_validity at the end.
3859
3860 2013-03-04 Jakub Jelinek <jakub@redhat.com>
3861
3862 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3863
3864 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3865 Jakub Jelinek <jakub@redhat.com>
3866
3867 PR sanitizer/56454
3868 * c-common.c (handle_no_sanitize_address_attribute): New function.
3869 (c_common_attribute_table): Add no_sanitize_address attribute.
3870 (handle_no_address_safety_analysis_attribute): Add
3871 no_sanitize_address attribute, not no_address_safety_analysis
3872 attribute.
3873
3874 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
3875
3876 PR target/52555
3877 * c-common.c (handle_optimize_attribute): Call
3878 save_optabs_if_changed.
3879
3880 2013-02-18 Jakub Jelinek <jakub@redhat.com>
3881 Steven Bosscher <steven@gcc.gnu.org>
3882
3883 PR pch/54117
3884 * c-opts.c (c_common_post_options): If debug info is enabled
3885 and non-dwarf*, refuse to load PCH files and when writing PCH
3886 file warn.
3887
3888 2013-02-05 Jakub Jelinek <jakub@redhat.com>
3889
3890 PR middle-end/56167
3891 * c-common.c (handle_error_attribute): Fix condition.
3892
3893 2013-01-30 Jakub Jelinek <jakub@redhat.com>
3894
3895 PR c++/55742
3896 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3897
3898 2013-01-18 Jason Merrill <jason@redhat.com>
3899
3900 PR target/54908
3901 * c.opt (-fextern-tls-init): New.
3902 * c-opts.c (c_common_post_options): Handle it.
3903
3904 2013-01-09 Jakub Jelinek <jakub@redhat.com>
3905
3906 PR c/48418
3907 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3908 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3909 and is either negative or bigger or equal to type precision
3910 of the first operand.
3911
3912 2012-12-03 Marek Polacek <polacek@redhat.com>
3913
3914 PR c/55570
3915 * c-common.c (check_user_alignment): Swap order of tests,
3916 check TREE_CODE first.
3917
3918 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3919
3920 PR c++/52654
3921 * c-common.h (overflow_type): New enum.
3922 (build_userdef_literal): Add overflow_type argument.
3923 (tree_userdef_literal): Add overflow_type.
3924 (USERDEF_LITERAL_OVERFLOW): New access macro.
3925 * c-common.c (build_userdef_literal): Add overflow_type
3926 argument.
3927 * c-lex.c (c_lex_with_flags): Add overflow_type to
3928 build_userdef_literal calls.
3929 (interpret_integer, interpret_float): Add overflow_type argument.
3930
3931 2012-11-28 Richard Biener <rguenther@suse.de>
3932
3933 PR c/35634
3934 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3935 here and use a type with proper overflow behavior for types that would
3936 need to be promoted for the arithmetic.
3937
3938 2012-11-23 Jakub Jelinek <jakub@redhat.com>
3939
3940 PR sanitizer/55435
3941 * c-common.c (handle_no_address_safety_analysis_attribute): New
3942 function.
3943 (c_common_attribute_table): Add no_address_safety_analysis.
3944
3945 2012-11-16 Simon Baldwin <simonb@google.com>
3946
3947 * c.opt: Add f[no-]canonical-system-headers.
3948 * c-opts.c (c_common_handle_option): Handle
3949 OPT_fcanonical_system_headers.
3950
3951 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3952
3953 PR c++/54413
3954 * c-opts.c (c_common_handle_option): Set new flags.
3955 * c.opt: Describe new flags.
3956
3957 2012-11-09 Jason Merrill <jason@redhat.com>
3958
3959 * c.opt (Wabi-tag): New.
3960
3961 2012-11-09 Andi Kleen <ak@linux.intel.com>
3962
3963 PR 55139
3964 * c-common.c (get_atomic_generic_size): Mask with
3965 MEMMODEL_MASK
3966
3967 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3968
3969 PR c/53063
3970 * c.opt (Wformat): Make it Alias Wformat=1.
3971 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3972 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3973 LangEnabledBy.
3974 (Wformat=): RejectNegative. Use LangEnabledBy.
3975 (Wnonnull): Use LangEnabledBy.
3976 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3977 * c-format.c (set_Wformat): Delete.
3978 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3979 (maybe_read_dollar_number): Likewise.
3980 (avoid_dollar_number): Likewise.
3981 (finish_dollar_format_checking): Likewise.
3982 (check_format_info): Likewise.
3983 (check_format_info_main): Likewise.
3984 (check_format_types): Likewise.
3985 (format_type_warning): Likewise.
3986 * c-common.c (int): Likewise.
3987 (check_function_sentinel): Likewise.
3988 * c-common.h (warn_format,set_Wformat): Do not declare here.
3989
3990 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3991
3992 PR c/53063
3993 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3994 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3995 Use LangEnabledBy.
3996 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3997 common.opt.
3998 (Wvariadic-macros): Init(1).
3999 * c-opts.c (c_common_handle_option): Do not handle them
4000 explicitly.
4001 (c_common_post_options): Likewise.
4002 (sanitize_cpp_opts): warn_unused_macros is now
4003 cpp_warn_unused_macros.
4004 (push_command_line_include): Likewise.
4005 * c-common.c (warn_unknown_pragmas): Do not define.
4006 * c-common.h (warn_unknown_pragmas): Do not declare.
4007
4008 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4009
4010 PR c/51294
4011 * c-common.c (conversion_warning): Handle conditional expressions.
4012
4013 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
4014
4015 PR c++/54930
4016 * c.opt (Wreturn_local_addr): Define new option.
4017
4018 2012-10-25 Jason Merrill <jason@redhat.com>
4019
4020 * c.opt (Wvirtual-move-assign): New.
4021
4022 * c.opt (Winherited-variadic-ctor): New.
4023
4024 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
4025
4026 PR c++/54427
4027 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
4028
4029 2012-10-23 Joseph Myers <joseph@codesourcery.com>
4030
4031 * c-common.h (pch_cpp_save_state): Declare.
4032 * c-target.def (c_preinclude): New hook.
4033 * c-opts.c (done_preinclude): New.
4034 (push_command_line_include): Handle default preincluded header.
4035 (cb_file_change): Call pch_cpp_save_state when calling
4036 push_command_line_include.
4037 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
4038 (pch_cpp_save_state): New.
4039 (pch_init): Call pch_cpp_save_state conditionally, instead of
4040 calling cpp_save_state.
4041
4042 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4043
4044 PR c/53063
4045 PR c/40989
4046 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
4047 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
4048 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
4049 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
4050 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
4051 * c-opts.c (c_common_handle_option): Remove explicit handling from
4052 here.
4053 (c_common_post_options): Likewise.
4054
4055 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
4056
4057 * c-ada-spec.c (LOCATION_COL): Delete.
4058 (compare_location): New function.
4059 (compare_node): Use it.
4060 (compare_comment): Likewise.
4061
4062 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
4063
4064 PR c/53063
4065 PR c/40989
4066 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
4067 * c-opts.c (c_common_handle_option): Do not set them here. Add
4068 comment.
4069 (c_common_post_options): Likewise.
4070
4071 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
4072
4073 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
4074 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
4075 Remove POINTER_TYPE handling, add large unsigned handling and use
4076 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
4077
4078 2012-10-12 Jakub Jelinek <jakub@redhat.com>
4079
4080 PR c/54381
4081 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
4082 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
4083 locs and array of 3 trees instead of just single loc and single
4084 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
4085 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
4086 For *cmp* builtins that take two sources strings report warnings
4087 about first and second source, not about destination and source.
4088
4089 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
4090
4091 PR c++/53055
4092 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
4093
4094 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
4095
4096 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
4097 declaring something coming from another file.
4098
4099 2012-10-10 Arnaud Charlet <charlet@adacore.com>
4100
4101 PR ada/54845
4102 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
4103
4104 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
4105
4106 PR c++/54194
4107 * c-common.c (warn_about_parentheses): Add location_t parameter;
4108 use EXPR_LOC_OR_LOC.
4109 * c-common.h: Update declaration.
4110
4111 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
4112
4113 PR c++/54427
4114 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
4115 more operations. Make error messages optional.
4116 * c-common.h (enum stv_conv): Moved from c-typeck.c.
4117 (scalar_to_vector): Declare.
4118
4119 2012-10-08 Jason Merrill <jason@redhat.com>
4120
4121 * c-common.c (c_common_reswords): Add thread_local.
4122
4123 2012-10-08 Dodji Seketeli <dodji@redhat.com>
4124
4125 PR c++/53528 C++11 attribute support
4126 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
4127 new functions.
4128 * c-common.c (check_cxx_fundamental_alignment_constraints): New
4129 static function.
4130 (handle_aligned_attribute): In choose strictest alignment
4131 among many. Use new check_cxx_fundamental_alignment_constraints.
4132 (handle_transparent_union_attribute): In c++11 attribute syntax,
4133 don't look through typedefs.
4134
4135 2012-10-04 Arnaud Charlet <charlet@adacore.com>
4136
4137 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
4138 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
4139 out of dumpfile.h.
4140
4141 2012-09-25 Dehao Chen <dehao@google.com>
4142
4143 PR middle-end/54645
4144 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
4145 map when read in the pch.
4146
4147 2012-09-18 Arnaud Charlet <charlet@adacore.com>
4148
4149 * c-ada-spec.c: Style fixes.
4150
4151 2012-09-18 Thomas Quinot <quinot@adacore.com>
4152
4153 * c.opt (-fada-spec-parent): Define new command line switch.
4154 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
4155 is specified, generate binding spec as a child of the specified unit.
4156
4157 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
4158 Manuel López-Ibáñez <manu@gcc.gnu.org>
4159
4160 PR c++/53210
4161 * c.opt ([Winit-self]): Enabled by -Wall in C++.
4162
4163 2012-08-23 Arnaud Charlet <charlet@adacore.com>
4164
4165 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
4166 for pointers, and add missing Convention C pragma.
4167 (print_ada_struct_decl): Add missing aliased keyword.
4168 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
4169
4170 2012-08-17 Jakub Jelinek <jakub@redhat.com>
4171
4172 * c-common.c (sizeof_pointer_memaccess_warning): New function.
4173 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
4174 * c-opts.c (c_common_handle_option): Enable it for -Wall.
4175 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
4176 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
4177
4178 2012-08-10 Richard Guenther <rguenther@suse.de>
4179
4180 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
4181
4182 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
4183
4184 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
4185 instead of separate pp_newline and pp_flush.
4186 (print_c_tree): Likewise.
4187
4188 2012-07-26 Richard Henderson <rth@redhat.com>
4189
4190 * c-common.c (handle_hot_attribute): Allow labels.
4191 (handle_cold_attribute): Likewise.
4192
4193 2012-07-20 Jakub Jelinek <jakub@redhat.com>
4194
4195 PR c++/28656
4196 * c-common.c (check_function_nonnull): Handle multiple nonnull
4197 attributes properly.
4198
4199 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
4200
4201 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
4202 * c-ada-spec.c: Likewise.
4203 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
4204
4205 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
4206
4207 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
4208 Remove code conditional on it.
4209
4210 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
4211
4212 * c-gimplify.c: Do not include basic-block.h.
4213 * c-common.c: Do not include linfuncs.h.
4214
4215 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
4216
4217 * c-common.h: Include tree.h.
4218
4219 2012-07-02 Jason Merrill <jason@redhat.com>
4220
4221 PR c++/53524
4222 * c-common.c (get_priority): Call default_conversion.
4223
4224 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
4225
4226 * c-pch.c (c_common_write_pch): Remove unused variables.
4227
4228 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
4229
4230 * cppspec.c: Moved from gcc/ to here.
4231
4232 2012-06-27 Kai Tietz <ktietz@redhat.com>
4233
4234 PR preprocessor/37215
4235 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
4236
4237 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
4238
4239 * c-common.h (c_common_print_pch_checksum): Remove.
4240 * c-pch.c: Do not include output.h.
4241 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
4242 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
4243 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
4244 (struct c_pch_header): Remove.
4245 (get_ident): Update gpch version.
4246 (pch_init): Do not print executable_checksum to asm_out_file.
4247 Do not fail if there is no asm_out_file to read back from. Set
4248 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
4249 (c_common_write_pch): Verify that nothing was written to asm_out_file
4250 since pch_init was called. Do not write a c_pch_header, and do not
4251 copy from asm_out_file to the PCH.
4252 (c_common_read_pch): Do not read a c_pch_header, and do not restore
4253 the content of asm_out_file from the PCH.
4254 (c_common_print_pch_checksum): Remove.
4255 * c-opts.c (c_common_init): Print out executable_checksum directly.
4256
4257 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4258
4259 * c-target.def (objc_declare_unresolved_class_reference,
4260 objc_declare_class_definition): Add new hooks.
4261
4262 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4263
4264 * c-lex.c: Do not include output.h.
4265 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
4266 Remove uses of ASM_OUTPUT_IDENT.
4267
4268 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
4269
4270 PR c++/51033
4271 * c-common.h (c_build_vec_perm_expr): Move decl here.
4272 * c-common.c (c_build_vec_perm_expr): Move definition
4273 here.
4274
4275 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
4276
4277 * c.opt (fconserve-space): Turn into a no-op.
4278
4279 2012-06-04 Sterling Augustine <saugustine@google.com>
4280
4281 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
4282 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
4283 both the start and end of the function.
4284
4285 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4286
4287 * c-common.c: Do not include output.h.
4288 * c-pragma.c: Likewise.
4289
4290 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4291
4292 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
4293 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
4294 (lang_decl_name): Handle namespace decls.
4295
4296 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
4297
4298 * c-ada-spec.c: Do not include output.h.
4299 * c-semantics.c: Likewise.
4300
4301 2012-05-29 Joseph Myers <joseph@codesourcery.com>
4302
4303 * c-common.c: Fix typo.
4304
4305 2012-05-29 Michael Matz <matz@suse.de>
4306
4307 * c-common.h (c_expand_decl): Remove prototype.
4308
4309 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4310
4311 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
4312 * c-opts.c (c_common_handle_option): Remove code handling
4313 warn_missing_braces.
4314
4315 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
4316
4317 PR c++/25137
4318 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
4319 -Wmissing_braces.
4320
4321 2012-05-22 Dodji Seketeli <dodji@redhat.com>
4322
4323 PR c++/53322
4324 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
4325
4326 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
4327
4328 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
4329 * c-opts.c (c_common_handle_option): Do not handle explicitly
4330 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
4331
4332 2012-05-16 Dodji Seketeli <dodji@redhat.com>
4333
4334 PR preprocessor/7263
4335 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
4336 to cpp_classify_number. For diagnostics, use the precise location
4337 instead of the global input_location.
4338
4339 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4340
4341 PR c++/11856
4342 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
4343
4344 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
4345
4346 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
4347
4348 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4349
4350 PR 53063
4351 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
4352 Wreorder): Use LangEnabledBy.
4353 * c-opts.c (c_common_handle_option): Do not enable them
4354 explicitly. Call lang-specific generated functions.
4355 (c_common_post_options): Do not set them here.
4356
4357 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
4358
4359 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
4360 Wmissing-field-initializers,Wmissing-parameter-type,
4361 Wold-style-declaration,Woverride-init): Use EnabledBy.
4362 * c-opts.c (c_common_post_options): Do not set here explicitly.
4363
4364 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4365
4366 PR 53063
4367 * c-opts.c (c_common_handle_option): Use handle_generated_option
4368 to enable sub-options.
4369
4370 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
4371
4372 PR c++/53158
4373 * c-common.c (warnings_for_convert_and_check): Use warning_at.
4374
4375 2012-05-10 Richard Guenther <rguenther@suse.de>
4376
4377 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
4378 adjust commentary about TYPE_IS_SIZETYPE types.
4379
4380 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4381
4382 PR c++/53261
4383 * c-common.c (warn_logical_operator): Check that argument of
4384 integer_zerop is not NULL.
4385
4386 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
4387
4388 PR c/43772
4389 * c-common.c (warn_logical_operator): Do not warn if either side
4390 is already true or false.
4391
4392 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4393
4394 PR c/51712
4395 * c-common.c (expr_original_type): New.
4396 (shorten_compare): Do not warn for enumeration types.
4397
4398 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4399
4400 * c.opt (fpermissive): Add Var(flag_permissive).
4401
4402 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
4403
4404 PR c++/51033
4405 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
4406 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
4407
4408 2012-04-30 Dodji Seketeli <dodji@redhat.com>
4409
4410 Add -Wvarargs option
4411 * c.opt (Wvarargs): Define new option.
4412
4413 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4414
4415 * c-common.c (check_function_arguments): Replace
4416 Wmissing-format-attribute with Wsuggest-attribute=format.
4417
4418 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4419
4420 * c.opt (Wsuggest-attribute=format): New. Alias of
4421 Wmissing-format-attribute.
4422 * c-format.c (decode_format_type): Replace
4423 Wmissing-format-attribute with Wsuggest-attribute=format.
4424 (check_function_format): Likewise.
4425
4426 2012-04-27 Ollie Wild <aaw@google.com>
4427
4428 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
4429 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
4430 * c.opt: Add Wliteral-suffix.
4431
4432 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4433
4434 PR c/44774
4435 * c.opt (Wpedantic): New.
4436 (pedantic): Alias Wpedantic.
4437 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
4438 (c_common_post_options): Likewise.
4439 (sanitize_cpp_opts): Likewise.
4440 * c-lex.c (interpret_float): Likewise.
4441 * c-format.c (check_format_types): Likewise.
4442 * c-common.c (pointer_int_sum): Likewise.
4443 (c_sizeof_or_alignof_type): Likewise.
4444 (c_add_case_label): Likewise.
4445 (c_do_switch_warnings): Likewise.
4446 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4447
4448 2012-04-15 Jason Merrill <jason@redhat.com>
4449
4450 PR c++/52818
4451 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
4452 (C_STD_NAME): Distinguish between C++98 and C++11.
4453
4454 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
4455
4456 PR target/52624
4457 * c-common.h (uint16_type_node): Rename into...
4458 (c_uint16_type_node): ...this.
4459 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
4460 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
4461
4462 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
4463
4464 * c-common.c (warn_if_unused_value): Move definition to here.
4465 * c-common.h (warn_if_unused_value): Move declaration to here.
4466
4467 2012-03-23 William Bader <williambader@hotmail.com>
4468
4469 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
4470
4471 2012-03-20 Jason Merrill <jason@redhat.com>
4472
4473 * c-common.h (enum cxx_dialect): Add cxx1y.
4474 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
4475 test.
4476 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4477 * c-opts.c (c_common_post_options): Likewise.
4478 (set_std_cxx1y): New.
4479 (c_common_handle_option): Call it.
4480 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
4481
4482 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4483
4484 PR c++/14710
4485 * c.opt ([Wuseless-cast]): Add.
4486
4487 2012-03-16 Richard Guenther <rguenther@suse.de>
4488
4489 * c-pretty-print.c (pp_c_initializer_list): Adjust.
4490
4491 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4492
4493 PR c++/44783
4494 * c.opt (ftemplate-backtrace-limit) Add.
4495
4496 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4497
4498 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
4499 handling.
4500 * c-pragma.c (handle_pragma_extern_prefix): Remove.
4501 (init_pragma): Don't register extern_prefix.
4502
4503 2012-03-12 Richard Guenther <rguenther@suse.de>
4504
4505 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
4506 (builtin_type_for_size): Likewise.
4507
4508 2012-02-13 Jakub Jelinek <jakub@redhat.com>
4509
4510 PR c++/52215
4511 * c-common.c (sync_resolve_params): Don't decide whether to convert
4512 or not based on TYPE_SIZE comparison, convert whenever arg_type
4513 is unsigned INTEGER_TYPE.
4514
4515 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
4516
4517 PR c/52118
4518 * c.opt ([Wunused-local-typedefs]): Fix description.
4519
4520 2012-01-24 Mike Stump <mikestump@comcast.net>
4521
4522 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
4523 exactly.
4524
4525 2012-01-18 Richard Guenther <rguenther@suse.de>
4526
4527 * c-opts.c (c_common_post_options): Reset LTO flags if
4528 we are about to generate a PCH.
4529
4530 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
4531
4532 PR c++/51777
4533 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4534 use pp_unsigned_wide_integer.
4535
4536 2012-01-10 Richard Guenther <rguenther@suse.de>
4537
4538 PR middle-end/51806
4539 * c-opts.c (c_common_handle_option): Move -Werror handling
4540 to language independent code.
4541
4542 2012-01-05 Richard Guenther <rguenther@suse.de>
4543
4544 PR middle-end/51764
4545 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4546 from common.opt.
4547
4548 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4549
4550 PR c++/51316
4551 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4552 of array types with an unknown bound.
4553
4554 2011-12-20 Joseph Myers <joseph@codesourcery.com>
4555
4556 * c-common.c (flag_isoc99): Update comment to refer to C11.
4557 (flag_isoc1x): Change to flag_isoc11.
4558 * c-common.h (flag_isoc99): Update comment to refer to C11.
4559 (flag_isoc1x): Change to flag_isoc11.
4560 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4561 C11.
4562 * c-opts.c (set_std_c1x): Change to set_std_c11.
4563 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4564 Call set_std_c11.
4565 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4566 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4567 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4568 standard.
4569 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4570 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4571 (std=gnu1x): Make alias of std=gnu11.
4572
4573 2011-12-19 Jason Merrill <jason@redhat.com>
4574
4575 PR c++/51228
4576 * c-common.c (handle_transparent_union_attribute): Check the first
4577 field if the type is complete.
4578
4579 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4580
4581 PR libstdc++/51365
4582 * c-common.c (RID_IS_FINAL): Add.
4583 * c-common.h (RID_IS_FINAL): Add.
4584
4585 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4586
4587 * c.opt (fgnu-runtime): Provide full description.
4588 (fnext-runtime): Likewise.
4589 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4590
4591 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
4592
4593 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4594 predefines in one place. Add LOCK_FREE predefines.
4595 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4596 new func.
4597
4598 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
4599
4600 PR c/51256
4601 * c-common.c (get_atomic_generic_size): Check for various error
4602 conditions
4603 (resolve_overloaded_atomic_exchange,
4604 resolve_overloaded_atomic_compare_exchange,
4605 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4606 error_mark_node for error conditions.
4607
4608 2011-11-08 Richard Guenther <rguenther@suse.de>
4609
4610 PR middle-end/51010
4611 c-family/
4612
4613 2011-11-07 Richard Henderson <rth@redhat.com>
4614 Aldy Hernandez <aldyh@redhat.com>
4615 Torvald Riegel <triegel@redhat.com>
4616
4617 Merged from transactional-memory.
4618
4619 * c-common.c (handle_tm_wrap_attribute,
4620 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4621 (struct c_common_reswords): Added __transaction* keywords.
4622 (struct c_common_attribute_table): Added transaction* and tm_regparm
4623 attributes.
4624 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4625 masks.
4626 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4627 find_tm_attribute): Declare.
4628
4629 2011-11-07 Jason Merrill <jason@redhat.com>
4630
4631 PR c++/35688
4632 * c-common.c, c-common.h: Revert yesterday's changes.
4633
4634 2011-11-06 Jason Merrill <jason@redhat.com>
4635
4636 PR c++/35688
4637 * c-common.c (decl_has_visibility_attr): Split out from...
4638 (c_determine_visibility): ...here.
4639 * c-common.h: Declare it.
4640
4641 2011-11-06 Joseph Myers <joseph@codesourcery.com>
4642
4643 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4644 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4645 type.
4646 (check_user_alignment): New. Split out of
4647 handle_aligned_attribute. Disallow integer constants with
4648 noninteger types. Conditionally allow zero.
4649 (handle_aligned_attribute): Use check_user_alignment.
4650 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4651
4652 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
4653 Richard Henderson <rth@redhat.com>
4654
4655 Merged from cxx-mem-model.
4656
4657 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
4658 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
4659 parameters that are the same type size.
4660 (get_atomic_generic_size): New. Find size of generic
4661 atomic function parameters and do typechecking.
4662 (add_atomic_size_parameter): New. Insert size into parameter list.
4663 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4664 either __atomic_exchange_n or external library call.
4665 (resolve_overloaded_atomic_compare_exchange): Restructure
4666 __atomic_compare_exchange to either _n variant or external library call.
4667 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
4668 __atomic_load_n or an external library call.
4669 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4670 __atomic_store_n or an external library call.
4671 (resolve_overloaded_builtin): Handle new __atomic builtins.
4672
4673 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4674
4675 PR c++/50608
4676 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4677 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4678 <INDIRECT_REF>: Return the argument.
4679 <ARRAY_REF>: Remove special code for negative offset.
4680 Call fold_build_pointer_plus instead of size_binop.
4681 (fold_offsetof): Remove STOP_REF argument and adjust.
4682 * c-common.h (fold_offsetof_1): Declare.
4683 (fold_offsetof): Remove STOP_REF argument.
4684
4685 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4686
4687 PR c++/50810
4688 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4689 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4690 Wnarrowing for C++0x and C++98.
4691 * c.opt ([Wnarrowing]): Update.
4692
4693 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4694
4695 PR c++/44277
4696 * c.opt: Add Wzero-as-null-pointer-constant.
4697
4698 2011-10-31 Jason Merrill <jason@redhat.com>
4699
4700 * c.opt (-fdeduce-init-list): Off by default.
4701
4702 PR c++/50920
4703 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4704 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4705 and -Wc++11-compat.
4706 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4707
4708 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4709
4710 PR c++/30066
4711 * c.opt (fvisibility-inlines-hidden): Description change.
4712
4713 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4714
4715 Implement C++11 user-defined literals.
4716 * c-common.c (build_userdef_literal): New.
4717 * c-common.def: New tree code.
4718 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4719 * c-lex.c (interpret_float): Add suffix parm.
4720 (c_lex_with_flags): Build literal tokens.
4721
4722 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4723
4724 PR c++/50841
4725 Revert:
4726 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4727
4728 PR c++/50810
4729 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4730 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4731 Wnarrowing for C++0x and C++98.
4732 * c.opt ([Wnarrowing]): Update.
4733
4734 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4735
4736 PR c++/50810
4737 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4738 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4739 Wnarrowing for C++0x and C++98.
4740 * c.opt ([Wnarrowing]): Update.
4741
4742 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4743
4744 PR c++/45385
4745 * c-common.c (conversion_warning): Remove code looking for
4746 artificial operands.
4747
4748 2011-10-18 Dodji Seketeli <dodji@redhat.com>
4749
4750 PR bootstrap/50760
4751 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
4752 !NO_IMPLICIT_EXTERN_C.
4753
4754 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
4755
4756 * c-common.c (c_common_reswords): Add __bases,
4757 __direct_bases.
4758 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4759
4760 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4761
4762 PR c++/50757
4763 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4764
4765 2011-10-15 Tom Tromey <tromey@redhat.com>
4766 Dodji Seketeli <dodji@redhat.com>
4767
4768 * c.opt (fdebug-cpp): New option.
4769 * c-opts.c (c_common_handle_option): Handle the option.
4770 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4771 output stream in parameter. Factorized from ...
4772 (maybe_print_line): ... this. Dump location debug information when
4773 -fdebug-cpp is in effect.
4774 (print_line_1): New static function. Takes an output stream in
4775 parameter. Factorized from ...
4776 (print_line): ... here. Dump location information when -fdebug-cpp
4777 is in effect.
4778 (scan_translation_unit): Dump location information when
4779 -fdebug-cpp is in effect.
4780
4781 2011-10-15 Tom Tromey <tromey@redhat.com>
4782 Dodji Seketeli <dodji@redhat.com>
4783
4784 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4785 without argument.
4786 * c-opts.c (c_common_handle_option)<case
4787 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4788 cases. Handle -ftrack-macro-expansion with and without argument.
4789
4790 2011-10-15 Tom Tromey <tromey@redhat.com>
4791 Dodji Seketeli <dodji@redhat.com>
4792
4793 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4794 (print_line, cb_define, do_line_change): Adjust to avoid touching
4795 the internals of struct line_map. Use the public API instead.
4796 * c-pch.c (c_common_read_pch): Likewise.
4797 * c-lex.c (fe_file_change): Likewise.
4798
4799 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4800
4801 PR c++/17212
4802 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4803
4804 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4805
4806 PR c++/33067
4807 * c-pretty-print.c (pp_c_floating_constant): Output
4808 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4809
4810 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4811
4812 * c-common.c (def_builtin_1): Delete old interface with two
4813 parallel arrays to hold standard builtin declarations, and replace
4814 it with a function based interface that can support creating
4815 builtins on the fly in the future. Change all uses, and poison
4816 the old names. Make sure 0 is not a legitimate builtin index.
4817 * c-omp.c (c_finish_omp_barrier): Ditto.
4818 (c_finish_omp_taskwait): Ditto.
4819 (c_finish_omp_flush): Ditto.
4820
4821 2011-10-11 Tristan Gingold <gingold@adacore.com>
4822
4823 * c.opt: (fallow-parameterless-variadic-functions): New.
4824
4825 2011-09-08 Dodji Seketeli <dodji@redhat.com>
4826
4827 PR c++/33255 - Support -Wunused-local-typedefs warning
4828 * c-common.h (struct c_language_function::local_typedefs): New
4829 field.
4830 (record_locally_defined_typedef, maybe_record_typedef_use)
4831 (maybe_warn_unused_local_typedefs): Declare new functions.
4832 * c-common.c (record_locally_defined_typedef)
4833 (maybe_record_typedef_use)
4834 (maybe_warn_unused_local_typedefs): Define new functions.
4835 * c.opt: Declare new -Wunused-local-typedefs flag.
4836
4837 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4838
4839 PR middle-end/50266
4840 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4841 computations.
4842
4843 2011-09-05 Richard Guenther <rguenther@suse.de>
4844
4845 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4846 of integer_minus_one_node for empty array upper bounds.
4847
4848 2011-08-28 Dodji Seketeli <dodji@redhat.com>
4849
4850 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4851 it's the first time it's being called on this main TU.
4852
4853 2011-08-24 Richard Guenther <rguenther@suse.de>
4854
4855 PR c/49396
4856 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4857
4858 2011-08-22 Gabriel Charette <gchare@google.com>
4859
4860 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4861 defined in cpp_init_builtins and c_cpp_builtins.
4862
4863 2011-08-19 Joseph Myers <joseph@codesourcery.com>
4864
4865 * c-common.c (c_common_reswords): Add __builtin_complex.
4866 * c-common.h (RID_BUILTIN_COMPLEX): New.
4867
4868 2011-08-18 Joseph Myers <joseph@codesourcery.com>
4869
4870 * c-common.c (c_common_reswords): Add _Noreturn.
4871 (keyword_is_function_specifier): Handle RID_NORETURN.
4872 * c-common.h (RID_NORETURN): New.
4873
4874 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4875
4876 * c-common.c (unsafe_conversion_p): New function. Check if it is
4877 unsafe to convert an expression to the type.
4878 (conversion_warning): Adjust, use unsafe_conversion_p.
4879 * c-common.h (unsafe_conversion_p): New function declaration.
4880
4881 2011-08-02 Jakub Jelinek <jakub@redhat.com>
4882
4883 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4884 (c_finish_omp_taskyield): New prototype.
4885 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4886 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4887 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4888 or RHS1 have side-effects, evaluate those too in the right spot,
4889 if it is a decl and LHS is also a decl, error out if they
4890 aren't the same.
4891 (c_finish_omp_taskyield): New function.
4892 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4893 * c-pragma.c (omp_pragmas): Add taskyield.
4894 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4895 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4896 PRAGMA_OMP_CLAUSE_MERGEABLE.
4897
4898 2011-07-25 Dodji Seketeli <dodji@redhat.com>
4899
4900 * c-common.h (set_underlying_type): Remove parm name from
4901 declaration.
4902
4903 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
4904
4905 * c-pretty-print.h: Search c-common.h in c-family.
4906
4907 2011-07-22 Jason Merrill <jason@redhat.com>
4908
4909 PR c++/49793
4910 * c.opt (Wnarrowing): New.
4911
4912 PR c++/30112
4913 * c-common.h: Declare c_linkage_bindings.
4914 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4915
4916 PR c++/49813
4917 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4918 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4919 as flag_isoc99 for 'restrict'.
4920 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4921
4922 2011-07-21 Ian Lance Taylor <iant@google.com>
4923
4924 PR middle-end/49705
4925 * c-common.c (c_disable_warnings): New static function.
4926 (c_enable_warnings): New static function.
4927 (c_fully_fold_internal): Change local unused_p to bool. Call
4928 c_disable_warnings and c_enable_warnings rather than change
4929 c_inhibit_evaluation_warnings.
4930
4931 2011-07-20 Jason Merrill <jason@redhat.com>
4932
4933 PR c++/6709 (DR 743)
4934 PR c++/42603 (DR 950)
4935 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4936 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4937 (CPP_DECLTYPE): New.
4938 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4939
4940 2011-07-19 Richard Guenther <rguenther@suse.de>
4941
4942 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4943 * c-omp.c (c_finish_omp_for): Likewise.
4944
4945 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4946
4947 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4948 body on the next line.
4949
4950 2011-07-08 Jason Merrill <jason@redhat.com>
4951
4952 PR c++/45437
4953 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4954
4955 PR c++/49673
4956 * c-common.c (c_apply_type_quals_to_decl): Don't check
4957 TYPE_NEEDS_CONSTRUCTING.
4958
4959 2011-07-06 Richard Guenther <rguenther@suse.de>
4960
4961 * c-common.c (c_common_nodes_and_builtins):
4962 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4963
4964 2011-07-05 Richard Guenther <rguenther@suse.de>
4965
4966 * c-common.c (c_common_nodes_and_builtins): Build all common
4967 tree nodes first.
4968
4969 2011-06-27 Jakub Jelinek <jakub@redhat.com>
4970
4971 * c-common.h (c_tree_chain_next): New static inline function.
4972
4973 * c-common.c (check_builtin_function_arguments): Handle
4974 BUILT_IN_ASSUME_ALIGNED.
4975
4976 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
4977
4978 * c-common.c: Add sync_ or SYNC__ to builtin names.
4979 * c-omp.c: Add sync_ or SYNC__ to builtin names.
4980
4981 2011-06-20 Pierre Vittet <piervit@pvittet.com>
4982
4983 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4984 handler.
4985 (gen_pragma_handler): New union.
4986 (internal_pragma_handler): New type.
4987 (c_register_pragma_with_data)
4988 (c_register_pragma_with_expansion_and_data): New functions.
4989
4990 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4991 (c_register_pragma, c_register_pragma_with_expansion)
4992 (c_invoke_pragma_handler): Changed to work with
4993 internal_pragma_handler.
4994 (c_register_pragma_with_data)
4995 (c_register_pragma_with_expansion_and_data): New functions.
4996
4997 2011-06-14 Joseph Myers <joseph@codesourcery.com>
4998
4999 * c-common.c: Include common/common-target.h.
5000 (handle_section_attribute): Use
5001 targetm_common.have_named_sections.
5002 * c-cppbuiltin.c: Include common/common-target.h.
5003 (c_cpp_builtins): Use targetm_common.except_unwind_info.
5004
5005 2011-06-10 Richard Guenther <rguenther@suse.de>
5006
5007 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
5008 to print a IDENTIFIER_NODE.
5009
5010 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5011 Joseph Myers <joseph@codesourcery.com>
5012
5013 * c.opt (fbuilding-libgcc): New option.
5014 * c-cppbuiltin.c (c_cpp_builtins): Define
5015 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
5016
5017 2011-06-07 Jason Merrill <jason@redhat.com>
5018
5019 * c-common.c (max_tinst_depth): Lower default to 900.
5020
5021 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
5022
5023 2011-06-07 Richard Guenther <rguenther@suse.de>
5024
5025 * c-common.c (c_common_nodes_and_builtins): Do not set
5026 size_type_node or call set_sizetype.
5027
5028 2011-06-07 Dodji Seketeli <dodji@redhat.com>
5029
5030 PR debug/49130
5031 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
5032 type when using pointer comparison to compare types.
5033
5034 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
5035
5036 * c.opt: Add -Wdelete-non-virtual-dtor.
5037 * c-opts.c (c_common_handle_option): Include it in -Wall.
5038
5039 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
5040
5041 PR bootstrap/49190
5042
5043 Revert:
5044 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5045
5046 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5047 not tree_common.
5048
5049 2011-05-27 Jakub Jelinek <jakub@redhat.com>
5050
5051 PR c++/49165
5052 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
5053 C++ don't call c_common_truthvalue_conversion on void type arms.
5054
5055 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
5056
5057 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
5058 (stmt_list_stack): Define.
5059 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
5060 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
5061
5062 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5063
5064 * c-common.c (warning_candidate_p): Check for BLOCKs.
5065
5066 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5067
5068 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5069 not tree_common.
5070
5071 2011-05-25 Jakub Jelinek <jakub@redhat.com>
5072
5073 * c-common.c (def_fn_type): Remove extra va_end.
5074
5075 2011-05-23 Jason Merrill <jason@redhat.com>
5076
5077 PR c++/48106
5078 * c-common.c (c_common_get_narrower): New.
5079 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
5080
5081 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
5082
5083 * c-common.h (check_function_arguments): Tweak prototype of
5084 check_function_arguments.
5085 * c-common.c (check_function_arguments): Likewise. Adjust
5086 calls to check_function_nonnull, check_function_format, and
5087 check_function_sentinel.
5088 (check_function_sentinel): Take a FUNCTION_TYPE rather than
5089 separate attributes and typelist arguments. Use
5090 FOREACH_FUNCTION_ARGS to iterate over argument types.
5091
5092 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5093
5094 * c-common.c (c_common_reswords): Reorder.
5095 * c-common.h (rid): Likewise.
5096
5097 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
5098
5099 * c-common.c (def_fn_type): Don't call build_function_type, call
5100 build_function_type_array or build_varargs_function_type_array
5101 instead.
5102 (c_common_nodes_and_builtins): Likewise.
5103
5104 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
5105
5106 * c-common.c (c_add_case_label): Omit the loc argument to
5107 build_case_label.
5108 * c-common.h (build_case_label): Remove.
5109 * c-semantics.c (build_case_label): Remove.
5110
5111 2011-05-05 Joseph Myers <joseph@codesourcery.com>
5112
5113 * c-objc.h (objc_start_method_definition): Update prototype.
5114 * stub-objc.c (objc_start_method_definition): Add extra parameter.
5115
5116 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
5117
5118 * c-common.c (check_main_parameter_types): Reindent. Don't use
5119 TYPE_ARG_TYPES directly.
5120 (handle_nonnull_attribute): Likewise.
5121 (sync_resolve_params): Likewise.
5122 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
5123 to check_format_string.
5124 (handle_format_attribute): Likewise.
5125 (check_format_string): Take a function type to examine instead of
5126 a type list. Use a function_arg_iterator to step through argument
5127 types.
5128
5129 2011-05-04 Richard Guenther <rguenther@suse.de>
5130
5131 * c-common.c (fix_string_type): Use size_int for index type bounds.
5132 (start_fname_decls): Do not pass NULL to build_int_cst.
5133 (c_init_attributes): Likewise.
5134 * c-lex.c (c_lex_with_flags): Likewise.
5135
5136 2011-04-27 Jason Merrill <jason@redhat.com>
5137
5138 * c-common.c (make_tree_vector_from_list): New.
5139 * c-common.h: Declare it.
5140
5141 2011-04-26 Richard Guenther <rguenther@suse.de>
5142
5143 PR preprocessor/48248
5144 * c-ppoutput.c (maybe_print_line): Always optimize newlines
5145 for output size with -P.
5146
5147 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
5148
5149 * c-common.c (struct c_common_resword): Add __underlying_type.
5150 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
5151
5152 2011-04-20 Jim Meyering <meyering@redhat.com>
5153
5154 * c-format.c (init_dollar_format_checking): Remove useless
5155 if-before-free.
5156
5157 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
5158
5159 * c-objc.h (objc_get_interface_ivars): Removed.
5160 (objc_detect_field_duplicates): New.
5161 * stub-objc.c: Likewise.
5162
5163 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5164
5165 * stub-objc.c (objc_declare_protocols): Renamed to
5166 objc_declare_protocol.
5167 * c-objc.h: Likewise.
5168
5169 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5170
5171 * stub-objc.c (objc_declare_class): Updated argument name.
5172
5173 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
5174
5175 * c-common.h (c_common_init_ts): Declare.
5176 * c-common.c (c_common_init_ts): Define.
5177
5178 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
5179
5180 * c-objc.h (objc_build_message_expr): Updated prototype.
5181 * stub-objc.c (objc_build_message_expr): Likewise.
5182
5183 2011-04-12 Martin Jambor <mjambor@suse.cz>
5184
5185 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
5186 of cgraph_node.
5187
5188 2011-04-11 Richard Guenther <rguenther@suse.de>
5189
5190 * c-common.c (complete_array_type): Build a range type of
5191 proper type.
5192
5193 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
5194
5195 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
5196 (handle_type_generic_attribute): Likewise.
5197
5198 2011-04-07 Jason Merrill <jason@redhat.com>
5199
5200 PR c++/48450
5201 * c-common.c (c_common_truthvalue_conversion): Don't ignore
5202 conversion from C++0x scoped enum.
5203
5204 2011-04-06 Joseph Myers <joseph@codesourcery.com>
5205
5206 * c-target-def.h: New file.
5207 * c-target.def: New file.
5208 * c-target.h: New file.
5209 * c-common.c (targetcm): Don't define here.
5210 * c-common.h (default_handle_c_option): Declare.
5211 * c-format.c: Include c-target.h instead of target.h.
5212 * c-opts.c: Include c-target.h instead of target.h. Explicitly
5213 include tm.h.
5214 (default_handle_c_option): Move from targhooks.c.
5215
5216 2011-03-29 Jakub Jelinek <jakub@redhat.com>
5217
5218 PR preprocessor/48248
5219 * c-ppoutput.c (print): Add src_file field.
5220 (init_pp_output): Initialize it.
5221 (maybe_print_line): Don't optimize by adding up to 8 newlines
5222 if map->to_file and print.src_file are different file.
5223 (print_line): Update print.src_file.
5224
5225 2011-03-25 Kai Tietz <ktietz@redhat.com>
5226
5227 * c-ada-spec.c (compare_comment): Use filename_cmp
5228 instead of strcmp for filename.
5229
5230 2011-03-25 Jeff Law <law@redhat.com>
5231
5232 * c-common.c (def_fn_type): Add missing va_end.
5233
5234 2011-03-25 Jason Merrill <jason@redhat.com>
5235
5236 * c.opt: Add -std=c++03.
5237
5238 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5239
5240 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
5241
5242 2011-03-17 Kai Tietz
5243
5244 PR target/12171
5245 * c-pretty-print.c (pp_c_specifier_qualifier_list):
5246 Display allowed attributes for function pointer types.
5247 (pp_c_attributes_display): New function to display
5248 attributes having affects_type_identity flag set to true.
5249 * c-pretty-print.h (pp_c_attributes_display): New prototype.
5250
5251 * c-common.c (c_common_attribute_table):
5252 Add new element.
5253 (c_common_format_attribute_table): Likewise.
5254
5255 2011-03-18 Jason Merrill <jason@redhat.com>
5256
5257 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
5258 * c-common.h: Don't declare it here.
5259 * c-common.c: Or define it here.
5260 * c-opts.c (c_common_handle_option): Or set it here.
5261
5262 PR c++/35315
5263 * c-common.c (handle_transparent_union_attribute): Don't
5264 make a duplicate type in C++.
5265
5266 2011-03-15 Jason Merrill <jason@redhat.com>
5267
5268 * c-common.c (max_constexpr_depth): New.
5269 * c-common.h: Declare it.
5270 * c-opts.c (c_common_handle_option): Set it.
5271 * c.opt (fconstexpr-depth): New option.
5272
5273 2011-03-11 Jason Merrill <jason@redhat.com>
5274
5275 * c-common.c (attribute_takes_identifier_p): Add missing const.
5276
5277 PR c++/46803
5278 * c-common.c (attribute_takes_identifier_p): Assume that an
5279 unknown attribute takes an identifier.
5280
5281 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
5282
5283 PR c/47786
5284 * c-common.c (c_type_hash): Call list_length instead of iterating
5285 through DECL_CHAIN. Rename 'i' to 'n_elements'.
5286
5287 2011-02-19 Jakub Jelinek <jakub@redhat.com>
5288
5289 PR c/47809
5290 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
5291
5292 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
5293
5294 * c.opt (fobjc-abi-version=) New.
5295 (fobjc-nilcheck): New.
5296
5297 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
5298
5299 PR c++/46890
5300 * c-common.h (keyword_is_decl_specifier): Declare.
5301 * c-common.c (keyword_is_decl_specifier): Define.
5302 (keyword_is_function_specifier): New function.
5303
5304 2011-01-26 Jakub Jelinek <jakub@redhat.com>
5305
5306 PR c/47473
5307 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
5308 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
5309 REAL_TYPE.
5310
5311 2011-01-26 Arnaud Charlet <charlet@adacore.com>
5312
5313 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
5314
5315 2011-01-26 Jakub Jelinek <jakub@redhat.com>
5316
5317 PR pch/47430
5318 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
5319 after init_c_lex if pch_file is set.
5320
5321 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5322
5323 PR c++/43601
5324 * c.opt (-fkeep-inline-dllexport): New switch.
5325
5326 2011-01-12 Richard Guenther <rguenther@suse.de>
5327
5328 PR middle-end/32511
5329 * c-common.c (handle_weak_attribute): Warn instead of error
5330 on declaring an inline function weak.
5331
5332 2011-01-05 Tom Tromey <tromey@redhat.com>
5333
5334 * c-common.h (lvalue_error): Update.
5335 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
5336 not error.
5337
5338 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
5339
5340 PR objc/47075
5341 * c-objc.h (objc_finish_message_expr): Added argument to
5342 prototype.
5343
5344 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
5345
5346 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
5347 Use prototype_p.
5348
5349 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
5350
5351 * c-objc.h (objc_maybe_warn_exceptions): New.
5352 * stub-objc.c (objc_maybe_warn_exceptions): New.
5353
5354 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
5355
5356 * c-common.h (readonly_error): Declare.
5357 * c-common.c (readonly_error): Define.
5358
5359 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
5360
5361 * c-common.h (invalid_indirection_error): Declare.
5362 * c-common.c (invalid_indirection_error): Define.
5363
5364 2010-12-03 Richard Guenther <rguenther@suse.de>
5365
5366 PR c/46745
5367 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
5368 (pp_c_unary_expression): Likewise.
5369 (pp_c_expression): Likewise.
5370
5371 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
5372
5373 * c-common.h (objc_finish_function): New.
5374 (objc_non_volatilized_type): Removed.
5375 (objc_type_quals_match): Removed.
5376 * stub-objc.c (objc_finish_function): New.
5377 (objc_non_volatilized_type): Removed.
5378 (objc_type_quals_match): Removed.
5379
5380 2010-11-30 Joseph Myers <joseph@codesourcery.com>
5381
5382 * c-common.h (parse_optimize_options): Declare.
5383 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
5384 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
5385
5386 2010-11-29 Joseph Myers <joseph@codesourcery.com>
5387
5388 * c-opts.c (check_deps_environment_vars): Use getenv instead of
5389 GET_ENVIRONMENT.
5390 * c-pch.c (O_BINARY): Don't define here.
5391 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
5392
5393 2010-11-25 Joseph Myers <joseph@codesourcery.com>
5394
5395 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
5396 targetm.except_unwind_info.
5397
5398 2010-11-23 Joseph Myers <joseph@codesourcery.com>
5399
5400 * c-opts.c (c_common_handle_option): Pass location to
5401 set_struct_debug_option.
5402
5403 2010-11-23 Joseph Myers <joseph@codesourcery.com>
5404
5405 * c-common.c (visibility_options): Move from ../opts.c.
5406 * c-common.h (struct visibility_flags, visibility_options):
5407 Declare here.
5408 * c-opts.c (finish_options): Rename to c_finish_options.
5409 (c_common_init): Update call to finish_options.
5410
5411 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
5412
5413 PR objc/34033
5414 * c-lex.c (lex_string): Check that each string in an Objective-C
5415 string concat sequence starts with either one or zero '@', and
5416 that there are no spurious '@' signs at the end.
5417
5418 2010-11-20 Joseph Myers <joseph@codesourcery.com>
5419
5420 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
5421 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
5422 HANDLE_PRAGMA_VISIBILITY.
5423 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
5424 HANDLE_PRAGMA_VISIBILITY): Don't define.
5425 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
5426
5427 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
5428
5429 PR c++/16189
5430 PR c++/36888
5431 PR c++/45331
5432 * c-common.h (keyword_begins_type_specifier): Declare.
5433 (keyword_is_storage_class_specifier): Declare.
5434 (keyword_is_type_qualifier): Declare.
5435 * c-common.c (keyword_begins_type_specifier): New function.
5436 (keyword_is_storage_class_specifier): New function.
5437 (keyword_is_type_qualifier): Declare.
5438
5439 2010-11-19 Joseph Myers <joseph@codesourcery.com>
5440
5441 PR c/46547
5442 * c-common.c (in_late_binary_op): Define.
5443 (c_common_truthvalue_conversion): Check in_late_binary_op before
5444 calling c_save_expr.
5445 * c-common.h (in_late_binary_op): Declare.
5446
5447 2010-11-19 Joseph Myers <joseph@codesourcery.com>
5448
5449 * c-opts.c (c_common_handle_option): Update calls to
5450 set_struct_debug_option.
5451
5452 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
5453
5454 * c-common.h (objc_declare_protocols): Added additional argument.
5455 * stub-objc.c (objc_declare_protocol): Same change.
5456
5457 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
5458
5459 PR c/33193
5460 * c-common.h (build_real_imag_expr): Declare.
5461 * c-semantics.c (build_real_imag_expr): Define.
5462
5463 2010-11-17 Joseph Myers <joseph@codesourcery.com>
5464
5465 * c-opts.c (c_common_parse_file): Take no arguments.
5466 * c-common.h (c_common_parse_file): Update prototype.
5467
5468 2010-11-16 Jakub Jelinek <jakub@redhat.com>
5469
5470 PR c++/46401
5471 * c-common.c (warning_candidate_p): Don't track non-const calls
5472 or STRING_CSTs.
5473
5474 2010-11-15 Ian Lance Taylor <iant@google.com>
5475
5476 * c-lex.c (init_c_lex): Set macro debug callbacks if
5477 flag_dump_go_spec is set.
5478
5479 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
5480
5481 * c-common.h (objc_build_incr_expr_for_property_ref): New.
5482 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
5483
5484 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
5485
5486 PR preprocessor/45038
5487 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
5488 dialects.
5489
5490 2010-11-12 Joseph Myers <joseph@codesourcery.com>
5491
5492 * c-common.h (c_family_lang_mask): Declare.
5493 * c-opts.c (c_family_lang_mask): Make extern.
5494 * c-pragma.c (handle_pragma_diagnostic): Use
5495 control_warning_option.
5496
5497 2010-11-12 Joseph Myers <joseph@codesourcery.com>
5498
5499 * c-common.c (parse_optimize_options): Update call to
5500 decode_options.
5501 * c-common.h (c_common_handle_option): Update prototype.
5502 * c-opts.c (c_common_handle_option): Take location_t parameter and
5503 pass it to other functions.
5504
5505 2010-11-11 Joseph Myers <joseph@codesourcery.com>
5506
5507 * c-opts.c (warning_as_error_callback): Remove.
5508 (c_common_initialize_diagnostics): Don't call
5509 register_warning_as_error_callback.
5510 (c_common_handle_option): Handle -Werror=normalized= here.
5511
5512 2010-11-10 Joseph Myers <joseph@codesourcery.com>
5513
5514 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
5515 in diagnostic.
5516 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
5517 letter.
5518 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
5519 Remove trailing '.' from diagnostics.
5520 * c.opt (Wwrite-strings_: Avoid '`' in help text.
5521
5522 2010-11-10 Joseph Myers <joseph@codesourcery.com>
5523
5524 * c-common.c (parse_optimize_options): Pass global_dc to
5525 decode_options.
5526 * c-opts.c (c_common_handle_option): Pass &global_options to
5527 set_Wstrict_aliasing.
5528 * c.opt (v): Don't mark Common or document here.
5529
5530 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5531
5532 PR target/44981
5533 * c-format.c (format_type): New type gcc_objc_string_format_type.
5534 (valid_stringptr_type_p): New.
5535 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
5536 (check_format_string): Pass expected type, use
5537 valid_stringptr_type_p (), check that the format string types are
5538 consistent with the format specification.
5539 (decode_format_attr): Warn if NSString is used outside objective-c.
5540 (format_types_orig): Add NSString.
5541 (format_name): New.
5542 (format_flags): New.
5543 (check_format_arg): Handle format strings requiring an external parser.
5544 first_target_format_type: New variable.
5545 (handle_format_attribute): Set up first_target_format_type, pass the
5546 expected format arg string type to check_format_string().
5547 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5548 * stub-objc.c (objc_string_ref_type_p): New.
5549 (objc_check_format_arg): New.
5550
5551 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5552
5553 Fixed using the Objective-C 2.0 dot-syntax with class names.
5554 * c-common.h (objc_build_class_component_ref): New.
5555 * stub-objc.c (objc_build_class_component_ref): New.
5556
5557 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5558
5559 * c.opt (Wproperty-assign-default): New option.
5560
5561 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5562
5563 Implemented -fobjc-std=objc1 flag.
5564 * c.opt (fobjc-std=objc1): New option.
5565
5566 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5567
5568 Implemented format and noreturn attributes for Objective-C methods.
5569 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5570 attribute for Objective-C methods.
5571
5572 2010-10-31 Jason Merrill <jason@redhat.com>
5573
5574 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5575 EXPR_LOC_OR_HERE.
5576
5577 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5578
5579 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5580 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5581 (objc_add_property_declaration): Removed arguments for copies and
5582 ivar.
5583 (objc_build_getter_call): Renamed to
5584 objc_maybe_build_component_ref.
5585 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5586 (objc_is_property_ref): New.
5587 * c-common.c (c_common_reswords): Removed copies and ivar.
5588 * stub-objc.c (objc_add_property_declaration): Removed arguments
5589 for copies and ivar.
5590 (objc_build_getter_call): Renamed to
5591 objc_maybe_build_component_ref.
5592 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5593 (objc_is_property_ref): New.
5594
5595 2010-10-29 Arnaud Charlet <charlet@adacore.com>
5596 Matthew Gingell <gingell@adacore.com>
5597
5598 * c-ada-spec.c (separate_class_package): New function.
5599 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5600 name of their enclosing package.
5601 (print_ada_declaration): Use separate_class_package.
5602
5603 2010-10-27 Jason Merrill <jason@redhat.com>
5604
5605 * c-common.c (c_common_reswords): Add __is_literal_type.
5606 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5607
5608 * c-common.c (check_case_value): Remove special C++ code.
5609
5610 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5611
5612 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5613 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5614 and RID_LAST_PATTR.
5615 (objc_add_property_declaration): Added additional arguments.
5616 (objc_property_attribute_kind): Removed.
5617 (objc_set_property_attr): Removed.
5618 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5619 copy and nonatomic.
5620 * stub-objc.c (objc_add_property_declaration): Added additional
5621 arguments.
5622 (objc_set_property_attr): Removed.
5623
5624 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5625
5626 * c-common.h (objc_add_property_variable): Renamed to
5627 objc_add_property_declaration. Added location argument.
5628 * stub-objc.c (objc_add_property_variable): Same change.
5629
5630 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5631
5632 * c-common.h (objc_maybe_printable_name): New.
5633 * stub-objc.c (objc_maybe_printable_name): New.
5634
5635 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5636 Andrew Pinski <pinskia@gmail.com>
5637
5638 * c-common.h (c_common_mark_addressable_vec): Declare.
5639 * c-common.c (c_common_mark_addressable_vec): New function.
5640
5641 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5642
5643 * c-common.h (objc_set_method_type): Removed.
5644 (objc_add_method_declaration): Added boolean argument.
5645 (objc_start_method_definition): Same change.
5646 (objc_build_method_signature): Same change.
5647 * stub-objc.c (objc_set_method_type): Removed.
5648 (objc_add_method_declaration): Added boolean argument.
5649 (objc_start_method_definition): Same change.
5650 (objc_build_method_signature): Same change.
5651
5652 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5653
5654 * c-common.h (finish_file): Removed.
5655 (objc_write_global_declarations): New.
5656 * c-opts.c (c_common_parse_file): Do not call finish_file.
5657 * stub-objc.c (objc_write_global_declarations): New.
5658
5659 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5660
5661 Implemented parsing @synthesize and @dynamic for
5662 Objective-C/Objective-C++.
5663 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5664 (objc_add_synthesize_declaration): New.
5665 (objc_add_dynamic_declaration): New.
5666 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5667 * stub-objc.c (objc_add_synthesize_declaration): New.
5668 (objc_add_dynamic_declaration): New.
5669
5670 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5671
5672 PR target/46041
5673 * c-cppbuiltin.c (mode_has_fma): Move function here from
5674 builtins.c. Don't use the fma optab, instead just use the
5675 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5676 using -save-temps.
5677
5678 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5679
5680 Merge from 'apple/trunk' branch on FSF servers.
5681
5682 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5683
5684 Radar 4330422
5685 * c-common.h (objc_non_volatilized_type): New declaration
5686 * stub-objc.c (objc_non_volatilized_type): New stub.
5687
5688 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5689
5690 Merge from 'apple/trunk' branch on FSF servers.
5691
5692 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5693
5694 Radar 4133425
5695 * c-common.h (objc_diagnose_private_ivar): New decl.
5696 * stub-objc.c (objc_diagnose_private_ivar): New stub.
5697
5698 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5699
5700 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5701 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5702 (objc_ivar_visibility_kind): New enum.
5703 (objc_set_visibility): Adjust prototype to use visibility enum.
5704 * stub-objc.c (objc_set_visibility): Adjust stub to use
5705 visibility enum.
5706
5707 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5708
5709 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5710 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5711 has the appropriate fma builtins.
5712 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5713
5714 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5715
5716 merge from FSF apple 'trunk' branch.
5717 2006 Fariborz Jahanian <fjahanian@apple.com>
5718
5719 Radars 4436866, 4505126, 4506903, 4517826
5720 * c-common.c (c_common_resword): Define @property and its attributes.
5721 * c-common.h: Define property attribute enum entries.
5722 (OBJC_IS_PATTR_KEYWORD): New.
5723 (objc_property_attribute_kind): New enum.
5724 Declare objc_set_property_attr (), objc_add_property_variable (),
5725 objc_build_getter_call () and objc_build_setter_call ().
5726 * stub-objc.c (objc_set_property_attr): New stub.
5727 (objc_add_property_variable): Likewise.
5728 (objc_build_getter_call): Likewise.
5729 (objc_build_setter_call) Likewise.
5730
5731 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5732
5733 merge from FSF apple 'trunk' branch.
5734 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5735
5736 Radar 3803157 (method attributes)
5737 * c-common.c (handle_deprecated_attribute): Recognize
5738 objc methods as valid declarations.
5739 * c-common.h: Declare objc_method_decl ().
5740 * stub-objc.c (objc_method_decl): New stub.
5741
5742 2010-10-08 Joseph Myers <joseph@codesourcery.com>
5743
5744 * c-common.c (parse_optimize_options): Call
5745 decode_cmdline_options_to_array_default_mask before
5746 decode_options. Update arguments to decode_options.
5747 * c-common.h (c_common_init_options_struct): Declare.
5748 * c-opts.c (c_common_init_options_struct): New. Split out from
5749 c_common_init_options.
5750
5751 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5752
5753 Implemented fast enumeration for Objective-C.
5754 * c-common.h (objc_finish_foreach_loop): New.
5755 * stub-objc.c (objc_finish_foreach_loop): New.
5756
5757 2010-10-05 Joseph Myers <joseph@codesourcery.com>
5758
5759 * c-common.h (struct diagnostic_context): Don't declare here.
5760 (c_common_initialize_diagnostics): Declare using
5761 diagnostic_context typedef.
5762 * c-opts.c (c_common_handle_option): Pass global_dc to
5763 handle_generated_option.
5764
5765 2010-10-04 Joseph Myers <joseph@codesourcery.com>
5766
5767 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5768 handle_generated_option.
5769
5770 2010-10-03 Ian Lance Taylor <iant@google.com>
5771
5772 * c.opt (-fplan9-extensions): New option.
5773
5774 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5775
5776 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5777 Remove.
5778 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5779 of duplicating code.
5780
5781 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5782
5783 * c-common.c: Add two new entries for @optional
5784 and @required keywords.
5785
5786 merge from FSF 'apple/trunk' branch.
5787 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5788
5789 Radar 4386773
5790 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5791 objective-c keywords.
5792 (objc_set_method_opt): New declaration.
5793 * stub-objc.c (objc_set_method_opt): New stub.
5794
5795 2010-09-30 Joseph Myers <joseph@codesourcery.com>
5796
5797 * c-common.c (handle_optimize_attribute): Pass &global_options to
5798 cl_optimization_save and cl_optimization_restore.
5799 * c-opts.c (c_common_handle_option): Pass &global_options to
5800 handle_generated_option.
5801 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5802 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5803 &global_options to cl_optimization_restore.
5804
5805 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5806
5807 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5808 Objective-C/Objective-C++ keywords.
5809
5810 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5811
5812 Merge from 'apple/trunk' branch on FSF servers.
5813
5814 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5815
5816 Radar 4281748
5817 * c-common.h (objc_check_global_decl): New declaration.
5818 * stub-objc.c (objc_check_global_decl): New stub.
5819
5820 2010-09-29 Joseph Myers <joseph@codesourcery.com>
5821
5822 * c.opt: Don't use VarExists.
5823
5824 2010-09-29 Joseph Myers <joseph@codesourcery.com>
5825
5826 * c-common.c (c_cpp_error): Update names of diagnostic_context
5827 members.
5828 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5829 cl_optimization members.
5830 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5831 sanitize_cpp_opts, finish_options): Update names of cpp_options
5832 members.
5833
5834 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5835
5836 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5837 (objc_is_reserved_word): Removed.
5838 * c-common.c: Updated comments.
5839 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5840 objc_is_reserved_word.
5841 * stub-objc.c (objc_is_reserved_word): Removed.
5842
5843 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5844
5845 * c-common.h (objc_add_method_declaration): Adjust prototype to
5846 include attributes.
5847 (objc_start_method_definition): Likewise.
5848 (objc_build_keyword_decl): Likewise.
5849 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5850 (objc_start_method_definition): Likewise.
5851 (objc_build_keyword_decl): Likewise.
5852
5853 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5854
5855 * c-common.h (objc_start_class_interface): Adjust prototype.
5856 (objc_start_category_interface): Likewise.
5857 (objc_start_protocol): Likewise.
5858 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5859 (objc_start_class_interface): Likewise.
5860 (objc_start_category_interface): Likewise.
5861
5862 2010-09-27 Ian Lance Taylor <iant@google.com>
5863
5864 * c-common.c (c_common_attribute_table): Add no_split_stack.
5865 (handle_no_split_stack_attribute): New static function.
5866
5867 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5868
5869 Merge from 'apple/trunk' branch on FSF servers.
5870
5871 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5872
5873 Radar 4229905
5874 * c-common.h (objc_have_common_type): New declaration.
5875 * stub-objc.c (objc_have_common_type): New stub.
5876
5877 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5878
5879 Radar 4154928
5880 * c-common.h (objc_common_type): New prototype.
5881 * stub-objc.c (objc_common_type): New stub.
5882
5883 2010-09-24 Jan Hubicka <jh@suse.cz>
5884
5885 * c-common.c (handle_leaf_attribute): New function.
5886 (struct attribute_spec c_common_att): Add leaf.
5887
5888 2010-09-22 Joseph Myers <joseph@codesourcery.com>
5889
5890 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5891 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5892 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5893 -include-barrier, -include-directory, -include-directory=,
5894 -include-directory-after, -include-directory-after=,
5895 -include-prefix, -include-prefix=, -include-with-prefix,
5896 -include-with-prefix=, -include-with-prefix-after,
5897 -include-with-prefix-after=, -include-with-prefix-before,
5898 -include-with-prefix-before=, -no-integrated-cpp,
5899 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5900 -output=, -pedantic, -pedantic-errors, -preprocess,
5901 -print-missing-file-dependencies, -trace-includes, -traditional,
5902 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5903 -user-dependencies, -verbose, -write-dependencies,
5904 -write-user-dependencies, no-integrated-cpp, traditional): New.
5905
5906 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5907
5908 PR objc/23710
5909 * c-common.h (objc_start_method_definition): Return bool instead
5910 of void.
5911 * stub-objc.c (objc_start_method_definition): Return bool instead
5912 of void.
5913
5914 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5915
5916 PR objc/25965
5917 * c-common.h (objc_get_interface_ivars): New declaration.
5918 * stub-objc.c (objc_get_interface_ivars): New stub.
5919
5920 2010-09-15 Ian Lance Taylor <iant@google.com>
5921
5922 * c-common.c (parse_optimize_options): Do not capitalize warning
5923 messages. Remove period at end of warning message.
5924
5925 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5926
5927 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5928 (handle_alias_attribute): ... here.
5929 (handle_ifunc_attribute): New.
5930
5931 2010-09-06 Mark Mitchell <mark@codesourcery.com>
5932
5933 * c-common.h (do_warn_double_promotion): Declare.
5934 * c-common.c (do_warn_double_promotion): Define.
5935
5936 2010-09-05 Mark Mitchell <mark@codesourcery.com>
5937
5938 * c.opt (Wdouble-promotion): New.
5939
5940 2010-09-02 Joseph Myers <joseph@codesourcery.com>
5941
5942 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5943 fvtable-thunks, fxref): Mark no longer supported in help text.
5944
5945 2010-09-02 Joseph Myers <joseph@codesourcery.com>
5946
5947 * c.opt (Wimport, fall-virtual, falt-external-templates,
5948 fdefault-inline, fenum-int-equiv, fexternal-templates,
5949 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5950 fname-mangling-version-, fnew-abi, fnonnull-objects,
5951 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5952 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5953 applicable.
5954 (fhandle-exceptions): Mark with Alias and Warn.
5955 * c-opts.c (c_common_handle_option): Don't handle options marked
5956 as ignored.
5957
5958 2010-09-02 Joseph Myers <joseph@codesourcery.com>
5959
5960 * c.opt (Wcomments, Werror-implicit-function-declaration,
5961 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5962 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5963 aliases.
5964 * c-common.c (option_codes): Use OPT_Wcomment instead of
5965 OPT_Wcomments.
5966 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5967 Don't handle options marked as aliases.
5968
5969 2010-08-25 Richard Guenther <rguenther@suse.de>
5970
5971 * c-common.c (c_common_get_alias_set): Remove special
5972 handling for pointers.
5973
5974 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5975
5976 * c-common.c: Use FOR_EACH_VEC_ELT.
5977 * c-gimplify.c: Likewise.
5978 * c-pragma.c: Likewise.
5979
5980 2010-08-16 Joseph Myers <joseph@codesourcery.com>
5981
5982 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5983 RejectDriver.
5984 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5985 RejectDriver.
5986 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5987 instead of OPT_MDX and OPT_MMDX.
5988
5989 2010-08-16 Joseph Myers <joseph@codesourcery.com>
5990
5991 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5992
5993 2010-08-12 Joseph Myers <joseph@codesourcery.com>
5994
5995 * c.opt (MD, MMD): Change to MDX and MMDX.
5996 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5997
5998 2010-08-11 Joseph Myers <joseph@codesourcery.com>
5999
6000 * c-opts.c (c_common_handle_option): Call handle_generated_option
6001 instead of handle_option.
6002
6003 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6004
6005 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
6006 (maybe_apply_renaming_pragma): Delete unneeded declarations.
6007
6008 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6009
6010 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
6011 (pending_redefine_extname): Change type to a VEC.
6012 (add_to_renaming_pragma_list): Update for new type of
6013 pending_redefine_extname.
6014 (maybe_apply_renaming_pragma): Likewise.
6015
6016 2010-08-04 Arnaud Charlet <charlet@adacore.com>
6017
6018 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
6019 visited.
6020 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
6021 decide whether a type has already been declared/seen.
6022 Do not go to the original type.
6023 (dump_nested_types): New parameter forward.
6024 Generate forward declaration if needed and mark type as visited.
6025 (print_ada_declaration): Call dump_nested_types if not already done.
6026 Mark types as visited.
6027
6028 2010-08-03 Joseph Myers <joseph@codesourcery.com>
6029
6030 * c.opt (-print-pch-checksum): Remove option.
6031 * c-opts.c (c_common_handle_option): Don't handle
6032 OPT_print_pch_checksum.
6033
6034 2010-07-27 Joseph Myers <joseph@codesourcery.com>
6035
6036 * c-common.h (c_common_handle_option): Update prototype and return
6037 value type.
6038 * c-opts.c (c_common_handle_option): Update prototype and return
6039 value type. Update calls to handle_option and
6040 enable_warning_as_error.
6041
6042 2010-07-27 Jakub Jelinek <jakub@redhat.com>
6043
6044 PR c/45079
6045 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
6046
6047 2010-07-27 Joseph Myers <joseph@codesourcery.com>
6048
6049 * c-common.h (c_common_missing_argument): Remove.
6050 * c-opts.c (c_common_missing_argument): Remove.
6051 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
6052 idirafter, imacros, include, isysroot, isystem, iquote): Add
6053 MissingArgError.
6054 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
6055
6056 2010-07-27 Joseph Myers <joseph@codesourcery.com>
6057
6058 * c-common.h (c_common_option_lang_mask,
6059 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
6060 New.
6061 (c_common_init_options): Update prototype.
6062 * c-opts.c (c_common_option_lang_mask): New.
6063 (c_common_initialize_diagnostics): Split out of
6064 c_common_init_options.
6065 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
6066 New.
6067 (c_common_init_options): Update prototype. Use decoded options in
6068 search for -lang-asm.
6069
6070 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
6071
6072 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
6073 * c-format.c: Likewise.
6074
6075 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6076
6077 * c-common.h: Include diagnostic-core.h. Error if already
6078 included.
6079 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
6080
6081 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6082
6083 * c-common.c (IN_GCC_FRONTEND): Do not undef.
6084 Do not include expr.h
6085 (vector_mode_valid_p): Move here.
6086
6087 2010-06-21 DJ Delorie <dj@redhat.com>
6088
6089 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
6090 allow these pragmas anywhere.
6091
6092 2010-06-14 Jakub Jelinek <jakub@redhat.com>
6093
6094 PR bootstrap/44509
6095 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
6096 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
6097 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
6098 ggc_strdup instead of xstrdup.
6099
6100 2010-06-10 Jakub Jelinek <jakub@redhat.com>
6101
6102 * c-cppbuiltin.c: Include cpp-id-data.h.
6103 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
6104 (lazy_hex_fp_value): New function.
6105 (builtin_define_with_hex_fp_value): Provide definitions lazily.
6106
6107 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6108
6109 * c-gimplify.c: Do not include tree-flow.h
6110
6111 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
6112
6113 PR other/44034
6114 * c-common.c: Rename targetm member:
6115 targetm.enum_va_list -> targetm.enum_va_list_p
6116
6117 2010-06-28 Anatoly Sokolov <aesok@post.ru>
6118
6119 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
6120
6121 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
6122
6123 * c-cppbuiltin.c: Do not include except.h.
6124
6125 2010-06-24 Andi Kleen <ak@linux.intel.com>
6126
6127 * c-common.c (warn_for_omitted_condop): New.
6128 * c-common.h (warn_for_omitted_condop): Add prototype.
6129
6130 2010-06-21 Joseph Myers <joseph@codesourcery.com>
6131
6132 * c.opt (lang-objc): Remove.
6133 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
6134
6135 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
6136
6137 * c-opts.c: Include "tm_p.h".
6138
6139 2010-06-20 Joseph Myers <joseph@codesourcery.com>
6140
6141 * c-common.c (parse_optimize_options): Update call to
6142 decode_options.
6143
6144 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
6145
6146 * c-common.c (record_types_used_by_current_var_decl): Adjust for
6147 new type of types_used_by_cur_var_decl.
6148
6149 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
6150
6151 PR bootstrap/44512
6152 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
6153 for C++ standard compliance.
6154
6155 2010-06-16 Jason Merrill <jason@redhat.com>
6156
6157 * c.opt: Add -Wnoexcept.
6158
6159 2010-06-16 Richard Guenther <rguenther@suse.de>
6160
6161 PR c/44555
6162 * c-common.c (c_common_truthvalue_conversion): Remove
6163 premature and wrong optimization concering ADDR_EXPRs.
6164
6165 2010-06-15 Arnaud Charlet <charlet@adacore.com>
6166
6167 * c-ada-spec.c (dump_sloc): Remove column info.
6168 (is_simple_enum): New function.
6169 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
6170 enum types when relevant.
6171
6172 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6173
6174 * c-common.c (conversion_warning): Warn at expression
6175 location.
6176
6177 2010-06-10 Joseph Myers <joseph@codesourcery.com>
6178
6179 * c-opts.c (c_common_handle_option): Don't handle
6180 OPT_fshow_column.
6181
6182 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
6183
6184 * c-pragma.c (push_alignment): Use typed GC allocation.
6185 (handle_pragma_push_options): Likewise.
6186
6187 * c-common.c (parse_optimize_options): Likewise.
6188
6189 * c-common.h (struct sorted_fields_type): Add variable_size GTY
6190 option.
6191
6192 2010-06-07 Joseph Myers <joseph@codesourcery.com>
6193
6194 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
6195 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6196 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6197 flag_signed_bitfields, warn_strict_null_sentinel,
6198 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
6199 flag_gen_declaration, flag_no_gnu_keywords,
6200 flag_implement_inlines, flag_implicit_templates,
6201 flag_implicit_inline_templates, flag_optional_diags,
6202 flag_elide_constructors, flag_default_inline, flag_rtti,
6203 flag_conserve_space, flag_access_control, flag_check_new,
6204 flag_new_for_scope, flag_weak, flag_working_directory,
6205 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
6206 flag_enforce_eh_specs, flag_threadsafe_statics,
6207 flag_pretty_templates): Remove.
6208 * c-common.h (flag_preprocess_only, flag_nil_receivers,
6209 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
6210 flag_replace_objc_classes, flag_undef, flag_no_builtin,
6211 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6212 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6213 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
6214 flag_no_gnu_keywords, flag_implement_inlines,
6215 flag_implicit_templates, flag_implicit_inline_templates,
6216 flag_optional_diags, flag_elide_constructors, flag_default_inline,
6217 flag_rtti, flag_conserve_space, flag_access_control,
6218 flag_check_new, flag_new_for_scope, flag_weak,
6219 flag_working_directory, flag_use_cxa_atexit,
6220 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
6221 flag_threadsafe_statics, flag_pretty_templates,
6222 warn_strict_null_sentinel): Remove.
6223 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
6224 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
6225 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
6226 fimplicit-inline-templates, fimplicit-templates,
6227 flax-vector-conversions, fms-extensions, fnil-receivers,
6228 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
6229 frtti, fshort-double, fshort-enums, fshort-wchar,
6230 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
6231 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
6232 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
6233 gen-decls, undef): Use Var.
6234 (fdefault-inline, foptional-diags): Document as doing nothing.
6235 * c-opts.c (c_common_handle_option): Remove cases for options now
6236 using Var. Mark ignored options as such.
6237
6238 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
6239
6240 * c-common.c: Moved to here from parent directory.
6241 * c-common.def: Likewise.
6242 * c-common.h: Likewise.
6243 * c-cppbuiltin.c: Likewise.
6244 * c-dump.c: Likewise.
6245 * c-format.c: Likewise.
6246 * c-format.h : Likewise.
6247 * c-gimplify.c: Likewise.
6248 * c-lex.c: Likewise.
6249 * c-omp.c: Likewise.
6250 * c.opt: Likewise.
6251 * c-opts.c: Likewise.
6252 * c-pch.c: Likewise.
6253 * c-ppoutput.c: Likewise.
6254 * c-pragma.c: Likewise.
6255 * c-pragma.h: Likewise.
6256 * c-pretty-print.c: Likewise.
6257 * c-pretty-print.h: Likewise.
6258 * c-semantics.c: Likewise.
6259 * stub-objc.c: Likewise.
6260
6261 * c-common.c: Include gt-c-family-c-common.h.
6262 * c-pragma.c: Include gt-c-family-c-pragma.h.
6263 \f
6264 Copyright (C) 2010-2016 Free Software Foundation, Inc.
6265
6266 Copying and distribution of this file, with or without modification,
6267 are permitted in any medium without royalty provided the copyright
6268 notice and this notice are preserved.