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