]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Fix ifunc and resolver (PR ipa/81213).
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
3fe34694 12017-08-10 David Malcolm <dmalcolm@redhat.com>
2
3 * c-common.c (c_parse_error): Add rich_location * param, using it
4 rather implicitly using input_location.
5 * c-common.h (c_parse_error): Add rich_location * param.
6
623ee358 72017-08-09 Marek Polacek <polacek@redhat.com>
8
9 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
10 (c_common_truthvalue_conversion): Likewise.
11 * c-omp.c (c_finish_omp_atomic): Likewise.
12 * c-common.h (build_binary_op): Update declaration.
13
30a86690 142017-08-08 Martin Liska <mliska@suse.cz>
15
16 * c-ada-spec.c: Include header files.
17 * c-ubsan.c: Likewise.
18 * c-warn.c: Likewise.
19
b4ae034c 202017-08-07 Jakub Jelinek <jakub@redhat.com>
21
22 PR c/69389
23 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
24
22dadfd6 252017-08-07 Eric Botcazou <ebotcazou@adacore.com>
26
27 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
28 (print_ada_methods): Likewise.
29 (print_ada_declaration): Likewise.
30
1610e7fb 312017-08-07 Martin Liska <mliska@suse.cz>
32
33 * array-notation-common.c: Add new includes.
34 * c-format.c( handle_format_attribute): Canonicalize a format
35 function name.
36 * c-lex.c (c_common_has_attribute): Canonicalize name of an
37 attribute.
38 * c-pretty-print.c: Add new include.
39
5ddd2306 402017-08-05 Eric Botcazou <ebotcazou@adacore.com>
41
42 * c-ada-spec.c (has_static_fields): Look only into variables.
43 (print_constructor): Add TYPE parameter and use it for the name.
44 (print_destructor): Likewise.
45 (print_ada_declaration): Adjust to new constructor/destructor names.
46 Adjust calls to print_constructor and print_destructor.
47 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
48 Look only into variables in the final loop.
49
e2252c91 502017-08-01 Eric Botcazou <ebotcazou@adacore.com>
51
52 * c-ada-spec.c (has_static_fields): Look only into fields.
53 (dump_generic_ada_node): Small tweak.
54 (dump_nested_types): Look only into fields.
55 (print_ada_declaration): Look only into methods. Small tweak.
56 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
57
636174dc 582017-08-01 Eric Botcazou <ebotcazou@adacore.com>
59
60 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
61 (dump_ada_function_declaration): Likewise.
62 (dump_generic_ada_node): Likewise.
63 (print_ada_declaration): Add support for const-qualified variables.
64
dadc219c 652017-07-31 Martin Liska <mliska@suse.cz>
66
67 PR sanitize/81530
68 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
69 Guard condition with flag_sanitize_p also with current_function_decl
70 non-null equality.
71 (ubsan_maybe_instrument_reference_or_call): Likewise.
72
5eb639c2 732017-07-30 Uros Bizjak <ubizjak@gmail.com>
74
75 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
76
934a9503 772017-07-29 Eric Botcazou <ebotcazou@adacore.com>
78
79 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
80 for enumeral types.
81 (print_ada_declaration): Add missing guard for record types.
82
df930a61 832017-07-27 Jakub Jelinek <jakub@redhat.com>
84
85 PR c/45784
86 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
87 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
88 new COMPOUND_EXPRs around the rhs of the comparison.
89
7d4d7ecb 902017-07-27 Marek Polacek <polacek@redhat.com>
91
92 PR c/81417
93 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
94 the types.
95
280ce47d 962017-07-27 Jakub Jelinek <jakub@redhat.com>
97
98 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
99 (handle_noipa_attribute): New function.
100
e6c4532a 1012017-07-07 Torsten Duwe <duwe@suse.de>
102
103 * c-attribs.c (c_common_attribute_table): Add entry for
104 "patchable_function_entry".
105
ab87ee8f 1062017-07-20 Nathan Sidwell <nathan@acm.org>
107
108 Remove TYPE_METHODS.
109 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
110 dump_ada_template, print_ada_methods,
111 print_ada_declaration): Member fns are on TYPE_FIELDS.
112
a8de6c92 1132017-07-18 Nathan Sidwell <nathan@acm.org>
114
115 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
116
7f9c8569 1172017-07-14 David Malcolm <dmalcolm@redhat.com>
118
119 * c-common.c (try_to_locate_new_include_insertion_point): New
120 function.
121 (per_file_includes_t): New typedef.
122 (added_includes_t): New typedef.
123 (added_includes): New variable.
124 (maybe_add_include_fixit): New function.
125 * c-common.h (maybe_add_include_fixit): New decl.
126
b1b5fc9c 1272017-07-10 Martin Sebor <msebor@redhat.com>
128
129 PR other/81345
130 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
131
7051d239 1322017-07-06 David Malcolm <dmalcolm@redhat.com>
133
134 * c-common.c (selftest::c_family_tests): New.
135 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
136 (selftest::c_family_tests): New decl.
137
c18b3f9b 1382017-07-04 Marek Polacek <polacek@redhat.com>
139
140 PR c/81231
141 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
142 types.
143
a2de34d4 1442017-07-04 Marek Polacek <polacek@redhat.com>
145
146 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
147
72db0954 1482017-06-28 Martin Liska <mliska@suse.cz>
149
150 PR ipa/81128
151 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
152 to a function declaration.
153
52368c34 1542017-06-28 Martin Liska <mliska@suse.cz>
155
156 PR driver/79659
157 * c.opt: Add IntegerRange to various options.
158
2bfb0686 1592017-06-26 Marek Polacek <polacek@redhat.com>
160
161 PR c/80116
162 * c-common.h (warn_for_multistatement_macros): Declare.
163 * c-warn.c: Include "c-family/c-indentation.h".
164 (warn_for_multistatement_macros): New function.
165 * c.opt (Wmultistatement-macros): New option.
166 * c-indentation.c (guard_tinfo_to_string): No longer static.
167 Change the parameter type to "enum rid". Handle RID_SWITCH.
168 * c-indentation.h (guard_tinfo_to_string): Declare.
169
4e551c7d 1702017-06-23 Marc Glisse <marc.glisse@inria.fr>
171
172 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
173
a324786b 1742017-06-15 Martin Sebor <msebor@redhat.com>
175
176 PR c++/80560
177 * c.opt (-Wclass-memaccess): New option.
178
b4bbadc1 1792017-06-14 Boris Kolpackov <boris@codesynthesis.com>
180
181 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
182
314b4196 1832017-06-13 Marek Polacek <polacek@redhat.com>
184
185 PR objc/80949
186 * c-warn.c (do_warn_duplicated_branches): Return if any of the
187 branches is null.
188
9917317a 1892017-06-13 Martin Liska <mliska@suse.cz>
190
191 PR sanitize/78204
192 * c-attribs.c (add_no_sanitize_value): New function.
193 (handle_no_sanitize_attribute): Likewise.
194 (handle_no_sanitize_address_attribute): Use the function.
195 (handle_no_sanitize_thread_attribute): New function.
196 (handle_no_address_safety_analysis_attribute): Use
197 add_no_sanitize_value.
198 (handle_no_sanitize_undefined_attribute): Likewise.
199 * c-common.h: Declare new functions.
200 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
201 (ubsan_instrument_shift): Likewise.
202 (ubsan_instrument_bounds): Likewise.
203 (ubsan_maybe_instrument_array_ref): Likewise.
204 (ubsan_maybe_instrument_reference_or_call): Likewise.
205
e34c848a 2062017-06-11 Jason Merrill <jason@redhat.com>
207
208 * c-ada-spec.c, c-pragma.c: Use id_equal.
209
f8897e74 2102017-06-04 Marek Polacek <polacek@redhat.com>
211
212 PR c/80919
213 * c-format.c (matching_type_p): Return false if any of the types
214 requires structural equality.
215
a977cac9 2162017-06-02 Martin Sebor <msebor@redhat.com>
217
218 PR c/80892
219 * c-warn.c (conversion_warning): Use -Wconversion for integer
220 conversion and -Wfloat-conversion for floating one.
221
0ca70bfd 2222017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
223
224 * c.opt (Wsizeof-pointer-div): New warning option.
225
6cf2f0b6 2262017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
227
228 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
229 (Wcatch-value=1): Enable by -Wall.
230
4d1eda3a 2312017-05-30 David Malcolm <dmalcolm@redhat.com>
232
233 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
234 format_chars.
235 * c.opt (fdiagnostics-show-template-tree): New option.
236 (felide-type): New option.
237
6c547211 2382017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
239
240 * c.opt (Wcatch-value=): New C++ warning flag.
241
5570d275 2422017-05-24 Nathan Sidwell <nathan@acm.org>
243
244 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
245 const casts to avoid warning.
246
645b0f8d 2472017-05-24 Martin Sebor <msebor@redhat.com>
248
249 PR c/80731
250 * c-common.h (unsafe_conversion_p): Add a function argument.
251 * c-common.c (unsafe_conversion_p): Same.
252 Add type names and values to diagnostics.
253 (scalar_to_vector): Adjust.
254 * c-warn.c (constant_expression_error): Add a function argument.
255 Add type names and values to diagnostics.
256 (conversion_warning): Add a function argument.
257 Add type names and values to diagnostics.
258 (warnings_for_convert_and_check): Same.
259
65fb3b5b 2602017-05-19 Jason Merrill <jason@redhat.com>
261
262 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
263 enumerators.
264
5407f1e9 2652017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
266
267 * c-format.c (locus): Move out of function scope,
268 add GTY attribute.
269
0fa326f5 2702017-05-19 Nathan Sidwell <nathan@acm.org>
271
272 * c-opts.c (class_dump_file, class_dump_flags): Delete.
273 (c_common_parse_file): Remove class dump handling.
274 (get_dump_info): Likewise.
275
195b31a0 2762017-05-19 Richard Biener <rguenther@suse.de>
277
278 PR c++/80593
279 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
280 to alias-set zero memory.
281
1bccae6b 2822017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
283
284 * c-format.c (local_tree_type_node): Add GTY attribute.
285
78173203 2862017-05-18 Marek Polacek <polacek@redhat.com>
287
288 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
289 (c_common_fixed_point_type_for_size): Likewise.
290 (c_common_type_for_mode): Likewise.
291 (shorten_compare): Likewise.
292 (c_promoting_integer_type_p): Use false/true instead of 0/1.
293 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
294
2823920b 2952017-05-18 Marek Polacek <polacek@redhat.com>
296
297 * c-common.c (self_promoting_args_p): Change the return type to bool.
298 Use false/true instead of 0/1.
299 * c-common.h (self_promoting_args_p): Update.
300
72749341 3012017-05-17 Marek Polacek <polacek@redhat.com>
302
303 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
304 * c-warn.c: Likewise.
305
b4d90ee2 3062017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
307
308 Implement new C++ intrinsics __is_assignable and __is_constructible.
309 * c-common.c (__is_assignable, __is_constructible): New.
310 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
311
3f6e5ced 3122017-05-17 Martin Liska <mliska@suse.cz>
313
314 * c-common.h: Introduce dump_flags_t type and
315 use it instead of int type.
316 * c-gimplify.c (c_genericize): Likewise.
317 * c-opts.c: Likewise.
318
d0869ea4 3192017-05-17 Marek Polacek <polacek@redhat.com>
320
321 * c-common.c (c_save_expr): Remove.
322 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
323 * c-common.h (c_save_expr): Remove declaration.
324
0d7b4486 3252017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
326
327 PR c/35441
328 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
329 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
330 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
331 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
332 RDIV_EXPR.
333 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
334
1a2d3e8e 3352017-05-09 Marek Polacek <polacek@redhat.com>
336
337 PR c/80525
338 * c-warn.c (unwrap_c_maybe_const): New.
339 (warn_logical_operator): Call it.
340
cdf05a3f 3412017-05-09 Nathan Sidwell <nathan@acm.org>
342
343 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
344 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
345
554efdbb 3462017-05-08 Martin Sebor <msebor@redhat.com>
347
348 PR translation/80280
349 * c-format.h (struct format_flag_spec): Add new member.
350 (T89_T): New macro.
351 * c-format.c (local_tree_type_node): New global.
352 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
353 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
354 (strfmon_flag_specs): Likewise.
355 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
356 with distinct quoting properties.
357 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
358 (flag_chars_t::validate): Add argument and handle bad quoting.
359 (check_format_info_main): Handle quoting problems.
360 (init_dynamic_diag_info): Simplify.
361
7344fb00 3622017-05-08 Jason Merrill <jason@redhat.com>
363
364 * c-opts.c (c_common_post_options): Update defaults for
365 flag_abi_version and flag_abi_compat_version.
366
56b8400f 3672017-05-05 David Malcolm <dmalcolm@redhat.com>
368
369 * c-common.c (c_cpp_error): Replace report_diagnostic
370 with diagnostic_report_diagnostic.
371
8c41abe8 3722017-05-04 Martin Sebor <msebor@redhat.com>
373
374 PR translation/80280
375 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
376 (handle_weakref_attribute): Same.
377
a06321ef 3782017-05-03 Nathan Sidwell <nathan@acm.org>
379
380 Canonicalize canonical type hashing
381 * c-common.c (complete_array_type): Use type_hash_canon.
382
92bc38e7 3832017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
384
385 PR c++/80038
386 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
387 prototype.
388 (cilk_install_body_pedigree_operations): Likewise.
389 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
390 detatched.
391 (cilk_gimplify_call_params_in_spawned_fn): Remove.
392 (cilk_install_body_pedigree_operations): Likewise.
393 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
394 unwrapping.
395
fb8ab1f8 3962017-04-27 Jakub Jelinek <jakub@redhat.com>
397
398 PR c++/80534
399 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
400 flag on non-aggregate element types.
401
31af80fe 4022017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
403
404 * c-common.c (c_type_hasher, type_hash_table): Remove.
405 (c_common_get_alias_set): Remove unreachable code.
406 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
407
dc993150 4082017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
409
410 * c.opt (Wextra-semi): New C++ warning flag.
411
6bac87c3 4122017-04-20 Jakub Jelinek <jakub@redhat.com>
413
414 PR middle-end/80423
415 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
416
7ec2cbc9 4172017-04-18 Jakub Jelinek <jakub@redhat.com>
418
419 PR middle-end/79788
420 PR middle-end/80375
421 * c-common.c (c_common_type_for_mode): Don't handle
422 widest_*_literal_type_node here.
423 c_common_signed_or_unsigned_type): Likewise.
424 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
425 to *intTI_type_node or *intDI_type_node depending on whether
426 TImode is supported by the target or not.
427
65b66772 4282017-04-10 Martin Liska <mliska@suse.cz>
429
430 PR sanitizer/80350
431 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
432 doing an UBSAN check.
433
2fbe7a32 4342017-04-03 Jonathan Wakely <jwakely@redhat.com>
435
436 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
437
3ddb3278 4382017-03-31 Jakub Jelinek <jakub@redhat.com>
439
440 PR c++/79572
441 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
442 tree *.
443 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
444 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
445 REFERENCE_TYPE.
446
9511b9de 4472017-03-31 David Malcolm <dmalcolm@redhat.com>
448
449 PR documentation/78732
450 * c.opt (Wendif-labels): Fix description to refer to
451 #else rather than #elif.
452
ca2af7df 4532017-03-31 Jakub Jelinek <jakub@redhat.com>
454
455 PR libstdc++/80251
456 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
457 * c-common.c (c_common_reswords): Add __is_aggregate trait.
458
3385a573 4592017-03-27 Jakub Jelinek <jakub@redhat.com>
460
461 PR middle-end/80162
462 * c-common.c (c_common_mark_addressable_vec): Don't set
463 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
464
da7a26fc 4652017-03-21 Martin Sebor <msebor@redhat.com>
466
467 PR c++/79548
468 * c-common.c (set_underlying_type): Mark type used only when
469 original del is declared unused.
470
ca1f4c7a 4712017-03-10 David Malcolm <dmalcolm@redhat.com>
472
473 PR translation/79848
474 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
475 "%qs".
476
3b496eb9 4772017-03-10 David Malcolm <dmalcolm@redhat.com>
478
479 PR c/79921
480 * c-indentation.c (warn_for_misleading_indentation): Remove parens
481 from inform's message, so that xgettext can locate it.
482
6a9c24a0 4832017-03-09 Marek Polacek <polacek@redhat.com>
484
485 PR c++/79962
486 PR c++/79984
487 * c-attribs.c (handle_nonnull_attribute): Save the result of default
488 conversion to the attribute list.
489
5383272d 4902017-03-09 Martin Liska <mliska@suse.cz>
491
492 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
493
957a727b 4942017-03-03 Jason Merrill <jason@redhat.com>
495
496 * c.opt (Wnoexcept-type): New.
497
b977a7e3 4982017-03-02 Richard Biener <rguenther@suse.de>
499
500 PR c/79756
501 * c-common.c (c_common_mark_addressable_vec): Look through
502 C_MAYBE_CONST_EXPR.
503
78adba87 5042017-02-28 Martin Liska <mliska@suse.cz>
505
506 * c.opt: Replace space with tabular for options of <number>
507 type.
508
6ac368bb 5092017-02-28 Martin Liska <mliska@suse.cz>
510
511 * c.opt: Fix --help=option -Q for options which are of
512 an enum type.
513
bbd5521e 5142017-02-24 Jakub Jelinek <jakub@redhat.com>
515
516 PR c++/79588
517 * c-common.c (check_function_restrict): New function.
518 (check_function_arguments): Add FNDECL argument. Call
519 check_function_restrict if -Wrestrict.
520 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
521 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
522 * c-common.h (check_function_arguments): Add FNDECL argument.
523 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
524
e967bbfd 5252017-02-24 Eric Botcazou <ebotcazou@adacore.com>
526
527 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
528 treatment of parameters with pointer-to-tagged type and tidy up.
529 (print_ada_methods): Remove the special treatment of C++ static member
530 functions.
531
52ccf715 5322017-02-22 Martin Liska <mliska@suse.cz>
533
534 * c.opt: Replace inequality signs with square brackets
535 for -Wnornalized.
536
a42e4e13 5372017-02-21 Jakub Jelinek <jakub@redhat.com>
538
539 PR c++/79641
540 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
541 preserve quals.
542
f6202e1a 5432017-02-17 Joseph Myers <joseph@codesourcery.com>
544
545 * c-cppbuiltin.c (builtin_define_float_constants): Define
546 __DECIMAL_DIG__ to the value for long double.
547
0396f790 5482017-02-15 Marek Polacek <polacek@redhat.com>
549
550 PR c/79515
551 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
552 conversion has occured.
553
175e0d6b 5542017-01-24 David Malcolm <dmalcolm@redhat.com>
555
556 * c-common.c (c_common_reswords): Add "__RTL".
557 * c-common.h (enum rid): Add RID_RTL.
558
3ef7eab1 5592017-01-20 Marek Polacek <polacek@redhat.com>
560
561 PR c/64279
562 * c-common.h (do_warn_duplicated_branches_r): Declare.
563 * c-gimplify.c (c_genericize): Walk the function tree calling
564 do_warn_duplicated_branches_r.
565 * c-warn.c (expr_from_macro_expansion_r): New.
566 (do_warn_duplicated_branches): New.
567 (do_warn_duplicated_branches_r): New.
568 * c.opt (Wduplicated-branches): New option.
569
32641de7 5702017-01-17 David Malcolm <dmalcolm@redhat.com>
571
572 PR c++/71497
573 * c-indentation.c (warn_for_misleading_indentation): Use the past
574 subjunctive in the note.
575
7e66f344 5762017-01-17 Aldy Hernandez <aldyh@redhat.com>
577
578 PR c/79116
579 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
580 start type to integer_type.
581
14234f77 5822017-01-16 Jakub Jelinek <jakub@redhat.com>
583
584 PR driver/49726
585 * c.opt (gen-decls): Add Driver flag.
586
ba5a0dd7 5872017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
588
589 Revert:
590 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
591
592 PR c++/71737
593 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
594
231589de 5952017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
596
597 PR c++/71737
598 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
599
78cf39ca 6002017-01-12 Martin Sebor <msebor@redhat.com>
601
602 (-Wformat-overflow): ...to this.
603
1a1ce9a6 6042017-01-11 Martin Sebor <msebor@redhat.com>
605
606 PR c/78768
607 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
608 Also enable for LTO.
609
3386344d 6102017-01-10 Jason Merrill <jason@redhat.com>
611
612 Implement P0195R2, C++17 variadic using.
613 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
614
d0abd9e0 6152017-01-09 Jakub Jelinek <jakub@redhat.com>
616
617 PR translation/79019
618 PR translation/79020
619 * c.opt (Wnormalized=): Fix typo in description.
620
aba01341 6212017-01-08 Martin Sebor <msebor@redhat.com>
622
623 PR middle-end/77708
624 * c.opt (-Wformat-truncation): New option.
625
2792c2c7 6262017-01-06 Alexandre Oliva <aoliva@redhat.com>
627
628 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
629 value to unsigned short to fit in 4 hex digits without
630 warnings.
631
3389a464 6322017-01-05 Eric Botcazou <ebotcazou@adacore.com>
633
634 * c.opt (fsso-struct): Add 'native' value.
635
f6deeb21 6362017-01-05 Martin Liska <mliska@suse.cz>
637
638 PR pch/78970
639 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
640 header.
641
6124217c 6422017-01-04 Marek Polacek <polacek@redhat.com>
643
644 PR c++/64767
645 * c.opt (Wpointer-compare): New option.
646
48284845 6472017-01-04 Jakub Jelinek <jakub@redhat.com>
648
649 PR driver/78957
650 * c.opt (fsso-struct=): Add RejectNegative.
651
aad93da1 6522017-01-01 Jakub Jelinek <jakub@redhat.com>
653
654 Update copyright years.
655
7dbe2449 6562016-12-29 Martin Liska <mliska@suse.cz>
657
658 PR c/78933
659 * c.opt (strong-eval-order): Add RejectNegative keyword.
660
23ea3d01 6612016-12-22 Jason Merrill <jason@redhat.com>
662
663 Implement P0522R0, matching of template template arguments.
664 * c-cppbuiltin.c (c_cpp_builtins): Define
665 __cpp_template_template_args.
666
184fac50 6672016-12-21 Jakub Jelinek <jakub@redhat.com>
668
669 PR bootstrap/78817
670 * c-common.c (struct nonnull_arg_ctx): New type.
671 (check_function_nonnull): Return bool instead of void. Use
672 nonnull_arg_ctx as context rather than just location_t.
673 (check_nonnull_arg): Adjust for the new context type, set
674 warned_p to true if a warning has been diagnosed.
675 (check_function_arguments): Return bool instead of void.
676 * c-common.h (check_function_arguments): Adjust prototype.
677
7806e079 6782016-12-21 Jason Merrill <jason@redhat.com>
679
680 * c.opt (-fnew-ttp-matching): New flag.
681 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
682
4954efd4 6832016-12-14 Martin Jambor <mjambor@suse.cz>
684
685 * c-omp.c: Include omp-general.h instead of omp-low.h.
686 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
687 name.
688
5cfa3fc8 6892016-12-14 Martin Sebor <msebor@redhat.com>
690
691 PR c/17308
692 * c-common.c (check_nonnull_arg): Disable when optimization
693 is enabled.
694
bbdce47f 6952016-12-12 Marek Polacek <polacek@redhat.com>
696
697 PR c++/78647
698 * c-common.c (attribute_fallthrough_p): Return false for
699 error_mark_node.
700
370e45b9 7012016-12-08 Martin Sebor <msebor@redhat.com>
702
703 PR c/78284
704 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
705
3bb246b3 7062016-12-08 Martin Sebor <msebor@redhat.com>
707
708 PR c/78165
3199a7fa 709 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
710 suffix.
3bb246b3 711
5aef8938 7122016-12-07 Martin Sebor <msebor@redhat.com>
713
714 PR c/53562
715 PR middle-end/77784
716 PR middle-end/78149
717 PR middle-end/78138
718 * c.opt (-Wstringop-overflow): New option.
719
47c3d0de 7202016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
721
722 * c-attribs.c (asan odr indicator): New attribute.
723 (handle_asan_odr_indicator_attribute): New function.
724
c932c990 7252016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
726
727 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
728 ptrdiff_type_node;
729
c39beb8a 7302016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
731
732 * c-common.c (excess_precision_mode_join): New.
733 (c_ts18661_flt_eval_method): New.
734 (c_c11_flt_eval_method): Likewise.
735 (c_flt_eval_method): Likewise.
736 * c-common.h (excess_precision_mode_join): New.
737 (c_flt_eval_method): Likewise.
738 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
739 (cpp_iec_559_value): Call it.
740 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
741 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
742 __FLT_EVAL_METHOD_TS_18661_3__.
743
a998ac00 7442016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
745
746 * c-opts.c (c_common_post_options): Add logic to handle the default
747 case for -fpermitted-flt-eval-methods.
748
6e47b422 7492016-11-23 Paolo Bonzini <bonzini@gnu.org>
750
751 * c.opt (Wexpansion-to-defined): New.
752
0d65cc6c 7532016-11-23 Jakub Jelinek <jakub@redhat.com>
754
755 PR target/78451
756 * c-pragma.c (handle_pragma_target): Don't replace
757 current_target_pragma, but chainon the new args to the current one.
758
ff6497a3 7592016-11-22 Nathan Sidwell <nathan@acm.org>
760
761 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
bacc5324 762 indentation and formatting.
ff6497a3 763
13341287 7642016-11-21 Martin Sebor <msebor@redhat.com>
765
766 * c.opt (-fprintf-return-value): Enable by default.
767
f1b3e1c9 7682016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
769
770 PR c++/71973
771 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
772 * c-common.c (c_common_nodes_and_builtins): Initialize
773 const_tm_ptr_type_node.
774
6c1f90ee 7752016-11-16 Marek Polacek <polacek@redhat.com>
776
777 PR c/78285
778 * c-common.c (c_add_case_label): Turn error_at calls into inform.
779
a49621cf 7802016-11-14 Jakub Jelinek <jakub@redhat.com>
781
782 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
783
b1f04d34 7842016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
a49621cf 785 Richard Biener <rguenther@suse.de>
786
787 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
788 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
789 * c.opt (fgimple): New option.
b1f04d34 790
9b8f3aa1 7912016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
792
793 PR c/35503
794 * c-common.h (warn_for_restrict): Declare.
795 * c-warn.c: Include gcc-rich-location.h.
796 (warn_for_restrict): New function.
797 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
798 (gcc_cdiag_char_table): Likewise.
799 (gcc_cxxdiag_char_table): Likewise.
800 * c.opt (Wrestrict): New option.
801
7907d43b 8022016-11-13 Eric Botcazou <ebotcazou@adacore.com>
803
804 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
805 for nested types only if the type is a record or union and dump SLOC.
806
b1363399 8072016-11-09 Jason Merrill <jason@redhat.com>
808
809 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
810
58721d0c 8112016-11-09 Jakub Jelinek <jakub@redhat.com>
812
813 * c-ubsan.c (ubsan_instrument_shift): Handle split
814 -fsanitize=shift-base and -fsanitize=shift-exponent.
815
2e9e9363 8162016-11-07 Jason Merrill <jason@redhat.com>
817
818 * c.opt (Wc++1z-compat): New.
819 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
820
629b6abc 8212016-11-07 Martin Liska <mliska@suse.cz>
822
823 * c-warn.c (warn_for_unused_label): Save all labels used
824 in goto or in &label.
825
2f1c4c07 8262016-11-03 Jason Merrill <jason@redhat.com>
827
828 * c-cppbuiltin.c (c_cpp_builtins): Correct
829 __cpp_inheriting_constructors.
830
7896267d 8312016-11-01 Jason Merrill <jason@redhat.com>
832
02a9e65f 833 * c-cppbuiltin.c (c_cpp_builtins): Update
834 __cpp_inheriting_constructors.
835
7896267d 836 * c.opt (-fnew-inheriting-ctors): New.
837 * c-opts.c: Default to on for ABI 11+.
838
f6f44a1d 8392016-10-31 Jakub Jelinek <jakub@redhat.com>
840
841 PR c++/77948
842 * c.opt (fext-numeric-literals): Add Var and Init.
843 * c-opts.c (c_common_handle_option): Don't clear
844 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
845 (c_common_post_options): Clear it here if not set
846 explicitly.
847
d24c4079 8482016-10-28 Aldy Hernandez <aldyh@redhat.com>
849
850 PR debug/77773
851 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
852 if NULL.
853
6e1b2ffb 8542016-10-25 Jakub Jelinek <jakub@redhat.com>
855
856 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
857 * c-common.c (c_common_reswords): Add __builtin_launder.
858
5f64e688 8592016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
860
861 * c-common.c (c_common_truthvalue_conversion): Warn for
862 multiplications in boolean context. Fix the quoting of '<<' and '<'
863 in the shift warning.
864
3645e924 8652016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
866
867 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
868
146cbd63 8692016-10-20 Jason Merrill <jason@redhat.com>
870
871 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
872
5c2ba578 8732016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
874
875 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
876 integer shift ops in boolean context.
877
8782016-10-18 Aldy Hernandez <aldyh@redhat.com>
da6cf191 879
880 * c.opt (Walloca): New.
881 (Walloca-larger-than=): New.
882 (Wvla-larger-than=): New.
883
876d4bc9 8842016-10-17 Marek Polacek <polacek@redhat.com>
885
886 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
887 Return immediately when finding a match.
888 (warn_tautological_cmp): Remove a boolean variable that is no longer
889 needed.
890
b0c98c23 8912016-10-17 Marek Polacek <polacek@redhat.com>
892
893 * c-attribs.c: New file.
894 * c-common.c: Move attributes handling to c-attribs.c.
895 (get_nonnull_operand): No longer static.
896 * c-common.h: Move the declarations from c-attribs.c to its own section.
897
2ab6420c 8982016-10-14 Jason Merrill <jason@redhat.com>
899
900 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
901 and __cpp_deduction_guides.
902
81f19d90 9032016-10-13 Jason Merrill <jason@redhat.com>
904
905 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
906
ad7b10a2 9072016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
908
909 * c-cppbuiltin.c: Include memmodel.h.
910 * c-opts.c: Likewise.
911 * c-pragma.c: Likewise.
912 * c-warn.c: Likewise.
913
12663602 9142016-10-12 Jakub Jelinek <jakub@redhat.com>
915
916 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
917 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
918 * c-opts.c (sanitize_cpp_opts): Initialize
919 cpp_opts->cpp_warn_implicit_fallthrough.
920
424b2d7d 9212016-10-11 Marek Polacek <polacek@redhat.com>
922
923 * c-common.c (warning_candidate_p): Change the return type to bool
924 and return true/false instead of 1/0.
925 (vector_mode_valid_p): Likewise.
926
0f4cea33 9272016-10-11 Marek Polacek <polacek@redhat.com>
928
929 * c-common.c (fold_for_warn): No longer static.
930 (bool_promoted_to_int_p): Likewise.
931 (c_common_get_narrower): Likewise.
932 (constant_expression_warning): Move to c-warn.c.
933 (constant_expression_error): Likewise.
934 (overflow_warning): Likewise.
935 (warn_logical_operator): Likewise.
936 (find_array_ref_with_const_idx_r): Likewise.
937 (warn_tautological_cmp): Likewise.
938 (expr_has_boolean_operands_p): Likewise.
939 (warn_logical_not_parentheses): Likewise.
940 (warn_if_unused_value): Likewise.
941 (strict_aliasing_warning): Likewise.
942 (sizeof_pointer_memaccess_warning): Likewise.
943 (check_main_parameter_types): Likewise.
944 (conversion_warning): Likewise.
945 (warnings_for_convert_and_check): Likewise.
946 (match_case_to_enum_1): Likewise.
947 (match_case_to_enum): Likewise.
948 (c_do_switch_warnings): Likewise.
949 (warn_for_omitted_condop): Likewise.
950 (readonly_error): Likewise.
951 (lvalue_error): Likewise.
952 (invalid_indirection_error): Likewise.
953 (warn_array_subscript_with_type_char): Likewise.
954 (warn_about_parentheses): Likewise.
955 (warn_for_unused_label): Likewise.
956 (warn_for_div_by_zero): Likewise.
957 (warn_for_memset): Likewise.
958 (warn_for_sign_compare): Likewise.
959 (do_warn_double_promotion): Likewise.
960 (do_warn_unused_parameter): Likewise.
961 (record_locally_defined_typedef): Likewise.
962 (maybe_record_typedef_use): Likewise.
963 (maybe_warn_unused_local_typedefs): Likewise.
964 (maybe_warn_bool_compare): Likewise.
965 (maybe_warn_shift_overflow): Likewise.
966 (warn_duplicated_cond_add_or_warn): Likewise.
967 (diagnose_mismatched_attributes): Likewise.
968 * c-common.h: Move the declarations from c-warn.c to its own section.
969 * c-warn.c: New file.
970
7a7ca07c 9712016-10-08 Jason Merrill <jason@redhat.com>
972
973 * c-common.c (c_common_truthvalue_conversion): Don't distribute
974 into COND_EXPR in C++.
975
ad0c1dec 9762016-10-08 Jakub Jelinek <jakub@redhat.com>
977
978 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
979 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
980 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
981
cd45162d 9822016-10-07 Jakub Jelinek <jakub@redhat.com>
983
984 Implement LWG2296 helper intrinsic
985 * c-common.h (enum rid): Add RID_ADDRESSOF.
986 * c-common.c (c_common_reswords): Add __builtin_addressof.
987
0365bfa8 9882016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
989
990 PR c++/77700
991 * c-common.c (c_common_truthvalue_conversion): Warn also for
992 suspicious enum values in boolean context.
993
adeca879 9942016-10-06 Jakub Jelinek <jakub@redhat.com>
995
996 Implement P0258R2 - helper for C++17
997 std::has_unique_object_representations trait
998 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
999 * c-common.c (c_common_reswords): Add
1000 __has_unique_object_representations.
1001
c6958264 10022016-10-05 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR sanitizer/66343
1005 * c-ubsan.c (ubsan_instrument_return): Don't call
1006 initialize_sanitizer_builtins here.
1007
2b6903a5 10082016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1009
1010 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
1011 conditional expression in boolean context when only one arm is
1012 non-boolean.
1013
5c176ebe 10142016-10-05 Jakub Jelinek <jakub@redhat.com>
1015
c7b01e77 1016 PR sanitizer/77823
1017 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
1018 is not integral.
1019
5c176ebe 1020 * c-common.c (c_common_reswords): Update comment for C++11.
1021
492ab670 10222016-10-04 Jason Merrill <jason@redhat.com>
1023
1024 * c-common.c (make_tree_vector_from_ctor): New.
1025 * c-common.h: Declare it.
1026
bc6b11a7 10272016-10-04 Jakub Jelinek <jakub@redhat.com>
1028
1029 * c-cppbuiltin.c (c_cpp_builtins): Don't define
1030 __LIBGCC_JCR_SECTION_NAME__.
1031
255beb07 10322016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
1033
1034 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
1035 left shift in boolean context.
1036
c5d89bae 10372016-09-29 Jakub Jelinek <jakub@redhat.com>
1038
1039 Implement P0001R1 - C++17 removal of register storage class specifier
1040 * c.opt (Wregister): New warning.
1041 * c-opts.c (c_common_post_options): Enable -Wregister by
1042 default for C++17.
1043
4267ed07 10442016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
1045
1046 * c-opts.c (c_common_post_options): Remove special case for
1047 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
1048 in C++.
1049
0b72b025 10502016-09-27 Jakub Jelinek <jakub@redhat.com>
1051
4fd4e9e0 1052 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
1053 -std=c++1z.
1054
0b72b025 1055 * c-ada-spec.c (print_ada_declaration): Remove break after return.
1056
ea36272b 10572016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1058
1059 * c-common.c: Include memmodel.h.
1060
e997bd3a 10612016-09-26 Marek Polacek <polacek@redhat.com>
1062
1063 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
1064
3c77f69c 10652016-09-26 Marek Polacek <polacek@redhat.com>
1066
1067 PR c/7652
1068 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
1069 (handle_fallthrough_attribute): New function.
1070 (attribute_fallthrough_p): New function.
1071 * c-common.h (attribute_fallthrough_p): Declare.
1072
481ce481 10732016-09-24 Marek Polacek <polacek@redhat.com>
1074
1075 PR c/77490
1076 * c.opt (Wbool-operation): New.
1077
a5fe0b37 10782016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1079
1080 * c-common.c (c_common_truthvalue_conversion): Inhibit
1081 Wint-in-bool-context warning with from_macro_definition_at.
1082 Mention the expression will always evaluate to true.
1083
90f40f08 10842016-09-21 Martin Sebor <msebor@redhat.com>
1085
1086 PR bootstrap/77676
1087 * c.opt (fprintf-return-value): Temporarily initialize to zero
1088 to unblock bootstrap failures.
1089
98aa0f57 10902016-09-21 Jakub Jelinek <jakub@redhat.com>
1091
1092 PR c++/77651
1093 * c.opt (Waligned-new=): Add RejectNegative.
1094 (faligned-new=): Likewise. Spelling fix - change
1095 aligned_new_threshhold to aligned_new_threshold.
1096 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
1097 to aligned_new_threshold.
1098
b9833bfd 10992016-09-20 Martin Sebor <msebor@redhat.com>
1100
1101 PR middle-end/49905
1102 * c.opt: Add -Wformat-length and -fprintf-return-value.
1103
bed03df1 11042016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1105
1106 PR c++/77434
1107 * c.opt (Wint-in-bool-context): New warning.
1108 * c-common.c (c_common_truthvalue_conversion): Warn on integer
1109 constants in boolean context.
1110
9b5c49ef 11112016-09-19 Joseph Myers <joseph@codesourcery.com>
1112
1113 * c-common.c (max_align_t_align): Also consider alignment of
1114 float128_type_node.
1115
cc4b5c58 11162016-09-15 Jason Merrill <jason@redhat.com>
1117
1118 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
1119 DECL_EXTERNAL.
1120
ef45c4c0 11212016-09-14 Jason Merrill <jason@redhat.com>
1122
1123 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1124 limit FIELD_DECL, either.
1125
b99cc6da 11262016-09-14 Marek Polacek <polacek@redhat.com>
1127
1128 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
1129 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
1130 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
1131
68ef907c 11322016-09-13 David Malcolm <dmalcolm@redhat.com>
1133
1134 * c-common.c (warn_logical_not_parentheses): Replace
1135 rich_location::add_fixit_insert calls with add_fixit_insert_before
1136 and add_fixit_insert_after, eliminating the "next_loc" calculation.
1137
2c24fd5e 11382016-09-13 Jason Merrill <jason@redhat.com>
1139 Tom de Vries <tom@codesourcery.com>
1140
1141 PR c++/77427
1142 * c-common.c (set_underlying_type): Don't treat array as builtin type.
1143
005248bc 11442016-09-13 Jason Merrill <jason@redhat.com>
1145
1146 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1147 limit types at all.
1148
0c893604 11492016-09-12 Jason Merrill <jason@redhat.com>
1150
1151 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
1152 bit/byte confusion, allow large alignment for types.
1153
7a21b590 11542016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
1155
1156 PR c++/77496
1157 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
1158
00434032 11592016-09-12 David Malcolm <dmalcolm@redhat.com>
1160
1161 PR c/72858
1162 * c-format.c (argument_parser::check_argument_type): Add params
1163 "type_start" and "conversion_char". Use the former to generate
1164 offset_to_type_start and pass it and conversion_char to
1165 check_format_types.
1166 (check_format_info_main): Capture the start of the type
1167 information as "type_start", and pass it an format_char
1168 to arg_parser.check_argument_type.
1169 (check_format_types): Provide an example in the leading comment.
1170 Add params "offset_to_type_start" and "conversion_char"; pass
1171 them to format_type_warning calls.
1172 (test_get_modifier_for_format_len): Likewise.
1173 (matching_type_p): New function.
1174 (get_format_for_type): Add param "conversion_char" and move
1175 implementation into...
1176 (get_format_for_type_1): ...new function, called twice.
1177 Use new function matching_type_p rather than checking for
1178 TYPE_CANONICAL equality.
1179 (get_corrected_substring): New function.
1180 (format_type_warning): Provide an example in the leading comment.
1181 Add params "offset_to_type_start" and "conversion_char". Replace
1182 call to get_format_for_type with call to get_corrected_substring
1183 and move rejection of hints for widths/precisions there.
1184 (assert_format_for_type_streq): Add param "conversion_char".
1185 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
1186 (test_get_format_for_type_printf): Add conversion chars to the
1187 tests, adding coverage for various combinations of integer
1188 vs double conversions, and for preserving octal and hexadecimal
1189 conversions.
1190 (test_get_format_for_type_scanf): Add conversion chars to the
1191 tests.
1192
3bb45f76 11932016-09-10 Tom de Vries <tom@codesourcery.com>
1194
1195 PR C/71602
1196 * c-common.c (build_va_arg): Handle more strict
1197 targetm.canonical_va_list_type. Replace first argument type error with
1198 assert.
1199
911ea34a 12002016-09-09 Martin Sebor <msebor@redhat.com>
1201
1202 PR c/77520
1203 PR c/77521
1204 * c-format.c (argument_parser::find_format_char_info): Use %qc
1205 format directive unconditionally.
1206
db8ffb40 12072016-09-09 Jason Merrill <jason@redhat.com>
1208
1209 Implement C++17 new of over-aligned types.
1210 * c.opt: Add -faligned-new and -Waligned-new.
1211 * c-common.c (max_align_t_align): Split out from...
1212 (cxx_fundamental_alignment_p): ...here.
1213 * c-common.h: Declare it.
1214 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
1215
c5eddaf9 12162016-09-09 Joseph Myers <joseph@codesourcery.com>
1217
1218 * c-cppbuiltin.c (builtin_define_type_width): New function.
1219 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
1220 macros.
1221
3da97ff7 12222016-09-07 David Malcolm <dmalcolm@redhat.com>
1223
1224 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
1225 a POINTER_TYPE.
1226 (substring_loc::get_location): Move to substring-locations.c,
1227 keeping implementation as...
1228 (c_get_substring_location): New function, from the above, reworked
1229 to use accessors rather than member lookup.
1230 * c-common.h (class substring_loc): Move to substring-locations.h,
1231 replacing with a forward decl.
1232 (c_get_substring_location): New decl.
1233 * c-format.c: Include "substring-locations.h".
1234 (format_warning_va): Move to substring-locations.c.
1235 (format_warning_at_substring): Likewise.
1236
f9b3f702 12372016-09-06 Martin Sebor <msebor@redhat.com>
1238
1239 PR c/77336
1240 * c-format.c (check_function_format): Avoid issuing warnings for
1241 functions unless they call format functions with non-constant
1242 format strings.
1243
4c04bcce 12442016-09-06 Richard Biener <rguenther@suse.de>
1245
1246 PR c/77450
1247 * c-common.c (c_common_mark_addressable_vec): Handle
1248 COMPOUND_LITERAL_EXPR.
1249
8f8828ba 12502016-09-05 Marek Polacek <polacek@redhat.com>
1251
1252 PR c/77423
1253 * c-common.c (bool_promoted_to_int_p): New function.
1254 (expr_has_boolean_operands_p): New function.
1255 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
1256 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
1257
8ff61e58 12582016-09-04 Tom de Vries <tom@codesourcery.com>
1259
1260 revert:
1261 2016-08-29 Tom de Vries <tom@codesourcery.com>
1262
1263 * c-common.c (build_va_arg): Replace first argument type error
1264 with assert.
1265
0b80c4b2 12662016-09-02 Jakub Jelinek <jakub@redhat.com>
1267
1268 PR c/65467
1269 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
1270 (c_finish_omp_for): Reject _Atomic qualified iterators.
1271
12722016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 1273
1274 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
1275 size to guarantee it fits the output of the formatted function
1276 regardless of its arguments.
1277
c7afb782 12782016-09-01 Marek Polacek <polacek@redhat.com>
1279
1280 PR c/7652
1281 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
1282 FALLTHRU comments.
1283
f293b7f2 12842016-08-29 Marek Polacek <polacek@redhat.com>
1285
1286 PR c/77292
1287 * c-common.c (warn_logical_not_parentheses): Don't warn for
1288 a comparison or a logical operator.
1289
839e4d28 12902016-08-29 Tom de Vries <tom@codesourcery.com>
1291
1292 * c-common.c (build_va_arg): Fix type comparison assert.
1293
0acb92b8 12942016-08-29 Tom de Vries <tom@codesourcery.com>
1295
1296 * c-common.c (build_va_arg): Replace first argument type error
1297 with assert.
1298
ea2ec8f6 12992016-08-29 Tom de Vries <tom@codesourcery.com>
1300
1301 PR c/77398
1302 * c-common.c (build_va_arg): Add first argument error. Build va_arg
1303 with error_mark_node as va_list instead of with illegal va_list.
1304
c4963714 13052016-08-25 Marek Polacek <polacek@redhat.com>
1306 David Malcolm <dmalcolm@redhat.com>
1307
1308 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1309 * c-common.h (warn_logical_not_parentheses): Update declaration.
1310
364743f3 13112016-08-22 Marek Polacek <polacek@redhat.com>
1312
1313 PR c++/77321
1314 * c-common.c (warn_for_memset): Check type for null.
1315
012f068a 13162016-08-22 Joseph Myers <joseph@codesourcery.com>
1317
1318 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1319 _FloatNx types for suffixes for built-in functions.
1320
82c85aba 13212016-08-19 Joseph Myers <joseph@codesourcery.com>
1322
1323 PR c/32187
1324 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1325 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1326 (RID_FLOAT128X): New enum rid values.
1327 (CASE_RID_FLOATN_NX): New macro.
1328 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1329 keywords.
1330 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1331 corresponding complex types.
1332 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1333 _FloatNx and corresponding complex types.
1334 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1335 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1336 and _FloatNx types for the widest type for determining
1337 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
1338 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
1339 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1340 and _FloatNx types.
1341 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1342 constants.
1343 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1344 _FloatNx types.
1345
48a7392b 13462016-08-18 David Malcolm <dmalcolm@redhat.com>
1347
1348 * c-opts.c (c_diagnostic_finalizer): Update for change to
1349 diagnostic_show_locus.
1350
5c8151fa 13512016-08-18 David Malcolm <dmalcolm@redhat.com>
1352
1353 * c-common.c: Include "spellcheck.h".
1354 (cb_get_suggestion): New function.
1355 * c-common.h (cb_get_suggestion): New decl.
1356 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1357 cb_get_suggestion.
1358
26040f06 13592016-08-18 Marek Polacek <polacek@redhat.com>
1360
1361 PR c/71514
1362 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1363 and pointer-to-VLA.
1364
5927e78e 13652016-08-16 David Malcolm <dmalcolm@redhat.com>
1366
1367 PR c/72857
1368 * c-common.c (substring_loc::get_range): Rename to...
1369 (substring_loc::get_location): ...this, converting param from a
1370 source_range * to a location_t *. Call
1371 get_source_location_for_substring rather than
1372 get_source_range_for_substring, and pass in m_caret_idx.
1373 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1374 (substring_loc::get_range): Replace with...
1375 (substring_loc::get_location): ...this.
1376 (substring_loc::set_caret_index): New method.
1377 (substring_loc): Add field m_caret_idx.
1378 * c-format.c (format_warning_va): Update for above changes.
1379 Rename local "substring_loc" to "fmt_substring_loc" to avoid
1380 clashing with type name.
1381 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1382 (check_argument_type): Likewise.
1383 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1384 Use a copy when emitting warnings, setting the caret index from TYPE.
1385
6ce66d38 13862016-08-16 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 1387 Arnaud Charlet <charlet@adacore.com>
6ce66d38 1388
1389 * c-ada-spec.c (dump_number): New function.
1390 (handle_escape_character): Likewise.
1391 (print_ada_macros): Add handling of constant integers and strings.
1392
e3533433 13932016-08-12 Marek Polacek <polacek@redhat.com>
1394
1395 PR c/7652
1396 * c-common.c (scalar_to_vector): Adjust fall through comment.
1397 * c-opts.c (c_common_handle_option): Likewise.
1398 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1399 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1400 fall through comment.
1401 * cilk.c (extract_free_variables): Add FALLTHRU.
1402
0f463aec 14032016-08-10 Jason Merrill <jason@redhat.com>
1404
1405 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1406
80488e20 14072016-08-09 Jason Merrill <jason@redhat.com>
1408
1409 * c-common.c (c_common_attribute_table): vector_size affects type
1410 identity.
1411
a319e7f4 14122016-08-09 Marek Polacek <polacek@redhat.com>
1413
1414 PR c/7652
1415 * c-ada-spec.c (dump_generic_ada_node): Add return.
1416
33603066 14172016-08-09 Jason Merrill <jason@redhat.com>
1418
1419 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1420 C++17 constexpr lambdas.
1421
7af4d06b 14222016-08-08 David Malcolm <dmalcolm@redhat.com>
1423
1424 PR c/64955
1425 * c-common.h (selftest::c_format_c_tests): New declaration.
1426 (selftest::run_c_tests): New declaration.
1427 * c-format.c: Include "selftest.h.
1428 (format_warning_va): Add param "corrected_substring" and use
1429 it to add a replacement fix-it hint.
1430 (format_warning_at_substring): Likewise.
1431 (format_warning_at_char): Update for new param of
1432 format_warning_va.
1433 (argument_parser::check_argument_type): Pass "fki" to
1434 check_format_types.
1435 (check_format_types): Add param "fki" and pass it to
1436 format_type_warning.
1437 (deref_n_times): New function.
1438 (get_modifier_for_format_len): New function.
1439 (selftest::test_get_modifier_for_format_len): New function.
1440 (get_format_for_type): New function.
1441 (format_type_warning): Add param "fki" and use it to attempt
1442 to provide hints for argument types when calling
1443 format_warning_at_substring.
1444 (selftest::get_info): New function.
1445 (selftest::assert_format_for_type_streq): New function.
1446 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1447 (selftest::test_get_format_for_type_printf): New function.
1448 (selftest::test_get_format_for_type_scanf): New function.
1449 (selftest::c_format_c_tests): New function.
1450
d189b094 14512016-08-08 David Malcolm <dmalcolm@redhat.com>
1452
1453 PR c/52952
1454 * c-format.c: Include "diagnostic.h".
1455 (location_column_from_byte_offset): Delete.
1456 (location_from_offset): Delete.
1457 (format_warning_va): New function.
1458 (format_warning_at_substring): New function.
1459 (format_warning_at_char): New function.
1460 (check_format_arg): Capture location of format_tree and pass to
1461 check_format_info_main.
1462 (argument_parser): Add fields "start_of_this_format" and
1463 "format_string_cst".
1464 (flag_chars_t::validate): Add param "format_string_cst". Convert
1465 warning_at call using location_from_offset to call to
1466 format_warning_at_char.
1467 (argument_parser::argument_parser): Add param "format_string_cst_"
1468 and use use it to initialize field "format_string_cst".
1469 Initialize new field "start_of_this_format".
1470 (argument_parser::read_format_flags): Convert warning_at call
1471 using location_from_offset to a call to format_warning_at_char.
1472 (argument_parser::read_any_format_left_precision): Likewise.
1473 (argument_parser::read_any_format_precision): Likewise.
1474 (argument_parser::read_any_other_modifier): Likewise.
1475 (argument_parser::find_format_char_info): Likewise, in three places.
1476 (argument_parser::parse_any_scan_set): Likewise, in one place.
1477 (argument_parser::handle_conversions): Likewise, in two places.
1478 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1479 and use it to make a substring_loc. Pass the latter to
1480 check_format_types.
1481 (check_format_info_main): Add params "fmt_param_loc" and
1482 "format_string_cst". Convert warning_at calls using
1483 location_from_offset to calls to format_warning_at_char. Pass the
1484 new params to the arg_parser ctor. Pass "format_string_cst" to
1485 flag_chars.validate. Pass "fmt_param_loc" to
1486 arg_parser.check_argument_type.
1487 (check_format_types): Convert first param from a location_t
1488 to a const substring_loc & and rename to "fmt_loc". Attempt
1489 to extract the range of the relevant parameter and pass it
1490 to format_type_warning.
1491 (format_type_warning): Convert first param from a location_t
1492 to a const substring_loc & and rename to "fmt_loc". Add
1493 params "param_range" and "type". Replace calls to warning_at
1494 with calls to format_warning_at_substring.
1495
0dae5fef 14962016-08-08 David Malcolm <dmalcolm@redhat.com>
1497
1498 * c-format.c (class flag_chars_t): New class.
1499 (struct length_modifier): New struct.
1500 (class argument_parser): New class.
1501 (flag_chars_t::flag_chars_t): New ctor.
1502 (flag_chars_t::has_char_p): New method.
1503 (flag_chars_t::add_char): New method.
1504 (flag_chars_t::validate): New method.
1505 (flag_chars_t::get_alloc_flag): New method.
1506 (flag_chars_t::assignment_suppression_p): New method.
1507 (argument_parser::argument_parser): New ctor.
1508 (argument_parser::read_any_dollar): New method.
1509 (argument_parser::read_format_flags): New method.
1510 (argument_parser::read_any_format_width): New method.
1511 (argument_parser::read_any_format_left_precision): New method.
1512 (argument_parser::read_any_format_precision): New method.
1513 (argument_parser::handle_alloc_chars): New method.
1514 (argument_parser::read_any_length_modifier): New method.
1515 (argument_parser::read_any_other_modifier): New method.
1516 (argument_parser::find_format_char_info): New method.
1517 (argument_parser::validate_flag_pairs): New method.
1518 (argument_parser::give_y2k_warnings): New method.
1519 (argument_parser::parse_any_scan_set): New method.
1520 (argument_parser::handle_conversions): New method.
1521 (argument_parser::check_argument_type): New method.
1522 (check_format_info_main): Introduce classes argument_parser
1523 and flag_chars_t, moving the code within the loop into methods
1524 of these classes. Make various locals "const".
1525
d4166bdc 15262016-08-05 David Malcolm <dmalcolm@redhat.com>
1527
1528 * c-common.c: Include "substring-locations.h".
1529 (get_cpp_ttype_from_string_type): New function.
1530 (g_string_concat_db): New global.
1531 (substring_loc::get_range): New method.
1532 * c-common.h (g_string_concat_db): New declaration.
1533 (class substring_loc): New class.
1534 * c-lex.c (lex_string): When concatenating strings, capture the
1535 locations of all tokens using a new obstack, and record the
1536 concatenation locations within g_string_concat_db.
1537 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1538 on the ggc-heap.
1539
7648c9c7 15402016-07-29 Marek Polacek <polacek@redhat.com>
1541
8ae70602 1542 PR c/71926
1543 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1544 parentheses warning.
1545
7648c9c7 1546 PR c/71574
1547 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1548
595e387a 15492016-07-28 Martin Liska <mliska@suse.cz>
1550
1551 PR gcov-profile/68025
1552 * c-common.c (handle_no_profile_instrument_function_attribute):
1553
296103aa 15542016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1555
1556 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1557 BITS_PER_UNIT_LOG.
1558
21483ab7 15592016-07-25 Jason Merrill <jason@redhat.com>
1560
1561 PR c++/65970
1562 * c.opt (fconstexpr-loop-limit): New.
1563
0b80c4b2 15642016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 1565
1566 PR c++/71675
1567 * c-common.c (resolve_overloaded_builtin): Avoid converting
1568 __atomic_compare_exchange_n return type to that of what its
1569 first argument points to.
1570
59c1507a 15712016-07-22 Uros Bizjak <ubizjak@gmail.com>
1572
1573 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1574 ~(unsigned HOST_WIDE_INT) 0.
1575
45648efe 15762016-07-22 Martin Liska <mliska@suse.cz>
1577
1578 PR gcov-profile/69028
1579 PR gcov-profile/62047
1580 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1581 to the current_function_decl.
1582
0c0f63cb 15832016-07-21 Jason Merrill <jason@redhat.com>
1584
1585 PR c++/65168
1586 * c-common.c (c_common_truthvalue_conversion): Check
1587 c_inhibit_evaluation_warnings for warning about address of
1588 reference.
1589
d208f6e6 15902016-07-20 David Malcolm <dmalcolm@redhat.com>
1591
1592 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1593 const char *.
1594
0238e35e 15952016-07-15 Jason Merrill <jason@redhat.com>
1596
1597 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1598
0dd7db3b 15992016-07-15 Jakub Jelinek <jakub@redhat.com>
1600
1601 PR c/71858
1602 * c-common.h (enum lookup_name_fuzzy_kind): Add
1603 FUZZY_LOOKUP_FUNCTION_NAME.
1604
e59cff35 16052016-07-08 Jason Merrill <jason@redhat.com>
1606
1607 P0145: Refining Expression Order for C++.
1608 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1609 * c-opts.c: Adjust.
1610
faee03ad 16112016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1612
1613 PR c++/71214
1614 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1615
a4dd89cb 16162016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1617
1618 * c-pragma.h (enum pragma_kind): Rename
1619 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1620 users.
1621
b6a4a0f5 16222016-06-29 Richard Biener <rguenther@suse.de>
1623
1624 PR middle-end/71002
1625 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1626
176aa551 16272016-06-24 Jason Merrill <jason@redhat.com>
1628
1629 P0145R2: Refining Expression Order for C++.
1630 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1631 MODIFY_EXPR.
1632
77104764 16332016-06-24 Jakub Jelinek <jakub@redhat.com>
1634
1635 * c-common.c (check_builtin_function_arguments): Require last
1636 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1637 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1638 if the last argument is pointer to enumerated or boolean type.
1639
8469aece 16402016-06-22 David Malcolm <dmalcolm@redhat.com>
1641
1642 PR c/70339
1643 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1644 (lookup_name_fuzzy): New prototype.
1645
bd08c370 16462016-06-21 John David Anglin <danglin@gcc.gnu.org>
1647
1648 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1649
06c75b9a 16502016-06-14 Jason Merrill <jason@redhat.com>
1651
1652 P0145R2: Refining Expression Order for C++.
1653 * c.opt (fargs-in-order): New.
1654 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1655
9720103d 16562016-06-13 Jakub Jelinek <jakub@redhat.com>
1657
12cb8367 1658 PR sanitizer/71498
1659 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1660 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1661
9720103d 1662 PR preprocessor/71183
1663 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1664 to cb_get_source_date_epoch.
1665
8ec29807 16662016-06-10 Jakub Jelinek <jakub@redhat.com>
1667
1668 PR c/68657
1669 * c.opt (Wpsabi): Add Warning flag.
1670
1dc4d519 16712016-06-10 Martin Sebor <msebor@redhat.com>
1672
1673 PR c/71392
1674 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1675 the nonnull attribute in type-generic builtins.
1676
23b101c5 16772016-06-09 Martin Sebor <msebor@redhat.com>
1678
1679 PR c/70883
1680 * c-common.c (builtin_function_validate_nargs): Make text of error
1681 message consistent with others like it.
1682
732905bb 16832016-06-08 Martin Sebor <msebor@redhat.com>
1684 Jakub Jelinek <jakub@redhat.com>
1685
1686 PR c++/70507
1687 PR c/68120
1688 * c-common.c (check_builtin_function_arguments): Handle
1689 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1690
86a5f91c 16912016-06-08 Richard Biener <rguenther@suse.de>
1692
1693 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1694
b032c4dd 16952016-06-07 Richard Biener <rguenther@suse.de>
1696
1697 PR c/61564
1698 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1699 options and warn about others.
1700
dfa5c0d3 17012016-06-01 Eduard Sanou <dhole@openmailbox.org>
1702
1703 * c-common.c (get_source_date_epoch): Rename to
1704 cb_get_source_date_epoch.
1705 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1706 message when the parsing fails. Use error_at instead of fatal_error.
1707 * c-common.h (get_source_date_epoch): Rename to
1708 cb_get_source_date_epoch.
1709 * c-common.h (cb_get_source_date_epoch): Prototype.
1710 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1711 * c-common.h (c_omp_region_type): Remove trailing comma.
1712 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1713 * c-lex.c (c_lex_with_flags): Remove initialization of
1714 pfile->source_date_epoch.
1715
b6431756 17162016-05-30 Jakub Jelinek <jakub@redhat.com>
1717
1718 PR c++/71349
1719 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1720 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1721 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1722 instead of C_OMP_CLAUSE_SPLIT_FOR.
1723
7345b977 17242016-05-24 Richard Biener <rguenther@suse.de>
1725
1726 PR middle-end/70434
1727 PR c/69504
1728 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1729 (convert_vector_to_array_for_subscript): ... this.
1730 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1731 VIEW_CONVERT_EXPR to an array type. Rename to ...
1732 (convert_vector_to_array_for_subscript): ... this.
1733
22a3f7bd 17342016-05-12 Marek Polacek <polacek@redhat.com>
1735
1736 PR c/70756
1737 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1738 size_in_bytes and pass LOC to it.
1739
54c4d22e 17402016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1741
1742 PR c/43651
1743 * c.opt (Wduplicate-decl-specifier): New option.
1744
7f8012a5 17452016-05-11 Marek Polacek <polacek@redhat.com>
1746
1747 PR c++/71024
1748 * c-common.c (diagnose_mismatched_attributes): New function.
1749 * c-common.h (diagnose_mismatched_attributes): Declare.
1750
1d52c456 17512016-05-04 Marek Polacek <polacek@redhat.com>
1752
1753 * c.opt (Wdangling-else): New option.
1754
5d4db8ef 17552016-05-03 Marek Polacek <polacek@redhat.com>
1756
1757 PR c/70859
1758 * c-common.c (builtin_function_validate_nargs): Add location
1759 parameter. Use it.
1760 (check_builtin_function_arguments): Add location and arguments
1761 parameters. Use them.
1762 * c-common.h (check_builtin_function_arguments): Update declaration.
1763
9ae1b28a 17642016-05-03 Richard Biener <rguenther@suse.de>
1765
1766 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1767 allow call args to gimplify to SSA names.
1768
4341e093 17692016-05-03 Marek Polacek <polacek@redhat.com>
1770
1771 * c-common.h (enum c_omp_region_type): Remove stray comma.
1772
b5e88f74 17732016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1774
1775 * c-common.h (enum c_omp_region_type): Define.
1776
ee31dd3d 17772016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1778
1779 * c-common.c (shorten_compare): Use wi::to_wide.
1780
4d0a8bac 17812016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1782
1783 PR middle-end/70626
1784 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1785 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1786 reduction clauses in acc parallel loops.
1787
025dd1e0 17882016-04-29 Marek Polacek <polacek@redhat.com>
1789
1790 PR c/70852
1791 * c-common.c (warn_for_memset): Check domain before accessing it.
1792
eb16928e 17932016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1794
1795 PR/69089
1796 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1797 "aligned" attribute.
1798
ddd2a3d4 17992016-04-28 Jason Merrill <jason@redhat.com>
1800
1801 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1802
e3e8c48c 18032016-04-28 Eduard Sanou <dhole@openmailbox.org>
1804 Matthias Klose <doko@debian.org>
1805
1806 * c-common.c (get_source_date_epoch): New function, gets the environment
1807 variable SOURCE_DATE_EPOCH and parses it as long long with error
1808 handling.
1809 * c-common.h (get_source_date_epoch): Prototype.
1810 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1811
605a4556 18122015-04-27 Ryan Burn <contact@rnburn.com>
1813
1814 PR c++/69024
1815 PR c++/68997
1816 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1817 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1818 external linkage.
1819 (cilk_detect_and_unwrap): Corresponding changes.
1820 (extract_free_variables): Don't extract free variables from
1821 AGGR_INIT_EXPR slot.
1822 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1823 (cilk_recognize_spawn): Likewise.
1824
40385231 18252016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1826
1827 * c.opt (Wmemset-elt-size): New option.
1828 * c-common.c (warn_for_memset): New function.
1829 * c-common.h (warn_for_memset): Declare.
1830
f5d49c14 18312016-04-25 Jason Merrill <jason@redhat.com>
1832
1833 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1834 No longer static.
1835 * c-common.h: Declare it.
1836 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1837
9c980ab5 18382016-04-22 Jason Merrill <jason@redhat.com>
1839
1840 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1841
70574e60 18422016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1843
1844 PR c++/69363
1845 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1846 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1847
5d4b30ea 18482016-04-18 Michael Matz <matz@suse.de>
1849
1850 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1851 and SET_DECL_ALIGN.
1852
021ad2f3 18532016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1854
1855 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1856 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1857 to incomplete types.
1858 (dump_nested_type): Remove redundant tests and tidy up.
1859 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1860 a type which is the typedef of an original type.
1861
926f9422 18622016-04-15 Marek Polacek <polacek@redhat.com>
1863
1864 PR c/70651
1865 * c-common.c (build_va_arg): Change two asserts into errors and return
1866 error_mark_node.
1867
92c53257 18682016-04-13 Marek Polacek <polacek@redhat.com>
1869
1870 PR c++/70639
1871 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1872 for switch statements, too.
1873
a3ae889f 18742016-03-28 Jason Merrill <jason@redhat.com>
1875
1876 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1877
62d2a6dc 18782016-03-23 Marek Polacek <polacek@redhat.com>
1879
1880 PR c++/69884
1881 * c.opt (Wignored-attributes): New option.
1882
4baec9f2 18832016-03-22 David Malcolm <dmalcolm@redhat.com>
1884
1885 PR c/69993
1886 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1887 diagnostic text, reversing the order of the warning and note so
1888 that they appear in source order.
1889
92e7ab1e 18902016-03-17 Marek Polacek <polacek@redhat.com>
1891
1892 PR c/69407
1893 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1894 operations.
1895
6f895832 18962016-03-14 Jason Merrill <jason@redhat.com>
1897
14c36b14 1898 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1899
6f895832 1900 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1901
42bb3bfb 19022016-03-09 Richard Biener <rguenther@suse.de>
1903
1904 PR c/70143
1905 * c-common.c (strict_aliasing_warning): Add back
1906 alias_sets_conflict_p check.
1907
3556aa80 19082016-03-08 Jason Merrill <jason@redhat.com>
1909
1910 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1911
0060768a 19122016-03-04 David Malcolm <dmalcolm@redhat.com>
1913
1914 PR c/68187
1915 * c-indentation.c (get_visual_column): Move code to determine next
1916 tab stop to...
1917 (next_tab_stop): ...this new function.
1918 (line_contains_hash_if): Delete function.
1919 (detect_preprocessor_logic): Delete function.
1920 (get_first_nws_vis_column): New function.
1921 (detect_intervening_unindent): New function.
1922 (should_warn_for_misleading_indentation): Replace call to
1923 detect_preprocessor_logic with a call to
1924 detect_intervening_unindent.
1925
74c6fd40 19262016-03-04 David Malcolm <dmalcolm@redhat.com>
1927
1928 PR c/68187
1929 * c-indentation.c (should_warn_for_misleading_indentation): When
1930 suppressing warnings about cases where the guard and body are on
1931 the same column, only use the first non-whitespace column in place
1932 of the guard token column when dealing with "else" clauses.
1933 When rejecting aligned BODY and NEXT, loosen the requirement
1934 from equality with the first non-whitespace of guard to simply
1935 that they not be indented relative to it.
1936
e692d332 19372016-03-04 Richard Biener <rguenther@suse.de>
1938
1939 PR c++/70054
1940 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1941 instead of alias_sets_conflict_p.
1942
12cc1225 19432016-03-01 Marek Polacek <polacek@redhat.com>
1944
1945 PR c++/69795
1946 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1947 any DECL.
1948
8c38d887 19492016-02-22 Martin Sebor <msebor@redhat.com>
1950
1951 PR middle-end/69780
1952 * c-common.c (check_builtin_function_arguments): Validate and
1953 reject invalid arguments to __builtin_alloca_with_align.
1954
e53f41d5 19552016-02-20 Mark Wielaard <mjw@redhat.com>
1956
1957 PR c/28901
1958 * c.opt (Wunused-const-variable): Turn into Alias for...
1959 (Wunused-const-variable=): New option.
1960
9cce8384 19612016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1962
1963 PR c++/69865
1964 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1965 here...
1966 (c_common_init_options): ...to here.
1967 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1968
563d5cb8 19692016-02-19 Jakub Jelinek <jakub@redhat.com>
1970
1971 PR c++/69826
1972 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1973 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1974 flag_preprocess_only.
1975
7675e968 19762016-02-16 Jakub Jelinek <jakub@redhat.com>
1977
1978 PR c/69835
1979 * c.opt (Wnonnull-compare): Enable for -Wall.
1980
77454e6e 19812016-02-15 Jakub Jelinek <jakub@redhat.com>
1982
1983 PR c++/69797
1984 * c-common.c (sync_resolve_size): Diagnose too few arguments
1985 even when params is non-NULL empty vector.
1986
600695e0 19872016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1988
1989 PR target/60410
1990 * c.opt (fshort-double): Remove.
1991
a7cc1f94 19922016-02-05 Martin Sebor <msebor@redhat.com>
1993
1994 PR c++/69662
1995 * c.opt (Warning options): Update -Wplacement-new to take
1996 an optional argument.
1997
6f13b088 19982016-02-01 Jakub Jelinek <jakub@redhat.com>
1999
2000 PR preprocessor/69543
2001 PR c/69558
2002 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
2003 instead of loc to control_warning_option.
2004
948eee2f 20052016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2006
2007 * c.opt (fopenacc-dim=): New option.
2008
5fa82c11 20092016-01-27 Ryan Burn <contact@rnburn.com>
2010
2011 PR cilkplus/69267
2012 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
2013 gimplify_arg. Removed superfluous post_p argument.
2014 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
2015 superfluous post_p argument.
2016 * c-gimplify.c (c_gimplify_expr): Likewise.
2017
3752e5b1 20182016-01-26 David Malcolm <dmalcolm@redhat.com>
2019
2020 PR other/69006
2021 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
2022 pp_newline_and_flush with pp_flush.
2023
bbbbe8ab 20242016-01-20 Martin Sebor <msebor@redhat.com>
2025
2026 PR c/69405
2027 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
2028 an incompatible argument when the argument isn't a valid tree node.
2029
f6dfb86a 20302016-01-18 Jason Merrill <jason@redhat.com>
2031
2032 PR c++/68767
2033 * c-common.c (check_function_arguments_recurse): Fold the whole
2034 COND_EXPR, not just the condition.
2035
f672c103 20362016-01-18 Tom de Vries <tom@codesourcery.com>
2037
2038 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
2039 classify as loop clause.
2040
c8ef893c 20412016-01-15 Jakub Jelinek <jakub@redhat.com>
2042
2043 PR bootstrap/68271
2044 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
2045 C++ FE no longer has limit on number of pragmas.
2046
20472015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 2048
2049 PR c++/69048
2050 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 2051 to add missing cleanup point.
7d600da5 2052
a7ed4583 20532016-01-14 David Malcolm <dmalcolm@redhat.com>
2054
2055 PR c++/68819
2056 * c-indentation.c (get_visual_column): Add location_t param.
2057 Handle the column number being zero by effectively disabling the
2058 warning, with an "inform".
2059 (should_warn_for_misleading_indentation): Add location_t argument
2060 for all uses of get_visual_column.
2061
b933e511 20622016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
2063
2064 PR c++/69029
2065 * c-indentation.c (should_warn_for_misleading_indentation):
2066 Don't warn about do-while statements.
2067
517906ff 20682016-01-07 Martin Sebor <msebor@redhat.com>
2069
2070 PR c/68966
2071 * c-common.c (sync_resolve_size): Reject first argument when it's
2072 a pointer to _Bool.
2073
d42aa619 20742016-01-05 David Malcolm <dmalcolm@redhat.com>
2075
2076 PR c/69122
2077 * c-indentation.c (get_visual_column): Remove default argument.
2078 (should_warn_for_misleading_indentation): For the multiline case,
2079 update call to get_visual_column for next_stmt_exploc so that it
2080 captures the location of the first non-whitespace character in the
2081 relevant line. Don't issue warnings if there is non-whitespace
2082 before the next statement.
2083
f1717362 20842016-01-04 Jakub Jelinek <jakub@redhat.com>
2085
2086 Update copyright years.
2087
c0bf500c 20882015-12-21 David Malcolm <dmalcolm@redhat.com>
2089
2090 * c-common.c (binary_op_error): Convert first param from
2091 location_t to rich_location * and use it when emitting an error.
2092 * c-common.h (binary_op_error): Convert first param from
2093 location_t to rich_location *.
2094
dbd79382 20952015-12-16 David Malcolm <dmalcolm@redhat.com>
2096
2097 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
2098 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
2099
c0998828 21002015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2101
2102 * c-common.c (c_common_attribute_table): Handle "omp declare target
2103 link" attribute.
2104
7ca909c6 21052015-12-14 Jakub Jelinek <jakub@redhat.com>
2106
2107 PR c/68833
2108 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
2109
d9102cbe 21102014-12-12 Tobias Burnus <burnus@net-b.de>
2111
2112 PR fortran/68815
2113 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
2114 specifiers (%d, %i,%u and %c).
2115
a515ebdf 21162015-12-10 David Malcolm <dmalcolm@redhat.com>
2117
2118 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
2119
31ba81bd 21202015-12-08 Jakub Jelinek <jakub@redhat.com>
2121
2122 PR c/48088
2123 PR c/68657
2124 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
2125 * c-pragma.c (handle_pragma_diagnostic): Adjust
2126 control_warning_option caller.
2127
d0f713f4 21282015-12-07 David Malcolm <dmalcolm@redhat.com>
2129
2130 * c-common.c (c_cpp_error): Update for change to
2131 rich_location::set_range.
2132
32d050b5 21332015-12-04 Paolo Bonzini <bonzini@gnu.org>
2134
2135 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
2136 shifting 1 out of the sign bit.
2137
21382015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
2139
2140 * c-common.c (c_common_attribute_table[]): Update max arguments
2141 count for "simd" attribute.
2142 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
2143
6a8fbd7a 21442015-12-03 Jakub Jelinek <jakub@redhat.com>
2145
2146 PR preprocessor/57580
2147 * c-ppoutput.c (print): Change printed field to bool.
2148 Move src_file last for smaller padding.
2149 (init_pp_output): Set print.printed to false instead of 0.
2150 (scan_translation_unit): Fix up formatting. Set print.printed
2151 to true after printing something other than newline.
2152 (scan_translation_unit_trad): Set print.printed to true instead of 1.
2153 (maybe_print_line_1): Set print.printed to false instead of 0.
2154 (print_line_1): Likewise.
2155 (do_line_change): Set print.printed to true instead of 1.
2156 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
2157 dump_macro): Set print.printed to false after printing newline.
2158
da562e32 21592015-12-02 Jason Merrill <jason@redhat.com>
2160
9c691dbd 2161 * c-common.c (fold_for_warn): New.
2162 (warn_logical_operator, warn_tautological_cmp)
2163 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
2164
da562e32 2165 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2166 (c_fully_fold_internal, decl_constant_value_for_optimization):
2167 Move to c/c-fold.c.
2168 * c-common.h: Don't declare decl_constant_value_for_optimization.
2169
89f16034 21702015-12-02 Joseph Myers <joseph@codesourcery.com>
2171
2172 PR c/68162
2173 * c-common.h (c_build_qualified_type): Add extra default
2174 arguments.
2175
571b3486 21762015-12-01 Julian Brown <julian@codesourcery.com>
2177 Cesar Philippidis <cesar@codesourcery.com>
2178 James Norris <James_Norris@mentor.com>
2179
2180 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
2181 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
2182 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
2183
ed92a461 21842015-11-30 Eric Botcazou <ebotcazou@adacore.com>
2185
2186 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
2187 (decl_sloc_common): Delete and move bulk of processing to...
2188 (decl_sloc): ...here.
2189 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
2190 (dump_ada_double_name): Remove S parameter and compute the suffix.
2191 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
2192 element type and deal with an anonymous one.
2193 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
2194 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
2195 and remove reference to QUAL_UNION_TYPE.
2196 (dump_nested_types): Make 2 passes on the fields and move bulk to...
2197 (dump_nested_type): ...here. New function extracted from above.
2198 Generate a full declaration for anonymous element type of arrays.
2199 (print_ada_declaration): Really skip anonymous declarations. Remove
2200 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
2201 Clean up processing of declarations of array types and objects.
2202 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
2203 Remove obsolete code and tidy up.
2204
c25b3e3f 22052015-11-29 Jan Hubicka <hubicka@ucw.cz>
2206
2207 PR c/67581
2208 * c-common.c (handle_transparent_union_attribute): Update
2209 also type variants.
2210
d4e328e9 22112015-11-27 Martin Liska <mliska@suse.cz>
2212
2213 PR c++/68312
2214 * array-notation-common.c (cilkplus_extract_an_triplets):
2215 Release vector of vectors.
2216 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
2217
f63d9c4e 22182015-11-26 Eric Botcazou <ebotcazou@adacore.com>
2219
2220 PR c++/68527
2221 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
2222 (print_ada_struct_decl): Likewise.
2223
8d63c601 22242015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
2225
2226 PR c++/68001
2227 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
2228 * cilk.c (recognize_spawn): Determine location in a more precise
2229 way.
2230
01f11119 22312015-11-19 Jason Merrill <jason@redhat.com>
2232
2233 * c-common.c (shorten_compare): But look through macros from
2234 system headers.
2235
2d3d3af7 22362015-11-18 Jason Merrill <jason@redhat.com>
2237
2238 * c-common.c (shorten_compare): Don't -Wtype-limits if the
2239 non-constant operand comes from a macro.
2240
7991eeee 22412015-11-17 Jason Merrill <jason@redhat.com>
2242
2243 PR bootstrap/68346
2244 * c-common.c (warn_tautological_cmp): Fold before checking for
2245 constants.
2246
73f67931 22472015-11-16 Marek Polacek <polacek@redhat.com>
2248
2249 PR c++/68362
2250 * c-common.c (check_case_bounds): Fold low and high cases.
2251
8e539fdc 22522015-11-16 Marek Polacek <polacek@redhat.com>
2253
2254 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
2255 * c-common.c (c_common_get_alias_set): Likewise.
2256 (handle_visibility_attribute): Likewise.
2257
c58a4cfd 22582015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
2259
2260 * c-common.c (handle_simd_attribute): New.
2261 (struct attribute_spec): Add entry for "simd".
2262 (handle_simd_attribute): New.
2263
bb036391 22642015-11-13 Kai Tietz <ktietz70@googlemail.com>
2265
2266 * c-lex.c (interpret_float): Use fold_convert.
2267
a96cefb2 22682015-11-13 David Malcolm <dmalcolm@redhat.com>
2269
2270 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
2271 and store it on the result.
2272 * c-opts.c (c_common_init_options): Set
2273 global_dc->colorize_source_p.
2274
2fc5e987 22752015-11-12 James Norris <jnorris@codesourcery.com>
2276 Joseph Myers <joseph@codesourcery.com>
2277
2278 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
2279 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
2280 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
2281 PRAGMA_OACC_CLAUSE_LINK.
2282
81b1b2a8 22832015-11-11 Marek Polacek <polacek@redhat.com>
2284
2285 PR c/68107
2286 PR c++/68266
2287 * c-common.c (valid_array_size_p): New function.
2288 * c-common.h (valid_array_size_p): Declare.
2289
92a44a68 22902015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 2291
2292 PR bootstrap/68271
2293 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2294
6e803544 22952015-11-11 Andrew MacLeod <amacleod@redhat.com>
2296
2297 * array-notation-common.c: Remove unused header files.
2298 * c-ada-spec.c: Likewise.
2299 * c-cilkplus.c: Likewise.
2300 * c-common.c: Likewise.
2301 * c-cppbuiltin.c: Likewise.
2302 * c-dump.c: Likewise.
2303 * c-format.c: Likewise.
2304 * c-gimplify.c: Likewise.
2305 * c-indentation.c: Likewise.
2306 * c-lex.c: Likewise.
2307 * c-omp.c: Likewise.
2308 * c-opts.c: Likewise.
2309 * c-pch.c: Likewise.
2310 * c-ppoutput.c: Likewise.
2311 * c-pragma.c: Likewise.
2312 * c-pretty-print.c: Likewise.
2313 * c-semantics.c: Likewise.
2314 * c-ubsan.c: Likewise.
2315 * cilk.c: Likewise.
2316 * stub-objc.c: Likewise.
2317
a1b7fe4b 23182015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2319 Cesar Philippidis <cesar@codesourcery.com>
2320 James Norris <jnorris@codesourcery.com>
2321 Julian Brown <julian@codesourcery.com>
2322 Nathan Sidwell <nathan@codesourcery.com>
2323
2324 * c-pragma.c (oacc_pragmas): Add "routine".
2325 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2326
292237f3 23272015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2328
2329 * c-common.c (c_common_attributes): Add scalar_storage_order.
2330 (handle_scalar_storage_order_attribute): New function.
2331 * c-pragma.c (global_sso): New variable.
2332 (maybe_apply_pragma_scalar_storage_order): New function.
2333 (handle_pragma_scalar_storage_order): Likewise.
2334 (init_pragma): Register scalar_storage_order.
2335 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2336 * c.opt (Wscalar-storage-order): New warning.
2337 (fsso-struct=): New option.
2338
b4a4c5fa 23392015-11-08 Martin Sebor <msebor@redhat.com>
2340
2341 * c.opt (Wplacement-new): Add a period to the end of a sentence.
2342
ac677063 23432015-11-07 Richard Sandiford <richard.sandiford@arm.com>
2344
2345 * c-common.c: Don't undef DEF_BUILTIN.
2346
f0479000 23472015-11-06 David Malcolm <dmalcolm@redhat.com>
2348
2349 * c-common.c (c_cpp_error): Convert parameter from location_t to
2350 rich_location *. Eliminate the "column_override" parameter and
2351 the call to diagnostic_override_column.
2352 Update the "done_lexing" clause to set range 0
2353 on the rich_location, rather than overwriting a location_t.
2354 * c-common.h (c_cpp_error): Convert parameter from location_t to
2355 rich_location *. Eliminate the "column_override" parameter.
2356
ef014f95 23572015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2358 Thomas Schwinge <thomas@codesourcery.com>
2359 James Norris <jnorris@codesourcery.com>
2360
2361 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2362 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
2363 clauses with parallel and kernels and loops.
2364 * c-pragma.h (enum pragma_omp_clause): Add entries for
2365 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2366 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2367 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2368 INDEPENDENT,SEQ}.
2369 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2370
e520488c 23712015-11-05 Martin Sebor <msebor@redhat.com>
2372
2373 PR c++/67942
2374 * c.opt (-Wplacement-new): New option.
2375
9561765e 23762015-11-05 Jakub Jelinek <jakub@redhat.com>
2377
2378 * c-common.h (c_finish_omp_atomic): Add TEST argument.
2379 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2380 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
2381 save_expr or create_tmp_var* if TEST is true.
2382 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2383 Don't call add_stmt here.
2384 (struct c_omp_check_loop_iv_data): New type.
2385 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2386 c_omp_check_loop_iv_exprs): New functions.
2387 (c_omp_split_clauses): Adjust for lastprivate being allowed on
2388 distribute.
2389 (c_omp_declare_simd_clauses_to_numbers): Change
2390 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2391 (c_omp_declare_simd_clauses_to_decls): Similarly change those
2392 from numbers to PARM_DECLs.
2393
5e8689fb 23942015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2395
2396 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2397 flag_checking.
2398
92a44a68 23992015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 2400
2401 PR c++-common/67882
32d050b5 2402 * c-common.h (fold_offsetof_1): Add argument.
2403 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 2404 offsetof expressions that reference elements past the end of
2405 an array.
2406
9e10bfb7 24072015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2408 Chung-Lin Tang <cltang@codesourcery.com>
2409
2410 * c-pragma.c (oacc_pragmas): Add "atomic".
2411 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2412
ab50af2a 24132015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2414
2415 * c-common.c (handle_target_clones_attribute): New.
2416 (c_common_attribute_table): Add handle_target_clones_attribute.
2417 (handle_always_inline_attribute): Add check on target_clones attribute.
2418 (handle_target_attribute): Ditto.
2419
4cba6f60 24202015-10-29 Andrew MacLeod <amacleod@redhat.com>
2421
2422 * array-notation-common.c: Reorder #include's and remove duplicates.
2423 * c-ada-spec.c: Likewise.
2424 * c-cilkplus.c: Likewise.
2425 * c-common.c: Likewise.
2426 * c-cppbuiltin.c: Likewise.
2427 * c-dump.c: Likewise.
2428 * c-format.c: Likewise.
2429 * c-gimplify.c: Likewise.
2430 * c-indentation.c: Likewise.
2431 * c-lex.c: Likewise.
2432 * c-omp.c: Likewise.
2433 * c-opts.c: Likewise.
2434 * c-pch.c: Likewise.
2435 * c-ppoutput.c: Likewise.
2436 * c-pragma.c: Likewise.
2437 * c-pretty-print.c: Likewise.
2438 * c-semantics.c: Likewise.
2439 * c-ubsan.c: Likewise.
2440 * cilk.c: Likewise.
2441 * stub-objc.c: Likewise.
2442
f576a2e4 24432015-10-28 Jason Merrill <jason@redhat.com>
2444
2445 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2446
2c4c8725 24472015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2448 James Norris <jnorris@codesourcery.com>
2449 Cesar Philippidis <cesar@codesourcery.com>
2450
2451 PR c/64765
2452 PR c/64880
2453 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2454 * c-omp.c (c_oacc_split_loop_clauses): New function.
2455
8204c077 24562015-10-21 Martin Sebor <msebor@redhat.com>
2457
2458 PR driver/68043
2459 * c.opt: End each sentence that describes an option with a period.
2460
8523243e 24612015-10-20 Marek Polacek <polacek@redhat.com>
2462
2463 * array-notation-common.c (is_cilkplus_vector_p): Define.
2464 * c-common.h (is_cilkplus_vector_p): Declare.
2465
08881cb8 24662015-10-20 Marek Polacek <polacek@redhat.com>
2467
2468 * c.opt (std=gnu++11): Do not describe as experimental.
2469 (std=gnu++14): Likewise.
2470
a36e5e5e 24712015-10-19 Jason Merrill <jason@redhat.com>
2472
2473 * c-cppbuiltin.c (c_cpp_builtins): Define
2474 __cpp_nontype_template_args.
2475
a349de0a 24762015-10-19 Jason Merrill <jason@redhat.com>
2477
2478 * c-cppbuiltin.c (c_cpp_builtins): Define
2479 __cpp_enumerator_attributes, __cpp_fold_expressions,
2480 __cpp_unicode_characters.
2481
43895be5 24822015-10-13 Jakub Jelinek <jakub@redhat.com>
2483 Aldy Hernandez <aldyh@redhat.com>
2484
2485 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2486 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2487 (c_define_builtins): Likewise.
2488 * c-common.h (enum c_omp_clause_split): Add
2489 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2490 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2491 (c_finish_omp_for): Add ORIG_DECLV argument.
2492 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2493 201511 instead of 201307.
2494 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2495 OMP_CRITICAL_CLAUSES to it.
2496 (c_finish_omp_ordered): Add CLAUSES argument, set
2497 OMP_ORDERED_CLAUSES to it.
2498 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2499 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2500 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2501 constructs and new OpenMP 4.5 clauses. Clear
2502 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2503 verification code.
2504 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2505 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2506 (enum pragma_omp_clause): Add
2507 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2508 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2509
20cb53c9 25102015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2511
2512 * c-lex.c (interpret_float): Use real_equal instead of
2513 REAL_VALUES_EQUAL.
2514
6d02e6b2 25152015-10-04 Jason Merrill <jason@redhat.com>
2516
2517 Implement N4514, C++ Extensions for Transactional Memory.
2518 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2519 (c_common_attribute_table): Add transaction_safe_dynamic.
2520 transaction_safe now affects type identity.
2521 (handle_tm_attribute): Handle transaction_safe_dynamic.
2522 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2523 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2524 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2525 (D_TRANSMEM): New.
2526 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2527 * c-pretty-print.c (pp_c_attributes_display): Don't print
2528 transaction_safe in C++.
2529
c0999a5d 25302015-10-02 Marek Polacek <polacek@redhat.com>
2531
2532 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2533
ef17a71a 25342015-10-02 Marek Polacek <polacek@redhat.com>
2535
2536 PR c/64249
2537 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2538 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2539 * c.opt (Wduplicated-cond): New option.
2540
05b84e7b 25412015-10-01 Joseph Myers <joseph@codesourcery.com>
2542
2543 * c.opt (std=c11): Do not describe as experimental.
2544 (std=gnu11): Likewise.
2545 (std=iso9899:2011): Likewise.
2546
e561d5e1 25472015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2548
2549 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2550 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2551
bd4b90d2 25522015-09-25 Marek Polacek <polacek@redhat.com>
2553
2554 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2555 (ubsan_instrument_shift): Likewise.
2556
ac13b2b2 25572015-09-25 Marek Polacek <polacek@redhat.com>
2558
2559 PR sanitizer/64906
2560 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2561
a3c82f4c 25622015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2563
2564 * c-indentation.c (should_warn_for_misleading_indentation):
2565 Compare next_stmt_vis_column with guard_line_first_nws instead
2566 of with guard_line_vis_column.
2567
5eef101d 25682015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2569
2570 PR c/49654
2571 PR c/49655
2572 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2573 options and options not valid for the current language.
2574
60897493 25752015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2576
2577 * c-indentation.c (should_warn_for_misleading_indentation):
2578 Float out and consolidate the calls to get_visual_column that
2579 are passed guard_exploc as an argument. Compare
2580 next_stmt_vis_column with guard_line_first_nws instead of with
2581 body_line_first_nws.
2582
85c93154 25832015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2584
2585 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2586 Wnamespaces): New C++ warnings.
2587
229a58b1 25882015-09-22 Jason Merrill <jason@redhat.com>
2589
2590 * c-common.h (abi_compat_version_crosses): New.
2591 (warn_abi_version): Declare.
2592 * c-common.c: Define it.
2593 * c-opts.c (c_common_post_options): Handle it.
2594 flag_abi_compat_version defaults to 8.
2595
2d2de569 25962015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2597
2598 Complete the implementation of N4230, Nested namespace definition.
2599 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2600 __cpp_nested_namespace_definitions.
2601
2b897e68 26022015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2603
2604 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2605
ed536208 26062015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2607
2608 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2609 when warning.
2610 * c-pragma.h (pragma_lex): Add optional loc argument.
2611
1dc6c44d 26122015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2613
2614 * c-format.c (check_format_arg): Adjust to use common block size in all
2615 object pools.
2616
be812248 26172015-09-15 David Malcolm <dmalcolm@redhat.com>
2618
2619 * c-format.c (location_from_offset): Update for change in
2620 signature of location_get_source_line.
2621 * c-indentation.c (get_visual_column): Likewise.
2622 (line_contains_hash_if): Likewise.
2623
e4cc057f 26242015-09-14 Marek Polacek <polacek@redhat.com>
2625
2626 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2627 setting various warnings.
2628
85f5e2ee 26292015-09-14 Marek Polacek <polacek@redhat.com>
2630
2631 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2632 a negative value.
2633
1bca8cbd 26342015-09-11 Mark Wielaard <mjw@redhat.com>
2635
2636 PR c/28901
2637 * c.opt (Wunused-variable): Option from common.opt.
2638 (Wunused-const-variable): New option.
2639
ee48893a 26402015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2641
2642 PR c++/53184
2643 * c.opt ([Wsubobject-linkage]): Add.
2644
547c6b1f 26452015-09-03 Martin Sebor <msebor@redhat.com>
2646
2647 PR c/66516
2648 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2649 functions.
2650 * c-common.c (reject_gcc_builtin): Define.
2651
7e976b10 26522015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2653
2654 PR middle-end/60586
2655 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2656 prototype.
2657 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2658 cilk_gimplify_call_params_in_spawned_fn.
2659 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2660 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2661 unwrapping.
2662
9e6bcade 26632015-08-25 Marek Polacek <polacek@redhat.com>
2664
2665 PR middle-end/67330
2666 * c-common.c (handle_weak_attribute): Don't check whether the
2667 visibility can be changed here.
2668
af9de21d 26692015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2670
2671 * c-lex.c (c_lex_with_flags): Use explicit locations.
2672
6dc50383 26732015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2674
2675 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2676 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2677
10902624 26782015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2679
2680 PR middle-end/36757
2681 * c-common.c (check_builtin_function_arguments): Add check
2682 for BUILT_IN_SIGNBIT argument.
2683
a03a71ab 26842015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2685
2686 PR c++/67160
2687 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2688 in c++1z mode.
2689
22723c26 26902015-08-17 Marek Polacek <polacek@redhat.com>
2691
2692 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2693 with whitespaces before qualifier names.
2694
f4809955 26952015-08-12 Marek Polacek <polacek@redhat.com>
2696
2697 PR c++/55095
2698 * c-common.c (maybe_warn_shift_overflow): Properly handle
2699 left-shifting 1 into the sign bit.
2700
5463f502 27012015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2702
2703 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2704
56c12fd4 27052015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2706 Braden Obrzut <admin@maniacsvault.net>
2707 Jason Merrill <jason@redhat.com>
2708
2709 Add C++ Concepts TS support.
2710 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2711 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2712 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2713 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2714 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2715 * c.opt (fconcepts): New.
2716
32d050b5 27172015-08-02 Martin Sebor <msebor@redhat.com>
2718
2719 * c.opt (-Wframe-address): New warning option.
2720
17afcef6 27212015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2722
2723 * c-indentation.c (should_warn_for_misleading_indentation):
2724 Improve heuristics.
2725
f95bfdd4 27262015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2727
2728 * c-indentation.c (get_visual_column): Add parameter first_nws,
2729 use it. Update comment documenting the function.
2730 (is_first_nonwhitespace_on_line): Remove.
2731 (should_warn_for_misleading_indentation): Replace usage of
2732 of is_first_nonwhitespace_on_line with get_visual_column.
2733
9255be07 27342015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2735
2736 * c-indentation.h (struct token_indent_info): Define.
2737 (get_token_indent_info): Define.
2738 (warn_for_misleading_information): Declare.
2739 * c-common.h (warn_for_misleading_information): Remove.
2740 * c-identation.c (warn_for_misleading_indentation):
2741 Change declaration to take three token_indent_infos. Adjust
2742 accordingly.
2743 * c-identation.c (should_warn_for_misleading_indentation):
2744 Likewise. Bail out early if the body is a compound statement.
2745 (guard_tinfo_to_string): Define.
2746
e880695c 27472015-07-30 Jason Merrill <jason@redhat.com>
2748
2749 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2750 '*' for reference decay.
2751
f58dd84b 27522015-07-30 Marek Polacek <polacek@redhat.com>
2753
2754 * c-common.c (warn_tautological_cmp): Bail for float types.
2755
d9e4fe27 27562015-07-27 Marek Polacek <polacek@redhat.com>
2757
2758 PR bootstrap/67030
2759 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2760
6784a472 27612015-07-27 Marek Polacek <polacek@redhat.com>
2762
2763 PR c++/66555
2764 PR c/54979
2765 * c-common.c (find_array_ref_with_const_idx_r): New function.
2766 (warn_tautological_cmp): New function.
2767 * c-common.h (warn_tautological_cmp): Declare.
2768 * c.opt (Wtautological-compare): New option.
2769
08034975 27702015-07-23 Marek Polacek <polacek@redhat.com>
2771
2772 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2773 (ubsan_instrument_shift): Likewise.
2774
f6f5e49b 27752015-07-23 Marek Polacek <polacek@redhat.com>
2776
2777 PR sanitizer/66908
2778 * c-ubsan.c: Include gimplify.h.
2779 (ubsan_instrument_division): Unshare OP0 and OP1.
2780 (ubsan_instrument_shift): Likewise.
2781
8d669e79 27822015-07-20 Marek Polacek <polacek@redhat.com>
2783 Richard Sandiford <richard.sandiford@arm.com>
2784
2785 PR c++/55095
2786 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2787 Use EXPR_LOC_OR_LOC.
2788 (maybe_warn_shift_overflow): New function.
2789 * c-common.h (maybe_warn_shift_overflow): Declare.
2790 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2791 * c.opt (Wshift-overflow): New option.
2792
e16712b1 27932015-07-16 Martin Liska <mliska@suse.cz>
2794
2795 * c-format.c (static void check_format_info_main): Use
2796 object_allocator instead of pool_allocator.
2797 (check_format_arg): Likewise.
2798 (check_format_info_main): Likewise.
2799
e51764ad 28002015-07-15 Andrew MacLeod <amacleod@redhat.com>
2801
2802 * c-opts.c: Remove multiline #include comment.
2803
47ae02b7 28042015-07-12 Aldy Hernandez <aldyh@redhat.com>
2805
2806 * c-common.c: Fix double word typos.
2807
ed2b2eb2 28082015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2809
2810 * c-ada-spec.h (cpp_operation): Revert latest change.
2811 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2812 constructors and destructors.
2813
1eacc14a 28142015-07-09 Andrew MacLeod <amacleod@redhat.com>
2815
2816 * c-common.h: Adjust includes for flags.h changes.
2817 * stub-objc.c: Likewise.
47ae02b7 2818
0124237f 28192015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2820
2821 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2822 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2823
386ef929 28242015-07-08 Jakub Jelinek <jakub@redhat.com>
2825
2826 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2827 are to be removed, return NULL rather than original clauses list.
2828
9ef16211 28292015-07-07 Andrew MacLeod <amacleod@redhat.com>
2830
2831 * array-notation-common.c: Adjust includes.
2832 * c-ada-spec.c: Likewise.
2833 * c-cilkplus.c: Likewise.
2834 * c-common.h: Likewise.
2835 * c-cppbuiltin.c: Likewise.
2836 * c-dump.c: Likewise.
2837 * c-format.c: Likewise.
2838 * c-gimplify.c: Likewise.
2839 * c-indentation.c: Likewise.
2840 * c-lex.c: Likewise.
2841 * c-omp.c: Likewise.
2842 * c-opts.c: Likewise.
2843 * c-pch.c: Likewise.
2844 * c-ppoutput.c: Likewise.
2845 * c-pragma.c: Likewise.
2846 * c-pretty-print.c: Likewise.
2847 * c-semantics.c: Likewise.
2848 * c-ubsan.c: Likewise.
2849 * cilk.c: Likewise.
2850 * stub-objc.c: Likewise.
2851
67ede3e4 28522015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2853
2854 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2855 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2856
42af8c2a 28572015-07-01 Jason Merrill <jason@redhat.com>
2858
fa769cc5 2859 * c-common.h (D_CXX11): Rename from D_CXX0X.
2860 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2861 * c-common.c: Adjust.
2862
97e9c847 2863 * c-opts.c (c_common_post_options): Default to C++14.
2864
42af8c2a 2865 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2866
30b1ba42 28672015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2868
2869 Implement N4197 - Adding u8 character literals
32d050b5 2870 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 2871 CPP_CHAR.
32d050b5 2872 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 2873 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 2874 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 2875 and CPP_UTF8CHAR tokens.
2876 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 2877
0949f227 28782015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2879
2880 PR fortran/66605
2881 * c-common.c (do_warn_unused_parameter): Move here.
2882 * c-common.h (do_warn_unused_parameter): Declare.
2883
be23b16f 28842015-06-29 Marek Polacek <polacek@redhat.com>
2885
2886 PR c/66322
2887 * c-common.c (check_case_bounds): Add bool * parameter. Set
2888 OUTSIDE_RANGE_P.
2889 (c_add_case_label): Add bool * parameter. Pass it down to
2890 check_case_bounds.
2891 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2892 warning here.
2893 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2894 declarations.
2895
6290f0db 28962015-06-27 Marek Polacek <polacek@redhat.com>
2897
2898 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2899 or VECTOR_INTEGER_TYPE_P throughout.
2900 * c-gimplify.c: Likewise.
2901
aa3e402e 29022015-06-26 Marek Polacek <polacek@redhat.com>
2903
2904 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2905 * c-common.c (c_fully_fold_internal): Likewise.
2906 (c_alignof_expr): Likewise.
2907 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2908 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 2909 * cilk.c (create_parm_list): Likewise.
aa3e402e 2910
4e81b384 29112015-06-26 Marek Polacek <polacek@redhat.com>
2912
2913 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2914
ec2e0095 29152015-06-25 Andrew MacLeod <amacleod@redhat.com>
2916
2917 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2918 * c-gimplify.c: Likewise.
2919 * c-pragma.c: Likewise.
2920 * c-ubsan.c: Likewise.
2921 * cilk.c: Likewise.
2922
b594087e 29232015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2924
2925 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2926 ggc_hasher.
2927
a3c76fda 29282015-06-25 Andrew MacLeod <amacleod@redhat.com>
2929
2930 * cilk.c: Move calls.h after tm.h in the include chain.
2931
f48c7f4a 29322015-06-25 Marek Polacek <polacek@redhat.com>
2933
2934 * array-notation-common.c: Use VAR_P throughout.
2935 * c-ada-spec.c: Likewise.
2936 * c-common.c: Likewise.
2937 * c-format.c: Likewise.
2938 * c-gimplify.c: Likewise.
2939 * c-omp.c: Likewise.
2940 * c-pragma.c: Likewise.
2941 * c-pretty-print.c: Likewise.
2942 * cilk.c: Likewise.
2943
ce41e81a 29442015-06-25 Marek Polacek <polacek@redhat.com>
2945
2946 * cilk.c (extract_free_variables): Use is_global_var.
2947
de231ec2 29482015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2949
2950 * c-common.c: Don't include target-def.h.
2951
0200602e 29522015-06-23 Marek Polacek <polacek@redhat.com>
2953
2954 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2955 when comparing INTEGER_CSTs.
2956
99838ed7 29572015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2958
2959 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2960 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2961 (dump_ada_template): Skip partially specialized types.
2962
a4f59596 29632015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2964
2965 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2966 swapping.
2967
f2ab3bac 29682015-06-17 Andrew MacLeod <amacleod@redhat.com>
2969
2970 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2971 * c-ada-spec.c: Likewise.
2972 * c-cilkplus.c: Likewise.
2973 * c-common.c: Likewise.
2974 * c-common.h: Likewise.
2975 * c-cppbuiltin.c: Likewise.
2976 * c-dump.c: Likewise.
2977 * c-format.c: Likewise.
2978 * c-gimplify.c: Likewise.
2979 * c-indentation.c: Likewise.
2980 * c-lex.c: Likewise.
2981 * c-omp.c: Likewise.
2982 * c-opts.c: Likewise.
2983 * c-pch.c: Likewise.
2984 * c-ppoutput.c: Likewise.
2985 * c-pragma.c: Likewise.
2986 * c-pretty-print.c: Likewise.
2987 * c-semantics.c: Likewise.
2988 * c-ubsan.c: Likewise.
2989 * cilk.c: Likewise.
2990 * stub-objc.c: Likewise.
2991
db3d1ffc 29922015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2993
2994 PR c++/65168
2995 * c-common.c (c_common_truthvalue_conversion): Warn when
2996 converting an address of a reference to a truth value.
2997
64486212 29982015-06-08 Andrew MacLeod <amacleod@redhat.com>
2999
3000 * array-notation-common.c : Adjust include files.
3001 * c-ada-spec.c : Likewise.
3002 * c-cilkplus.c : Likewise.
3003 * c-common.c : Likewise.
3004 * c-common.h : Likewise.
3005 * c-cppbuiltin.c : Likewise.
3006 * c-dump.c : Likewise.
3007 * c-format.c : Likewise.
3008 * c-gimplify.c : Likewise.
3009 * c-indentation.c : Likewise.
3010 * c-lex.c : Likewise.
3011 * c-omp.c : Likewise.
3012 * c-opts.c : Likewise.
3013 * c-pch.c : Likewise.
3014 * c-ppoutput.c : Likewise.
3015 * c-pragma.c : Likewise.
3016 * c-pretty-print.c : Likewise.
3017 * c-semantics.c : Likewise.
3018 * c-ubsan.c : Likewise.
3019 * cilk.c : Likewise.
3020 * stub-objc.c : Likewise.
3021
6e84ccad 30222015-06-08 Marek Polacek <polacek@redhat.com>
3023
3024 PR c/66415
3025 * c-format.c (location_from_offset): Return LOC if LINE is null.
3026
3a1c9df2 30272015-06-05 Aldy Hernandez <aldyh@redhat.com>
3028
3029 * c-common.h (c_parse_final_cleanups): New prototype.
3030 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
3031
32d050b5 30322015-06-04 Sriraman Tallam <tmsriram@google.com>
3033
3034 * c-common.c (noplt): New attribute.
3035 (handle_noplt_attribute): New handler.
3036
f77c0292 30372015-06-04 Andrew MacLeod <amacleod@redhat.com>
3038
3039 * array-notation-common.c: Adjust includes for restructured coretypes.h.
3040 * c-ada-spec.c: Likewise.
3041 * c-cilkplus.c: Likewise.
3042 * c-common.c: Likewise.
3043 * c-common.h: Likewise.
3044 * c-cppbuiltin.c: Likewise.
3045 * c-dump.c: Likewise.
3046 * c-format.c: Likewise.
3047 * c-gimplify.c: Likewise.
3048 * c-indentation.c: Likewise.
3049 * c-lex.c: Likewise.
3050 * c-omp.c: Likewise.
3051 * c-opts.c: Likewise.
3052 * c-pch.c: Likewise.
3053 * c-ppoutput.c: Likewise.
3054 * c-pragma.c: Likewise.
3055 * c-pretty-print.c: Likewise.
3056 * c-semantics.c: Likewise.
3057 * c-ubsan.c: Likewise.
3058 * cilk.c: Likewise.
3059 * stub-objc.c: Likewise.
3060
7c62dfbb 30612015-06-02 David Malcolm <dmalcolm@redhat.com>
3062
3063 PR c/66220:
3064 * c-indentation.c (should_warn_for_misleading_indentation): Use
3065 expand_location rather than expand_location_to_spelling_point.
3066 Don't warn if the guarding statement is more indented than the
3067 next/body stmts.
3068
9af7c176 30692015-06-02 David Malcolm <dmalcolm@redhat.com>
3070
3071 * c-indentation.c (warn_for_misleading_indentation): Bail out
3072 immediately if -Wmisleading-indentation isn't enabled.
3073
eebcf436 30742015-06-01 Martin Liska <mliska@suse.cz>
3075
3076 * c-format.c (check_format_arg):Use new type-based pool allocator.
3077 (check_format_info_main) Likewise.
3078
b0a23e2f 30792015-05-31 Eric Botcazou <ebotcazou@adacore.com>
3080
3081 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
3082 (has_nontrivial_methods): Likewise.
3083
63dc1330 30842015-05-25 Marek Polacek <polacek@redhat.com>
3085
3086 * c-ubsan.c (ubsan_instrument_shift): Use type0.
3087
5a4c69dd 30882015-05-22 Marek Polacek <polacek@redhat.com>
3089
3090 PR c/47043
3091 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
3092
044580bb 30932015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 3094
3095 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
3096 STACK_GROWS_DOWNWARD.
3097
044580bb 30982015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 3099
3100 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
3101 STACK_GROWS_DOWNWARD rather than if it is defined.
3102
d5a2ddc7 31032015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 3104
d5a2ddc7 3105 PR c/52952
3106 * c-format.c (location_column_from_byte_offset): New.
3107 (location_from_offset): New.
3108 (struct format_wanted_type): Add offset_loc field.
3109 (check_format_info): Move handling of location for extra arguments
3110 closer to the point of warning.
3111 (check_format_info_main): Pass the result of location_from_offset
3112 to warning_at.
3113 (format_type_warning): Pass the result of location_from_offset
3114 to warning_at.
3115
72f8014e 31162015-05-20 Marek Polacek <polacek@redhat.com>
3117
3118 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
3119
74efe522 31202015-05-20 Marek Polacek <polacek@redhat.com>
3121
3122 * c-ada-spec.c (dump_sloc): Use DECL_P.
3123
b443c459 31242015-05-20 Marek Polacek <polacek@redhat.com>
3125
3126 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
3127 * c-common.c: Likewise.
3128
551e34da 31292015-05-19 David Malcolm <dmalcolm@redhat.com>
3130
3131 * c-common.h (fe_file_change): Strengthen param from
3132 const line_map * to const line_map_ordinary *.
3133 (pp_file_change): Likewise.
3134 * c-lex.c (fe_file_change): Likewise.
3135 (cb_define): Use linemap_check_ordinary when invoking
3136 SOURCE_LINE.
3137 (cb_undef): Likewise.
3138 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
3139 invoking cb_file_change.
3140 (c_finish_options): Likewise.
3141 (push_command_line_include): Likewise.
3142 (cb_file_change): Strengthen param "new_map" from
3143 const line_map * to const line_map_ordinary *.
3144 * c-ppoutput.c (cb_define): Likewise for local "map".
3145 (pp_file_change): Likewise for param "map" and local "from".
3146
dfcf26a5 31472015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
3148
3149 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
3150
2e474820 31512015-05-18 Tom de Vries <tom@codesourcery.com>
3152
3153 * c-common.c (build_va_arg_1): New function.
3154 (build_va_arg): Add address operator to va_list operand if necessary.
3155
e53013a8 31562015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
3157
3158 PR c/48956
3159 * c-common.c (int_safely_convertible_to_real_p): Define.
3160 (unsafe_conversion_p): Check conversions involving complex types.
3161 (conversion_warning): Add new warning message for conversions which
3162 discard imaginary component.
3163 * c-common.h: (enum conversion_safety): Add new enumerator for such
3164 conversions.
3165
aac24642 31662015-05-14 Marek Polacek <polacek@redhat.com>
3167
3168 PR c/66066
3169 PR c/66127
3170 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
3171 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
3172 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
3173 use it. If FOR_INT_CONST, require that all evaluated operands be
3174 INTEGER_CSTs.
3175
e5f01cba 31762015-05-12 David Malcolm <dmalcolm@redhat.com>
3177
3178 * c-common.h (warn_for_misleading_indentation): New prototype.
3179 * c-indentation.c: New file.
3180 * c.opt (Wmisleading-indentation): New option.
3181
c37be9ec 31822015-05-12 Tom de Vries <tom@codesourcery.com>
3183
3184 PR tree-optimization/66010
3185 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
3186
7290114b 31872015-05-09 Jason Merrill <jason@redhat.com>
3188
3c665566 3189 * c-opts.c (c_common_post_options): Also clear
3190 cpp_opts->cpp_warn_cxx11_compat.
3191
d875b9d2 3192 * c-common.h (enum cxx_dialect): Add cxx_unset.
3193 * c-common.c (cxx_dialect): Initialize to cxx_unset.
3194 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
3195
7290114b 3196 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
3197 (std=gnu++0x): Mark as Undocumented.
3198 (std=gnu++1y): Add deprecated message.
3199
1b03cc89 32002015-05-08 Jason Merrill <jason@redhat.com>
3201
1c5f7aba 3202 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
3203 * c-opts.c: Adjust.
3204
1b03cc89 3205 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
3206
dc5945dc 32072015-05-08 Marek Polacek <polacek@redhat.com>
3208
3209 PR c/64918
3210 * c.opt (Woverride-init-side-effects): New option.
3211
cdc64059 32122015-05-07 Marek Polacek <polacek@redhat.com>
3213
3214 PR c/65179
3215 * c-common.c (c_fully_fold_internal): Warn when left shifting a
3216 negative value.
3217 * c.opt (Wshift-negative-value): New option.
3218 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
3219 when -Wextra and C99/C++11 mode.
3220
8cafe283 32212015-05-07 Marek Polacek <polacek@redhat.com>
3222 Martin Uecker <uecker@eecs.berkeley.edu>
3223
3224 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
3225 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
3226
cb40a6f7 32272015-05-05 Jason Merrill <jason@redhat.com>
3228
3229 * c.opt (Wterminate): New.
3230
14744a16 32312015-04-30 Marek Polacek <polacek@redhat.com>
3232
3233 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
3234 require that the non-constant be of a boolean type.
3235
9866562d 32362015-04-29 Josh Triplett <josh@joshtriplett.org>
3237
8cafe283 3238 * c-common.c (handle_section_attribute): Refactor to reduce
3239 nesting and distinguish between error cases.
9866562d 3240
a720ab1c 32412015-04-29 Marek Polacek <polacek@redhat.com>
3242
3243 PR c/64610
3244 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
3245 with 0/1.
3246
8c072e52 32472015-04-29 Jakub Jelinek <jakub@redhat.com>
3248
3249 * c-common.h (omp_clause_mask): Unconditionally define as a class.
3250 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
3251 HOST_BITS_PER_WIDE_INT.
3252
f7fec1c7 32532015-04-28 Tom de Vries <tom@codesourcery.com>
3254
3255 PR tree-optimization/65887
3256 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
3257
483b3d26 32582015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 3259 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 3260
3261 * c-ada-spec.c (in_function): Delete.
3262 (dump_generic_ada_node): Do not change in_function and remove the
3263 redundant code dealing with it.
3264 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
3265 (print_ada_methods): Output the static member functions in a nested
3266 package after the regular methods as well as associated renamings.
3267
f11bdffb 32682015-04-24 Marek Polacek <polacek@redhat.com>
3269
3270 PR c/65830
3271 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
3272 and OPT_Wshift_count_overflow.
3273
485f6b9c 3274 PR c/63357
3275 * c-common.c (warn_logical_operator): Warn if the operands have the
3276 same expressions.
3277
439606a9 32782015-04-24 Marek Polacek <polacek@redhat.com>
3279
3280 PR c/61534
3281 * c-common.c (warn_logical_operator): Bail if either operand comes
3282 from a macro expansion.
3283
de801c28 32842015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3285
3286 PR target/55143
3287 * c-common.c (c_default_pointer_mode): Add definition.
3288 * c-common.h (c_default_pointer_mode): Add declaration.
3289
76738f56 32902015-03-11 Jakub Jelinek <jakub@redhat.com>
3291
3292 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3293 on record_builtin_type argument.
3294
16f958b3 32952015-03-10 Jakub Jelinek <jakub@redhat.com>
3296
3297 PR c/65120
3298 * c-common.c (warn_logical_not_parentheses): Don't warn for
3299 !x == 0 or !x != 0.
3300
9b22f73f 33012015-03-07 Marek Polacek <polacek@redhat.com>
3302
3303 PR sanitizer/65280
3304 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3305 before trying to figure out whether we have a flexible array member.
3306
a864b7d4 33072015-03-06 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 3308 Jonathan Wakely <jwakely.gcc@gmail.com>
a864b7d4 3309
3310 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3311
9bf8c90b 33122015-03-05 Eric Botcazou <ebotcazou@adacore.com>
3313
3314 PR ada/65319
3315 * c-ada-spec.c (print_destructor): Remove obsolete code.
3316
037ac54f 33172015-03-01 Eric Botcazou <ebotcazou@adacore.com>
3318
3319 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3320 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3321 DECL_TEMPLATE_RESULT emulations.
3322 (dump_ada_template)): Add guard for TYPE_METHODS.
3323
495cbfb8 33242015-02-27 Marek Polacek <polacek@redhat.com>
3325
3326 PR c/65040
3327 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3328
688a864e 33292015-02-27 Kai Tietz <ktietz@redhat.com>
3330
3331 PR c/35330
3332 * c-pragma.c (handle_pragma_weak): Do not try to create
3333 weak/alias of declarations not being function, or variable
3334 declarations.
3335
6349b8cc 33362015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3337
3338 PR libgomp/64625
3339 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3340 Remove macros.
3341 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3342
3afd5369 33432015-02-16 Marek Polacek <polacek@redhat.com>
3344
3345 PR c/65066
3346 * c-format.c (check_format_types): Handle null param.
3347
46173d1b 33482015-02-13 Marek Polacek <polacek@redhat.com>
3349
3350 PR c/65040
3351 * c-format.c (check_format_types): Don't warn about different
3352 signedness if the original value is in the range of WANTED_TYPE.
3353
1d524ff7 33542015-02-12 Jason Merrill <jason@redhat.com>
3355
3356 PR c++/64956
3357 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3358 to the current highest version.
3359 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3360
bbf8fbec 33612015-02-04 Jakub Jelinek <jakub@redhat.com>
3362
3363 PR c/64824
3364 PR c/64868
3365 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3366 instead of RDIV_EXPR. Use build_binary_op instead of
3367 build2_loc.
3368
c05be867 33692015-01-30 Joseph Myers <joseph@codesourcery.com>
3370
3371 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3372 to pass input_location as first argument.
3373
85977647 33742015-01-23 Tom de Vries <tom@codesourcery.com>
3375
3376 PR libgomp/64672
3377 * c.opt (fopenacc): Mark as LTO option.
3378
fa175926 33792015-01-23 Tom de Vries <tom@codesourcery.com>
3380
3381 PR libgomp/64707
3382 * c.opt (fopenmp): Mark as LTO option.
3383
20aad5ba 33842015-01-21 Jakub Jelinek <jakub@redhat.com>
3385
3386 PR c/63307
8204c077 3387 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 3388 (compare_decls): Fix up formatting.
3389
33902015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
3391
3392 PR c/63307
3393 * cilk.c: Include vec.h.
3394 (struct cilk_decls): New structure.
3395 (wrapper_parm_cb): Split this function to...
3396 (fill_decls_vec): ...this...
3397 (create_parm_list): ...and this.
3398 (compare_decls): New function.
3399 (for_local_cb): Remove.
3400 (wrapper_local_cb): Ditto.
3401 (build_wrapper_type): For now first traverse and fill vector of
3402 declarations then sort it and then deal with sorted vector.
3403 (cilk_outline): Ditto.
3404 (declare_one_free_variable): Ditto.
3405
60b77e28 34062015-01-21 Jason Merrill <jason@redhat.com>
3407
3408 PR c++/64629
3409 * c-format.c (check_format_arg): Call decl_constant_value.
3410
85fbea97 34112015-01-19 Martin Liska <mliska@suse.cz>
3412
3413 * c-common.c (handle_noicf_attribute): New function.
3414
ca4c3545 34152015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3416 Bernd Schmidt <bernds@codesourcery.com>
3417 James Norris <jnorris@codesourcery.com>
3418 Cesar Philippidis <cesar@codesourcery.com>
3419 Ilmir Usmanov <i.usmanov@samsung.com>
3420 Jakub Jelinek <jakub@redhat.com>
3421
3422 * c.opt (fopenacc): New option.
3423 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3424 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3425 New macros.
3426 * c-common.h (c_finish_oacc_wait): New prototype.
3427 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3428 (c_finish_oacc_wait): New function.
3429 * c-pragma.c (oacc_pragmas): New variable.
3430 (c_pp_lookup_pragma, init_pragma): Handle it.
3431 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3432 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3433 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3434 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3435 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3436 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3437 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3438 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3439 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3440 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3441 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3442 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3443 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3444 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3445 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3446 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3447 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3448 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3449 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3450 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3451 PRAGMA_OACC_CLAUSE_WORKER.
3452
92a44a68 34532015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 3454
3455 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3456 for the new option fstack-protector_explicit.
3457 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3458 (handle_stack_protect_attribute): New function.
3459
92a44a68 34602015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 3461
3462 * c.opt: New option -Warray-bounds=.
3463
1f78217c 34642015-01-09 Michael Collison <michael.collison@linaro.org>
3465
3466 * array-notation-common.c: Include hash-set.h, machmode.h,
3467 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3468 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3469 * c-ada-spec.c: Ditto.
3470 * c-cilkplus.c: Ditto.
3471 * c-common.c: Include input.h due to flattening of tree.h.
3472 Define macro GCC_C_COMMON_C.
3473 * c-common.h: Flatten tree.h header files into c-common.h.
3474 Remove include of tree-core.h.
3475 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3476 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3477 fold-const.h, wide-int.h, and inchash.h due to
3478 flattening of tree.h.
3479 * c-dump.c: Ditto.
3480 * c-format.c: Flatten tree.h header files into c-common.h.
3481 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3482 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3483 fold-const.h, wide-int.h, and inchash.h due to
3484 flattening of tree.h.
3485 * c-dump.c: Include hash-set.h, machmode.h,
3486 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3487 fold-const.h, wide-int.h, and inchash.h due to
3488 flattening of tree.h.
3489 * c-format.c: Include hash-set.h, machmode.h,
3490 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3491 fold-const.h, wide-int.h, inchash.h and real.h due to
3492 flattening of tree.h.
3493 * c-gimplify.c: Include hash-set.h, machmode.h,
3494 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3495 fold-const.h, wide-int.h, and inchash.h due to
3496 flattening of tree.h.
3497 * cilk.c: Ditto.
3498 * c-lex.c: Ditto.
3499 * c-omp.c: Ditto.
3500 * c-opts.c: Ditto.
3501 * c-pch.c: Ditto.
3502 * c-ppoutput.c: Ditto.
3503 * c-pragma.c: Ditto.
3504 * c-pretty-print.c: Ditto.
3505 * c-semantics.c: Ditto.
3506 * c-ubsan.c: Ditto.
3507 * stub-objc.c: Ditto.
3508
411b7663 35092015-01-08 Jason Merrill <jason@redhat.com>
3510
3511 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3512 do_ubsan_in_current_function.
3513 (ubsan_maybe_instrument_reference_or_call): Likewise.
3514 * c-ubsan.h: Declare it.
3515
d1e96383 35162015-01-08 Mike Stump <mikestump@comcast.net>
3517
3518 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3519
b57910fa 35202015-01-07 Marek Polacek <polacek@redhat.com>
3521
3522 PR c/64440
3523 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3524 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3525
678a4e3e 35262015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3527
3528 PR c++/31397
3529 * c.opt (Wsuggest-override): New option.
3530
d353bf18 35312015-01-05 Jakub Jelinek <jakub@redhat.com>
3532
3533 Update copyright years.
3534
92b63884 35352015-01-05 Marek Polacek <polacek@redhat.com>
3536
3537 PR c/64423
3538 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3539 parameter. Use it.
3540 * c-common.h (warn_array_subscript_with_type_char): Update
3541 declaration.
3542
83715bc4 35432014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3544
3545 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3546 Control macro with flag_sized_deallocation.
3547
92a44a68 35482014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 3549
3550 * c.opt (Wdiscarded-array-qualifiers): New option.
3551
33058239 35522014-12-19 Jakub Jelinek <jakub@redhat.com>
3553
3554 PR preprocessor/63831
3555 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3556 and __has_cpp_attribute here.
3557 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3558 c_common_has_attribute.
3559 * c-common.h (c_common_has_attribute): New prototype.
3560 * c-lex.c (init_c_lex): Set cb->has_attribute to
3561 c_common_has_attribute instead of cb_has_attribute.
3562 (get_token_no_padding): New function.
3563 (cb_has_attribute): Renamed to ...
3564 (c_common_has_attribute): ... this. No longer static. Use
3565 get_token_no_padding, require ()s, don't build TREE_LIST
3566 unnecessarily, fix up formatting, adjust diagnostics, call
3567 init_attributes.
3568
d1856d2c 35692014-12-15 Jason Merrill <jason@redhat.com>
3570
3571 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3572 (-Wsized-deallocation): New.
3573 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3574 to on in C++14 and up.
3575
4972ed5d 35762014-12-11 Jason Merrill <jason@redhat.com>
3577
7d7fa964 3578 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3579
4972ed5d 3580 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3581 we aren't complaining about VLAs.
3582
5ebccf71 35832014-12-06 Marek Polacek <polacek@redhat.com>
3584
3585 PR tree-optimization/64183
3586 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3587 shift-expression if it is integer_type_node. Use types_compatible_p.
3588
f9e245b2 35892014-11-29 Jakub Jelinek <jakub@redhat.com>
3590
3591 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3592 last argument from create_tmp_var_raw and create_tmp_var calls.
3593 * cilk.c (gimplify_cilk_spawn): Likewise.
3594 * c-omp.c (c_finish_omp_atomic): Likewise.
3595
d2f60593 35962014-11-28 Marek Polacek <polacek@redhat.com>
3597
3598 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3599 instead of unsigned_type_node.
3600
fce2dbd1 36012014-11-28 Marek Polacek <polacek@redhat.com>
3602
3603 PR c/63862
3604 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3605 to op1_utype.
3606 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3607 expression to unsigned_type_node.
3608
3a4a2292 36092014-11-20 Mark Wielaard <mjw@redhat.com>
3610
3611 PR debug/38757
3612 * c-opts.c (set_std_c89): Set lang_hooks.name.
3613 (set_std_c99): Likewise.
3614 (set_std_c11): Likewise.
3615 (set_std_cxx98): Likewise.
3616 (set_std_cxx11): Likewise.
3617 (set_std_cxx14): Likewise.
3618 (set_std_cxx1z): Likewise.
3619
c61ef207 36202014-11-21 Jakub Jelinek <jakub@redhat.com>
3621
3622 PR target/63764
3623 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3624 return type to bool.
c9ed79de 3625 * c-common.c: Include gimple-expr.h.
c61ef207 3626 (convert_vector_to_pointer_for_subscript): Change return type to
3627 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3628 and copy it into a TARGET_EXPR and use that instead of *vecp
3629 directly.
3630
1a91d914 36312014-11-19 David Malcolm <dmalcolm@redhat.com>
3632
3633 Merger of git branch "gimple-classes-v2-option-3".
3634 * ChangeLog.gimple-classes: New.
3635 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3636 from being just a vec<gimple> to a vec<gbind *>.
3637
f8fc8b8e 36382014-11-18 Jakub Jelinek <jakub@redhat.com>
3639
3640 PR sanitizer/63813
3641 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3642 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3643 get_pointer_alignment for non-pointers. Use ptype, or if it is
3644 reference type, corresponding pointer type, as type of kind
3645 argument.
3646 (ubsan_maybe_instrument_reference,
3647 ubsan_maybe_instrument_member_call): Adjust callers.
3648
8315e35e 36492014-11-15 Marek Polacek <polacek@redhat.com>
3650
3651 PR middle-end/63884
3652 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3653 for NULL fndecl.
3654 (extract_array_notation_exprs): Return for NULL node.
3655
86b9f14b 36562014-11-12 Joseph Myers <joseph@codesourcery.com>
3657
3658 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3659 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3660
0c93c8a9 36612014-11-12 Jakub Jelinek <jakub@redhat.com>
3662
3663 PR c/59708
3664 * c-common.c (check_builtin_function_arguments): Handle
3665 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3666
fdd735a7 36672014-11-10 Andi Kleen <ak@linux.intel.com>
3668
3669 PR c/60804
3670 * c-common.h (check_no_cilk): Declare.
3671 * cilk.c (get_error_location): New function.
3672 (check_no_cilk): Dito.
3673
5cb678b4 36742014-11-10 Andi Kleen <ak@linux.intel.com>
3675
3676 * cilk.c (recognize_spawn): Use expression location
3677 for error message.
3678
0feb4de1 36792014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3680
3681 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3682
3aa2fa44 36832014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3684
3685 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3686 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3687 (__cpp_range_based_for, __cpp_initializer_lists,
3688 __cpp_delegating_constructors, __cpp_nsdmi,
3689 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3690 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3691 __has_cpp_attribute.
3692 * c-lex.c (cb_has_attribute): New callback CPP function;
3693 (init_c_lex): Set has_attribute callback.
3694
7fd22aae 36952014-11-04 Richard Biener <rguenther@suse.de>
3696
3697 * c-common.c (shorten_compare): Do not shorten mixed
3698 DFP and non-DFP compares.
3699
4af203ac 37002014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3701
3702 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3703 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3704 Commentary and rearrangement of tests.
3705 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3706 Commentary and rearrangement of tests.
3707 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3708 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3709
3754d046 37102014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3711
3712 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3713 enum from machine_mode.
3714
1140c305 37152014-10-28 Andrew MacLeod <amacleod@redhat.com>
3716
1f78217c 3717 * c-common.c: Adjust include files.
3718 * c-gimplify.c: Ditto.
3719 * cilk.c: Ditto.
3720 * c-pragma.c: Ditto.
3721 * c-ubsan.c: Ditto.
1140c305 3722
94ea8568 37232014-10-27 Andrew MacLeod <amacleod@redhat.com>
3724
3725 * c-gimplify.c: Adjust include files.
3726
32ecf960 37272014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3728
3729 PR c++/53061
3730 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3731 c_common_initialize_diagnostics.
3732 * c-common.h: Likewise.
3733
85fecbe2 37342014-10-24 Marek Polacek <polacek@redhat.com>
3735
3736 PR c/56980
3737 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3738 print "struct"/"union"/"enum" for typedefed names.
3739
e7ec033a 37402014-10-23 Marek Polacek <polacek@redhat.com>
3741
3742 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3743 in unsigned type.
3744
c2598081 37452014-10-22 Jakub Jelinek <jakub@redhat.com>
3746 Yury Gribov <y.gribov@samsung.com>
3747
3748 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3749 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3750 instead of flag_sanitize_recover as bool flag.
3751
acebb7e2 37522014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3753
3754 * cilk.c: Revert previous change.
3755
6115016c 37562014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3757
3758 PR c/63307
3759 * cilk.c: Include vec.h.
3760 (struct cilk_decls): New structure.
3761 (wrapper_parm_cb): Split this function to...
3762 (fill_decls_vec): ...this...
3763 (create_parm_list): ...and this.
3764 (compare_decls): New function.
3765 (for_local_cb): Remove.
3766 (wrapper_local_cb): Ditto.
3767 (build_wrapper_type): For now first traverse and fill vector of
3768 declarations then sort it and then deal with sorted vector.
3769 (cilk_outline): Ditto.
3770 (declare_one_free_variable): Ditto.
3771
e610d2b2 37722014-10-17 Marek Polacek <polacek@redhat.com>
3773
3774 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3775 * c.opt (Wimplicit-int): Initialize to -1.
3776
a3020f2f 37772014-10-16 Andrew MacLeod <amacleod@redhat.com>
3778
3779 * c-pragma.c: Adjust include files.
3780 * c-semantics.c: Likewise.
3781
926ddd2c 37822014-10-16 DJ Delorie <dj@redhat.com>
3783
3784 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3785 multiples of bytes.
3786
b0542e7c 37872014-10-14 Jason Merrill <jason@redhat.com>
3788
3789 PR c++/63455
3790 * c-common.h (CPP_PREPARSED_EXPR): New.
3791 (N_CP_TTYPES): Adjust.
3792
b2601928 37932014-10-15 Marek Polacek <polacek@redhat.com>
3794
3795 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3796
9f75f026 37972014-10-14 DJ Delorie <dj@redhat.com>
3798
3799 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3800 types, not just __int128.
3801 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3802 types, not just __int128.
3803 (cpp_atomic_builtins): Round pointer sizes up.
3804 (type_suffix): Use type precision, not specific types.
3805 * c-common.c (c_common_reswords): Remove __int128 special case.
3806 (c_common_type_for_size): Check for all __intN types, not just
3807 __int128.
3808 (c_common_type_for_mode): Likewise.
3809 (c_common_signed_or_unsigned_type): Likewise.
3810 (c_build_bitfield_integer_type): Likewise.
3811 (c_common_nodes_and_builtins): Likewise.
3812 (keyword_begins_type_specifier): Likewise.
3813 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3814 __intN variants.
3815
2ef51f0e 38162014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3817
3818 * c-common.c: Use hash_table instead of hashtab.
3819
5b8257e3 38202014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3821
1f78217c 3822 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 3823 C++11 section.
3824
5e84569c 38252014-10-03 Marc Glisse <marc.glisse@inria.fr>
3826
3827 PR c++/54427
3828 PR c++/57198
3829 PR c++/58845
3830 * c-common.c (warn_logical_operator): Punt for vectors.
3831
f6751ff2 38322014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3833
3834 Implement SD-6: SG10 Feature Test Recommendations
3835 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3836 macros and the __has_header macro.
3837
c33e051d 38382014-09-30 Jason Merrill <jason@redhat.com>
3839
f76a9aa8 3840 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3841 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3842 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3843
717e52f9 3844 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3845 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3846
c33e051d 3847 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3848 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3849
5213d6c9 38502014-09-24 Marek Polacek <polacek@redhat.com>
3851
3852 PR c/61405
3853 PR c/53874
3854 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3855
6b722052 38562014-09-23 Andi Kleen <ak@linux.intel.com>
3857
3858 * c-common.c (handle_no_reorder_attribute): New function.
3859 (c_common_attribute_table): Add no_reorder attribute.
3860
0cb69d12 38612014-09-22 Joseph Myers <joseph@codesourcery.com>
3862
3863 * c-cppbuiltin.c (c_cpp_builtins): Define
3864 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3865 modes.
3866
168dfbf0 38672014-09-18 Joseph Myers <joseph@codesourcery.com>
3868
3869 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3870 for supported floating-point modes.
3871
b83705f4 38722014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3873
3874 * c.opt (Wpsabi): Use LangEnabledBy.
3875 * c-opts.c (c_common_handle_option): Do not handle here.
3876
d5957f0d 38772014-09-12 Joseph Myers <joseph@codesourcery.com>
3878
3879 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3880 macros for floating-point modes.
3881
bae6edff 38822014-09-11 Marc Glisse <marc.glisse@inria.fr>
3883
3884 PR target/58757
3885 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3886 __*_DENORM_MIN__ without denormals.
3887
73a69d02 38882014-09-10 Jakub Jelinek <jakub@redhat.com>
3889
3890 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3891 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3892 ubsan_create_data callers.
3893 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3894 index is constant or BIT_AND_EXPR with constant mask and is
3895 small enough for the bound.
3896 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3897 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3898
7ff8db31 38992014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3900
3901 * c.opt: Add CppReason to various flags.
3902 (Wdate-time): Re-sort.
3903 * c-common.c: Include c-common.h earlier.
3904 (struct reason_option_codes_t): Delete.
3905 (c_option_controlling_cpp_error): Prefix global type and struct
3906 with cpp_.
3907
bcc1f37e 39082014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3909
3910 * c.opt (Wnormalized): New.
3911 (Wnormalized=): Use Enum and Reject Negative.
3912 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3913
b660d3c6 39142014-09-08 Joseph Myers <joseph@codesourcery.com>
3915
3916 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3917 digits of floating-point modes if -fbuilding-libgcc.
3918
325b8c3c 39192014-09-05 Joseph Myers <joseph@codesourcery.com>
3920
3921 * c-cppbuiltin.c (c_cpp_builtins): Also define
3922 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3923 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3924 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3925 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3926 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3927 __LIBGCC_STACK_GROWS_DOWNWARD__,
3928 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3929 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3930 __LIBGCC_DWARF_FRAME_REGISTERS__,
3931 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3932 __LIBGCC_STACK_POINTER_REGNUM__ and
3933 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3934 (builtin_define_with_value): Handle backslash-escaping in string
3935 macro values.
3936
1e074e77 39372014-09-05 Richard Biener <rguenther@suse.de>
3938
3939 PR middle-end/63148
3940 * c-format.c (check_format_arg): Properly handle
3941 effectively signed POINTER_PLUS_EXPR offset.
3942
04afd878 39432014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3944
3945 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3946 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3947 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3948 and Init.
3949 * c-opts.c (c_common_handle_option): Do not handle here.
3950 (sanitize_cpp_opts): Likewise.
3951 * c-common.c (struct reason_option_codes_t): Handle
3952 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3953
a3f448f0 39542014-09-03 Marek Polacek <polacek@redhat.com>
3955
3956 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3957
40750995 39582014-09-02 Jakub Jelinek <jakub@redhat.com>
3959 Balaji V. Iyer <balaji.v.iyer@intel.com>
3960 Igor Zamyatin <igor.zamyatin@intel.com>
3961
3962 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3963 * c-common.c (c_common_reswords): Added _Cilk_for.
3964 * c-common.h (enum rid): Added RID_CILK_FOR.
3965 (cilk_for_number_of_iterations): Add declaration.
3966 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3967 CILK_FOR.
3968 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3969 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3970
f0fbe519 39712014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3972
3973 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3974 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3975 Wundef): Use CPP, Var and Init.
3976 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3977
a7d2e480 39782014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3979
3980 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3981 * c-opts.c (c_common_handle_option): Do not handle here.
3982
c35e53f1 39832014-08-25 Jason Merrill <jason@redhat.com>
3984
3985 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3986 -std=c++14 and -std=gnu++14, rather than the reverse.
3987 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3988 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3989 * c-common.h (cxx_dialect): Remove cxx1y.
3990
4e454776 39912014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3992
3993 * c-common.h (enum cxx_dialect): Add cxx14.
3994 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3995 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3996 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3997
af1a80f2 39982014-08-22 Jason Merrill <jason@redhat.com>
3999
4000 * c.opt (std=gnu++17): Fix alias.
4001
dc6229e8 40022014-08-22 Marek Polacek <polacek@redhat.com>
4003
4004 PR c++/62199
4005 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
4006 check for vector types. Drop LHS argument.
4007 * c-common.h (warn_logical_not_parentheses): Adjust.
4008
ba7f7c88 40092014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4010
4011 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
4012 (Wmultichar): Likewise.
4013 (Wdate-time): Use C-family languages instead of Common. Use CPP
4014 and Var.
4015 * c-opts.c (c_common_handle_option): Do not handle the above
4016 options here.
4017 (sanitize_cpp_opts): Likewise.
4018
399d4f80 40192014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4020
4021 PR fortran/44054
4022 * c-opts.c: Include tree-diagnostics.h.
4023 (c_diagnostic_finalizer): New.
4024 (c_common_initialize_diagnostics): Use it.
4025
1babed5f 40262014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4027
4028 PR preprocessor/51303
4029 * c-common.c (struct reason_option_codes_t option_codes):
4030 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
4031
3636964b 40322014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4033
4034 PR c/60975
4035 PR c/53063
4036 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
4037 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
4038 (c_common_post_options): Call init_global_opts_from_cpp.
4039 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
4040
78bf4156 40412014-08-19 Marek Polacek <polacek@redhat.com>
4042
4043 PR c++/62153
4044 * c-common.c (maybe_warn_bool_compare): New function.
4045 * c-common.h (maybe_warn_bool_compare): Declare.
4046 * c.opt (Wbool-compare): New option.
4047
508ea33a 40482014-08-19 Marek Polacek <polacek@redhat.com>
4049
4050 * c.opt (Wc99-c11-compat): New option.
4051
806fe15e 40522014-08-19 Marek Polacek <polacek@redhat.com>
4053
4054 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
4055 to warn_c90_c99_compat.
4056 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
4057 to -1.
4058
6c867de1 40592014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
4060 Steven Bosscher <steven@gcc.gnu.org>
4061
4062 PR c/52952
4063 * c-format.c: Add extra_arg_loc and format_string_loc to struct
4064 format_check_results.
4065 (check_function_format): Use true and add comment for boolean
4066 argument.
4067 (finish_dollar_format_checking): Use explicit location when warning.
4068 (check_format_info): Likewise.
4069 (check_format_arg): Set extra_arg_loc and format_string_loc.
4070 (check_format_info_main): Use explicit location when warning.
4071 (check_format_types): Pass explicit location.
4072 (format_type_warning): Likewise.
4073
dc8078a3 40742014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4075
4076 PR fortran/44054
4077 * c-format.c: Handle Fortran flags.
4078
d271ec7e 40792014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
4080
4081 PR other/61962
4082 * array-notation-common.c (find_rank): Added handling for other
4083 types of references.
4084
890c2e2f 40852014-08-10 Marek Polacek <polacek@redhat.com>
4086
4087 PR c/51849
4088 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
4089 * c.opt (Wc90-c99-compat): Add option.
4090
7149db5f 40912014-08-07 Trevor Saunders <tsaunders@mozilla.com>
4092
4093 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
4094
2d2f6a15 40952014-08-03 Marek Polacek <polacek@redhat.com>
4096
4097 * c-common.c (check_case_value): Add location_t parameter. Use it.
4098 (c_add_case_label): Pass loc to check_case_value.
4099
06ecf488 41002014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4101
4102 * cilk.c: Use hash_map instead of pointer_map.
4103
431205b7 41042014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4105
4106 * c-gimplify.c: Use hash_set instead of pointer_set.
4107
3394c80c 41082014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
4109
4110 PR middle-end/61455
4111 * array-notation-common.c (extract_array_notation_exprs): Handling
4112 of DECL_EXPR added.
4113
392dee1e 41142014-08-01 Jakub Jelinek <jakub@redhat.com>
4115
4116 * c-common.h (min_align_of_type): Removed prototype.
4117 * c-common.c (min_align_of_type): Removed.
4118 * c-ubsan.h (ubsan_maybe_instrument_reference,
4119 ubsan_maybe_instrument_member_call): New prototypes.
4120 * c-ubsan.c: Include stor-layout.h and builtins.h.
4121 (ubsan_maybe_instrument_reference_or_call,
4122 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
4123 functions.
4124
f22a2cb7 41252014-07-31 Marc Glisse <marc.glisse@inria.fr>
4126
4127 PR c++/60517
4128 * c.opt (-Wreturn-local-addr): Move to common.opt.
4129
87b0198f 41302014-07-30 Jason Merrill <jason@redhat.com>
4131
4132 PR c++/61659
4133 PR c++/61687
4134 Revert:
4135 * c.opt (-fuse-all-virtuals): New.
4136
74691f46 41372014-07-30 Tom Tromey <tromey@redhat.com>
4138
4139 PR c/59855
4140 * c.opt (Wdesignated-init): New option.
4141 * c-common.c (c_common_attribute_table): Add "designated_init".
4142 (handle_designated_init): New function.
4143
9140d56f 41442014-07-24 Marek Polacek <polacek@redhat.com>
4145
4146 PR c/57653
4147 * c-opts.c (c_finish_options): If -imacros is in effect, return.
4148
a09c5cc2 41492014-07-16 Dodji Seketeli <dodji@redhat.com>
4150
4151 PR preprocessor/60723 - missing system-ness marks for macro tokens
4152 * c-ppoutput.c (struct print::prev_was_system_token): New data
4153 member.
4154 (init_pp_output): Initialize it.
4155 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
4156 (do_line_change): Return a flag saying if a line marker was
4157 emitted or not.
4158 (scan_translation_unit): Detect if the system-ness of the token we
4159 are about to emit is different from the one of the previously
4160 emitted token. If so, emit a line marker. Avoid emitting useless
4161 adjacent line markers. Avoid emitting line markers for tokens
4162 originating from the expansion of built-in macros.
4163 (scan_translation_unit_directives_only): Adjust.
4164
2b25b62f 41652014-07-15 Marek Polacek <polacek@redhat.com>
4166
4167 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
4168 TYPE_MAX_VALUE is NULL.
4169
305d96bc 41702014-07-14 Jakub Jelinek <jakub@redhat.com>
4171
4172 PR middle-end/61294
4173 * c.opt (Wmemset-transposed-args): New warning.
4174
8ea4660d 41752014-07-10 Jason Merrill <jason@redhat.com>
4176
4177 PR c++/61659
4178 PR c++/61687
4179 * c.opt (-fuse-all-virtuals): New.
4180
cd480f3d 41812014-07-09 Richard Biener <rguenther@suse.de>
4182
4183 PR c-family/61741
4184 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4185 using unsigned arithmetic if overflow does not wrap instead of
4186 if overflow is undefined.
4187
87d59e72 41882014-07-06 Marek Polacek <polacek@redhat.com>
4189
4190 PR c/6940
4191 * c.opt (Wsizeof-array-argument): New option.
4192
d69521d8 41932014-07-03 Jakub Jelinek <jakub@redhat.com>
4194
8204c077 4195 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 4196 comments->count <= 1, as comments->entries might be NULL.
4197
1207866e 41982014-07-01 Marek Polacek <polacek@redhat.com>
4199
4200 * c.opt (Wint-conversion): New option.
4201
7a6bbb76 42022014-07-01 Marek Polacek <polacek@redhat.com>
4203
4204 PR c/58286
4205 * c.opt (Wincompatible-pointer-types): New option.
4206
9d4eeb52 42072014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
4208
4209 PR c++/51400
4210 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
4211 Do not discard TYPE_QUALS of type.
4212
4b53bc0f 42132014-06-26 Jason Merrill <jason@redhat.com>
4214
4215 * c-common.h (enum cxx_dialect): Add cxx1z.
4216 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
4217 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
4218
a8a8d4ea 42192014-06-26 Teresa Johnson <tejohnson@google.com>
4220
4221 * c-common.h (get_dump_info): Declare.
4222 * c-gimplify.c (c_genericize): Use saved dump files.
4223 * c-opts.c (c_common_parse_file): Begin and end dumps
4224 once around parsing invocation.
4225 (get_dump_info): New function.
4226
1f6be080 42272014-06-23 Marek Polacek <polacek@redhat.com>
4228 Andrew MacLeod <amacleod@redhat.com>
4229
4230 PR c/61553
4231 * c-common.c (get_atomic_generic_size): Don't segfault if the
4232 type doesn't have a size.
4233
5ef6b660 42342014-06-20 Marek Polacek <polacek@redhat.com>
4235
4236 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4237 (ubsan_walk_array_refs_r): New function.
4238 (c_genericize): Instrument array bounds.
4239 * c-ubsan.c: Include "internal-fn.h".
4240 (ubsan_instrument_division): Mark instrumented arrays as having
4241 side effects. Adjust ubsan_type_descriptor call.
4242 (ubsan_instrument_shift): Likewise.
4243 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
4244 (ubsan_instrument_bounds): New function.
4245 (ubsan_array_ref_instrumented_p): New function.
4246 (ubsan_maybe_instrument_array_ref): New function.
4247 * c-ubsan.h (ubsan_instrument_bounds): Declare.
4248 (ubsan_array_ref_instrumented_p): Declare.
4249 (ubsan_maybe_instrument_array_ref): Declare.
4250
42512014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 4252
4253 PR lto/61123
4254 * c.opt (fshort-enums): Add to LTO.
4255 * c.opt (fshort-wchar): Likewise.
4256
78438f31 42572014-06-16 Marek Polacek <polacek@redhat.com>
4258
4259 PR c/60439
4260 * c.opt (Wswitch-bool): Add Var.
4261
5fddcf34 42622014-06-12 Jakub Jelinek <jakub@redhat.com>
4263
4264 PR middle-end/61486
4265 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
4266 #pragma omp target teams or
4267 #pragma omp {,target }teams distribute simd.
4268
74b777e5 42692014-06-12 Jason Merrill <jason@redhat.com>
4270
4271 * c.opt (Wabi=, fabi-compat-version): New.
4272 * c-opts.c (c_common_handle_option): Handle -Wabi=.
4273 (c_common_post_options): Handle flag_abi_compat_version default.
4274 Disallow -fabi-compat-version=1.
4275 * c-common.h (abi_version_crosses): New.
4276
738a6bda 42772014-06-11 Jan Hubicka <hubicka@ucw.cz>
4278
1f78217c 4279 * c-common.c (handle_section_attribute): Update handling for
738a6bda 4280 section names that are no longer trees.
4281
cf5f881f 42822014-06-10 Jakub Jelinek <jakub@redhat.com>
4283
4284 PR fortran/60928
4285 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4286 (omp_pragmas): ... back here.
4287
32dc1512 42882014-06-05 Marek Polacek <polacek@redhat.com>
4289
4290 PR c/49706
4291 * c-common.c (warn_logical_not_parentheses): New function.
4292 * c-common.h (warn_logical_not_parentheses): Declare.
4293 * c.opt (Wlogical-not-parentheses): New option.
4294
f61a9bc2 42952014-06-04 Marek Polacek <polacek@redhat.com>
4296
4297 PR c/30020
4298 * c-common.c (check_case_bounds): Add location parameter.
4299 Use it.
4300 (c_add_case_label): Pass loc to check_case_bounds.
4301
c69ec07d 43022014-06-03 Marek Polacek <polacek@redhat.com>
4303
4304 PR c/60439
4305 * c.opt (Wswitch-bool): New option.
4306
3c77ca67 43072014-05-22 Thomas Schwinge <thomas@codesourcery.com>
4308
68a2c870 4309 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4310 Remove prototypes.
4311 (record_types_used_by_current_var_decl): Move prototype to where
4312 it belongs.
4313
3c77ca67 4314 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4315 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4316 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4317
3ab4693e 43182014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4319
4320 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4321 * c-common.c (c_common_nodes_and_builtins): Don't initialize
4322 void_zero_node.
4323 * c-pretty-print.c (pp_c_void_constant): New function.
4324 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4325 (c_pretty_printer::expression): Handle VOID_CST.
4326 * cilk.c (extract_free_variables): Likewise.
4327 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4328 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4329
25a27413 43302014-05-17 Trevor Saunders <tsaunders@mozilla.com>
4331
4332 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4333 * c-pragma.c (push_alignment): Adjust.
4334 (handle_pragma_push_options): Likewise.
4335
3e5a8b00 43362014-05-09 Marek Polacek <polacek@redhat.com>
4337
4338 PR c/50459
4339 * c-common.c (check_user_alignment): Return -1 if alignment is error
4340 node.
4341 (handle_aligned_attribute): Don't call default_conversion on
4342 FUNCTION_DECLs.
4343 (handle_vector_size_attribute): Likewise.
4344 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4345 (handle_sentinel_attribute): Call default_conversion and allow even
4346 integral types as an argument.
4347
c2c4ae8d 43482014-05-08 Marek Polacek <polacek@redhat.com>
4349
4350 PR c/61053
4351 * c-common.c (min_align_of_type): New function factored out from...
4352 (c_sizeof_or_alignof_type): ...here.
4353 * c-common.h (min_align_of_type): Declare.
4354
2026249a 43552014-05-08 Marek Polacek <polacek@redhat.com>
4356
4357 PR c/61077
4358 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4359 parameter type of main.
4360
33c8dcfe 43612014-05-07 DJ Delorie <dj@redhat.com>
4362
4363 * c-cppbuiltin.c (print_bits_of_hex): New.
4364 (builtin_define_type_minmax): Print values using hex so as not to
4365 require a pre-computed list of string values.
4366
960d5a55 43672014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4368 Mike Stump <mikestump@comcast.net>
4369 Richard Sandiford <rdsandiford@googlemail.com>
4370
4371 * c-ada-spec.c: Include wide-int.h.
4372 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4373 (dump_generic_ada_node): Use wide-int interfaces.
4374 * c-common.c: Include wide-int-print.h.
4375 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4376 (pointer_int_sum): Use wide-int interfaces.
4377 (c_common_nodes_and_builtins): Use make_int_cst.
4378 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4379 (handle_alloc_size_attribute): Use wide-int interfaces.
4380 (get_nonnull_operand): Likewise.
4381 * c-format.c (get_constant): Use tree_fits_uhwi_p.
4382 * c-lex.c: Include wide-int.h.
4383 (narrowest_unsigned_type): Take a widest_int rather than two
4384 HOST_WIDE_INTs.
4385 (narrowest_signed_type): Likewise.
4386 (interpret_integer): Update accordingly. Use wide-int interfaces.
4387 (lex_charconst): Use wide-int interfaces.
4388 * c-pretty-print.c: Include wide-int.h.
4389 (pp_c_integer_constant): Use wide-int interfaces.
4390 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4391 INT_CST_LT_UNSIGNED.
4392
bbb88b31 43932014-05-06 Richard Biener <rguenther@suse.de>
4394
4395 * c-opts.c (c_common_post_options): For -freestanding,
4396 -fno-hosted and -fno-builtin disable pattern recognition
4397 if not enabled explicitely.
4398
022d4718 43992014-05-02 Marek Polacek <polacek@redhat.com>
4400
4401 * c.opt (Wsizeof-pointer-memaccess): Describe option.
4402
e4ab2ef3 44032014-05-01 Marek Polacek <polacek@redhat.com>
4404
4405 PR c/43245
4406 * c.opt (Wdiscarded-qualifiers): Add.
4407
52cc0072 44082014-04-30 Marek Polacek <polacek@redhat.com>
4409
4410 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
4411 INT_MIN / -1 sanitization only for integer types.
4412
4a026b48 44132014-04-25 Marek Polacek <polacek@redhat.com>
4414
4415 PR c/18079
4416 * c-common.c (handle_noinline_attribute): Warn if the attribute
4417 conflicts with always_inline attribute.
4418 (handle_always_inline_attribute): Warn if the attribute conflicts
4419 with noinline attribute.
4420
90e645fa 44212014-04-25 Marek Polacek <polacek@redhat.com>
4422
4423 PR c/60156
4424 * c-common.c (check_main_parameter_types): Warn about variadic main.
4425
db103ea4 44262014-04-24 Mike Stump <mikestump@comcast.net>
4427
4428 * c.opt (Wshadow-ivar): Default to on.
4429
06511efd 44302014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4431
4432 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4433
cdf34fca 44342014-04-23 Marek Polacek <polacek@redhat.com>
4435
4436 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4437
7311d7c1 44382014-04-22 Jakub Jelinek <jakub@redhat.com>
4439
4440 PR sanitizer/60275
4441 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4442 if flag_sanitize_undefined_trap_on_error.
4443 (ubsan_instrument_division, ubsan_instrument_shift,
4444 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4445 if !flag_sanitize_recover.
4446
c1917557 44472014-04-22 Marc Glisse <marc.glisse@inria.fr>
4448
4449 PR libstdc++/43622
4450 * c-common.c (registered_builtin_types): Make non-static.
4451 * c-common.h (registered_builtin_types): Declare.
4452
b2ca6510 44532014-04-14 Richard Biener <rguenther@suse.de>
4454 Marc Glisse <marc.glisse@inria.fr>
4455
4456 PR c/60819
4457 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4458 apply may-alias the scalar pointer type when applicable.
4459
855372a3 44602014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4461
4462 PR middle-end/60467
4463 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4464 as possible argument for Cilk_spawn.
4465
4012a986 44662014-04-11 Tobias Burnus <burnus@net-b.de>
4467
4468 PR c/60194
4469 * c.opt (Wformat-signedness): Add
4470 * c-format.c(check_format_types): Use it.
4471
0d284870 44722014-04-11 Jason Merrill <jason@redhat.com>
4473
4474 PR c++/57926
4475 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4476 default_conversion for an array argument.
4477
a34c1231 44782014-04-08 Marek Polacek <polacek@redhat.com>
4479
4480 PR sanitizer/60745
4481 * c-ubsan.c: Include asan.h.
4482 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4483
a35a8e18 44842014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4485
4486 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4487
b23e42b6 44882014-04-02 Marek Polacek <polacek@redhat.com>
4489
4490 * c-common.h (c_expand_expr): Remove declaration.
4491
5a672e62 44922014-03-28 Jakub Jelinek <jakub@redhat.com>
4493
4494 PR c++/60689
4495 * c-common.c (add_atomic_size_parameter): When creating new
4496 params vector, push the size argument first.
4497
d4d068c0 44982014-03-26 Jakub Jelinek <jakub@redhat.com>
4499
4500 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4501 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4502 ubsan_create_data callers.
4503
446bdf5f 45042014-03-22 Jakub Jelinek <jakub@redhat.com>
4505
4506 PR debug/60603
4507 * c-opts.c (c_finish_options): Restore cb_file_change call to
4508 <built-in>.
4509
8895f0a3 45102014-03-13 Jakub Jelinek <jakub@redhat.com>
4511
4512 PR middle-end/36282
4513 * c-pragma.c (apply_pragma_weak): Only look at
4514 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4515 DECL_ASSEMBLER_NAME_SET_P (decl).
4516 (maybe_apply_pending_pragma_weaks): Exit early if
4517 vec_safe_is_empty (pending_weaks) rather than only when
4518 !pending_weaks.
4519 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4520 set assembler name back to NULL afterwards.
4521
7a5da2cd 45222014-03-11 Jason Merrill <jason@redhat.com>
4523
4524 * c.opt: Add -std=gnu++14.
4525
95093889 45262014-03-11 Ian Bolton <ian.bolton@arm.com>
4527
4528 * c-opts.c (c_common_post_options): Don't override
4529 -ffp-contract=fast if unsafe-math-optimizations is on.
4530
c9a24b37 45312014-03-08 Paulo Matos <paulo@matos-sorge.com>
4532
9b8f3aa1 4533 * c.opt: Enable LTO FE for fshort-double.
c9a24b37 4534
3f6dba6e 45352014-03-07 Jason Merrill <jason@redhat.com>
4536
4537 * c.opt: Add -std=c++14.
4538
3bfdc94f 45392014-03-06 Marek Polacek <polacek@redhat.com>
4540
4541 PR c/60197
4542 * cilk.c (contains_cilk_spawn_stmt): New function.
4543 (contains_cilk_spawn_stmt_walker): Likewise.
4544 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4545 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4546
8b3a6a4c 45472014-03-03 Jakub Jelinek <jakub@redhat.com>
4548
4549 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4550 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4551 even when flag_preprocess_only.
4552
734ec290 45532014-02-26 Jason Merrill <jason@redhat.com>
4554
4555 PR c++/59231
4556 PR c++/11586
4557 * c-common.c (shorten_compare): Don't check
4558 c_inhibit_evaluation_warnings.
4559
81aec8b8 45602014-02-19 Jakub Jelinek <jakub@redhat.com>
4561
d1081017 4562 PR c/37743
4563 * c-common.c (c_common_nodes_and_builtins): When initializing
4564 c_uint{16,32,64}_type_node, also set corresponding
4565 uint{16,32,64}_type_node to the same value.
4566
81aec8b8 4567 PR c++/60267
4568 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4569 for PRAGMA_IVDEP if flag_preprocess_only.
4570
312243bb 45712014-02-12 Jakub Jelinek <jakub@redhat.com>
4572
4573 PR c/60101
4574 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4575 if false, add ADD itself, rather than vice versa.
4576 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4577 copy. For SAVE_EXPR, only call merge_tlist once.
4578
237e78b1 45792014-02-08 Jakub Jelinek <jakub@redhat.com>
4580
4581 PR middle-end/60092
4582 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4583 and tree_to_uhwi.
4584 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4585 functions.
4586 (c_common_attribute_table): Add alloc_align and assume_aligned
4587 attributes.
4588
76fdceeb 45892014-02-06 Marek Polacek <polacek@redhat.com>
4590
4591 PR c/60087
4592 * c-common.c (warn_for_sign_compare): Call warning_at with location
4593 instead of warning.
4594
4a4dea42 45952014-02-05 Marek Polacek <polacek@redhat.com>
4596
4597 PR c/53123
4598 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4599 statement.
4600
ec704957 46012014-02-04 Marek Polacek <polacek@redhat.com>
4602
4603 PR c/60036
4604 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4605 SAVE_EXPR.
4606
caf62483 46072014-02-03 Marc Glisse <marc.glisse@inria.fr>
4608
4609 PR c++/53017
4610 PR c++/59211
4611 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4612 handle_vector_size_attribute, handle_nonnull_attribute): Call
4613 default_conversion on the attribute argument.
4614 (handle_nonnull_attribute): Increment the argument number.
4615
ec761d5a 46162014-01-31 Marek Polacek <polacek@redhat.com>
4617
4618 PR c/59963
4619 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4620 build_function_call_vec.
4621 (resolve_overloaded_builtin): Likewise.
4622 * c-common.h (build_function_call_vec): Adjust declaration.
4623
22a75734 46242014-01-30 Marek Polacek <polacek@redhat.com>
4625
4626 PR c/59940
4627 * c-common.h (unsafe_conversion_p): Adjust declaration.
4628 (warnings_for_convert_and_check): Likewise.
4629 (convert_and_check): Likewise.
4630 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4631 expansion_point_location_if_in_system_header on it.
4632 (warnings_for_convert_and_check): Add location parameter. Call
4633 expansion_point_location_if_in_system_header on it. Use it.
4634 (convert_and_check): Add location parameter. Use it.
4635 (conversion_warning): Likewise.
4636 (c_add_case_label): Adjust convert_and_check calls.
4637 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4638
a89e6c15 46392014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4640
4641 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4642 flag_cilkplus.
4643 * c-pragma.c (init_pragma): Likewise.
4644 * c.opt: Likewise.
4645
2623625f 46462014-01-23 Marek Polacek <polacek@redhat.com>
4647
4648 PR c/59846
4649 * c-common.c (shorten_compare): Add location_t parameter.
4650 * c-common.h (shorten_binary_op): Adjust declaration.
4651
46da3601 46522014-01-23 Marek Polacek <polacek@redhat.com>
4653
4654 PR c/58346
4655 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4656 * c-common.h: Declare it.
4657
c9743c6a 46582014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4659
4660 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4661 * c-ada-spec.c (dump_ads): Likewise.
4662 (cpp_check): Likewise.
4663 (dump_ada_specs): Likewise.
4664
46652014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 4666
4667 PR c++/49718
4668 * c-common.c (handle_no_instrument_function_attribute): Allow
4669 no_instrument_function attribute in class member
4670 definition/declaration.
4671
1248c663 46722014-01-15 Jakub Jelinek <jakub@redhat.com>
4673
4674 PR c/58943
4675 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4676 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4677 being COMPOUND_EXPR.
4678 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4679 operand a SAVE_EXPR and second MODIFY_EXPR.
4680
6e5c480b 46812014-01-09 Jakub Jelinek <jakub@redhat.com>
4682
4683 PR target/58115
4684 * c-pch.c (c_common_write_pch): Call
4685 prepare_target_option_nodes_for_pch.
4686
3aea1f79 46872014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4688
4689 Update copyright years
4690
e4f22041 46912014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4692
4693 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4694 the copyright notice.
4695
7fb0fe24 46962013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4697
4698 * c-ada-spec.c (print_constructor): New function.
4699 (print_destructor): Retrieve the origin of the destructor.
4700 (print_ada_declaration): Revamp handling of constructors/destructors.
4701
92a44a68 47022013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 4703 Bill Maddox <maddox@google.com>
4704 Jason Merrill <jason@redhat.com>
4705
4706 * c.opt: Add -fdeclone-ctor-dtor.
4707 * c-opts.c (c_common_post_options): Default to on iff -Os.
4708
74acc703 47092013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4710
4711 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4712 attribute.
4713 * c-pragma.h (enum pragma_cilk_clause): Remove.
4714 (enum pragma_omp_clause): Added the following fields:
4715 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4716 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4717 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4718 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4719 PRAGMA_CILK_CLAUSE_UNIFORM.
4720
8204c077 4721
433e804e 47222013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4723
4724 * cilk.c (cilk_outline): Made this function non-static.
4725 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4726 (create_cilk_wrapper): Added a new parameter: a function pointer.
4727 (c_install_body_w_frame_cleanup): Remove
4728 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4729 * c-common.h (cilk_outline): New prototype.
4730 (gimplify_cilk_spawn): Removed two parameters.
4731 (cilk_install_body_with_frame_cleanup): New prototype.
4732 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4733 CILK_SPAWN_STMT case.
4734
5bcc7e60 47352013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4736
e66325ea 4737 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4738
5bcc7e60 4739 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4740 (int_array_type_node): Remove.
4741 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4742
0b26ec77 47432013-12-05 Marek Polacek <polacek@redhat.com>
4744
4745 PR c/52023
4746 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4747 [ADJUST_FIELD_ALIGN].
4748
a179a7dc 47492013-12-04 Joseph Myers <joseph@codesourcery.com>
4750
4751 PR c/52023
4752 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4753 and check field alignment if set.
4754 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4755 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4756
8204c077 47572013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 4758 Marek Polacek <polacek@redhat.com>
4759
4760 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4761 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4762
648fd348 47632013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4764
4765 PR c/59309
4766 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4767 arguments.
4768
253e1cae 47692013-11-29 Jakub Jelinek <jakub@redhat.com>
4770
4771 PR c/59280
4772 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4773 goto invalid. If it is error_mark_node, don't issue further
4774 diagnostics.
4775
3e398f5b 47762013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4777
4778 * c.opt (Wopenmp-simd): New.
4779
020bc656 47802013-11-22 Jakub Jelinek <jakub@redhat.com>
4781
4782 * c-ubsan.h (ubsan_instrument_return): New prototype.
4783 * c-ubsan.c (ubsan_instrument_return): New function.
4784
bc61cadb 47852013-11-22 Andrew MacLeod <amacleod@redhat.com>
4786
4787 * c-common.c: Add required include files from gimple.h.
4788 * c-gimplify.c: Likewise
4789 * cilk.c: Likewise
4790
3df42822 47912013-11-22 David Malcolm <dmalcolm@redhat.com>
4792
4793 * c-common.c (unsafe_conversion_p): Remove use of
4794 EXPR_LOC_OR_HERE macro.
4795 (conversion_warning): Likewise.
4796 (warnings_for_convert_and_check): Likewise.
4797 (warn_for_collisions_1): Likewise.
4798 (shorten_compare): Likewise, and remove use of in_system_header
4799 macro, using the location from the former.
4800 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4801 (cb_def_pragma): Remove use of in_system_header macro.
4802 (lex_string): Likewise.
4803 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4804
8c53c46c 48052013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4806 Mike Stump <mikestump@comcast.net>
4807 Richard Sandiford <rdsandiford@googlemail.com>
4808
4809 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4810 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4811 tree_fits_shwi_p or tree_fits_uhwi_p.
4812 (dump_generic_ada_node): Likewise.
4813 * c-format.c (check_format_arg): Likewise.
4814 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4815
5200ef07 48162013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4817
4818 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4819
ca9d7d74 48202013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4821
4822 PR c/53001
4823 * c-common.c (unsafe_conversion_p): Make this function
4824 return an enumeration with more detail.
4825 (conversion_warning): Use the new return type of
4826 unsafe_conversion_p to separately warn either about conversions
4827 that lower floating point number precision or about the other
4828 kinds of conversions.
4829 * c-common.h (enum conversion_safety): New enumeration.
a49621cf 4830 (unsafe_conversion_p): switching return type to
4831 conversion_safety enumeration.
ca9d7d74 4832 * c.opt: Adding new warning -Wfloat-conversion and
4833 enabling it with -Wconversion.
4834
0391a567 48352013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4836
a49621cf 4837 * c-opts.c: Include plugin.h.
4838 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
0391a567 4839
19b928d9 48402013-11-19 Marek Polacek <polacek@redhat.com>
4841
4842 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4843 call.
4844 (ubsan_instrument_shift): Likewise.
4845 (ubsan_instrument_vla): Likewise.
4846
aa59f000 48472013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4848
4849 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4850 cast to unsigned type.
4851
08f817b3 48522013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4853
4854 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4855 tree_low_cst.
4856 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4857 rather than tree_low_cst.
4858
6a0712d4 48592013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4860
4861 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4862 tree_to_uhwi throughout.
4863
fcb97e84 48642013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4865
4866 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4867 tree_low_cst (..., 0) with tree_to_shwi throughout.
4868
cd4547bf 48692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4870
4871 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4872 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4873
35ec552a 48742013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4875
4876 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4877 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4878
f2697631 48792013-11-15 Aldy Hernandez <aldyh@redhat.com>
4880
4881 * c-cilkplus.c: New file.
4882 * c-common.c (readonly_error): Add location argument.
4883 * c-common.h (readonly_error): Same.
4884 (c_finish_cilk_clauses): Protoize.
4885 (c_check_cilk_loop): Same.
4886 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4887 Do not fail on error_mark_node.
4888 Abstract increment canonicalization to here...
4889 (c_omp_for_incr_canonicalize_ptr): New.
4890 c-pragma.c (init_pragma): Register "simd" pragma.
4891 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4892 (enum pragma_cilk_clause): New.
4893
0aa8c34e 48942013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4895
4896 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4897 wchar_type and host_integerp checks.
4898
e795d6e1 48992013-11-14 Andrew MacLeod <amacleod@redhat.com>
4900
4901 * c-common.c: Likewise.
4902 * c-gimplify.c: Likewise.
4903 * cilk.c: Likewise.
4904
9ed99284 49052013-11-14 Diego Novillo <dnovillo@google.com>
4906
4907 * c-common.c: Include fold-const.h.
4908 Include stor-layout.h.
4909 Include calls.h.
4910 Include stringpool.h.
4911 Include attribs.h.
4912 Include varasm.h.
4913 Include trans-mem.h.
4914 * c-cppbuiltin.c: Include stor-layout.h.
4915 Include stringpool.h.
4916 * c-format.c: Include stringpool.h.
4917 * c-lex.c: Include stringpool.h.
4918 Include stor-layout.h.
4919 * c-pragma.c: Include stringpool.h.
4920 Include attribs.h.
4921 Include varasm.h.
4922 Include gcc-symtab.h.
4923 * c-pretty-print.c: Include stor-layout.h.
4924 Include attribs.h.
4925 * cilk.c: Include stringpool.h.
4926 Include calls.h.
4927
4fba5eb9 49282013-11-13 Joseph Myers <joseph@codesourcery.com>
4929
4930 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4931 * c-common.c (c_common_reswords): Add __auto_type.
4932 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4933
a8783bee 49342013-11-12 Andrew MacLeod <amacleod@redhat.com>
4935
e795d6e1 4936 * c-common.c: Include gimplify.h.
4937 * c-gimplify.c: Likewise.
4938 * cilk.c: Likewise.
4939 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4940 * c-ubsan.c: Don't include gimple.h.
a8783bee 4941
d184e0c0 49422013-11-12 Joseph Myers <joseph@codesourcery.com>
4943
4944 * c-common.c (c_common_reswords): Add _Thread_local.
4945
a056826c 49462013-11-09 Joseph Myers <joseph@codesourcery.com>
4947
4948 * c-common.c (atomic_size_supported_p): New function.
4949 (resolve_overloaded_atomic_exchange)
4950 (resolve_overloaded_atomic_compare_exchange)
4951 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4952 Use it instead of comparing size with a local list of sizes.
4953
b560fabd 49542013-11-07 Andrew MacLeod <amacleod@redhat.com>
4955 Joseph Myers <joseph@codesourcery.com>
4956
4957 * c-common.h (enum rid): Add RID_ATOMIC.
4958 * c-common.c (c_common_reswords): Add _Atomic.
4959 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4960 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4961 * c-format.c (check_format_types): Check for extra _Atomic
4962 qualifiers in format argument.
4963 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4964 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4965
5b1a0622 49662013-11-06 Tobias Burnus <burnus@net-b.de>
4967
4968 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4969
4f8f4cb8 49702013-11-06 Joseph Myers <joseph@codesourcery.com>
4971
4972 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4973 standards modes.
4974 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4975 to mean lack of IEEE 754 support.
4976
9148bda3 49772013-11-05 Tobias Burnus <burnus@net-b.de>
4978
4979 * c.opt (-Wdate-time): New option
4980 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4981
08c5f4d5 49822013-11-05 Joseph Myers <joseph@codesourcery.com>
4983
4984 * c-cppbuiltin.c (cpp_iec_559_value): Test
4985 flag_excess_precision_cmdline not flag_excess_precision.
4986
c630ef93 49872013-11-05 Tobias Burnus <burnus@net-b.de>
4988
4989 * c.opt (fopenmp-simd): New option.
4990 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4991 (omp_pragmas): ... this new struct.
4992 (c_pp_lookup_pragma): Also walk omp_pragmas.
4993 (init_pragma): Init pragmas for -fopenmp-simd.
4994
7354a89b 49952013-11-04 Marek Polacek <polacek@redhat.com>
4996
4997 PR c++/58979
4998 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4999
4c866b9b 50002013-11-04 Joseph Myers <joseph@codesourcery.com>
5001
5002 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
5003 New functions.
5004 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
5005
e2a6a333 50062013-11-04 Eric Botcazou <ebotcazou@adacore.com>
5007
5008 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
5009 (dump_ada_specs): Adjust prototype of second callback.
5010 * c-ada-spec.c (cpp_check): New global variable.
5011 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
5012 (print_generic_ada_decl): Likewise.
5013 (has_static_fields): Change return type to bool and add guard.
5014 (has_nontrivial_methods): New predicate.
5015 (is_tagged_type): Change return type to bool.
5016 (separate_class_package): Call has_nontrivial_methods.
5017 (pp_ada_tree_identifier): Minor tweaks.
5018 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
5019 (dump_ada_array_domains): Likewise.
5020 (dump_ada_array_type): Likewise.
5021 (dump_template_types): Remove cpp_check parameter and do not pass it to
5022 dump_generic_ada_node.
5023 (dump_ada_template): Likewise.
5024 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
5025 recursively.
5026 (print_ada_methods): Change return type to integer. Remove cpp_check
5027 parameter and do not pass it down.
5028 (dump_nested_types): Remove cpp_check parameter and do not pass it to
5029 dump_generic_ada_node.
5030 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
5031 accessing methods.
5032 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
5033 down. Use has_nontrivial_methods to recognize C++ classes. Use return
5034 value of print_ada_methods.
5035 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
5036 Set cpp_check to it before invoking dump_ada_nodes.
5037 (dump_ada_specs): Likewise.
5038
2c4c3477 50392013-11-03 Marek Polacek <polacek@redhat.com>
5040
5041 * c-ubsan.c: Don't include hash-table.h.
5042 (ubsan_instrument_vla): New function.
5043 * c-ubsan.h: Declare it.
5044
452659af 50452013-10-31 David Malcolm <dmalcolm@redhat.com>
5046
5047 Automated part of renaming of symtab_node_base to symtab_node.
5048
5049 Patch autogenerated by rename_symtab.py from
5050 https://github.com/davidmalcolm/gcc-refactoring-scripts
5051 revision 58bb219cc090b2f4516a9297d868c245495ee622
5052
5053 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
5054 symtab_node_base to symtab_node.
5055
4d6f7dd4 50562013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
5057
a49621cf 5058 Implement C++14 digit separators.
4d6f7dd4 5059 * c-lex.c (interpret_float): Remove digit separators from scratch string
5060 before building real literal.
5061
06cfe805 50622013-10-30 Jakub Jelinek <jakub@redhat.com>
5063
5064 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
5065
d037099f 50662013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
5067
5068 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
5069 fields.
5070 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
5071 enabled.
5072 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
5073 (insert_cilk_frame): New prototype.
5074 (cilk_init_builtins): Likewise.
5075 (gimplify_cilk_spawn): Likewise.
5076 (c_cilk_install_body_w_frame_cleanup): Likewise.
5077 (cilk_detect_spawn_and_unwrap): Likewise.
5078 (cilk_set_spawn_marker): Likewise.
5079 (build_cilk_sync): Likewise.
5080 (build_cilk_spawn): Likewise.
5081 * cilk.c: New file.
5082
02774f2d 50832013-10-29 David Malcolm <dmalcolm@redhat.com>
5084
5085 Patch autogenerated by refactor_symtab.py from
5086 https://github.com/davidmalcolm/gcc-refactoring-scripts
5087 revision 58bb219cc090b2f4516a9297d868c245495ee622
5088
5089 * c-gimplify.c (c_genericize): Update for conversion of symtab types
5090 to a true class hierarchy.
5091 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
5092
31fe10fd 50932013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
5094
5095 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
5096
b1c06ff9 50972013-10-26 Jeff Law <law@redhat.com>
5098
1f78217c 5099 * c-common.c (c_define_builtins): Remove mudflap support.
5100 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 5101
48a972c8 51022013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 5103
5104 PR other/33426
5105 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
5106 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
5107
546a04b1 51082013-10-23 Jason Merrill <jason@redhat.com>
5109
5110 * c-format.c (gcc_cxxdiag_char_table): Add %X.
5111
bc7bff74 51122013-10-11 Jakub Jelinek <jakub@redhat.com>
5113
d62c713e 5114 * c-common.h (omp_clause_mask::operator !=): New method.
5115 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
5116 instead of if (mask & something) tests everywhere.
5117
bc7bff74 5118 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
5119 201307 instead of 201107.
5120 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
5121 (c_common_attribute_table): Add "omp declare target" and
5122 "omp declare simd" attributes.
5123 (handle_omp_declare_target_attribute,
5124 handle_omp_declare_simd_attribute): New functions.
5125 * c-omp.c: Include c-pragma.h.
5126 (c_finish_omp_taskgroup): New function.
5127 (c_finish_omp_atomic): Add swapped argument, if true,
5128 build the operation first with rhs, lhs arguments and use NOP_EXPR
5129 build_modify_expr.
5130 (c_finish_omp_for): Add code argument, pass it down to make_code.
5131 (c_omp_split_clauses): New function.
5132 (c_split_parallel_clauses): Removed.
5133 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
5134 c_omp_declare_simd_clauses_to_decls): New functions.
5135 * c-common.h (omp_clause_mask): New type.
5136 (OMP_CLAUSE_MASK_1): Define.
5137 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
5138 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
5139 omp_clause_mask::operator |, omp_clause_mask::operator &,
5140 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
5141 omp_clause_mask::operator ==): New methods.
5142 (enum c_omp_clause_split): New.
5143 (c_finish_omp_taskgroup): New prototype.
5144 (c_finish_omp_atomic): Add swapped argument.
5145 (c_finish_omp_for): Add code argument.
5146 (c_omp_split_clauses): New prototype.
5147 (c_split_parallel_clauses): Removed.
5148 (c_omp_declare_simd_clauses_to_numbers,
5149 c_omp_declare_simd_clauses_to_decls): New prototypes.
5150 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
5151 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
5152 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
5153 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
5154 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
5155 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
5156 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
5157 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
5158 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
5159 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
5160 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
5161 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
5162 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
5163 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
5164 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
5165 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
5166 PRAGMA_OMP_CLAUSE_UNIFORM.
5167
d7dcba40 51682013-10-09 Marc Glisse <marc.glisse@inria.fr>
5169
5170 PR tree-optimization/20318
5171 * c-common.c (handle_returns_nonnull_attribute): New function.
5172 (c_common_attribute_table): Add returns_nonnull.
5173
0b7282f1 51742013-10-03 Marc Glisse <marc.glisse@inria.fr>
5175
5176 PR c++/19476
5177 * c.opt (fcheck-new): Move to common.opt.
5178
51f553af 51792013-09-25 Marek Polacek <polacek@redhat.com>
5180 Jakub Jelinek <jakub@redhat.com>
5181
5182 PR sanitizer/58413
5183 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
5184 an expression if we can prove it is correct.
5185 (ubsan_instrument_division): Likewise. Remove unnecessary
5186 check.
5187
05f893e1 51882013-09-18 Marek Polacek <polacek@redhat.com>
5189
5190 PR sanitizer/58411
5191 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
5192 Declare it.
5193 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
5194
236ce1d1 51952013-09-14 Iain Sandoe <iain@codesourcery.com>
5196
5197 PR target/48094
5198 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
5199 fobjc-gc, freplace-objc-classes): Accept for LTO.
5200
f9f68d35 52012013-09-13 Jacek Caban <jacek@codeweavers.com>
5202
5203 * c-target.def: New hook
5204
ba2f764e 52052013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5206
5207 PR c++/43452
5208 * c.opt (Wdelete-incomplete): Add.
5209
73437615 52102013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
5211
5212 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
5213 (vector_types_compatible_elements_p): New function.
5214 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
5215 declaration.
5216 (vector_types_compatible_elements_p): Declare.
5217
95af4c75 52182013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5219
5220 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
5221 a virtual member function.
5222 (pp_simple_type_specifier): Remove.
5223 (pp_c_type_specifier): Likewise.
5224 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
5225 Rename from pp_c_type_specifier. Adjust.
5226 (c_pretty_printer::c_pretty_printer): Do not assign to
5227 simple_type_specifier.
5228
eaab24b9 52292013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5230
5231 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
5232 member function.
5233 (c_pretty_printer::storage_class_specifier): Likewise.
5234 (c_pretty_printer::initializer): Likewise.
5235 (pp_declaration): Remove.
5236 (pp_declaration_specifiers): Likewise.
5237 (pp_abstract_declarator): Likewise.
5238 (pp_declarator): Likewise.
5239 (pp_type_id): Likewise.
5240 (pp_statement): Likewise.
5241 (pp_constant): Likewise.
5242 (pp_id_expression): Likewise.
5243 (pp_primary_expression): Likewise.
5244 (pp_unary_expression): Likewise.
5245 (pp_multiplicative_expression): Likewise.
5246 (pp_conditional_expression): Likewise.
5247 (pp_assignment_expression): Likewise.
5248 (pp_expression): Likewise.
5249 (pp_c_type_id): Likewise.
5250 (pp_c_storage_class_specifier): Likewise.
5251 * c-pretty-print.c (pp_c_type_cast): Tidy.
5252 (pp_c_pointer): Likewise.
5253 (pp_c_type_specifier): Likewise.
5254 (pp_c_parameter_type_list): Likewise.
5255 (pp_c_function_definition): Likewise.
5256 (pp_c_init_declarator): Likewise.
5257 (pp_c_initializer_list): Likewise.
5258 (pp_c_constructor_elts): Likewise.
5259 (c_pretty_printer::direct_abstract_declarator): Likewise.
5260 (c_pretty_printer::declaration_specifiers): Likewise.
5261 (c_pretty_printer::primary_expression): Likewise.
5262 (c_pretty_printer::postfix_expression): Likewise.
5263 (c_pretty_printer::type_id): Rename from pp_c_type_id.
5264 (c_pretty_printer::storage_class_specifier): Rename from
5265 pp_c_storage_class_specifier.
5266 (c_pretty_printer::initializer): Rename from pp_c_initializer.
5267 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
5268 storage_class_specifier, initializer, offset_list, flags.
5269
9e46467d 52702013-08-30 Marek Polacek <polacek@redhat.com>
5271
5272 * c-ubsan.c: New file.
5273 * c-ubsan.h: New file.
5274
36a8d9b9 52752013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5276
5277 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
5278 member function.
5279 (c_pretty_printer::declaration_specifiers): Likewise.
5280 (c_pretty_printer::declarator): Likewise.
5281 (c_pretty_printer::abstract_declarator): Likewise.
5282 (c_pretty_printer::direct_abstract_declarator): Likewise.
5283 (c_pretty_printer::direct_declarator): Likewise.
5284 (c_pretty_printer::function_specifier): Likewise.
5285 (pp_declaration): Adjust.
5286 (pp_declaration_specifiers): Likewise.
5287 (pp_abstract_declarator): Likewise.
5288 (pp_direct_declarator): Likewise.
5289 (pp_function_specifier): Likewise.
5290 (pp_direct_abstract_declarator): Remove as unused.
5291 (pp_c_declaration): Remove.
5292 (pp_c_declaration_specifiers): Likewise.
5293 (pp_c_declarator): Likewise.
5294 (pp_c_direct_declarator): Likewise.
5295 (pp_c_function_specifier): Likewise.
5296 (pp_c_direct_abstract_declarator): Likewise.
5297 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5298 from pp_c_abstract_declarator. Adjust.
5299 (c_pretty_printer::direct_abstract_declarator): Rename from
5300 pp_c_direct_abstract_declarator. Adjust.
5301 (c_pretty_printer::function_specifier): Rename from
5302 pp_c_function_specifier. Adjust.
5303 (c_pretty_printer::declaration_specifiers): Rename from
5304 pp_c_declaration_specifiers. Adjust.
5305 (c_pretty_printer::direct_declarator): Rename from
5306 pp_c_direct_declarator. Adjust.
5307 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
5308 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
5309 (c_pretty_printer::c_pretty_printer): Do not assign to
5310 declaration, declaration_specifiers, declarator,
5311 direct_declarator, direct_abstract_declarator, function_specifier.
5312
30635c2e 53132013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
5314
5315 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5316 virtual member function.
5317 (c_pretty_printer::multiplicative_expression): Likewise.
5318 (c_pretty_printer::conditional_expression): Likewise.
5319 (c_pretty_printer::assignment_expression): Likewise.
5320 (c_pretty_printer::expression): Likewise.
5321 (pp_unary_expression): Adjust.
5322 (pp_multiplicative_expression): Likewise.
5323 (pp_assignment_expression): Likewise.
5324 (pp_conditional_expression): Likewise.
5325 (pp_expression): Likewise.
5326 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5327 from pp_c_unary_expression. Adjust.
5328 (c_pretty_printer::multiplicative_expression): Rename from
5329 pp_c_multiplicative_expression. Adjust.
5330 (c_pretty_printer::conditional_expression): Rename from
5331 pp_c_conditional_expression. Adjust.
5332 (c_pretty_printer::assignment_expression): Rename from
5333 pp_c_assignment_expression. Adjust.
5334 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
5335 (c_pretty_printer::c_pretty_printer): Do not assign to
5336 unary_expression, multiplicative_expression,
5337 conditional_expression, expression.
5338
027d08ed 53392013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5340
5341 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5342 virtual member function.
5343 (pp_postfix_expression): Adjust.
5344 (pp_c_postfix_expression): Remove.
5345 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5346 from pp_c_postfix_expression. Adjust.
5347 (c_pretty_printer::c_pretty_printer): Do not assign to
5348 postfix_expression.
5349
f873303a 53502013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5351
5352 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5353 virtua member function.
5354 (pp_primary_expression): Adjust.
5355 (pp_c_primary_expression): Remove.
5356 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5357 from pp_c_primary_expression. Adjust.
5358 (pp_c_initializer_list): Use pp_primary_expression.
5359 (c_pretty_printer::c_pretty_printer): Do not assign to
5360 primary_expression.
5361
08e3e481 53622013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5363
5364 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5365 * c-pretty-print.c (M_): Remove.
5366 (c_pretty_printer::translate_string): Define.
5367 (pp_c_type_specifier): Use it.
5368 (pp_c_primary_expression): Likewise.
5369 (pp_c_expression): Likewise.
5370
1fc4a87f 53712013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5372
5373 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5374 virtual function.
5375 (pp_c_id_expression): Remove.
5376 (pp_id_expression): Adjust.
5377 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5378 pp_c_id_expression. Adjust.
5379 (pp_c_postfix_expression): Use pp_id_expression.
5380 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5381
a6cb161b 53822013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5383
5384 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5385 member function.
5386 (pp_constant): Adjust.
5387 (pp_c_constant): Remove.
5388 * c-pretty-print.c (c_pretty_printer::constant): Rename from
5389 pp_c_constant. Adjust.
5390 (pp_c_constant)
5391 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5392 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5393
eed6bc21 53942013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5395
5396 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5397 (c_pretty_printer::c_pretty_printer): Declare.
5398 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5399 c_pretty_printer_init. Adjust.
5400 (print_c_tree): Do not call c_pretty_printer_init.
5401 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5402
df558d2e 54032013-08-09 Arnaud Charlet <charlet@adacore.com>
5404
5405 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5406
42f9a786 54072013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
5408
5409 PR c++/58080
5410 * c-common.c (pointer_int_sum): Add bool parameter.
5411 * c-common.h (pointer_int_sum): Adjust declaration.
5412
f874ddad 54132013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
5414
5415 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5416 c_pretty_printer variable.
5417
a94db6b0 54182013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5419
5420 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5421 (pp_base): Remove.
5422 (pp_c_base): Likewise. Adjust users.
5423 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5424 (pp_c_whitespace): Do not call pp_base.
5425 (pp_c_left_paren): Likewise.
5426 (pp_c_right_paren): Likewise.
5427 (pp_c_left_brace): Likewise.
5428 (pp_c_right_brace): Likewise.
5429 (pp_c_left_bracket): Likewise.
5430 (pp_c_right_bracket): Likewise.
5431 (pp_c_dot): Likewise.
5432 (pp_c_ampersand): Likewise.
5433 (pp_c_star): Likewise.
5434 (pp_c_arrow): Likewise.
5435 (pp_c_semicolon): Likewise.
5436 (pp_c_complement): Likewise.
5437 (pp_c_exclamation): Likewise.
5438 (pp_c_direct_declarator): Likewise.
5439 (pp_c_ws_string): Likewise.
5440 (pp_c_identifier): Likewise.
5441 (pp_c_statement): Likewise.
5442 (print_c_tree): Likewise.
5443
1898176c 54442013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5445
5446 PR c++/58072
5447 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5448 provide useful error strings.
5449
70d60d1d 54502013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5451
5452 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5453 printer functions instead of pp_string or operators and punctuators.
5454 (dump_generic_ada_node): Likewise.
5455 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5456 (pp_c_relational_expression): Likewise.
5457 (pp_c_logical_or_expression): Likewise.
5458
dda4f0ec 54592013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5460
5461 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5462 functions instead of pp_character.
5463 (pp_ada_tree_identifier): Likewise.
5464 (dump_ada_double_name): Likewise.
5465 (dump_ada_function_declaration): Likewise.
5466 (dump_ada_array_domains): Likewise.
5467 (dump_template_types): Likewise.
5468 (dump_generic_ada_node): Likewise.
5469 (print_ada_declaration): Likewise.
5470 (print_ada_struct_decl): Likewise.
5471 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5472
7aa04c8d 54732013-07-23 Tom Tromey <tromey@redhat.com>
5474
5475 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5476 * c-common.c (c_common_reswords): Add _Generic.
5477
a04e8d62 54782013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5479
5480 * c-common.c: Fix typos.
5481 * c-common.h: Likewise.
5482
a96c3cc1 54832013-07-13 Lubos Lunak <l.lunak@suse.cz>
5484
5485 PR c++/55203
5486 * c-common.c (c_common_attribute_table): Add warn_unused.
5487 (handle_warn_unused_attribute): New.
5488
da31536d 54892013-07-10 Jakub Jelinek <jakub@redhat.com>
5490
5491 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5492 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5493
839f2f70 54942013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5495
5496 PR c++/57869
5497 * c.opt: Add Wconditionally-supported.
5498
73f353d0 54992013-07-08 Graham Stott <graham.stott@btinternet.com>
5500
1f78217c 5501 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 5502 unused variables l_length and l_node.
5503
21ebaa24 55042013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 5505
5506 PR c/57821
5507 * c-common.c (complete_array_type): Delay folding first index
5508 like other indices. When folding, check for index overflow.
5509
68ea4406 55102013-06-27 Marc Glisse <marc.glisse@inria.fr>
5511
5512 PR c++/57509
5513 * c-common.h (c_build_vec_perm_expr): New complain argument.
5514 * c-common.c (c_build_vec_perm_expr): Likewise.
5515 Use save_expr also in C++.
5516
60777f69 55172013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5518
5519 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5520 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5521 * c-opts.c (c_common_post_options): Likewise.
5522
839f2f70 55232013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 5524
5525 * array-notation-common.c (length_mismatch_in_expr): Changed the
5526 parameter type's from a dynamic array to a vec_tree. Also removed
5527 the size parameters.
5528 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5529 the change above.
5530
e9331eab 55312013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5532
5533 * c-common.h (struct cilkplus_an_parts): New structure.
5534 (struct cilkplus_an_loop_parts): Likewise.
5535 (cilkplus_extract_an_triplets): New prototype.
5536 (fix_sec_implicit_args): Likewise.
5537 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5538 (fix_sec_implicit_args): Likewise.
60777f69 5539
a9c99fc4 55402013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5541
5542 * array-notation-common.c (find_inv_trees): Removed an unwanted
5543 typecasting.
5544 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5545 enum rid to enum tree_code.
5546
f2526cce 55472013-06-11 Jan Hubicka <jh@suse.cz>
5548
5549 * c-common.c (handle_alias_ifunc_attribute): Do not set
5550 DECL_EXTERNAL for weakref variables.
5551 * c-pragma.c (handle_pragma_weak): Make sure aliases
5552 are not declared as external.
5553
09970d67 55542013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5555
5556 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5557 function from c/c-array-notation.c.
5558 (is_cilkplus_reduce_builtin): Likewise.
5559 (find_rank): Likewise.
5560 (extract_array_notation_exprs): Likewise.
5561 (replace_array_notations): Likewise.
5562 (find_inv_trees): Likewise.
5563 (replace_inv_trees): Likewise.
5564 (contains_array_notation_expr): Likewise.
5565 (find_correct_array_notation_type): Likewise.
5566 * c-common.h (struct inv_list): Moved this struct from the file
5567 c/c-array-notation.c and added a new field called additional tcodes.
5568 (length_mismatch_in_expr_p): New prototype.
5569 (is_cilkplus_reduce_builtin): Likewise.
5570 (find_rank): Likewise.
5571 (extract_array_notation_exprs): Likewise.
5572 (replace_array_notation): Likewise.
5573 (find_inv_trees): Likewise.
5574 (replace_inv_trees): Likewise.
5575 (find_correct_array_notation_type): Likewise.
839f2f70 5576
3c6d4197 55772013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5578
5579 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5580 function array_notation_init_builtins is called.
5581 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5582 * c-common.def (ARRAY_NOTATION_REF): New tree.
5583 * c-common.h (build_array_notation_expr): New function declaration.
5584 (build_array_notation_ref): Likewise.
5585 (extract_sec_implicit_index_arg): New extern declaration.
5586 (is_sec_implicit_index_fn): Likewise.
5587 (ARRAY_NOTATION_CHECK): New define.
5588 (ARRAY_NOTATION_ARRAY): Likewise.
5589 (ARRAY_NOTATION_START): Likewise.
5590 (ARRAY_NOTATION_LENGTH): Likewise.
5591 (ARRAY_NOTATION_STRIDE): Likewise.
5592 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5593 ARRAY_NOTATION_REF.
5594 (pp_c_expression): Likewise.
5595 * c.opt (flag_enable_cilkplus): New flag.
5596 * array-notation-common.c: New file.
5597
8e71dad2 55982013-05-14 Jakub Jelinek <jakub@redhat.com>
5599
5600 PR c++/57274
5601 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5602
432dd330 56032013-05-10 Marc Glisse <marc.glisse@inria.fr>
5604
5605 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5606 vectors.
5607
b156ec37 56082013-05-07 Han Shen <shenhan@google.com>
5609
5610 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5611
1a087624 56122013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5613
5614 * c-common.c (check_user_alignment): Emit error for negative values.
5615
1638c736 56162013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5617
5618 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5619
949dbf93 56202013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5621
5622 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5623 __GXX_EXPERIMENTAL_CXX1Y__.
5624
9205a6cc 56252013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
a49621cf 5626 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9205a6cc 5627
5628 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5629 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5630 to simply use OPT_Wpointer_arith.
5631 (c_sizeof_or_alignof_type): Likewise.
5632
05d0bce1 56332013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5634
5635 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5636
41609f8b 56372013-04-12 Jakub Jelinek <jakub@redhat.com>
5638
5639 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5640 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5641 specifiers.
5642
c671dc4f 56432013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5644
5645 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5646
ba125576 56472013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5648
5649 * c-common.c (pointer_int_sum): Remove dead code.
5650
9d3fa937 56512013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5652
5653 PR middle-end/56524
5654 * c-common.c (handle_optimize_attribute): Don't call
5655 save_optabs_if_changed.
5656
5ceebb21 56572013-03-05 Jakub Jelinek <jakub@redhat.com>
5658
5659 PR middle-end/56461
5660 * c-pch.c (pch_init): Free target_validity at the end.
5661
18eeed2b 56622013-03-04 Jakub Jelinek <jakub@redhat.com>
5663
5664 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5665
a9196da9 56662013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5667 Jakub Jelinek <jakub@redhat.com>
5668
5669 PR sanitizer/56454
5670 * c-common.c (handle_no_sanitize_address_attribute): New function.
5671 (c_common_attribute_table): Add no_sanitize_address attribute.
5672 (handle_no_address_safety_analysis_attribute): Add
5673 no_sanitize_address attribute, not no_address_safety_analysis
5674 attribute.
5675
15c27dda 56762013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 5677
5678 PR target/52555
5679 * c-common.c (handle_optimize_attribute): Call
5680 save_optabs_if_changed.
5681
19426fe1 56822013-02-18 Jakub Jelinek <jakub@redhat.com>
5683 Steven Bosscher <steven@gcc.gnu.org>
5684
5685 PR pch/54117
5686 * c-opts.c (c_common_post_options): If debug info is enabled
5687 and non-dwarf*, refuse to load PCH files and when writing PCH
5688 file warn.
5689
df936998 56902013-02-05 Jakub Jelinek <jakub@redhat.com>
5691
5692 PR middle-end/56167
5693 * c-common.c (handle_error_attribute): Fix condition.
5694
ae0c3984 56952013-01-30 Jakub Jelinek <jakub@redhat.com>
5696
5697 PR c++/55742
5698 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5699
1c4973d7 57002013-01-18 Jason Merrill <jason@redhat.com>
5701
5702 PR target/54908
5703 * c.opt (-fextern-tls-init): New.
5704 * c-opts.c (c_common_post_options): Handle it.
5705
7c834436 57062013-01-09 Jakub Jelinek <jakub@redhat.com>
5707
5708 PR c/48418
5709 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5710 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5711 and is either negative or bigger or equal to type precision
5712 of the first operand.
5713
5abaa10a 57142012-12-03 Marek Polacek <polacek@redhat.com>
5715
5716 PR c/55570
5717 * c-common.c (check_user_alignment): Swap order of tests,
5718 check TREE_CODE first.
5719
324ca377 57202012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5721
5722 PR c++/52654
5723 * c-common.h (overflow_type): New enum.
5724 (build_userdef_literal): Add overflow_type argument.
5725 (tree_userdef_literal): Add overflow_type.
5726 (USERDEF_LITERAL_OVERFLOW): New access macro.
5727 * c-common.c (build_userdef_literal): Add overflow_type
5728 argument.
5729 * c-lex.c (c_lex_with_flags): Add overflow_type to
5730 build_userdef_literal calls.
5731 (interpret_integer, interpret_float): Add overflow_type argument.
5732
b4c4a429 57332012-11-28 Richard Biener <rguenther@suse.de>
5734
5735 PR c/35634
5736 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5737 here and use a type with proper overflow behavior for types that would
5738 need to be promoted for the arithmetic.
5739
d413ffdd 57402012-11-23 Jakub Jelinek <jakub@redhat.com>
5741
5742 PR sanitizer/55435
5743 * c-common.c (handle_no_address_safety_analysis_attribute): New
5744 function.
5745 (c_common_attribute_table): Add no_address_safety_analysis.
5746
52bc861d 57472012-11-16 Simon Baldwin <simonb@google.com>
5748
5749 * c.opt: Add f[no-]canonical-system-headers.
5750 * c-opts.c (c_common_handle_option): Handle
5751 OPT_fcanonical_system_headers.
5752
2dd00636 57532012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5754
5755 PR c++/54413
5756 * c-opts.c (c_common_handle_option): Set new flags.
5757 * c.opt: Describe new flags.
5758
d4701f6c 57592012-11-09 Jason Merrill <jason@redhat.com>
5760
5761 * c.opt (Wabi-tag): New.
5762
72d65da9 57632012-11-09 Andi Kleen <ak@linux.intel.com>
5764
5765 PR 55139
5766 * c-common.c (get_atomic_generic_size): Mask with
a49621cf 5767 MEMMODEL_MASK
72d65da9 5768
77a357e3 57692012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5770
5771 PR c/53063
5772 * c.opt (Wformat): Make it Alias Wformat=1.
5773 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5774 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5775 LangEnabledBy.
5776 (Wformat=): RejectNegative. Use LangEnabledBy.
5777 (Wnonnull): Use LangEnabledBy.
5778 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5779 * c-format.c (set_Wformat): Delete.
5780 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
a49621cf 5781 (maybe_read_dollar_number): Likewise.
5782 (avoid_dollar_number): Likewise.
5783 (finish_dollar_format_checking): Likewise.
5784 (check_format_info): Likewise.
5785 (check_format_info_main): Likewise.
5786 (check_format_types): Likewise.
5787 (format_type_warning): Likewise.
5788 * c-common.c (int): Likewise.
5789 (check_function_sentinel): Likewise.
5790 * c-common.h (warn_format,set_Wformat): Do not declare here.
77a357e3 5791
45efa6b9 57922012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5793
5794 PR c/53063
5795 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5796 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5797 Use LangEnabledBy.
5798 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5799 common.opt.
5800 (Wvariadic-macros): Init(1).
5801 * c-opts.c (c_common_handle_option): Do not handle them
5802 explicitly.
5803 (c_common_post_options): Likewise.
5804 (sanitize_cpp_opts): warn_unused_macros is now
5805 cpp_warn_unused_macros.
5806 (push_command_line_include): Likewise.
5807 * c-common.c (warn_unknown_pragmas): Do not define.
5808 * c-common.h (warn_unknown_pragmas): Do not declare.
5809
0e4e775a 58102012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5811
5812 PR c/51294
5813 * c-common.c (conversion_warning): Handle conditional expressions.
5814
8b447d3f 58152012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5816
5817 PR c++/54930
5818 * c.opt (Wreturn_local_addr): Define new option.
5819
f4a61754 58202012-10-25 Jason Merrill <jason@redhat.com>
5821
ecb10e6a 5822 * c.opt (Wvirtual-move-assign): New.
5823
f4a61754 5824 * c.opt (Winherited-variadic-ctor): New.
5825
7b463b19 58262012-10-25 Marc Glisse <marc.glisse@inria.fr>
5827
5828 PR c++/54427
5829 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5830
6adc88f8 58312012-10-23 Joseph Myers <joseph@codesourcery.com>
5832
5833 * c-common.h (pch_cpp_save_state): Declare.
5834 * c-target.def (c_preinclude): New hook.
5835 * c-opts.c (done_preinclude): New.
5836 (push_command_line_include): Handle default preincluded header.
5837 (cb_file_change): Call pch_cpp_save_state when calling
5838 push_command_line_include.
5839 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5840 (pch_cpp_save_state): New.
5841 (pch_init): Call pch_cpp_save_state conditionally, instead of
5842 calling cpp_save_state.
5843
fa816b0b 58442012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5845
5846 PR c/53063
5847 PR c/40989
5848 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5849 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5850 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5851 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5852 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5853 * c-opts.c (c_common_handle_option): Remove explicit handling from
5854 here.
5855 (c_common_post_options): Likewise.
5856
d214ccee 58572012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5858
5859 * c-ada-spec.c (LOCATION_COL): Delete.
5860 (compare_location): New function.
5861 (compare_node): Use it.
5862 (compare_comment): Likewise.
5863
77b27208 58642012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5865
5866 PR c/53063
5867 PR c/40989
5868 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5869 * c-opts.c (c_common_handle_option): Do not set them here. Add
5870 comment.
5871 (c_common_post_options): Likewise.
5872
cc02ca4d 58732012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5874
5875 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5876 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5877 Remove POINTER_TYPE handling, add large unsigned handling and use
5878 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5879
57f872a2 58802012-10-12 Jakub Jelinek <jakub@redhat.com>
5881
5882 PR c/54381
5883 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5884 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5885 locs and array of 3 trees instead of just single loc and single
5886 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5887 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5888 For *cmp* builtins that take two sources strings report warnings
5889 about first and second source, not about destination and source.
5890
7354ad2e 58912012-10-12 Marc Glisse <marc.glisse@inria.fr>
5892
5893 PR c++/53055
5894 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5895
1ac7f120 58962012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5897
5898 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5899 declaring something coming from another file.
5900
1e0cc9e3 59012012-10-10 Arnaud Charlet <charlet@adacore.com>
5902
1ac7f120 5903 PR ada/54845
1e0cc9e3 5904 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5905
b0e7825e 59062012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5907
5908 PR c++/54194
5909 * c-common.c (warn_about_parentheses): Add location_t parameter;
5910 use EXPR_LOC_OR_LOC.
5911 * c-common.h: Update declaration.
5912
41ed701a 59132012-10-09 Marc Glisse <marc.glisse@inria.fr>
5914
5915 PR c++/54427
5916 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5917 more operations. Make error messages optional.
5918 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5919 (scalar_to_vector): Declare.
5920
3740094c 59212012-10-08 Jason Merrill <jason@redhat.com>
5922
5923 * c-common.c (c_common_reswords): Add thread_local.
5924
ffcdbf9c 59252012-10-08 Dodji Seketeli <dodji@redhat.com>
5926
5927 PR c++/53528 C++11 attribute support
5928 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5929 new functions.
5930 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5931 static function.
5932 (handle_aligned_attribute): In choose strictest alignment
5933 among many. Use new check_cxx_fundamental_alignment_constraints.
5934 (handle_transparent_union_attribute): In c++11 attribute syntax,
5935 don't look through typedefs.
5936
ef34afc1 59372012-10-04 Arnaud Charlet <charlet@adacore.com>
5938
5939 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5940 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5941 out of dumpfile.h.
5942
f1ff4562 59432012-09-25 Dehao Chen <dehao@google.com>
5944
5945 PR middle-end/54645
ef34afc1 5946 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 5947 map when read in the pch.
5948
92a44a68 59492012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 5950
5951 * c-ada-spec.c: Style fixes.
5952
92a44a68 59532012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 5954
5955 * c.opt (-fada-spec-parent): Define new command line switch.
5956 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5957 is specified, generate binding spec as a child of the specified unit.
5958
8eba82c2 59592012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5960 Manuel López-Ibáñez <manu@gcc.gnu.org>
5961
5962 PR c++/53210
5963 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5964
38682990 59652012-08-23 Arnaud Charlet <charlet@adacore.com>
5966
5967 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5968 for pointers, and add missing Convention C pragma.
5969 (print_ada_struct_decl): Add missing aliased keyword.
5970 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5971
f003f5dc 59722012-08-17 Jakub Jelinek <jakub@redhat.com>
5973
5974 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5975 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5976 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5977 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5978 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5979
ec11736b 59802012-08-10 Richard Guenther <rguenther@suse.de>
5981
5982 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5983
5f7f600e 59842012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5985
5986 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5987 instead of separate pp_newline and pp_flush.
5988 (print_c_tree): Likewise.
5989
758a38ab 59902012-07-26 Richard Henderson <rth@redhat.com>
5991
5992 * c-common.c (handle_hot_attribute): Allow labels.
5993 (handle_cold_attribute): Likewise.
5994
9ca77b08 59952012-07-20 Jakub Jelinek <jakub@redhat.com>
5996
5997 PR c++/28656
5998 * c-common.c (check_function_nonnull): Handle multiple nonnull
5999 attributes properly.
6000
b9ed1410 60012012-07-16 Steven Bosscher <steven@gcc.gnu.org>
6002
6003 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
6004 * c-ada-spec.c: Likewise.
6005 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
6006
c2a65b90 60072012-07-14 Steven Bosscher <steven@gcc.gnu.org>
6008
6009 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
6010 Remove code conditional on it.
6011
88c5a1d1 60122012-07-11 Steven Bosscher <steven@gcc.gnu.org>
6013
6014 * c-gimplify.c: Do not include basic-block.h.
6015 * c-common.c: Do not include linfuncs.h.
6016
4a020a8c 60172012-07-08 Steven Bosscher <steven@gcc.gnu.org>
6018
6019 * c-common.h: Include tree.h.
6020
c28ddc97 60212012-07-02 Jason Merrill <jason@redhat.com>
6022
6023 PR c++/53524
6024 * c-common.c (get_priority): Call default_conversion.
6025
405ed67f 60262012-07-01 Uros Bizjak <ubizjak@gmail.com>
6027
6028 * c-pch.c (c_common_write_pch): Remove unused variables.
6029
e53d55e7 60302012-06-29 Steven Bosscher <steven@gcc.gnu.org>
6031
6032 * cppspec.c: Moved from gcc/ to here.
6033
3d9c25ec 60342012-06-27 Kai Tietz <ktietz@redhat.com>
6035
6036 PR preprocessor/37215
6037 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
6038
3169c57a 60392012-06-21 Steven Bosscher <steven@gcc.gnu.org>
6040
6041 * c-common.h (c_common_print_pch_checksum): Remove.
6042 * c-pch.c: Do not include output.h.
6043 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
6044 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
6045 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
6046 (struct c_pch_header): Remove.
6047 (get_ident): Update gpch version.
6048 (pch_init): Do not print executable_checksum to asm_out_file.
6049 Do not fail if there is no asm_out_file to read back from. Set
6050 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
6051 (c_common_write_pch): Verify that nothing was written to asm_out_file
6052 since pch_init was called. Do not write a c_pch_header, and do not
6053 copy from asm_out_file to the PCH.
6054 (c_common_read_pch): Do not read a c_pch_header, and do not restore
6055 the content of asm_out_file from the PCH.
6056 (c_common_print_pch_checksum): Remove.
6057 * c-opts.c (c_common_init): Print out executable_checksum directly.
6058
ff6624bc 60592012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6060
6061 * c-target.def (objc_declare_unresolved_class_reference,
6062 objc_declare_class_definition): Add new hooks.
6063
367b1459 60642012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6065
6066 * c-lex.c: Do not include output.h.
6067 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
6068 Remove uses of ASM_OUTPUT_IDENT.
6069
bf0cb017 60702012-06-15 Marc Glisse <marc.glisse@inria.fr>
6071
6072 PR c++/51033
6073 * c-common.h (c_build_vec_perm_expr): Move decl here.
6074 * c-common.c (c_build_vec_perm_expr): Move definition
6075 here.
6076
b37a3600 60772012-06-06 Steven Bosscher <steven@gcc.gnu.org>
6078
6079 * c.opt (fconserve-space): Turn into a no-op.
6080
19931eea 60812012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 6082
6083 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
6084 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
6085 both the start and end of the function.
6086
dff12c10 60872012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6088
6089 * c-common.c: Do not include output.h.
6090 * c-pragma.c: Likewise.
6091
5f9e7dd5 60922012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6093
6094 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
6095 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
6096 (lang_decl_name): Handle namespace decls.
6097
b5369b7d 60982012-05-31 Steven Bosscher <steven@gcc.gnu.org>
6099
6100 * c-ada-spec.c: Do not include output.h.
6101 * c-semantics.c: Likewise.
6102
8032877c 61032012-05-29 Joseph Myers <joseph@codesourcery.com>
6104
6105 * c-common.c: Fix typo.
6106
7843e4bc 61072012-05-29 Michael Matz <matz@suse.de>
6108
6109 * c-common.h (c_expand_decl): Remove prototype.
6110
8cf857d4 61112012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6112
6113 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
6114 * c-opts.c (c_common_handle_option): Remove code handling
6115 warn_missing_braces.
6116
8b64dc3c 61172012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
6118
6119 PR c++/25137
6120 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
6121 -Wmissing_braces.
6122
43cbde16 61232012-05-22 Dodji Seketeli <dodji@redhat.com>
6124
6125 PR c++/53322
6126 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
6127
db490cb6 61282012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
6129
6130 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
6131 * c-opts.c (c_common_handle_option): Do not handle explicitly
6132 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
6133
a60f3e81 61342012-05-16 Dodji Seketeli <dodji@redhat.com>
6135
6136 PR preprocessor/7263
6137 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
6138 to cpp_classify_number. For diagnostics, use the precise location
6139 instead of the global input_location.
6140
82e6ef7c 61412012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6142
cd4797ff 6143 PR c++/11856
82e6ef7c 6144 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
6145
258a168d 61462012-05-14 Bernd Schmidt <bernds@codesourcery.com>
6147
82e6ef7c 6148 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 6149
d3b7ee7c 61502012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
6151
6152 PR 53063
6153 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
6154 Wreorder): Use LangEnabledBy.
6155 * c-opts.c (c_common_handle_option): Do not enable them
6156 explicitly. Call lang-specific generated functions.
6157 (c_common_post_options): Do not set them here.
6158
70059cea 61592012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
6160
6161 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
6162 Wmissing-field-initializers,Wmissing-parameter-type,
6163 Wold-style-declaration,Woverride-init): Use EnabledBy.
6164 * c-opts.c (c_common_post_options): Do not set here explicitly.
6165
fbb6fbd8 61662012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6167
6168 PR 53063
6169 * c-opts.c (c_common_handle_option): Use handle_generated_option
6170 to enable sub-options.
6171
61f69bc9 61722012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
6173
6174 PR c++/53158
6175 * c-common.c (warnings_for_convert_and_check): Use warning_at.
6176
5a1fe2db 61772012-05-10 Richard Guenther <rguenther@suse.de>
6178
6179 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
6180 adjust commentary about TYPE_IS_SIZETYPE types.
6181
d42e7c5a 61822012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6183
6184 PR c++/53261
6185 * c-common.c (warn_logical_operator): Check that argument of
6186 integer_zerop is not NULL.
6187
686369e8 61882012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
6189
6190 PR c/43772
6191 * c-common.c (warn_logical_operator): Do not warn if either side
6192 is already true or false.
6193
03fe1dc2 61942012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6195
6196 PR c/51712
6197 * c-common.c (expr_original_type): New.
6198 (shorten_compare): Do not warn for enumeration types.
6199
bba5a206 62002012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6201
6202 * c.opt (fpermissive): Add Var(flag_permissive).
6203
7059d45d 62042012-04-30 Marc Glisse <marc.glisse@inria.fr>
6205
6206 PR c++/51033
6207 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
6208 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
6209
7edb1062 62102012-04-30 Dodji Seketeli <dodji@redhat.com>
6211
6212 Add -Wvarargs option
6213 * c.opt (Wvarargs): Define new option.
6214
068bea1e 62152012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6216
6217 * c-common.c (check_function_arguments): Replace
6218 Wmissing-format-attribute with Wsuggest-attribute=format.
6219
b86527d8 62202012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6221
6222 * c.opt (Wsuggest-attribute=format): New. Alias of
6223 Wmissing-format-attribute.
6224 * c-format.c (decode_format_type): Replace
6225 Wmissing-format-attribute with Wsuggest-attribute=format.
6226 (check_function_format): Likewise.
6227
19931eea 62282012-04-27 Ollie Wild <aaw@google.com>
76d340ac 6229
6230 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
6231 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
6232 * c.opt: Add Wliteral-suffix.
6233
29438999 62342012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6235
6236 PR c/44774
6237 * c.opt (Wpedantic): New.
6238 (pedantic): Alias Wpedantic.
6239 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
6240 (c_common_post_options): Likewise.
6241 (sanitize_cpp_opts): Likewise.
6242 * c-lex.c (interpret_float): Likewise.
6243 * c-format.c (check_format_types): Likewise.
6244 * c-common.c (pointer_int_sum): Likewise.
6245 (c_sizeof_or_alignof_type): Likewise.
6246 (c_add_case_label): Likewise.
6247 (c_do_switch_warnings): Likewise.
6248 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6249
4f9d6b8b 62502012-04-15 Jason Merrill <jason@redhat.com>
6251
6252 PR c++/52818
6253 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
6254 (C_STD_NAME): Distinguish between C++98 and C++11.
6255
74bdbe96 62562012-04-11 Eric Botcazou <ebotcazou@adacore.com>
6257
6258 PR target/52624
6259 * c-common.h (uint16_type_node): Rename into...
6260 (c_uint16_type_node): ...this.
6261 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
6262 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
6263
3d177e8c 62642012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
6265
6266 * c-common.c (warn_if_unused_value): Move definition to here.
6267 * c-common.h (warn_if_unused_value): Move declaration to here.
6268
6a9a958f 62692012-03-23 William Bader <williambader@hotmail.com>
6270
6271 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
6272
543efdbe 62732012-03-20 Jason Merrill <jason@redhat.com>
6274
6275 * c-common.h (enum cxx_dialect): Add cxx1y.
6276 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
6277 test.
6278 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6279 * c-opts.c (c_common_post_options): Likewise.
6280 (set_std_cxx1y): New.
6281 (c_common_handle_option): Call it.
6282 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
6283
62206d34 62842012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
6285
6286 PR c++/14710
6287 * c.opt ([Wuseless-cast]): Add.
6288
fadf62f4 62892012-03-16 Richard Guenther <rguenther@suse.de>
6290
6291 * c-pretty-print.c (pp_c_initializer_list): Adjust.
6292
249faa35 62932012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6294
6295 PR c++/44783
6296 * c.opt (ftemplate-backtrace-limit) Add.
6297
126b6848 62982012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6299
6300 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6301 handling.
6302 * c-pragma.c (handle_pragma_extern_prefix): Remove.
6303 (init_pragma): Don't register extern_prefix.
6304
a51edb4c 63052012-03-12 Richard Guenther <rguenther@suse.de>
6306
6307 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6308 (builtin_type_for_size): Likewise.
6309
0f6a7cb7 63102012-02-13 Jakub Jelinek <jakub@redhat.com>
6311
6312 PR c++/52215
6313 * c-common.c (sync_resolve_params): Don't decide whether to convert
6314 or not based on TYPE_SIZE comparison, convert whenever arg_type
6315 is unsigned INTEGER_TYPE.
6316
0779e32c 63172012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
6318
6319 PR c/52118
6320 * c.opt ([Wunused-local-typedefs]): Fix description.
6321
baec58e1 63222012-01-24 Mike Stump <mikestump@comcast.net>
6323
6324 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6325 exactly.
6326
c779d8cc 63272012-01-18 Richard Guenther <rguenther@suse.de>
6328
6329 * c-opts.c (c_common_post_options): Reset LTO flags if
6330 we are about to generate a PCH.
6331
ee917d24 63322012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
6333
6334 PR c++/51777
6335 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6336 use pp_unsigned_wide_integer.
6337
90e2341f 63382012-01-10 Richard Guenther <rguenther@suse.de>
6339
6340 PR middle-end/51806
6341 * c-opts.c (c_common_handle_option): Move -Werror handling
6342 to language independent code.
6343
9ea022ce 63442012-01-05 Richard Guenther <rguenther@suse.de>
6345
6346 PR middle-end/51764
6347 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6348 from common.opt.
6349
3df19e1b 63502011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
6351
6352 PR c++/51316
6353 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6354 of array types with an unknown bound.
6355
32074525 63562011-12-20 Joseph Myers <joseph@codesourcery.com>
6357
6358 * c-common.c (flag_isoc99): Update comment to refer to C11.
6359 (flag_isoc1x): Change to flag_isoc11.
6360 * c-common.h (flag_isoc99): Update comment to refer to C11.
6361 (flag_isoc1x): Change to flag_isoc11.
6362 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6363 C11.
6364 * c-opts.c (set_std_c1x): Change to set_std_c11.
6365 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6366 Call set_std_c11.
6367 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6368 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6369 * c.opt (std=c1x): Change to std=c11. Document as non-draft
6370 standard.
6371 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6372 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
6373 (std=gnu1x): Make alias of std=gnu11.
6374
fca86134 63752011-12-19 Jason Merrill <jason@redhat.com>
6376
6377 PR c++/51228
6378 * c-common.c (handle_transparent_union_attribute): Check the first
6379 field if the type is complete.
6380
aa4313eb 63812011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
6382
6383 PR libstdc++/51365
6384 * c-common.c (RID_IS_FINAL): Add.
6385 * c-common.h (RID_IS_FINAL): Add.
6386
3f3d5ad4 63872011-11-30 Iain Sandoe <iains@gcc.gnu.org>
6388
6389 * c.opt (fgnu-runtime): Provide full description.
6390 (fnext-runtime): Likewise.
6391 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6392
c4606d19 63932011-11-28 Andrew MacLeod <amacleod@redhat.com>
6394
6395 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
6396 predefines in one place. Add LOCK_FREE predefines.
6397 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6398 new func.
6399
1d581089 64002011-11-24 Andrew MacLeod <amacleod@redhat.com>
6401
6402 PR c/51256
19931eea 6403 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 6404 conditions
19931eea 6405 (resolve_overloaded_atomic_exchange,
6406 resolve_overloaded_atomic_compare_exchange,
1d581089 6407 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6408 error_mark_node for error conditions.
19931eea 6409
6aa221fa 64102011-11-08 Richard Guenther <rguenther@suse.de>
6411
6412 PR middle-end/51010
6413 c-family/
6414
4c0315d0 64152011-11-07 Richard Henderson <rth@redhat.com>
6416 Aldy Hernandez <aldyh@redhat.com>
6417 Torvald Riegel <triegel@redhat.com>
6418
6419 Merged from transactional-memory.
6420
6421 * c-common.c (handle_tm_wrap_attribute,
6422 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6423 (struct c_common_reswords): Added __transaction* keywords.
6424 (struct c_common_attribute_table): Added transaction* and tm_regparm
6425 attributes.
6426 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6427 masks.
6428 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6429 find_tm_attribute): Declare.
6430
920f5a70 64312011-11-07 Jason Merrill <jason@redhat.com>
6432
6433 PR c++/35688
6434 * c-common.c, c-common.h: Revert yesterday's changes.
6435
b4f861b4 64362011-11-06 Jason Merrill <jason@redhat.com>
6437
6438 PR c++/35688
6439 * c-common.c (decl_has_visibility_attr): Split out from...
6440 (c_determine_visibility): ...here.
6441 * c-common.h: Declare it.
6442
83e25171 64432011-11-06 Joseph Myers <joseph@codesourcery.com>
6444
6445 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6446 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6447 type.
6448 (check_user_alignment): New. Split out of
6449 handle_aligned_attribute. Disallow integer constants with
6450 noninteger types. Conditionally allow zero.
6451 (handle_aligned_attribute): Use check_user_alignment.
6452 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6453
1cd6e20d 64542011-11-06 Andrew MacLeod <amacleod@redhat.com>
6455 Richard Henderson <rth@redhat.com>
6456
6457 Merged from cxx-mem-model.
6458
6459 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 6460 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 6461 parameters that are the same type size.
6462 (get_atomic_generic_size): New. Find size of generic
6463 atomic function parameters and do typechecking.
6464 (add_atomic_size_parameter): New. Insert size into parameter list.
6465 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6466 either __atomic_exchange_n or external library call.
19931eea 6467 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 6468 __atomic_compare_exchange to either _n variant or external library call.
19931eea 6469 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 6470 __atomic_load_n or an external library call.
6471 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6472 __atomic_store_n or an external library call.
6473 (resolve_overloaded_builtin): Handle new __atomic builtins.
6474
7549df0d 64752011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6476
6477 PR c++/50608
6478 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6479 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6480 <INDIRECT_REF>: Return the argument.
6481 <ARRAY_REF>: Remove special code for negative offset.
6482 Call fold_build_pointer_plus instead of size_binop.
6483 (fold_offsetof): Remove STOP_REF argument and adjust.
6484 * c-common.h (fold_offsetof_1): Declare.
6485 (fold_offsetof): Remove STOP_REF argument.
6486
7e783eb3 64872011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6488
6489 PR c++/50810
6490 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6491 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6492 Wnarrowing for C++0x and C++98.
6493 * c.opt ([Wnarrowing]): Update.
6494
8fe701f5 64952011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6496
6497 PR c++/44277
6498 * c.opt: Add Wzero-as-null-pointer-constant.
6499
0d84dc2d 65002011-10-31 Jason Merrill <jason@redhat.com>
6501
67031f52 6502 * c.opt (-fdeduce-init-list): Off by default.
6503
0d84dc2d 6504 PR c++/50920
6505 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6506 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6507 and -Wc++11-compat.
6508 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6509
66f24c41 65102011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6511
6512 PR c++/30066
6513 * c.opt (fvisibility-inlines-hidden): Description change.
6514
244db24d 65152011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6516
6517 Implement C++11 user-defined literals.
6518 * c-common.c (build_userdef_literal): New.
6519 * c-common.def: New tree code.
6520 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6521 * c-lex.c (interpret_float): Add suffix parm.
6522 (c_lex_with_flags): Build literal tokens.
6523
235be70f 65242011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6525
6526 PR c++/50841
6527 Revert:
6528 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6529
6530 PR c++/50810
6531 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6532 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6533 Wnarrowing for C++0x and C++98.
6534 * c.opt ([Wnarrowing]): Update.
6535
4fe0fb1c 65362011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6537
6538 PR c++/50810
6539 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6540 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6541 Wnarrowing for C++0x and C++98.
6542 * c.opt ([Wnarrowing]): Update.
6543
5f7504f9 65442011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6545
6546 PR c++/45385
6547 * c-common.c (conversion_warning): Remove code looking for
6548 artificial operands.
6549
2a688977 65502011-10-18 Dodji Seketeli <dodji@redhat.com>
6551
6552 PR bootstrap/50760
6553 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 6554 !NO_IMPLICIT_EXTERN_C.
2a688977 6555
326e3391 65562011-10-17 Michael Spertus <mike_spertus@symantec.com>
6557
6558 * c-common.c (c_common_reswords): Add __bases,
6559 __direct_bases.
6560 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6561
65622011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6563
6564 PR c++/50757
6565 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6566
62db153a 65672011-10-15 Tom Tromey <tromey@redhat.com>
6568 Dodji Seketeli <dodji@redhat.com>
6569
6570 * c.opt (fdebug-cpp): New option.
6571 * c-opts.c (c_common_handle_option): Handle the option.
6572 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6573 output stream in parameter. Factorized from ...
6574 (maybe_print_line): ... this. Dump location debug information when
6575 -fdebug-cpp is in effect.
6576 (print_line_1): New static function. Takes an output stream in
6577 parameter. Factorized from ...
6578 (print_line): ... here. Dump location information when -fdebug-cpp
6579 is in effect.
6580 (scan_translation_unit): Dump location information when
6581 -fdebug-cpp is in effect.
6582
ce70f433 65832011-10-15 Tom Tromey <tromey@redhat.com>
6584 Dodji Seketeli <dodji@redhat.com>
6585
6586 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6587 without argument.
6588 * c-opts.c (c_common_handle_option)<case
6589 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6590 cases. Handle -ftrack-macro-expansion with and without argument.
6591
97bfb9ef 65922011-10-15 Tom Tromey <tromey@redhat.com>
6593 Dodji Seketeli <dodji@redhat.com>
6594
6595 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6596 (print_line, cb_define, do_line_change): Adjust to avoid touching
6597 the internals of struct line_map. Use the public API instead.
6598 * c-pch.c (c_common_read_pch): Likewise.
6599 * c-lex.c (fe_file_change): Likewise.
6600
326e3391 66012011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6602
6603 PR c++/17212
6604 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6605
66062011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6607
6608 PR c++/33067
6609 * c-pretty-print.c (pp_c_floating_constant): Output
6610 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6611
b9a16870 66122011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6613
6614 * c-common.c (def_builtin_1): Delete old interface with two
6615 parallel arrays to hold standard builtin declarations, and replace
6616 it with a function based interface that can support creating
6617 builtins on the fly in the future. Change all uses, and poison
6618 the old names. Make sure 0 is not a legitimate builtin index.
6619 * c-omp.c (c_finish_omp_barrier): Ditto.
6620 (c_finish_omp_taskwait): Ditto.
6621 (c_finish_omp_flush): Ditto.
6622
c7964868 66232011-10-11 Tristan Gingold <gingold@adacore.com>
6624
6625 * c.opt: (fallow-parameterless-variadic-functions): New.
6626
a4e3ffad 66272011-09-08 Dodji Seketeli <dodji@redhat.com>
6628
6629 PR c++/33255 - Support -Wunused-local-typedefs warning
6630 * c-common.h (struct c_language_function::local_typedefs): New
6631 field.
19931eea 6632 (record_locally_defined_typedef, maybe_record_typedef_use)
6633 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 6634 * c-common.c (record_locally_defined_typedef)
19931eea 6635 (maybe_record_typedef_use)
6636 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 6637 * c.opt: Declare new -Wunused-local-typedefs flag.
6638
737a23cc 66392011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6640
6641 PR middle-end/50266
6642 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6643 computations.
6644
7542c3b4 66452011-09-05 Richard Guenther <rguenther@suse.de>
6646
6647 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6648 of integer_minus_one_node for empty array upper bounds.
6649
1dc92c59 66502011-08-28 Dodji Seketeli <dodji@redhat.com>
6651
6652 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6653 it's the first time it's being called on this main TU.
6654
2bdf2b6e 66552011-08-24 Richard Guenther <rguenther@suse.de>
6656
6657 PR c/49396
6658 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6659
66602011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 6661
6662 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6663 defined in cpp_init_builtins and c_cpp_builtins.
6664
bff4ad11 66652011-08-19 Joseph Myers <joseph@codesourcery.com>
6666
6667 * c-common.c (c_common_reswords): Add __builtin_complex.
6668 * c-common.h (RID_BUILTIN_COMPLEX): New.
6669
985c6e3a 66702011-08-18 Joseph Myers <joseph@codesourcery.com>
6671
6672 * c-common.c (c_common_reswords): Add _Noreturn.
6673 (keyword_is_function_specifier): Handle RID_NORETURN.
6674 * c-common.h (RID_NORETURN): New.
6675
92a44a68 66762011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 6677
6678 * c-common.c (unsafe_conversion_p): New function. Check if it is
6679 unsafe to convert an expression to the type.
6680 (conversion_warning): Adjust, use unsafe_conversion_p.
6681 * c-common.h (unsafe_conversion_p): New function declaration.
6682
2169f33b 66832011-08-02 Jakub Jelinek <jakub@redhat.com>
6684
6685 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6686 (c_finish_omp_taskyield): New prototype.
6687 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6688 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6689 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6690 or RHS1 have side-effects, evaluate those too in the right spot,
6691 if it is a decl and LHS is also a decl, error out if they
6692 aren't the same.
6693 (c_finish_omp_taskyield): New function.
6694 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6695 * c-pragma.c (omp_pragmas): Add taskyield.
6696 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6697 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6698 PRAGMA_OMP_CLAUSE_MERGEABLE.
6699
ab77850e 67002011-07-25 Dodji Seketeli <dodji@redhat.com>
6701
6702 * c-common.h (set_underlying_type): Remove parm name from
6703 declaration.
6704
6ee97920 67052011-07-25 Romain Geissler <romain.geissler@gmail.com>
6706
6707 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 6708
dc251364 67092011-07-22 Jason Merrill <jason@redhat.com>
6710
1a2a35f0 6711 PR c++/49793
6712 * c.opt (Wnarrowing): New.
6713
27282252 6714 PR c++/30112
6715 * c-common.h: Declare c_linkage_bindings.
6716 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6717
dc251364 6718 PR c++/49813
6719 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6720 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6721 as flag_isoc99 for 'restrict'.
6722 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6723
fc501191 67242011-07-21 Ian Lance Taylor <iant@google.com>
6725
6726 PR middle-end/49705
6727 * c-common.c (c_disable_warnings): New static function.
6728 (c_enable_warnings): New static function.
6729 (c_fully_fold_internal): Change local unused_p to bool. Call
6730 c_disable_warnings and c_enable_warnings rather than change
6731 c_inhibit_evaluation_warnings.
6732
07b8f133 67332011-07-20 Jason Merrill <jason@redhat.com>
6734
6735 PR c++/6709 (DR 743)
6736 PR c++/42603 (DR 950)
6737 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6738 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6739 (CPP_DECLTYPE): New.
6740 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6741
2cc66f2a 67422011-07-19 Richard Guenther <rguenther@suse.de>
6743
6744 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6745 * c-omp.c (c_finish_omp_for): Likewise.
6746
3c802a1e 67472011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6748
6749 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6750 body on the next line.
6751
98a33d9f 67522011-07-08 Jason Merrill <jason@redhat.com>
6753
3115bda0 6754 PR c++/45437
6755 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6756
98a33d9f 6757 PR c++/49673
6758 * c-common.c (c_apply_type_quals_to_decl): Don't check
6759 TYPE_NEEDS_CONSTRUCTING.
6760
c38a75b7 67612011-07-06 Richard Guenther <rguenther@suse.de>
6762
6763 * c-common.c (c_common_nodes_and_builtins):
6764 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6765
e593356b 67662011-07-05 Richard Guenther <rguenther@suse.de>
6767
6768 * c-common.c (c_common_nodes_and_builtins): Build all common
6769 tree nodes first.
6770
fca0886c 67712011-06-27 Jakub Jelinek <jakub@redhat.com>
6772
a68f7a8d 6773 * c-common.h (c_tree_chain_next): New static inline function.
6774
fca0886c 6775 * c-common.c (check_builtin_function_arguments): Handle
6776 BUILT_IN_ASSUME_ALIGNED.
6777
2797f13a 67782011-06-21 Andrew MacLeod <amacleod@redhat.com>
6779
6780 * c-common.c: Add sync_ or SYNC__ to builtin names.
6781 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 6782
67832011-06-20 Pierre Vittet <piervit@pvittet.com>
6784
6785 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6786 handler.
6787 (gen_pragma_handler): New union.
6788 (internal_pragma_handler): New type.
6789 (c_register_pragma_with_data)
6790 (c_register_pragma_with_expansion_and_data): New functions.
6791
6792 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6793 (c_register_pragma, c_register_pragma_with_expansion)
6794 (c_invoke_pragma_handler): Changed to work with
6795 internal_pragma_handler.
6796 (c_register_pragma_with_data)
6797 (c_register_pragma_with_expansion_and_data): New functions.
6798
218e3e4e 67992011-06-14 Joseph Myers <joseph@codesourcery.com>
6800
6801 * c-common.c: Include common/common-target.h.
6802 (handle_section_attribute): Use
6803 targetm_common.have_named_sections.
6804 * c-cppbuiltin.c: Include common/common-target.h.
6805 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6806
41e53ed2 68072011-06-10 Richard Guenther <rguenther@suse.de>
6808
6809 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6810 to print a IDENTIFIER_NODE.
6811
a6f06169 68122011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6813 Joseph Myers <joseph@codesourcery.com>
6814
6815 * c.opt (fbuilding-libgcc): New option.
6816 * c-cppbuiltin.c (c_cpp_builtins): Define
6817 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6818
1ea9269b 68192011-06-07 Jason Merrill <jason@redhat.com>
6820
8ce59854 6821 * c-common.c (max_tinst_depth): Lower default to 900.
6822
1ea9269b 6823 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6824
1af0124d 68252011-06-07 Richard Guenther <rguenther@suse.de>
6826
6827 * c-common.c (c_common_nodes_and_builtins): Do not set
6828 size_type_node or call set_sizetype.
6829
0e9a4c01 68302011-06-07 Dodji Seketeli <dodji@redhat.com>
6831
6832 PR debug/49130
6833 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 6834 type when using pointer comparison to compare types.
0e9a4c01 6835
90b40725 68362011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6837
6838 * c.opt: Add -Wdelete-non-virtual-dtor.
6839 * c-opts.c (c_common_handle_option): Include it in -Wall.
6840
fc9c9e87 68412011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6842
6843 PR bootstrap/49190
6844
6845 Revert:
6846 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6847
6848 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6849 not tree_common.
6850
d0389adc 68512011-05-27 Jakub Jelinek <jakub@redhat.com>
6852
6853 PR c++/49165
6854 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6855 C++ don't call c_common_truthvalue_conversion on void type arms.
6856
cacfdc02 68572011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6858
6859 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6860 (stmt_list_stack): Define.
6861 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6862 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6863
027fc6ef 68642011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6865
6866 * c-common.c (warning_candidate_p): Check for BLOCKs.
6867
f21317a1 68682011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6869
6870 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6871 not tree_common.
6872
789e953d 68732011-05-25 Jakub Jelinek <jakub@redhat.com>
6874
6875 * c-common.c (def_fn_type): Remove extra va_end.
6876
7f506bca 68772011-05-23 Jason Merrill <jason@redhat.com>
6878
6879 PR c++/48106
6880 * c-common.c (c_common_get_narrower): New.
6881 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6882
774e9d58 68832011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6884
6885 * c-common.h (check_function_arguments): Tweak prototype of
6886 check_function_arguments.
6887 * c-common.c (check_function_arguments): Likewise. Adjust
6888 calls to check_function_nonnull, check_function_format, and
6889 check_function_sentinel.
6890 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6891 separate attributes and typelist arguments. Use
6892 FOREACH_FUNCTION_ARGS to iterate over argument types.
6893
23407dc9 68942011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6895
6896 * c-common.c (c_common_reswords): Reorder.
6897 * c-common.h (rid): Likewise.
6898
3a939d12 68992011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6900
6901 * c-common.c (def_fn_type): Don't call build_function_type, call
6902 build_function_type_array or build_varargs_function_type_array
6903 instead.
6904 (c_common_nodes_and_builtins): Likewise.
6905
b6e3dd65 69062011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6907
6908 * c-common.c (c_add_case_label): Omit the loc argument to
6909 build_case_label.
6910 * c-common.h (build_case_label): Remove.
6911 * c-semantics.c (build_case_label): Remove.
6912
4232a958 69132011-05-05 Joseph Myers <joseph@codesourcery.com>
6914
6915 * c-objc.h (objc_start_method_definition): Update prototype.
6916 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6917
d0af78c5 69182011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6919
6920 * c-common.c (check_main_parameter_types): Reindent. Don't use
6921 TYPE_ARG_TYPES directly.
6922 (handle_nonnull_attribute): Likewise.
6923 (sync_resolve_params): Likewise.
6924 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6925 to check_format_string.
6926 (handle_format_attribute): Likewise.
6927 (check_format_string): Take a function type to examine instead of
6928 a type list. Use a function_arg_iterator to step through argument
6929 types.
6930
ceb7b692 69312011-05-04 Richard Guenther <rguenther@suse.de>
6932
6933 * c-common.c (fix_string_type): Use size_int for index type bounds.
6934 (start_fname_decls): Do not pass NULL to build_int_cst.
6935 (c_init_attributes): Likewise.
6936 * c-lex.c (c_lex_with_flags): Likewise.
6937
c66c81be 69382011-04-27 Jason Merrill <jason@redhat.com>
6939
6940 * c-common.c (make_tree_vector_from_list): New.
6941 * c-common.h: Declare it.
6942
16930c72 69432011-04-26 Richard Guenther <rguenther@suse.de>
6944
6945 PR preprocessor/48248
6946 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6947 for output size with -P.
6948
23407dc9 69492011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6950
6951 * c-common.c (struct c_common_resword): Add __underlying_type.
6952 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6953
dd045aee 69542011-04-20 Jim Meyering <meyering@redhat.com>
6955
6956 * c-format.c (init_dollar_format_checking): Remove useless
6957 if-before-free.
6958
394dd737 69592011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6960
6961 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 6962 (objc_detect_field_duplicates): New.
394dd737 6963 * stub-objc.c: Likewise.
23407dc9 6964
a758bf7d 69652011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6966
6967 * stub-objc.c (objc_declare_protocols): Renamed to
6968 objc_declare_protocol.
6969 * c-objc.h: Likewise.
23407dc9 6970
29d7200d 69712011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6972
6973 * stub-objc.c (objc_declare_class): Updated argument name.
6974
9b88d08d 69752011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6976
6977 * c-common.h (c_common_init_ts): Declare.
6978 * c-common.c (c_common_init_ts): Define.
6979
4185cf58 69802011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6981
6982 * c-objc.h (objc_build_message_expr): Updated prototype.
6983 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 6984
5a90471f 69852011-04-12 Martin Jambor <mjambor@suse.cz>
6986
6987 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6988 of cgraph_node.
6989
783bb57e 69902011-04-11 Richard Guenther <rguenther@suse.de>
6991
6992 * c-common.c (complete_array_type): Build a range type of
6993 proper type.
6994
c33080b9 69952011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6996
6997 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6998 (handle_type_generic_attribute): Likewise.
6999
f8913d47 70002011-04-07 Jason Merrill <jason@redhat.com>
7001
7002 PR c++/48450
7003 * c-common.c (c_common_truthvalue_conversion): Don't ignore
7004 conversion from C++0x scoped enum.
7005
c94b1d0e 70062011-04-06 Joseph Myers <joseph@codesourcery.com>
7007
7008 * c-target-def.h: New file.
7009 * c-target.def: New file.
7010 * c-target.h: New file.
7011 * c-common.c (targetcm): Don't define here.
7012 * c-common.h (default_handle_c_option): Declare.
7013 * c-format.c: Include c-target.h instead of target.h.
7014 * c-opts.c: Include c-target.h instead of target.h. Explicitly
7015 include tm.h.
7016 (default_handle_c_option): Move from targhooks.c.
7017
acb10f41 70182011-03-29 Jakub Jelinek <jakub@redhat.com>
7019
7020 PR preprocessor/48248
7021 * c-ppoutput.c (print): Add src_file field.
7022 (init_pp_output): Initialize it.
7023 (maybe_print_line): Don't optimize by adding up to 8 newlines
7024 if map->to_file and print.src_file are different file.
7025 (print_line): Update print.src_file.
7026
82715bcd 70272011-03-25 Kai Tietz <ktietz@redhat.com>
7028
7029 * c-ada-spec.c (compare_comment): Use filename_cmp
7030 instead of strcmp for filename.
7031
451c8e2f 70322011-03-25 Jeff Law <law@redhat.com>
7033
1f78217c 7034 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 7035
3c47771c 70362011-03-25 Jason Merrill <jason@redhat.com>
7037
7038 * c.opt: Add -std=c++03.
7039
97e6200f 70402011-03-22 Eric Botcazou <ebotcazou@adacore.com>
7041
7042 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
7043
92a44a68 70442011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 7045
7046 PR target/12171
ee212425 7047 * c-pretty-print.c (pp_c_specifier_qualifier_list):
7048 Display allowed attributes for function pointer types.
7049 (pp_c_attributes_display): New function to display
7050 attributes having affects_type_identity flag set to true.
7051 * c-pretty-print.h (pp_c_attributes_display): New prototype.
7052
ac86af5d 7053 * c-common.c (c_common_attribute_table):
7054 Add new element.
7055 (c_common_format_attribute_table): Likewise.
7056
914d1151 70572011-03-18 Jason Merrill <jason@redhat.com>
7058
69788bdf 7059 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
7060 * c-common.h: Don't declare it here.
7061 * c-common.c: Or define it here.
7062 * c-opts.c (c_common_handle_option): Or set it here.
7063
914d1151 7064 PR c++/35315
7065 * c-common.c (handle_transparent_union_attribute): Don't
7066 make a duplicate type in C++.
7067
54cf6eed 70682011-03-15 Jason Merrill <jason@redhat.com>
7069
7070 * c-common.c (max_constexpr_depth): New.
7071 * c-common.h: Declare it.
7072 * c-opts.c (c_common_handle_option): Set it.
7073 * c.opt (fconstexpr-depth): New option.
7074
02cb1060 70752011-03-11 Jason Merrill <jason@redhat.com>
7076
9bf1c74e 7077 * c-common.c (attribute_takes_identifier_p): Add missing const.
7078
02cb1060 7079 PR c++/46803
7080 * c-common.c (attribute_takes_identifier_p): Assume that an
7081 unknown attribute takes an identifier.
7082
ecf2703d 70832011-03-07 Nathan Froyd <froydnj@codesourcery.com>
7084
7085 PR c/47786
7086 * c-common.c (c_type_hash): Call list_length instead of iterating
7087 through DECL_CHAIN. Rename 'i' to 'n_elements'.
7088
2b19dfe4 70892011-02-19 Jakub Jelinek <jakub@redhat.com>
7090
7091 PR c/47809
7092 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
7093
29cf2335 70942011-02-17 Iain Sandoe <iains@gcc.gnu.org>
7095
7096 * c.opt (fobjc-abi-version=) New.
7097 (fobjc-nilcheck): New.
7098
fad3f658 70992011-02-03 Nathan Froyd <froydnj@codesourcery.com>
7100
7101 PR c++/46890
7102 * c-common.h (keyword_is_decl_specifier): Declare.
7103 * c-common.c (keyword_is_decl_specifier): Define.
7104 (keyword_is_function_specifier): New function.
7105
a12319b3 71062011-01-26 Jakub Jelinek <jakub@redhat.com>
7107
7108 PR c/47473
7109 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
7110 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
7111 REAL_TYPE.
7112
5c128dc8 71132011-01-26 Arnaud Charlet <charlet@adacore.com>
7114
7115 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
7116
8d67b0c7 71172011-01-26 Jakub Jelinek <jakub@redhat.com>
7118
7119 PR pch/47430
7120 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
7121 after init_c_lex if pch_file is set.
7122
0675168d 71232011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
7124
e8911163 7125 PR c++/43601
0675168d 7126 * c.opt (-fkeep-inline-dllexport): New switch.
7127
0725e25c 71282011-01-12 Richard Guenther <rguenther@suse.de>
7129
7130 PR middle-end/32511
7131 * c-common.c (handle_weak_attribute): Warn instead of error
7132 on declaring an inline function weak.
7133
fdd84b77 71342011-01-05 Tom Tromey <tromey@redhat.com>
7135
7136 * c-common.h (lvalue_error): Update.
7137 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
7138 not error.
7139
e6e73d14 71402010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 7141
d67e8485 7142 PR objc/47075
7143 * c-objc.h (objc_finish_message_expr): Added argument to
7144 prototype.
7145
a36cf284 71462010-12-22 Nathan Froyd <froydnj@codesourcery.com>
7147
7148 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
7149 Use prototype_p.
7150
33b3681f 71512010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
7152
7153 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 7154 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 7155
a1f90215 71562010-12-10 Nathan Froyd <froydnj@codesourcery.com>
7157
7158 * c-common.h (readonly_error): Declare.
7159 * c-common.c (readonly_error): Define.
7160
b1bbc8e5 71612010-12-09 Nathan Froyd <froydnj@codesourcery.com>
7162
7163 * c-common.h (invalid_indirection_error): Declare.
7164 * c-common.c (invalid_indirection_error): Define.
7165
b0d55af9 71662010-12-03 Richard Guenther <rguenther@suse.de>
7167
7168 PR c/46745
7169 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
7170 (pp_c_unary_expression): Likewise.
7171 (pp_c_expression): Likewise.
7172
d7489d8d 71732010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
7174
7175 * c-common.h (objc_finish_function): New.
7176 (objc_non_volatilized_type): Removed.
7177 (objc_type_quals_match): Removed.
7178 * stub-objc.c (objc_finish_function): New.
7179 (objc_non_volatilized_type): Removed.
7180 (objc_type_quals_match): Removed.
19931eea 7181
92468061 71822010-11-30 Joseph Myers <joseph@codesourcery.com>
7183
7184 * c-common.h (parse_optimize_options): Declare.
7185 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
7186 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
7187
967958e4 71882010-11-29 Joseph Myers <joseph@codesourcery.com>
7189
7190 * c-opts.c (check_deps_environment_vars): Use getenv instead of
7191 GET_ENVIRONMENT.
7192 * c-pch.c (O_BINARY): Don't define here.
7193 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
7194
b213bf24 71952010-11-25 Joseph Myers <joseph@codesourcery.com>
7196
7197 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
7198 targetm.except_unwind_info.
7199
9faf44d6 72002010-11-23 Joseph Myers <joseph@codesourcery.com>
7201
7202 * c-opts.c (c_common_handle_option): Pass location to
7203 set_struct_debug_option.
7204
79396169 72052010-11-23 Joseph Myers <joseph@codesourcery.com>
7206
7207 * c-common.c (visibility_options): Move from ../opts.c.
7208 * c-common.h (struct visibility_flags, visibility_options):
7209 Declare here.
7210 * c-opts.c (finish_options): Rename to c_finish_options.
7211 (c_common_init): Update call to finish_options.
7212
b4aa4123 72132010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
7214
7215 PR objc/34033
7216 * c-lex.c (lex_string): Check that each string in an Objective-C
7217 string concat sequence starts with either one or zero '@', and
7218 that there are no spurious '@' signs at the end.
7219
3e0e49f2 72202010-11-20 Joseph Myers <joseph@codesourcery.com>
7221
7222 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
7223 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
7224 HANDLE_PRAGMA_VISIBILITY.
7225 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
7226 HANDLE_PRAGMA_VISIBILITY): Don't define.
7227 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
7228
a9ffdd35 72292010-11-20 Nathan Froyd <froydnj@codesourcery.com>
7230
7231 PR c++/16189
7232 PR c++/36888
7233 PR c++/45331
7234 * c-common.h (keyword_begins_type_specifier): Declare.
7235 (keyword_is_storage_class_specifier): Declare.
7236 (keyword_is_type_qualifier): Declare.
7237 * c-common.c (keyword_begins_type_specifier): New function.
7238 (keyword_is_storage_class_specifier): New function.
7239 (keyword_is_type_qualifier): Declare.
7240
93be21c0 72412010-11-19 Joseph Myers <joseph@codesourcery.com>
7242
7243 PR c/46547
7244 * c-common.c (in_late_binary_op): Define.
7245 (c_common_truthvalue_conversion): Check in_late_binary_op before
7246 calling c_save_expr.
7247 * c-common.h (in_late_binary_op): Declare.
7248
d7175aef 72492010-11-19 Joseph Myers <joseph@codesourcery.com>
7250
7251 * c-opts.c (c_common_handle_option): Update calls to
7252 set_struct_debug_option.
7253
c213e196 72542010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
7255
7256 * c-common.h (objc_declare_protocols): Added additional argument.
7257 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 7258
0b5fc5d6 72592010-11-18 Nathan Froyd <froydnj@codesourcery.com>
7260
7261 PR c/33193
7262 * c-common.h (build_real_imag_expr): Declare.
7263 * c-semantics.c (build_real_imag_expr): Define.
7264
b8ba44e7 72652010-11-17 Joseph Myers <joseph@codesourcery.com>
7266
7267 * c-opts.c (c_common_parse_file): Take no arguments.
7268 * c-common.h (c_common_parse_file): Update prototype.
7269
6ef8d12f 72702010-11-16 Jakub Jelinek <jakub@redhat.com>
7271
7272 PR c++/46401
7273 * c-common.c (warning_candidate_p): Don't track non-const calls
7274 or STRING_CSTs.
7275
929d2a90 72762010-11-15 Ian Lance Taylor <iant@google.com>
7277
7278 * c-lex.c (init_c_lex): Set macro debug callbacks if
7279 flag_dump_go_spec is set.
7280
e4a7640a 72812010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
7282
7283 * c-common.h (objc_build_incr_expr_for_property_ref): New.
7284 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7285
597d2d81 72862010-11-15 Nathan Froyd <froydnj@codesourcery.com>
7287
7288 PR preprocessor/45038
7289 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7290 dialects.
7291
c123f04d 72922010-11-12 Joseph Myers <joseph@codesourcery.com>
7293
7294 * c-common.h (c_family_lang_mask): Declare.
7295 * c-opts.c (c_family_lang_mask): Make extern.
7296 * c-pragma.c (handle_pragma_diagnostic): Use
7297 control_warning_option.
7298
3c6c0e40 72992010-11-12 Joseph Myers <joseph@codesourcery.com>
7300
7301 * c-common.c (parse_optimize_options): Update call to
7302 decode_options.
7303 * c-common.h (c_common_handle_option): Update prototype.
7304 * c-opts.c (c_common_handle_option): Take location_t parameter and
7305 pass it to other functions.
7306
19ec5c9e 73072010-11-11 Joseph Myers <joseph@codesourcery.com>
7308
7309 * c-opts.c (warning_as_error_callback): Remove.
7310 (c_common_initialize_diagnostics): Don't call
7311 register_warning_as_error_callback.
7312 (c_common_handle_option): Handle -Werror=normalized= here.
7313
bf776685 73142010-11-10 Joseph Myers <joseph@codesourcery.com>
7315
7316 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7317 in diagnostic.
7318 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7319 letter.
7320 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7321 Remove trailing '.' from diagnostics.
7322 * c.opt (Wwrite-strings_: Avoid '`' in help text.
7323
6bd9d862 73242010-11-10 Joseph Myers <joseph@codesourcery.com>
7325
7326 * c-common.c (parse_optimize_options): Pass global_dc to
7327 decode_options.
7328 * c-opts.c (c_common_handle_option): Pass &global_options to
7329 set_Wstrict_aliasing.
7330 * c.opt (v): Don't mark Common or document here.
7331
1f6616ee 73322010-11-06 Iain Sandoe <iains@gcc.gnu.org>
7333
7334 PR target/44981
7335 * c-format.c (format_type): New type gcc_objc_string_format_type.
7336 (valid_stringptr_type_p): New.
7337 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 7338 (check_format_string): Pass expected type, use
1f6616ee 7339 valid_stringptr_type_p (), check that the format string types are
7340 consistent with the format specification.
7341 (decode_format_attr): Warn if NSString is used outside objective-c.
7342 (format_types_orig): Add NSString.
7343 (format_name): New.
7344 (format_flags): New.
7345 (check_format_arg): Handle format strings requiring an external parser.
7346 first_target_format_type: New variable.
7347 (handle_format_attribute): Set up first_target_format_type, pass the
7348 expected format arg string type to check_format_string().
7349 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
7350 * stub-objc.c (objc_string_ref_type_p): New.
7351 (objc_check_format_arg): New.
7352
b0d0931f 73532010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
7354
19931eea 7355 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 7356 * c-common.h (objc_build_class_component_ref): New.
7357 * stub-objc.c (objc_build_class_component_ref): New.
7358
f26877d5 73592010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7360
7361 * c.opt (Wproperty-assign-default): New option.
7362
1ef143b6 73632010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7364
7365 Implemented -fobjc-std=objc1 flag.
7366 * c.opt (fobjc-std=objc1): New option.
7367
8c582e4f 73682010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
7369
7370 Implemented format and noreturn attributes for Objective-C methods.
7371 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7372 attribute for Objective-C methods.
7373
8637f1db 73742010-10-31 Jason Merrill <jason@redhat.com>
7375
7376 * c-common.c (conversion_warning, warn_for_collisions_1): Use
7377 EXPR_LOC_OR_HERE.
7378
9d9f5bb3 73792010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
7380
7381 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7382 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7383 (objc_add_property_declaration): Removed arguments for copies and
7384 ivar.
7385 (objc_build_getter_call): Renamed to
7386 objc_maybe_build_component_ref.
7387 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7388 (objc_is_property_ref): New.
7389 * c-common.c (c_common_reswords): Removed copies and ivar.
7390 * stub-objc.c (objc_add_property_declaration): Removed arguments
7391 for copies and ivar.
7392 (objc_build_getter_call): Renamed to
7393 objc_maybe_build_component_ref.
7394 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7395 (objc_is_property_ref): New.
19931eea 7396
56f907a0 73972010-10-29 Arnaud Charlet <charlet@adacore.com>
7398 Matthew Gingell <gingell@adacore.com>
7399
7400 * c-ada-spec.c (separate_class_package): New function.
7401 (pp_ada_tree_identifier): Prefix references to C++ classes with the
7402 name of their enclosing package.
7403 (print_ada_declaration): Use separate_class_package.
7404
b5fa273e 74052010-10-27 Jason Merrill <jason@redhat.com>
7406
5290e253 7407 * c-common.c (c_common_reswords): Add __is_literal_type.
7408 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7409
b5fa273e 7410 * c-common.c (check_case_value): Remove special C++ code.
7411
7590f0e5 74122010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7413
7414 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7415 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7416 and RID_LAST_PATTR.
7417 (objc_add_property_declaration): Added additional arguments.
7418 (objc_property_attribute_kind): Removed.
7419 (objc_set_property_attr): Removed.
7420 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7421 copy and nonatomic.
7422 * stub-objc.c (objc_add_property_declaration): Added additional
7423 arguments.
7424 (objc_set_property_attr): Removed.
19931eea 7425
1d894bcf 74262010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7427
7428 * c-common.h (objc_add_property_variable): Renamed to
7429 objc_add_property_declaration. Added location argument.
7430 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 7431
e23bf1fb 74322010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7433
7434 * c-common.h (objc_maybe_printable_name): New.
7435 * stub-objc.c (objc_maybe_printable_name): New.
7436
92a44a68 74372010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7438 Andrew Pinski <pinskia@gmail.com>
93426222 7439
7440 * c-common.h (c_common_mark_addressable_vec): Declare.
7441 * c-common.c (c_common_mark_addressable_vec): New function.
7442
45b2b110 74432010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7444
7445 * c-common.h (objc_set_method_type): Removed.
7446 (objc_add_method_declaration): Added boolean argument.
7447 (objc_start_method_definition): Same change.
7448 (objc_build_method_signature): Same change.
7449 * stub-objc.c (objc_set_method_type): Removed.
7450 (objc_add_method_declaration): Added boolean argument.
7451 (objc_start_method_definition): Same change.
7452 (objc_build_method_signature): Same change.
7453
64cd9619 74542010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7455
7456 * c-common.h (finish_file): Removed.
7457 (objc_write_global_declarations): New.
7458 * c-opts.c (c_common_parse_file): Do not call finish_file.
7459 * stub-objc.c (objc_write_global_declarations): New.
19931eea 7460
e1f293c0 74612010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7462
7463 Implemented parsing @synthesize and @dynamic for
7464 Objective-C/Objective-C++.
7465 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7466 (objc_add_synthesize_declaration): New.
7467 (objc_add_dynamic_declaration): New.
7468 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7469 * stub-objc.c (objc_add_synthesize_declaration): New.
7470 (objc_add_dynamic_declaration): New.
19931eea 7471
ef97a312 74722010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7473
7474 PR target/46041
7475 * c-cppbuiltin.c (mode_has_fma): Move function here from
7476 builtins.c. Don't use the fma optab, instead just use the
7477 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7478 using -save-temps.
7479
69b07042 74802010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7481
7482 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 7483
92a44a68 7484 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 7485
19931eea 7486 Radar 4330422
69b07042 7487 * c-common.h (objc_non_volatilized_type): New declaration
7488 * stub-objc.c (objc_non_volatilized_type): New stub.
7489
f15f2e56 74902010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7491
69b07042 7492 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 7493
92a44a68 7494 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 7495
19931eea 7496 Radar 4133425
f15f2e56 7497 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 7498 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 7499
4a8875ed 75002010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7501
7502 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7503 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7504 (objc_ivar_visibility_kind): New enum.
7505 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 7506 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 7507 visibility enum.
7508
7e0713b1 75092010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7510
7511 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7512 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7513 has the appropriate fma builtins.
7514 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7515
86c110ac 75162010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7517
7e0713b1 7518 merge from FSF apple 'trunk' branch.
92a44a68 7519 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 7520
86c110ac 7521 Radars 4436866, 4505126, 4506903, 4517826
7522 * c-common.c (c_common_resword): Define @property and its attributes.
7523 * c-common.h: Define property attribute enum entries.
7524 (OBJC_IS_PATTR_KEYWORD): New.
7525 (objc_property_attribute_kind): New enum.
7526 Declare objc_set_property_attr (), objc_add_property_variable (),
7527 objc_build_getter_call () and objc_build_setter_call ().
7528 * stub-objc.c (objc_set_property_attr): New stub.
7529 (objc_add_property_variable): Likewise.
7530 (objc_build_getter_call): Likewise.
7531 (objc_build_setter_call) Likewise.
7e0713b1 7532
40c8d1dd 75332010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7534
7e0713b1 7535 merge from FSF apple 'trunk' branch.
92a44a68 7536 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 7537
7538 Radar 3803157 (method attributes)
7539 * c-common.c (handle_deprecated_attribute): Recognize
7540 objc methods as valid declarations.
7541 * c-common.h: Declare objc_method_decl ().
7e0713b1 7542 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 7543
f3f006ad 75442010-10-08 Joseph Myers <joseph@codesourcery.com>
7545
7546 * c-common.c (parse_optimize_options): Call
7547 decode_cmdline_options_to_array_default_mask before
7548 decode_options. Update arguments to decode_options.
7549 * c-common.h (c_common_init_options_struct): Declare.
7550 * c-opts.c (c_common_init_options_struct): New. Split out from
7551 c_common_init_options.
7552
0a65c3bb 75532010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7554
7555 Implemented fast enumeration for Objective-C.
7556 * c-common.h (objc_finish_foreach_loop): New.
7557 * stub-objc.c (objc_finish_foreach_loop): New.
7558
24ca3b4e 75592010-10-05 Joseph Myers <joseph@codesourcery.com>
7560
7561 * c-common.h (struct diagnostic_context): Don't declare here.
7562 (c_common_initialize_diagnostics): Declare using
7563 diagnostic_context typedef.
7564 * c-opts.c (c_common_handle_option): Pass global_dc to
7565 handle_generated_option.
7566
f83b64ca 75672010-10-04 Joseph Myers <joseph@codesourcery.com>
7568
7569 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7570 handle_generated_option.
7571
2fdec027 75722010-10-03 Ian Lance Taylor <iant@google.com>
7573
7574 * c.opt (-fplan9-extensions): New option.
7575
41acdfa4 75762010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7577
7578 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7579 Remove.
7580 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7581 of duplicating code.
7582
069761fb 75832010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7584
7585 * c-common.c: Add two new entries for @optional
7586 and @required keywords.
7587
7588 merge from FSF 'apple/trunk' branch.
92a44a68 7589 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 7590
7591 Radar 4386773
7592 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7593 objective-c keywords.
7594 (objc_set_method_opt): New declaration.
7595 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 7596
2c5d2e39 75972010-09-30 Joseph Myers <joseph@codesourcery.com>
7598
7599 * c-common.c (handle_optimize_attribute): Pass &global_options to
7600 cl_optimization_save and cl_optimization_restore.
7601 * c-opts.c (c_common_handle_option): Pass &global_options to
7602 handle_generated_option.
7603 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7604 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7605 &global_options to cl_optimization_restore.
7606
e5c75ac3 76072010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7608
7609 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7610 Objective-C/Objective-C++ keywords.
7611
3511333e 76122010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 7613
19931eea 7614 Merge from 'apple/trunk' branch on FSF servers.
7615
92a44a68 7616 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 7617
7618 Radar 4281748
7619 * c-common.h (objc_check_global_decl): New declaration.
7620 * stub-objc.c (objc_check_global_decl): New stub.
7621
5461e683 76222010-09-29 Joseph Myers <joseph@codesourcery.com>
7623
7624 * c.opt: Don't use VarExists.
7625
5ae82d58 76262010-09-29 Joseph Myers <joseph@codesourcery.com>
7627
7628 * c-common.c (c_cpp_error): Update names of diagnostic_context
7629 members.
7630 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7631 cl_optimization members.
7632 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7633 sanitize_cpp_opts, finish_options): Update names of cpp_options
7634 members.
7635
b27e241e 76362010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7637
7638 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7639 (objc_is_reserved_word): Removed.
7640 * c-common.c: Updated comments.
7641 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7642 objc_is_reserved_word.
7643 * stub-objc.c (objc_is_reserved_word): Removed.
7644
03fc2271 76452010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7646
19931eea 7647 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 7648 include attributes.
7649 (objc_start_method_definition): Likewise.
7650 (objc_build_keyword_decl): Likewise.
7651 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7652 (objc_start_method_definition): Likewise.
7653 (objc_build_keyword_decl): Likewise.
7654
a336eb4b 76552010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7656
7657 * c-common.h (objc_start_class_interface): Adjust prototype.
7658 (objc_start_category_interface): Likewise.
7659 (objc_start_protocol): Likewise.
7660 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7661 (objc_start_class_interface): Likewise.
7662 (objc_start_category_interface): Likewise.
7663
48b14f50 76642010-09-27 Ian Lance Taylor <iant@google.com>
7665
7666 * c-common.c (c_common_attribute_table): Add no_split_stack.
7667 (handle_no_split_stack_attribute): New static function.
7668
4abfc532 76692010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7670
19931eea 7671 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 7672
92a44a68 7673 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 7674
19931eea 7675 Radar 4229905
4abfc532 7676 * c-common.h (objc_have_common_type): New declaration.
7677 * stub-objc.c (objc_have_common_type): New stub.
7678
7679 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7680
7681 Radar 4154928
7682 * c-common.h (objc_common_type): New prototype.
19931eea 7683 * stub-objc.c (objc_common_type): New stub.
4abfc532 7684
7bd95dfd 76852010-09-24 Jan Hubicka <jh@suse.cz>
7686
7687 * c-common.c (handle_leaf_attribute): New function.
7688 (struct attribute_spec c_common_att): Add leaf.
7689
5789e05b 76902010-09-22 Joseph Myers <joseph@codesourcery.com>
7691
7692 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7693 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7694 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7695 -include-barrier, -include-directory, -include-directory=,
7696 -include-directory-after, -include-directory-after=,
7697 -include-prefix, -include-prefix=, -include-with-prefix,
7698 -include-with-prefix=, -include-with-prefix-after,
7699 -include-with-prefix-after=, -include-with-prefix-before,
7700 -include-with-prefix-before=, -no-integrated-cpp,
7701 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7702 -output=, -pedantic, -pedantic-errors, -preprocess,
7703 -print-missing-file-dependencies, -trace-includes, -traditional,
7704 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7705 -user-dependencies, -verbose, -write-dependencies,
7706 -write-user-dependencies, no-integrated-cpp, traditional): New.
7707
e6fb54ba 77082010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7709
7710 PR objc/23710
9b60f3b0 7711 * c-common.h (objc_start_method_definition): Return bool instead
7712 of void.
7713 * stub-objc.c (objc_start_method_definition): Return bool instead
7714 of void.
7715
77162010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7717
7718 PR objc/25965
7719 * c-common.h (objc_get_interface_ivars): New declaration.
7720 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 7721
e44b0a1f 77222010-09-15 Ian Lance Taylor <iant@google.com>
7723
7724 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 7725 messages. Remove period at end of warning message.
e44b0a1f 7726
85c0a25c 77272010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7728
7729 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7730 (handle_alias_attribute): ... here.
7731 (handle_ifunc_attribute): New.
7732
5ba33bf4 77332010-09-06 Mark Mitchell <mark@codesourcery.com>
7734
7735 * c-common.h (do_warn_double_promotion): Declare.
7736 * c-common.c (do_warn_double_promotion): Define.
7737
c920faa3 77382010-09-05 Mark Mitchell <mark@codesourcery.com>
7739
7740 * c.opt (Wdouble-promotion): New.
7741
9604e070 77422010-09-02 Joseph Myers <joseph@codesourcery.com>
7743
7744 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7745 fvtable-thunks, fxref): Mark no longer supported in help text.
7746
3b0273a1 77472010-09-02 Joseph Myers <joseph@codesourcery.com>
7748
7749 * c.opt (Wimport, fall-virtual, falt-external-templates,
7750 fdefault-inline, fenum-int-equiv, fexternal-templates,
7751 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7752 fname-mangling-version-, fnew-abi, fnonnull-objects,
7753 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7754 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7755 applicable.
7756 (fhandle-exceptions): Mark with Alias and Warn.
7757 * c-opts.c (c_common_handle_option): Don't handle options marked
7758 as ignored.
7759
67089c6b 77602010-09-02 Joseph Myers <joseph@codesourcery.com>
7761
7762 * c.opt (Wcomments, Werror-implicit-function-declaration,
7763 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7764 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7765 aliases.
7766 * c-common.c (option_codes): Use OPT_Wcomment instead of
7767 OPT_Wcomments.
7768 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7769 Don't handle options marked as aliases.
7770
2af087f2 77712010-08-25 Richard Guenther <rguenther@suse.de>
7772
7773 * c-common.c (c_common_get_alias_set): Remove special
7774 handling for pointers.
7775
48148244 77762010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7777
7778 * c-common.c: Use FOR_EACH_VEC_ELT.
7779 * c-gimplify.c: Likewise.
7780 * c-pragma.c: Likewise.
7781
89c69892 77822010-08-16 Joseph Myers <joseph@codesourcery.com>
7783
7784 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7785 RejectDriver.
7786 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7787 RejectDriver.
7788 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7789 instead of OPT_MDX and OPT_MMDX.
7790
e28aa114 77912010-08-16 Joseph Myers <joseph@codesourcery.com>
7792
7793 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7794
99b66d21 77952010-08-12 Joseph Myers <joseph@codesourcery.com>
7796
7797 * c.opt (MD, MMD): Change to MDX and MMDX.
7798 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7799
666f4bf0 78002010-08-11 Joseph Myers <joseph@codesourcery.com>
7801
7802 * c-opts.c (c_common_handle_option): Call handle_generated_option
7803 instead of handle_option.
7804
5ec815f6 78052010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7806
7807 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7808 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7809
d13143cf 78102010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7811
7812 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7813 (pending_redefine_extname): Change type to a VEC.
7814 (add_to_renaming_pragma_list): Update for new type of
7815 pending_redefine_extname.
5ec815f6 7816 (maybe_apply_renaming_pragma): Likewise.
d13143cf 7817
2008c983 78182010-08-04 Arnaud Charlet <charlet@adacore.com>
7819
7820 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7821 visited.
7822 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7823 decide whether a type has already been declared/seen.
7824 Do not go to the original type.
7825 (dump_nested_types): New parameter forward.
7826 Generate forward declaration if needed and mark type as visited.
7827 (print_ada_declaration): Call dump_nested_types if not already done.
7828 Mark types as visited.
7829
9b091a73 78302010-08-03 Joseph Myers <joseph@codesourcery.com>
7831
7832 * c.opt (-print-pch-checksum): Remove option.
7833 * c-opts.c (c_common_handle_option): Don't handle
7834 OPT_print_pch_checksum.
7835
b78351e5 78362010-07-27 Joseph Myers <joseph@codesourcery.com>
7837
7838 * c-common.h (c_common_handle_option): Update prototype and return
7839 value type.
7840 * c-opts.c (c_common_handle_option): Update prototype and return
7841 value type. Update calls to handle_option and
7842 enable_warning_as_error.
7843
34416a90 78442010-07-27 Jakub Jelinek <jakub@redhat.com>
7845
7846 PR c/45079
7847 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7848
fecf9011 78492010-07-27 Joseph Myers <joseph@codesourcery.com>
7850
7851 * c-common.h (c_common_missing_argument): Remove.
7852 * c-opts.c (c_common_missing_argument): Remove.
7853 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7854 idirafter, imacros, include, isysroot, isystem, iquote): Add
7855 MissingArgError.
7856 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7857
e88d34f6 78582010-07-27 Joseph Myers <joseph@codesourcery.com>
7859
7860 * c-common.h (c_common_option_lang_mask,
7861 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7862 New.
7863 (c_common_init_options): Update prototype.
7864 * c-opts.c (c_common_option_lang_mask): New.
7865 (c_common_initialize_diagnostics): Split out of
7866 c_common_init_options.
7867 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7868 New.
7869 (c_common_init_options): Update prototype. Use decoded options in
7870 search for -lang-asm.
7871
1767a056 78722010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7873
7874 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7875 * c-format.c: Likewise.
7876
0b205f4c 78772010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7878
7879 * c-common.h: Include diagnostic-core.h. Error if already
7880 included.
7881 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7882
1c58e3f1 78832010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7884
1f78217c 7885 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 7886 Do not include expr.h
7887 (vector_mode_valid_p): Move here.
7888
33cc157c 78892010-06-21 DJ Delorie <dj@redhat.com>
7890
7891 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7892 allow these pragmas anywhere.
7893
78942010-06-14 Jakub Jelinek <jakub@redhat.com>
7895
7896 PR bootstrap/44509
7897 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7898 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7899 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7900 ggc_strdup instead of xstrdup.
7901
79022010-06-10 Jakub Jelinek <jakub@redhat.com>
7903
7904 * c-cppbuiltin.c: Include cpp-id-data.h.
7905 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7906 (lazy_hex_fp_value): New function.
7907 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7908
9b40bfbf 79092010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7910
7911 * c-gimplify.c: Do not include tree-flow.h
7912
202d6e5f 79132010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7914
7915 PR other/44034
7916 * c-common.c: Rename targetm member:
7917 targetm.enum_va_list -> targetm.enum_va_list_p
7918
d3237426 79192010-06-28 Anatoly Sokolov <aesok@post.ru>
7920
7921 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7922
596981c8 79232010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7924
7925 * c-cppbuiltin.c: Do not include except.h.
7926
b9bdfa0b 79272010-06-24 Andi Kleen <ak@linux.intel.com>
7928
19931eea 7929 * c-common.c (warn_for_omitted_condop): New.
7930 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 7931
55ad092d 79322010-06-21 Joseph Myers <joseph@codesourcery.com>
7933
7934 * c.opt (lang-objc): Remove.
7935 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7936
9e7c2572 79372010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7938
7939 * c-opts.c: Include "tm_p.h".
7940
615ef0bb 79412010-06-20 Joseph Myers <joseph@codesourcery.com>
7942
7943 * c-common.c (parse_optimize_options): Update call to
7944 decode_options.
7945
aef48c9a 79462010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7947
7948 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7949 new type of types_used_by_cur_var_decl.
7950
d74003b4 79512010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7952
7953 PR bootstrap/44512
7954 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7955 for C++ standard compliance.
7956
1194d077 79572010-06-16 Jason Merrill <jason@redhat.com>
7958
7959 * c.opt: Add -Wnoexcept.
7960
d473d901 79612010-06-16 Richard Guenther <rguenther@suse.de>
7962
7963 PR c/44555
7964 * c-common.c (c_common_truthvalue_conversion): Remove
7965 premature and wrong optimization concering ADDR_EXPRs.
7966
b62dbfd3 79672010-06-15 Arnaud Charlet <charlet@adacore.com>
7968
7969 * c-ada-spec.c (dump_sloc): Remove column info.
7970 (is_simple_enum): New function.
7971 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7972 enum types when relevant.
7973
200dd99c 79742010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7975
19931eea 7976 * c-common.c (conversion_warning): Warn at expression
200dd99c 7977 location.
7978
abf6a617 79792010-06-10 Joseph Myers <joseph@codesourcery.com>
7980
7981 * c-opts.c (c_common_handle_option): Don't handle
7982 OPT_fshow_column.
7983
ba72912a 79842010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7985
7986 * c-pragma.c (push_alignment): Use typed GC allocation.
7987 (handle_pragma_push_options): Likewise.
7988
7989 * c-common.c (parse_optimize_options): Likewise.
7990
7991 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7992 option.
7993
4aafe913 79942010-06-07 Joseph Myers <joseph@codesourcery.com>
7995
7996 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7997 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7998 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7999 flag_signed_bitfields, warn_strict_null_sentinel,
8000 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
8001 flag_gen_declaration, flag_no_gnu_keywords,
8002 flag_implement_inlines, flag_implicit_templates,
8003 flag_implicit_inline_templates, flag_optional_diags,
8004 flag_elide_constructors, flag_default_inline, flag_rtti,
8005 flag_conserve_space, flag_access_control, flag_check_new,
8006 flag_new_for_scope, flag_weak, flag_working_directory,
8007 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
8008 flag_enforce_eh_specs, flag_threadsafe_statics,
8009 flag_pretty_templates): Remove.
8010 * c-common.h (flag_preprocess_only, flag_nil_receivers,
8011 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
8012 flag_replace_objc_classes, flag_undef, flag_no_builtin,
8013 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8014 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8015 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
8016 flag_no_gnu_keywords, flag_implement_inlines,
8017 flag_implicit_templates, flag_implicit_inline_templates,
8018 flag_optional_diags, flag_elide_constructors, flag_default_inline,
8019 flag_rtti, flag_conserve_space, flag_access_control,
8020 flag_check_new, flag_new_for_scope, flag_weak,
8021 flag_working_directory, flag_use_cxa_atexit,
8022 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
8023 flag_threadsafe_statics, flag_pretty_templates,
8024 warn_strict_null_sentinel): Remove.
8025 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
8026 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
8027 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
8028 fimplicit-inline-templates, fimplicit-templates,
8029 flax-vector-conversions, fms-extensions, fnil-receivers,
8030 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
8031 frtti, fshort-double, fshort-enums, fshort-wchar,
8032 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
8033 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
8034 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
8035 gen-decls, undef): Use Var.
8036 (fdefault-inline, foptional-diags): Document as doing nothing.
8037 * c-opts.c (c_common_handle_option): Remove cases for options now
8038 using Var. Mark ignored options as such.
8039
7bedc3a0 80402010-06-05 Steven Bosscher <steven@gcc.gnu.org>
8041
19931eea 8042 * c-common.c: Moved to here from parent directory.
7bedc3a0 8043 * c-common.def: Likewise.
8044 * c-common.h: Likewise.
8045 * c-cppbuiltin.c: Likewise.
8046 * c-dump.c: Likewise.
8047 * c-format.c: Likewise.
8048 * c-format.h : Likewise.
8049 * c-gimplify.c: Likewise.
8050 * c-lex.c: Likewise.
8051 * c-omp.c: Likewise.
8052 * c.opt: Likewise.
8053 * c-opts.c: Likewise.
8054 * c-pch.c: Likewise.
8055 * c-ppoutput.c: Likewise.
8056 * c-pragma.c: Likewise.
8057 * c-pragma.h: Likewise.
8058 * c-pretty-print.c: Likewise.
8059 * c-pretty-print.h: Likewise.
8060 * c-semantics.c: Likewise.
8061 * stub-objc.c: Likewise.
8062
8063 * c-common.c: Include gt-c-family-c-common.h.
8064 * c-pragma.c: Include gt-c-family-c-pragma.h.
8065\f
aad93da1 8066Copyright (C) 2010-2017 Free Software Foundation, Inc.
7bedc3a0 8067
8068Copying and distribution of this file, with or without modification,
8069are permitted in any medium without royalty provided the copyright
8070notice and this notice are preserved.