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