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