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