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