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