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