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